On Sun, Aug 4, 2013 at 8:54 PM, Andres Freund <andres@2ndquadrant.com> wrote:
>> AFAIK you've got it backwards: ASLR is something that happens
>> automatically, unless you take steps to suppress it, at least on MacOS
>> X. I not long ago built with EXEC_BACKEND on that platform and found
>> that it broke stuff until I disabled ASLR.
>
> ALSR for code can only happen if code is built as position independent
> code, otherwise addresses are hardcoded. That is - in modern unixoid
> systems - nearly always the case for shared libraries et al, but not
> necessarily for plain binaries or statically linked code. The above
> referenced -fPIC and -pie make the code/executable position independent.
Ah, for code, yeah, I suppose that would be true. In the case I
mentioned though, though, it definitely seemed that other things were
moving around each time through, particularly the stack.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company