Running on Linux kernels compiled with COMPAT_BRK disabled
When run on a kernel compiled without COMPAT_BRK CMUCL segfaults, so I copied the kludge used by SBCL - check the current personality, and if necessary, enable ADDR_NO_RANDOMIZE and re-exec itself. Patch attached. -- Stelian Ionescu a.k.a. fe[nl]ix Quidquid latine dictum sit, altum videtur. http://common-lisp.net/project/iolib
On 1/31/10 3:45 PM, Stelian Ionescu wrote:
When run on a kernel compiled without COMPAT_BRK CMUCL segfaults, so I copied the kludge used by SBCL - check the current personality, and if necessary, enable ADDR_NO_RANDOMIZE and re-exec itself. Patch attached.
Thanks for the patch. Did you try compiling CMUCL with this patch? I ask because it doesn't compile for me. __x86 doesn't exist on my Suse box. (There are a couple of other issues like p=name.release, but name is a pointer, and check_personality references argv and envp, which don't exist.) I don't think my Suse box has such a kernel, so I can't test the result either. Ray
On Sun, 2010-01-31 at 21:15 -0500, Raymond Toy wrote:
On 1/31/10 3:45 PM, Stelian Ionescu wrote:
When run on a kernel compiled without COMPAT_BRK CMUCL segfaults, so I copied the kludge used by SBCL - check the current personality, and if necessary, enable ADDR_NO_RANDOMIZE and re-exec itself. Patch attached.
Thanks for the patch.
Did you try compiling CMUCL with this patch? I ask because it doesn't compile for me. __x86 doesn't exist on my Suse box. (There are a couple of other issues like p=name.release, but name is a pointer, and check_personality references argv and envp, which don't exist.) I don't think my Suse box has such a kernel, so I can't test the result either.
I did compile it and it worked, but probably because __x86 isn't defined. I'll fix this later today -- Stelian Ionescu a.k.a. fe[nl]ix Quidquid latine dictum sit, altum videtur. http://common-lisp.net/project/iolib
On Mon, 2010-02-01 at 09:09 +0100, Stelian Ionescu wrote:
On Sun, 2010-01-31 at 21:15 -0500, Raymond Toy wrote:
On 1/31/10 3:45 PM, Stelian Ionescu wrote:
When run on a kernel compiled without COMPAT_BRK CMUCL segfaults, so I copied the kludge used by SBCL - check the current personality, and if necessary, enable ADDR_NO_RANDOMIZE and re-exec itself. Patch attached.
Thanks for the patch.
Did you try compiling CMUCL with this patch? I ask because it doesn't compile for me. __x86 doesn't exist on my Suse box. (There are a couple of other issues like p=name.release, but name is a pointer, and check_personality references argv and envp, which don't exist.) I don't think my Suse box has such a kernel, so I can't test the result either.
I did compile it and it worked, but probably because __x86 isn't defined. I'll fix this later today
New patch attached. -- Stelian Ionescu a.k.a. fe[nl]ix Quidquid latine dictum sit, altum videtur. http://common-lisp.net/project/iolib
On 2/1/10 4:26 AM, Stelian Ionescu wrote:
On Mon, 2010-02-01 at 09:09 +0100, Stelian Ionescu wrote:
On Sun, 2010-01-31 at 21:15 -0500, Raymond Toy wrote:
On 1/31/10 3:45 PM, Stelian Ionescu wrote:
When run on a kernel compiled without COMPAT_BRK CMUCL segfaults, so I copied the kludge used by SBCL - check the current personality, and if necessary, enable ADDR_NO_RANDOMIZE and re-exec itself. Patch attached.
Thanks for the patch.
Did you try compiling CMUCL with this patch? I ask because it doesn't compile for me. __x86 doesn't exist on my Suse box. (There are a couple of other issues like p=name.release, but name is a pointer, and check_personality references argv and envp, which don't exist.) I don't think my Suse box has such a kernel, so I can't test the result either.
I did compile it and it worked, but probably because __x86 isn't defined. I'll fix this later today
New patch attached.
Thanks for the new patch. I had done basically the same thing to get it to compile on my SuSE box, so I was wondering what I was missing in your original patch. I'll apply this soon, but I'll need you to test the result since I don't have a kernel without COMPAT_BRK. Ray
participants (2)
-
Raymond Toy -
Stelian Ionescu