From: Paul F. <pj...@wa...> - 2022-11-12 12:31:27
|
> Yes, the cache disabling is quite hacky, as mentionnd in the doc: > "Valgrind disables the cache using some internal > knowledge of the glibc stack cache implementation and by > examining the debug information of the pthread > library. This technique is thus somewhat fragile and might > not work for all glibc versions. This has been successfully > tested with various glibc versions (e.g. 2.11, 2.16, 2.18) > on various platforms." > > > > As you indicate, it looks broken on the more recent glibc version you tried. > > Philippe > Indeed. Looks like this: Author: Florian Weimer <fw...@re...> 2021-05-10 10:31:41 Committer: Florian Weimer <fw...@re...> 2021-05-10 10:31:41 Parent: d017b0ab5a181dce4145f3a1b3b27e3341abd201 (elf: Introduce __tls_pre_init_tp) Child: ee07b3a7222746fafc5d5cb2163c9609b81615ef (nptl: Simplify the change_stack_perm calling convention) Branches: master, remotes/origin/arm/morello/main, remotes/origin/arm/morello/v1, remotes/origin/arm/morello/v2, remotes/origin/azanella/bz23960-dirent, remotes/origin/azanella/clang, remotes/origin/codonell/c-utf8, remotes/origin/codonell/ld-audit, remotes/origin/fw/localedef-utf8, remotes/origin/maskray/relr, remotes/origin/maskray/x86-mpx, remotes/origin/master, remotes/origin/nsz/bug23293, remotes/origin/nsz/bug23293-v5, remotes/origin/nsz/bug23293-v6, remotes/origin/release/2.34/master, remotes/origin/release/2.35/master, remotes/origin/release/2.36/master, remotes/origin/siddhesh/realpath-and-getcwd Follows: glibc-2.33.9000 Precedes: glibc-2.34 nptl: Move more stack management variables into _rtld_global Permissions of the cached stacks may have to be updated if an object is loaded that requires executable stacks, so the dynamic loader needs to know about these cached stacks. The move of in_flight_stack and stack_cache_actsize is a requirement for merging __reclaim_stacks into the fork implementation in libc. Tested-by: Carlos O'Donell <ca...@re...> Reviewed-by: Carlos O'Donell <ca...@re...> It looks like "stack_cache_actsize" in libc moved to be _dl_stack_cache_actsize in ld-linux-x86-64.so.2 A+ Paul |