OS X 10.7 (Lion) breaks DMD-compiled executables due to ASLR (?)

Sean Kelly sean at invisibleduck.org
Sun Jul 24 22:07:32 PDT 2011


On Jul 23, 2011, at 10:24 PM, David Nadlinger wrote:

> I have been observing crashes in semi-random places around my D applications (Segmentation fault/Bus errors) on the recently released OS X 10.7, dubbed Lion. They miraculously disappeared every time I ran the executables from GDB, and as I found out (thanks wm4 for the hint), this was due to GDB disabling ASLR by default. And indeed, if I »set disable-aslr off«, the crashes also happened within the debugger.
> 
> This is not totally surprising as Lion is the first OS X release to include full ASLR for both 32 bit and 64 bit applications, but I have not been able to track down what exactly goes on.
> 
> Any guesses what could go wrong here without additional details (I'm not at all sure where to look right now)? Maybe something related to the OS X-specific things like TLS handling?

I ran into this issue but didn't have time to track it down at the time.  I'd guess that it's the same old object file generation issue that arises with every OSX release (where the way DMD marks data blocks for exception handling, TLS, etc, breaks for one reason or another), and that ASLR is simply the latest cause.  I couldn't suggest a fix though... I don't know how ASLR works well enough.


More information about the Digitalmars-d mailing list