From e4ca95809b65179df5f1252817417532a0a7952f Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Thu, 18 Nov 2021 11:20:28 +0100 Subject: [PATCH] Temporary patch glibc-dso-sort-makefile-fail.patch, to fix x86_64 build --- glibc-dso-sort-makefile-fail.patch | 90 ++++++++++++++++++++++++++++++ glibc.spec | 4 +- 2 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 glibc-dso-sort-makefile-fail.patch diff --git a/glibc-dso-sort-makefile-fail.patch b/glibc-dso-sort-makefile-fail.patch new file mode 100644 index 0000000..842bee3 --- /dev/null +++ b/glibc-dso-sort-makefile-fail.patch @@ -0,0 +1,90 @@ +This patch is pending upstream review here: + + + +Author: H.J. Lu +Date: Fri Nov 5 12:20:01 2021 -0700 + + elf: Pre-generate Makefile fragment for DSO sorting tests [BZ #28550] + + Generate Makefile fragment for DSO sorting tests at configure time. + + This partially fixes BZ #28550. + +diff --git a/configure b/configure +index 2f9adca0641e66cf..91993da3b96bcfa0 100755 +--- a/configure ++++ b/configure +@@ -8484,3 +8484,14 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + fi + ++ ++if test "$have_tunables" = yes; then ++ test -d elf || mkdir elf ++ objdir=`pwd` ++ rm -f elf/dso-sort-tests.mk ++ (for d in dso-sort-tests-1.def dso-sort-tests-2.def ++ do ++ $PYTHON $srcdir/scripts/dso-ordering-test.py \ ++ --description-file $srcdir/elf/$d --objpfx $objdir/elf/ ++ done) > elf/dso-sort-tests.mk ++fi +diff --git a/configure.ac b/configure.ac +index 7eb42393599235e8..faf70b930c67b50a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1901,3 +1901,15 @@ echo "$config_vars" >> config.make;; + esac + test -d bits || mkdir bits]],[[config_vars='$config_vars']]) + AC_OUTPUT ++ ++dnl Generate Makefile fragments for DSO sorting tests. ++if test "$have_tunables" = yes; then ++ test -d elf || mkdir elf ++ objdir=`pwd` ++ rm -f elf/dso-sort-tests.mk ++ (for d in dso-sort-tests-1.def dso-sort-tests-2.def ++ do ++ $PYTHON $srcdir/scripts/dso-ordering-test.py \ ++ --description-file $srcdir/elf/$d --objpfx $objdir/elf/ ++ done) > elf/dso-sort-tests.mk ++fi +diff --git a/elf/Makefile b/elf/Makefile +index 525f302d1adbe142..e3c6ac720732a8fa 100644 +--- a/elf/Makefile ++++ b/elf/Makefile +@@ -491,29 +491,13 @@ tests-special += $(objpfx)order-cmp.out $(objpfx)tst-array1-cmp.out \ + $(objpfx)tst-unused-dep-cmp.out + endif + +-ifndef avoid-generated +-# DSO sorting tests: +-# The dso-ordering-test.py script generates testcase source files in $(objpfx), +-# creating a $(objpfx)-dir for each testcase, and creates a +-# Makefile fragment to be included. +-define include_dsosort_tests +-$(objpfx)$(1).generated-makefile: $(1) +- $(PYTHON) $(..)scripts/dso-ordering-test.py \ +- --description-file $$< --objpfx $(objpfx) --output-makefile $$@T +- mv $$@T $$@ +--include $(objpfx)$(1).generated-makefile +-endef +-endif +- +-postclean-generated += $(objpfx)/dso-sort-tests-2.generated-makefile \ +- $(objpfx)/dso-sort-tests-2.generated-makefile +- +-# Generate from each testcase description file + ifeq (yes,$(have-tunables)) +-$(eval $(call include_dsosort_tests,dso-sort-tests-1.def)) +-$(eval $(call include_dsosort_tests,dso-sort-tests-2.def)) ++# Include Makefile fragments for DSO sorting tests. ++include $(objpfx)dso-sort-tests.mk + endif + ++postclean-generated += $(objpfx)/dso-sort-tests.mk ++ + check-abi: $(objpfx)check-abi-ld.out + tests-special += $(objpfx)check-abi-ld.out + update-abi: update-abi-ld diff --git a/glibc.spec b/glibc.spec index 84fbcff..928dca9 100644 --- a/glibc.spec +++ b/glibc.spec @@ -230,6 +230,7 @@ Patch29: glibc-fedora-nsswitch.patch Patch30: glibc-deprecated-selinux-makedb.patch Patch31: glibc-deprecated-selinux-nscd.patch Patch32: glibc-sdt-headers.patch +Patch33: glibc-dso-sort-makefile-fail.patch ############################################################################## # Continued list of core "glibc" package information: @@ -2262,7 +2263,8 @@ fi %changelog * Wed Nov 17 2021 Florian Weimer - 2.34.9000-21 -- Temporarily patch glibc-sdt-headers.patch, to fix s390x build failure. +- Temporary patch glibc-sdt-headers.patch, to fix s390x build failure. +- Temporary patch glibc-dso-sort-makefile-fail.patch, to fix x86_64 build. - Auto-sync with upstream branch master, commit a43c0b5483da4c5e3796af309864cb44256c02db: - x86-64: Create microbenchmark infrastructure for libmvec