[LLVMdev] [PATCH] Add the disable_aslr option that will disable the address space layout randomization under AddressSanitizer on 10.6
kcc at google.com
Fri Dec 9 11:12:53 PST 2011
Yes, we have no ASRL with -no_pie.
Can we disable ASRL even with -pie?
On linux we can do it with "setarch x86_64 -R".
Another question: if asan would require -no_pie on Mac, will this be a
On Fri, Dec 9, 2011 at 11:07 AM, Eric Christopher <echristo at apple.com>wrote:
> Options when creating a main executable
> -pie This makes a special kind of main executable that is
> independent (PIE). On Mac OS X 10.5 and later, the OS
> the OS
> will load a PIE at a random address each time it is
> You cannot create a PIE from .o files compiled with -mdy-
> namic-no-pic. That means the codegen is less optimal, but
> the address randomization adds some security. When
> Mac OS X 10.7 or later PIE is the default for main
> -no_pie Do not make a position independent executable (PIE).
> This is
> the default, when targeting 10.6 and earlier.
> On Dec 9, 2011, at 11:02 AM, Kostya Serebryany wrote:
> Question to MacOS gurus: is there a way to disable ASLR (address space
> layout randomization) on Darwin at link time
> instead of doing setenv("DYLD_NO_PIE", "1", 1); and reexec?
> On Fri, Dec 9, 2011 at 4:28 AM, Alexander Potapenko <glider at google.com>wrote:
>> The attached patch introduces the disable_aslr option (off by default)
>> and the corresponding AsanDisableAslr function that should disable the
>> address space randomization.
>> This is now implemented for Mac OS 10.6 only.
>> In order to do this we add DYLD_NO_PIE=1 to the env and restart the
>> Next steps to be done are:
>> -- check for MH_PIE bit -- if it is 0, we don't need to disable anything;
>> -- use posix_spawnattr_setflags() to set the _POSIX_SPAWN_DISABLE_ASLR
>> on 10.7
>> -- disable ASLR on Linux, if needed.
>> Alexander Potapenko
>> Software Engineer
>> Google Moscow
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev