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 <fwei...@redhat.com>  2021-05-10 10:31:41
Committer: Florian Weimer <fwei...@redhat.com>  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 <car...@redhat.com>
    Reviewed-by: Carlos O'Donell <car...@redhat.com>

It looks like "stack_cache_actsize" in libc moved to be _dl_stack_cache_actsize in ld-linux-x86-64.so.2


A+

Paul

_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to