about summary refs log tree commit diff
path: root/mach/Makefile
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2020-11-13 15:56:51 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2020-11-14 00:52:52 +0100
commit56010b73e81e2cb1082e418699f98353598fe671 (patch)
treee6e4b6e7a05b77e9de56b6c15b2d4997d5ad76eb /mach/Makefile
parenta24f414ba11a7acdf3c5ccec3fb327fc72166556 (diff)
downloadglibc-56010b73e81e2cb1082e418699f98353598fe671.tar.gz
glibc-56010b73e81e2cb1082e418699f98353598fe671.tar.xz
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/Makefile')
-rw-r--r--mach/Makefile2
1 files changed, 1 insertions, 1 deletions
diff --git a/mach/Makefile b/mach/Makefile
index bd9d7c8016..b3ad3f4e26 100644
--- a/mach/Makefile
+++ b/mach/Makefile
@@ -25,7 +25,7 @@ headers = mach_init.h mach.h mach_error.h mach-shortcuts.h mach/mach_traps.h \
 lock = spin-solid spin-lock mutex-init mutex-solid
 lock-headers = lock-intern.h spin-lock.h
 routines = $(mach-syscalls) $(mach-shortcuts) \
-	   mach_init mig_strncpy msg \
+	   mach_init mig_strncpy mig_memcpy msg \
 	   mig-alloc mig-dealloc mig-reply \
 	   msg-destroy msgserver \
 	   mach_error errstring error_compat errsystems \