mirror of
https://github.com/postgres/postgres.git
synced 2025-04-27 22:56:53 +03:00
Make EXEC_BACKEND more convenient on macOS.
It's hard to disable ASLR on current macOS releases, for testing with -DEXEC_BACKEND. You could already set the environment variable PG_SHMEM_ADDR to something not likely to collide with mappings created earlier in process startup. Let's also provide a default value that works on current releases and architectures, for developer convenience. As noted in the pre-existing comment, this is a horrible hack, but -DEXEC_BACKEND is only used by Unix-based PostgreSQL developers for testing some otherwise Windows-only code paths, so it seems excusable. Back-patch to all supported branches. Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/20210806032944.m4tz7j2w47mant26%40alap3.anarazel.de
This commit is contained in:
parent
843d2879aa
commit
d49e228a66
@ -143,6 +143,16 @@ InternalIpcMemoryCreate(IpcMemoryKey memKey, Size size)
|
|||||||
|
|
||||||
if (pg_shmem_addr)
|
if (pg_shmem_addr)
|
||||||
requestedAddress = (void *) strtoul(pg_shmem_addr, NULL, 0);
|
requestedAddress = (void *) strtoul(pg_shmem_addr, NULL, 0);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#if defined(__darwin__) && SIZEOF_VOID_P == 8
|
||||||
|
/*
|
||||||
|
* Provide a default value that is believed to avoid problems with
|
||||||
|
* ASLR on the current macOS release.
|
||||||
|
*/
|
||||||
|
requestedAddress = (void *) 0x80000000000;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user