https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71042
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |law at gcc dot gnu.org --- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> --- rpm tracks symbol versioning dependencies of binaries/libraries, and filters out GLIBC_PRIVATE symbols to make sure apps don't use the private symbols (the only exception is that glibc libraries/binaries can use those symbols themselves). The GLIBC_PRIVATE stands for symbols that aren't part of the exported glibc ABI, can be changed at any time. So dlsym would be only ugly cheating here. In theory you could get the pointer mangling value for the current thread e.g. by calling the original libc setjmp function or some other function where glibc performs pointer mangling, and if you know which field glibc mangles and the expected unmangled value there, you should be able to recover the __pointer_chk_guard value from the pair of mangled and unmangled pointers, because the mangling is just xor + rotate.