From 2fcd49180d8c27c14b56a5fb9fee3c26e4317dac Mon Sep 17 00:00:00 2001 From: WANG Xuerui Date: Fri, 29 Jul 2022 15:54:56 +0800 Subject: Update patches for binutils 2.39 Signed-off-by: WANG Xuerui --- ...-ld-add-support-for-poisoned-system-direc.patch | 72 ++++++++++++++-------- ...iberty-install-PIC-version-of-libiberty.a.patch | 4 +- ...oo-add-with-extra-soversion-suffix-option.patch | 30 ++++----- ...ss-hash-style-sysv-to-ld-in-the-testsuite.patch | 10 +-- ...-also-libctf-optionally-a-gentoo-specific.patch | 24 ++++---- ...0006-Gentoo-XFAIL-15-broken-ld.gold-tests.patch | 4 +- 6 files changed, 82 insertions(+), 62 deletions(-) diff --git a/9999/0001-Gentoo-gold-ld-add-support-for-poisoned-system-direc.patch b/9999/0001-Gentoo-gold-ld-add-support-for-poisoned-system-direc.patch index 0dc4cf1..8e2e947 100644 --- a/9999/0001-Gentoo-gold-ld-add-support-for-poisoned-system-direc.patch +++ b/9999/0001-Gentoo-gold-ld-add-support-for-poisoned-system-direc.patch @@ -1,4 +1,4 @@ -From 322deede0713506f899ee7f284a7c82ba1ec1cf7 Mon Sep 17 00:00:00 2001 +From 6ad35e463cbd086b4d4e7bb5aca1da6b73e614c8 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 20 Jul 2021 21:08:31 +0200 Subject: [PATCH 1/6] Gentoo: gold/ld: add support for poisoned system @@ -27,12 +27,13 @@ TEST=x86_64-cros-linux-gnu-ld throws warnings when using -L/lib (gold & bfd) Reviewed-on: https://chromium-review.googlesource.com/272083 (cherry picked from commit f92dbf35c00ab13cee36f6be8ae5ca46454d9000) -Ported to binutils 2.37 Andreas K. Hütte +Ported to binutils 2.37 by Andreas K. Hüttel +Ported to binutils 2.39 by WANG Xuerui --- gold/options.cc | 33 +++++++++++++++++++++++++++++++++ gold/options.h | 7 +++++++ ld/config.in | 3 +++ - ld/configure | 14 ++++++++++++++ + ld/configure | 20 ++++++++++++++++++-- ld/configure.ac | 10 ++++++++++ ld/ld.h | 7 +++++++ ld/ld.texi | 18 ++++++++++++++++++ @@ -40,7 +41,7 @@ Ported to binutils 2.37 Andreas K. Hütte ld/ldlex.h | 3 +++ ld/ldmain.c | 7 +++++++ ld/lexsup.c | 24 ++++++++++++++++++++++++ - 11 files changed, 146 insertions(+) + 11 files changed, 150 insertions(+), 2 deletions(-) diff --git a/gold/options.cc b/gold/options.cc index 04be98a3e39..64439f8af7a 100644 @@ -105,10 +106,10 @@ index 9509a445e8e..a3d76b294cd 100644 N_("Warn when skipping an incompatible library"), N_("Don't warn when skipping an incompatible library")); diff --git a/ld/config.in b/ld/config.in -index 26d55a00d47..ffad464783c 100644 +index 0ccd79d59cd..5e39814bce0 100644 --- a/ld/config.in +++ b/ld/config.in -@@ -43,6 +43,9 @@ +@@ -55,6 +55,9 @@ language is requested. */ #undef ENABLE_NLS @@ -119,10 +120,10 @@ index 26d55a00d47..ffad464783c 100644 #undef EXTRA_SHLIB_EXTENSION diff --git a/ld/configure b/ld/configure -index f5c329c1f12..41ec6ca73ac 100755 +index 1c2b64870b1..46b5789c77e 100755 --- a/ld/configure +++ b/ld/configure -@@ -831,6 +831,7 @@ with_lib_path +@@ -836,6 +836,7 @@ with_lib_path enable_targets enable_64_bit_bfd with_sysroot @@ -130,7 +131,7 @@ index f5c329c1f12..41ec6ca73ac 100755 enable_gold enable_got enable_compressed_debug_sections -@@ -1500,6 +1501,8 @@ Optional Features: +@@ -1514,6 +1515,8 @@ Optional Features: --enable-checking enable run-time checks --enable-targets alternative target configurations --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) @@ -139,8 +140,26 @@ index f5c329c1f12..41ec6ca73ac 100755 --enable-gold[=ARG] build gold [ARG={default,yes,no}] --enable-got= GOT handling scheme (target, single, negative, multigot) -@@ -15333,7 +15336,18 @@ else - fi +@@ -11491,7 +11494,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11494 "configure" ++#line 11497 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -11597,7 +11600,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11600 "configure" ++#line 11603 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -15349,6 +15352,19 @@ fi + +# Check whether --enable-poison-system-directories was given. @@ -151,15 +170,16 @@ index f5c329c1f12..41ec6ca73ac 100755 +fi + +if test "x${enable_poison_system_directories}" = "xyes"; then - ++ +$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h + +fi - - # Check whether --enable-got was given. - if test "${enable_got+set}" = set; then : ++ + # Check whether --enable-gold was given. + if test "${enable_gold+set}" = set; then : + enableval=$enable_gold; case "${enableval}" in diff --git a/ld/configure.ac b/ld/configure.ac -index 7f4cff079b7..57d1abff870 100644 +index eb55904c090..0844c2364c5 100644 --- a/ld/configure.ac +++ b/ld/configure.ac @@ -102,6 +102,16 @@ AC_SUBST(use_sysroot) @@ -198,13 +218,13 @@ index f3086bf30de..90cf1ca51e5 100644 enum endian_enum endian; diff --git a/ld/ld.texi b/ld/ld.texi -index fc75e9b3625..f7d46117bab 100644 +index eabbec8faa9..45f4858526c 100644 --- a/ld/ld.texi +++ b/ld/ld.texi -@@ -2892,6 +2892,24 @@ string identifying the original linked file does not change. - - Passing @code{none} for @var{style} disables the setting from any - @code{--build-id} options earlier on the command line. +@@ -2947,6 +2947,24 @@ creation of the metadata note, if one had been enabled by an earlier + occurrence of the --package-metdata option. + If the linker has been built with libjansson, then the JSON string + will be validated. + +@kindex --warn-poison-system-directories +@item --warn-poison-system-directories @@ -258,7 +278,7 @@ index 731ae5f7aed..6b67e29041b 100644 /* Try to open a BFD for a lang_input_statement. */ diff --git a/ld/ldlex.h b/ld/ldlex.h -index bc58fea73cc..cf1b015a420 100644 +index 57ade1f754b..b35a6122e09 100644 --- a/ld/ldlex.h +++ b/ld/ldlex.h @@ -149,6 +149,9 @@ enum option_values @@ -290,10 +310,10 @@ index ea72b14a301..706ec9ce26e 100644 /* We initialize DEMANGLING based on the environment variable COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the diff --git a/ld/lexsup.c b/ld/lexsup.c -index 5acc47ed5a0..e78df2daf29 100644 +index 9225f71b3ce..db5b170bc7c 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c -@@ -571,6 +571,18 @@ static const struct ld_option ld_options[] = +@@ -579,6 +579,18 @@ static const struct ld_option ld_options[] = OPTION_IGNORE_UNRESOLVED_SYMBOL}, '\0', N_("SYMBOL"), N_("Unresolved SYMBOL will not cause an error or warning"), TWO_DASHES }, @@ -312,7 +332,7 @@ index 5acc47ed5a0..e78df2daf29 100644 { {"push-state", no_argument, NULL, OPTION_PUSH_STATE}, '\0', NULL, N_("Push state of flags governing input file handling"), TWO_DASHES }, -@@ -1659,6 +1671,18 @@ parse_args (unsigned argc, char **argv) +@@ -1679,6 +1691,18 @@ parse_args (unsigned argc, char **argv) } break; @@ -332,5 +352,5 @@ index 5acc47ed5a0..e78df2daf29 100644 input_flags.pushed = xmemdup (&input_flags, sizeof (input_flags), -- -2.34.1 +2.35.1 diff --git a/9999/0002-Gentoo-libiberty-install-PIC-version-of-libiberty.a.patch b/9999/0002-Gentoo-libiberty-install-PIC-version-of-libiberty.a.patch index 72b99c0..34462cc 100644 --- a/9999/0002-Gentoo-libiberty-install-PIC-version-of-libiberty.a.patch +++ b/9999/0002-Gentoo-libiberty-install-PIC-version-of-libiberty.a.patch @@ -1,4 +1,4 @@ -From 887d52771263fc6b8260b873e104bc57d54b3f5c Mon Sep 17 00:00:00 2001 +From 4bd606f5945ea94b1ea0db8fba206cfe67959cde Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Fri, 7 Jan 2005 00:15:53 -0500 Subject: [PATCH 2/6] Gentoo: libiberty: install PIC version of libiberty.a @@ -30,5 +30,5 @@ index abef3c4601b..9dfb6b6d2b0 100644 else true; fi; \ if [ x"$(NOASANFLAG)" != x ]; then \ -- -2.34.1 +2.35.1 diff --git a/9999/0003-Gentoo-add-with-extra-soversion-suffix-option.patch b/9999/0003-Gentoo-add-with-extra-soversion-suffix-option.patch index b2b0bb5..9328241 100644 --- a/9999/0003-Gentoo-add-with-extra-soversion-suffix-option.patch +++ b/9999/0003-Gentoo-add-with-extra-soversion-suffix-option.patch @@ -1,4 +1,4 @@ -From 820a68dff1ec2eb3836727ced1b5b74bd31daa28 Mon Sep 17 00:00:00 2001 +From 2d3d27e6c5ad343a524a117dc02358ad7cb06e0d Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 20 Jul 2021 21:12:38 +0200 Subject: [PATCH 3/6] Gentoo: add --with-extra-soversion-suffix= option @@ -25,7 +25,7 @@ built with different flags (see https://bugs.gentoo.org/663690). Bug: https://bugs.gentoo.org/666100 Signed-off-by: Sergei Trofimovich -Ported to binutils 2.37 Andreas K. Hüttel +Ported to binutils 2.37 by Andreas K. Hüttel --- bfd/Makefile.am | 5 +++++ bfd/Makefile.in | 4 ++++ @@ -34,10 +34,10 @@ Ported to binutils 2.37 Andreas K. Hüttel 4 files changed, 29 insertions(+) diff --git a/bfd/Makefile.am b/bfd/Makefile.am -index 10dd765bec8..e3d97adfbb3 100644 +index 670e0598f55..18d6eef60bb 100644 --- a/bfd/Makefile.am +++ b/bfd/Makefile.am -@@ -59,6 +59,8 @@ bfdinclude_HEADERS += $(INCDIR)/plugin-api.h +@@ -64,6 +64,8 @@ bfdinclude_HEADERS += $(INCDIR)/plugin-api.h LIBDL = @lt_cv_dlopen_libs@ endif @@ -46,7 +46,7 @@ index 10dd765bec8..e3d97adfbb3 100644 # bfd.h goes here, for now BFD_H = bfd.h -@@ -987,6 +989,9 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(srcdir)/Makefile.in +@@ -983,6 +985,9 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(srcdir)/Makefile.in bfd_version_string="\"$(VERSION).$${bfd_version_date}\"" ;\ bfd_soversion="$(VERSION).$${bfd_version_date}" ;\ fi ;\ @@ -57,10 +57,10 @@ index 10dd765bec8..e3d97adfbb3 100644 -e "s,@bfd_version_string@,$$bfd_version_string," \ -e "s,@bfd_version_package@,$$bfd_version_package," \ diff --git a/bfd/Makefile.in b/bfd/Makefile.in -index f5313a2ad6f..c8cfc0474f2 100644 +index d3ef4c2524b..56fac1bb94d 100644 --- a/bfd/Makefile.in +++ b/bfd/Makefile.in -@@ -319,6 +319,7 @@ ECHO_T = @ECHO_T@ +@@ -354,6 +354,7 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ @@ -68,7 +68,7 @@ index f5313a2ad6f..c8cfc0474f2 100644 FGREP = @FGREP@ GENCAT = @GENCAT@ GMSGFMT = @GMSGFMT@ -@@ -2104,6 +2105,9 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(srcdir)/Makefile.in +@@ -2453,6 +2454,9 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(srcdir)/Makefile.in bfd_version_string="\"$(VERSION).$${bfd_version_date}\"" ;\ bfd_soversion="$(VERSION).$${bfd_version_date}" ;\ fi ;\ @@ -79,10 +79,10 @@ index f5313a2ad6f..c8cfc0474f2 100644 -e "s,@bfd_version_string@,$$bfd_version_string," \ -e "s,@bfd_version_package@,$$bfd_version_package," \ diff --git a/bfd/configure b/bfd/configure -index b09702f26e1..7a7c1229c99 100755 +index 590986efb61..299f7bb0244 100755 --- a/bfd/configure +++ b/bfd/configure -@@ -696,6 +696,7 @@ WARN_CFLAGS +@@ -691,6 +691,7 @@ WARN_CFLAGS REPORT_BUGS_TEXI REPORT_BUGS_TO PKGVERSION @@ -90,7 +90,7 @@ index b09702f26e1..7a7c1229c99 100755 DEBUGDIR ENABLE_BFD_64_BIT_FALSE ENABLE_BFD_64_BIT_TRUE -@@ -837,6 +838,7 @@ enable_secureplt +@@ -832,6 +833,7 @@ enable_secureplt enable_separate_code enable_leading_mingw64_underscores with_separate_debug_dir @@ -98,7 +98,7 @@ index b09702f26e1..7a7c1229c99 100755 with_pkgversion with_bugurl enable_werror -@@ -1513,6 +1515,8 @@ Optional Packages: +@@ -1508,6 +1510,8 @@ Optional Packages: --with-separate-debug-dir=DIR Look for global separate debug info in DIR [[default=LIBDIR/debug]] @@ -107,7 +107,7 @@ index b09702f26e1..7a7c1229c99 100755 --with-pkgversion=PKG Use PKG in the version string in place of "GNU Binutils" --with-bugurl=URL Direct users to URL to report a bug -@@ -12013,6 +12017,15 @@ fi +@@ -12014,6 +12018,15 @@ fi @@ -124,7 +124,7 @@ index b09702f26e1..7a7c1229c99 100755 # Check whether --with-pkgversion was given. diff --git a/bfd/configure.ac b/bfd/configure.ac -index a9078965c40..3406c071fe7 100644 +index aad4f3c83a5..e9158315bf1 100644 --- a/bfd/configure.ac +++ b/bfd/configure.ac @@ -168,6 +168,13 @@ AC_ARG_WITH(separate-debug-dir, @@ -142,5 +142,5 @@ index a9078965c40..3406c071fe7 100644 ACX_BUGURL([https://sourceware.org/bugzilla/]) -- -2.34.1 +2.35.1 diff --git a/9999/0004-Gentoo-Pass-hash-style-sysv-to-ld-in-the-testsuite.patch b/9999/0004-Gentoo-Pass-hash-style-sysv-to-ld-in-the-testsuite.patch index 2ac5053..caaf9c7 100644 --- a/9999/0004-Gentoo-Pass-hash-style-sysv-to-ld-in-the-testsuite.patch +++ b/9999/0004-Gentoo-Pass-hash-style-sysv-to-ld-in-the-testsuite.patch @@ -1,4 +1,4 @@ -From 6e5bb8fa8e5f409e12098a922de72f6bdcc99603 Mon Sep 17 00:00:00 2001 +From 19d0d0a3fca319b6a14888ce709a75d9b0765561 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= Date: Tue, 20 Jul 2021 21:15:24 +0200 Subject: [PATCH 4/6] Gentoo: Pass --hash-style=sysv to ld in the testsuite @@ -9,10 +9,10 @@ Subject: [PATCH 4/6] Gentoo: Pass --hash-style=sysv to ld in the testsuite 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/binutils/testsuite/lib/binutils-common.exp b/binutils/testsuite/lib/binutils-common.exp -index 93603b0be68..83ae1307f2a 100644 +index ccc33a827b4..f7aecf7edc2 100644 --- a/binutils/testsuite/lib/binutils-common.exp +++ b/binutils/testsuite/lib/binutils-common.exp -@@ -1303,7 +1303,7 @@ proc run_dump_test { name {extra_options {}} } { +@@ -1310,7 +1310,7 @@ proc run_dump_test { name {extra_options {}} } { # Add -L$srcdir/$subdir so that the linker command can use # linker scripts in the source directory. @@ -22,7 +22,7 @@ index 93603b0be68..83ae1307f2a 100644 # If needed then check for, or add a -Map option. diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp -index 5c7771f7221..ff9ee6a425c 100644 +index ec27388a72e..fc7292a40a7 100644 --- a/ld/testsuite/lib/ld-lib.exp +++ b/ld/testsuite/lib/ld-lib.exp @@ -171,7 +171,7 @@ proc default_ld_relocate { ld target objects } { @@ -57,5 +57,5 @@ index 5c7771f7221..ff9ee6a425c 100644 # We don't care if we get a warning about a non-existent start -- -2.34.1 +2.35.1 diff --git a/9999/0005-Gentoo-Give-also-libctf-optionally-a-gentoo-specific.patch b/9999/0005-Gentoo-Give-also-libctf-optionally-a-gentoo-specific.patch index 871812a..4788ee0 100644 --- a/9999/0005-Gentoo-Give-also-libctf-optionally-a-gentoo-specific.patch +++ b/9999/0005-Gentoo-Give-also-libctf-optionally-a-gentoo-specific.patch @@ -1,4 +1,4 @@ -From f4db43e58d2f3a6e66b15ff2b25ac6850199399b Mon Sep 17 00:00:00 2001 +From ebc2d6f6c6d46a7fe77a37612ea0e12dccc467cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= Date: Sat, 24 Jul 2021 15:20:16 +0200 Subject: [PATCH 5/6] Gentoo: Give also libctf optionally a gentoo-specific @@ -45,7 +45,7 @@ index 27e90f0ba36..4990a20efa3 100644 libctf_nobfd_la_CPPFLAGS = $(AM_CPPFLAGS) -DNOBFD=1 libctf_nobfd_la_SOURCES = ctf-archive.c ctf-dump.c ctf-create.c ctf-decl.c ctf-error.c \ diff --git a/libctf/Makefile.in b/libctf/Makefile.in -index 3b5ab73324e..10029107a05 100644 +index 1984f50867a..55772ba94b3 100644 --- a/libctf/Makefile.in +++ b/libctf/Makefile.in @@ -381,6 +381,7 @@ AUTOCONF = @AUTOCONF@ @@ -80,7 +80,7 @@ index 3b5ab73324e..10029107a05 100644 libctf_nobfd_la_CPPFLAGS = $(AM_CPPFLAGS) -DNOBFD=1 libctf_nobfd_la_SOURCES = ctf-archive.c ctf-dump.c ctf-create.c \ diff --git a/libctf/configure b/libctf/configure -index c56ac218213..623e71477b3 100755 +index 8704bc215f4..de99d1714d7 100755 --- a/libctf/configure +++ b/libctf/configure @@ -646,6 +646,10 @@ BUILD_INFO_FALSE @@ -111,25 +111,25 @@ index c56ac218213..623e71477b3 100755 Some influential environment variables: CC C compiler command -@@ -11629,7 +11636,7 @@ else +@@ -11635,7 +11642,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF --#line 11632 "configure" -+#line 11639 "configure" +-#line 11638 "configure" ++#line 11645 "configure" #include "confdefs.h" #if HAVE_DLFCN_H -@@ -11735,7 +11742,7 @@ else +@@ -11741,7 +11748,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF --#line 11738 "configure" -+#line 11745 "configure" +-#line 11744 "configure" ++#line 11751 "configure" #include "confdefs.h" #if HAVE_DLFCN_H -@@ -12942,6 +12949,26 @@ else +@@ -12948,6 +12955,26 @@ else fi @@ -156,7 +156,7 @@ index c56ac218213..623e71477b3 100755 # Similar to GDB_AC_CHECK_BFD. OLD_CFLAGS=$CFLAGS OLD_LDFLAGS=$LDFLAGS -@@ -13834,6 +13861,10 @@ if test -z "${ENABLE_LIBCTF_HASH_DEBUGGING_TRUE}" && test -z "${ENABLE_LIBCTF_HA +@@ -13840,6 +13867,10 @@ if test -z "${ENABLE_LIBCTF_HASH_DEBUGGING_TRUE}" && test -z "${ENABLE_LIBCTF_HA as_fn_error $? "conditional \"ENABLE_LIBCTF_HASH_DEBUGGING\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi @@ -189,5 +189,5 @@ index 4996edd5b70..103fc8b9d33 100644 OLD_CFLAGS=$CFLAGS OLD_LDFLAGS=$LDFLAGS -- -2.34.1 +2.35.1 diff --git a/9999/0006-Gentoo-XFAIL-15-broken-ld.gold-tests.patch b/9999/0006-Gentoo-XFAIL-15-broken-ld.gold-tests.patch index b9435e9..318552c 100644 --- a/9999/0006-Gentoo-XFAIL-15-broken-ld.gold-tests.patch +++ b/9999/0006-Gentoo-XFAIL-15-broken-ld.gold-tests.patch @@ -1,4 +1,4 @@ -From 66686e75515c742e573d25b74ce324e3d1acad08 Mon Sep 17 00:00:00 2001 +From 7eefd99e98a9396f0ce2e98e9bd86bfeb53a84dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= Date: Sat, 31 Jul 2021 01:18:18 +0200 Subject: [PATCH 6/6] Gentoo: XFAIL 15 broken ld.gold tests @@ -73,5 +73,5 @@ index 7b4b7832d38..765c2b73140 100644 AUTOMAKE_OPTIONS = foreign -Wno-portability -- -2.34.1 +2.35.1 -- cgit v1.2.3-65-gdbad