about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2021-09-23 11:08:11 -0700
committerH.J. Lu <hjl.tools@gmail.com>2021-09-27 07:46:25 -0700
commitb0a33dc967f98cca4b480434d1eec9cf41c61154 (patch)
treecb695d450478ac838c28245b93ac48a5c8c7e901
parent342298278eabc75baabcaced110a11a02c3d3580 (diff)
downloadglibc-b0a33dc967f98cca4b480434d1eec9cf41c61154.tar.gz
glibc-b0a33dc967f98cca4b480434d1eec9cf41c61154.tar.xz
glibc-b0a33dc967f98cca4b480434d1eec9cf41c61154.zip
Disable symbol hack in libc_nonshared.a
Don't reference __GI_memmove, __GI_memset, __GI_memcpy, __divdi3_internal,
__udivdi3_internal and __moddi3_internal in libc_nonshared.a.
-rw-r--r--sysdeps/generic/symbol-hacks.h3
-rw-r--r--sysdeps/wordsize-32/divdi3-symbol-hacks.h3
2 files changed, 4 insertions, 2 deletions
diff --git a/sysdeps/generic/symbol-hacks.h b/sysdeps/generic/symbol-hacks.h
index 3586e6ed38..1115e4c0a7 100644
--- a/sysdeps/generic/symbol-hacks.h
+++ b/sysdeps/generic/symbol-hacks.h
@@ -1,6 +1,7 @@
 /* Some compiler optimizations may transform loops into memset/memmove
    calls and without proper declaration it may generate PLT calls.  */
-#if !defined __ASSEMBLER__ && IS_IN (libc) && defined SHARED
+#if !defined __ASSEMBLER__ && IS_IN (libc) && defined SHARED \
+    && !defined LIBC_NONSHARED
 asm ("memmove = __GI_memmove");
 asm ("memset = __GI_memset");
 asm ("memcpy = __GI_memcpy");
diff --git a/sysdeps/wordsize-32/divdi3-symbol-hacks.h b/sysdeps/wordsize-32/divdi3-symbol-hacks.h
index 3e7c54bd0c..efbb0cce8b 100644
--- a/sysdeps/wordsize-32/divdi3-symbol-hacks.h
+++ b/sysdeps/wordsize-32/divdi3-symbol-hacks.h
@@ -23,7 +23,8 @@
    assembler.
    Note: in_divdi3_c is only used to avoid symbol alias on divdi3
    build itself.  */
-#if !defined __ASSEMBLER__ && !defined in_divdi3_c && IS_IN (libc) && defined SHARED
+#if !defined __ASSEMBLER__ && !defined in_divdi3_c && IS_IN (libc) \
+    && defined SHARED && !defined LIBC_NONSHARED
 asm ("__divdi3 = __divdi3_internal");
 asm ("__udivdi3 = __udivdi3_internal");
 asm ("__moddi3 = __moddi3_internal");