diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-11-13 15:56:51 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-11-14 00:52:52 +0100 |
commit | 56010b73e81e2cb1082e418699f98353598fe671 (patch) | |
tree | e6e4b6e7a05b77e9de56b6c15b2d4997d5ad76eb /mach/Versions | |
parent | a24f414ba11a7acdf3c5ccec3fb327fc72166556 (diff) | |
download | glibc-56010b73e81e2cb1082e418699f98353598fe671.tar glibc-56010b73e81e2cb1082e418699f98353598fe671.tar.gz glibc-56010b73e81e2cb1082e418699f98353598fe671.tar.bz2 glibc-56010b73e81e2cb1082e418699f98353598fe671.zip |
hurd: break relocation loop between libc.so and lib{mach,hurd}user.so
See
https://sourceware.org/pipermail/libc-alpha/2020-November/119575.html
lib{mach,hurd}user.so gets relocated before libc.so, but its references
to strpcpy and memcpy would need an ifunc decision, which e.g. on
x86 relies on cpu_features, but libc.so's _rtld_global_ro is not
relocated yet.
We can however just make lib{mach,hurd}user.so only call non-ifunc
functions, which can be relocated before libc.so is relocated.
Diffstat (limited to 'mach/Versions')
-rw-r--r-- | mach/Versions | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/mach/Versions b/mach/Versions index eef52c805f..b525cfdcf9 100644 --- a/mach/Versions +++ b/mach/Versions @@ -68,4 +68,8 @@ libc { __spin_lock; __spin_lock_init; __spin_lock_solid; __spin_try_lock; __spin_unlock; } + GLIBC_PRIVATE { + # functions used by RPC stubs + __mig_memcpy; + } } |