]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - Makefile
build-many-glibcs.py: Add openrisc hard float glibc variant
[thirdparty/glibc.git] / Makefile
index c6d4817a9e0f01afdd4a0fc9ea604029b396fa2e..adf47491240b85ef2193823072b6ce5e500ccc5f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2023 Free Software Foundation, Inc.
+# Copyright (C) 1991-2024 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -577,11 +577,21 @@ $(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.
 define summarize-tests
-@grep -E -v '^(PASS|XFAIL):' $(objpfx)$1 || true
-@echo "Summary of test results$2:"
-@sed 's/:.*//' < $(objpfx)$1 | sort | uniq -c
-@! grep -E -q -v '^(X?PASS|XFAIL|UNSUPPORTED):' $(objpfx)$1
+@grep -E '^[A-Z]+:' $(objpfx)$1 | grep -E -v '^(PASS|XFAIL):' || true
+@echo "                === Summary of results$2 ==="
+@sed -e '/:.*/!d' -e 's/:.*//' < $(objpfx)$1 | sort | uniq -c
+@! grep -E '^[A-Z]+:' $(objpfx)$1 | grep -E -q -v '^(X?PASS|XFAIL|UNSUPPORTED):'
 endef
 
 # The intention here is to do ONE install of our build into the
@@ -624,7 +634,7 @@ $(objpfx)testroot.pristine/install.stamp :
 ifeq ($(run-built-tests),yes)
        # Copy these DSOs first so we can overwrite them with our own.
        for dso in `$(test-wrapper-env) LD_TRACE_LOADED_OBJECTS=1  \
-               $(rtld-prefix) \
+               $(rtld-prefix) --inhibit-cache \
                $(objpfx)testroot.pristine/bin/sh \
                | sed -n '/\//{s@.*=> /@/@;s/^[^/]*//;s/ .*//p;}'` ;\
          do \
@@ -633,7 +643,7 @@ ifeq ($(run-built-tests),yes)
            $(test-wrapper) cp $$dso $(objpfx)testroot.pristine$$dso ;\
          done
        for dso in `$(test-wrapper-env) LD_TRACE_LOADED_OBJECTS=1  \
-               $(rtld-prefix) \
+               $(rtld-prefix) --inhibit-cache \
                $(objpfx)support/$(LINKS_DSO_PROGRAM) \
                | sed -n '/\//{s@.*=> /@/@;s/^[^/]*//;s/ .*//p;}'` ;\
          do \
@@ -734,7 +744,7 @@ endif
 INSTALL: manual/install-plain.texi manual/macros.texi \
         $(common-objpfx)manual/pkgvers.texi manual/install.texi
        makeinfo --no-validate --plaintext --no-number-sections \
-                -I$(common-objpfx)manual $< -o $@-tmp
+                --disable-encoding -I$(common-objpfx)manual $< -o $@-tmp
        $(AWK) 'NF == 0 { ++n; next } \
                NF != 0 { while (n-- > 0) print ""; n = 0; print }' \
          < $@-tmp > $@-tmp2