aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabi Falk <gabifalk@gmx.com>2024-04-30 20:05:04 +0000
committerSam James <sam@gentoo.org>2024-05-04 13:23:41 +0100
commitff110b2591f0bdeccd121c3726af19c62d6fb184 (patch)
treede286b265320c660afa45e7ab05fca33dcd599d1
parentad92c483a4bd34db1cfb3eb625212ea64848244f (diff)
downloadglibc-ff110b2591f0bdeccd121c3726af19c62d6fb184.zip
glibc-ff110b2591f0bdeccd121c3726af19c62d6fb184.tar.gz
glibc-ff110b2591f0bdeccd121c3726af19c62d6fb184.tar.bz2
Add a test to check for duplicate definitions in the static library
This change follows two previous fixes addressing multiple definitions of __memcpy_chk and __mempcpy_chk functions on i586, and __memmove_chk and __memset_chk functions on i686. The test is intended to prevent such issues from occurring in the future. Signed-off-by: Gabi Falk <gabifalk@gmx.com> Reviewed-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Dmitry V. Levin <ldv@altlinux.org> (cherry picked from commit ded2e0753e9c46debeb2e0d26c5e560d2581d314)
-rw-r--r--Makefile7
1 files changed, 7 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 7052b46..2e351c0 100644
--- a/Makefile
+++ b/Makefile
@@ -577,6 +577,13 @@ $(objpfx)lint-makefiles.out: scripts/lint-makefiles.sh
$(SHELL) $< "$(PYTHON)" `pwd` > $@ ; \
$(evaluate-test)
+# Link libc.a as a whole to verify that it does not contain multiple
+# definitions of any symbols.
+tests-special += $(objpfx)link-static-libc.out
+$(objpfx)link-static-libc.out:
+ $(LINK.o) $(whole-archive) -r $(objpfx)libc.a -o /dev/null > $@ 2>&1; \
+ $(evaluate-test)
+
# Print test summary for tests in $1 .sum file;
# $2 is optional test identifier.
# Fail if there are unexpected failures in the test results.