Re: AMD64 14.0-CURRENT memory layout changes
- Reply: Paul Floyd : "Re: AMD64 14.0-CURRENT memory layout changes"
- In reply to: Paul Floyd : "AMD64 14.0-CURRENT memory layout changes"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 16 Oct 2022 15:29:18 UTC
On 2022-10-16 15:08, Paul Floyd wrote: > Hi > > I just noticed that the memory layout has changed for elf binaries > running on amd64 (my last attempt to setup an i386 VM failed so I > can't confirm if that also changed, and I'm not yet concerned by other > platforms). > > Here's a procstat -v for ksh93 on 13.1 on the host machine > >> [snipped] > > Here the stack starts at 0x7ffffffdf000 > > And the same on 14.0 running on a 4Gbyte VirtualBox VM > >> [snipped] > > ldrt is now mapped up at 0xeeeecc15000 and the user stack looks like > it starts at 0x82073d000. > > This is causing me problems with Valgrind, which creates the guest > stack at 0x7ffffffdf000. > > I haven't yet done any debugging of the problem but this causes > > Fatal error 'Cannot allocate red zone for initial thread' at line 395 > in file /usr/src/lib/libthr/thread/thr_init.c (errno = 22) > > for elf binaries linked with libthr.so > > Can anyone point me to more information on this change? Phabricator > for instance. > > Are there any syscalls that control where rtld gets loaded and/or > where the stack base is located? > > Also is there a sysctl to disable this changed mapping, as a temporary > workaround? Jumoing in with some quarterly reports I saw pass that may be related to either/both: - https://www.freebsd.org/status/report-2022-04-2022-06/#_shared_page_address_randomization (not sure this is about rtld) - https://www.freebsd.org/status/report-2021-07-2021-09/#_stack_gap_handling_improvements (this one mentions a switch-off sysctl). -- #BlackLivesMatter #TransWomenAreWomen #AccessibilityMatters #StandWithUkrainians English: he/him/his (singular they/them/their/theirs OK) French: il/le/lui (iel/iel and ielle/ielle OK) Tagalog: siya/niya/kaniya (please avoid sila/nila/kanila)