[arch-commits] Commit in binutils/trunk (PKGBUILD gold-warn-unsupported.patch)

Frederik Schwan freswa at gemini.archlinux.org
Sun Feb 20 23:02:45 UTC 2022


    Date: Sunday, February 20, 2022 @ 23:02:44
  Author: freswa
Revision: 437824

enable BPF target to support stripping of BPF files

Added:
  binutils/trunk/gold-warn-unsupported.patch
Modified:
  binutils/trunk/PKGBUILD

-----------------------------+
 PKGBUILD                    |   10 +++++-
 gold-warn-unsupported.patch |   66 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 75 insertions(+), 1 deletion(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-02-20 21:15:54 UTC (rev 437823)
+++ PKGBUILD	2022-02-20 23:02:44 UTC (rev 437824)
@@ -22,9 +22,11 @@
 #_commit=cb5f6a3e146cc70bc2d864989386df80acec5d3e
 #source=(git+https://sourceware.org/git/binutils-gdb.git#commit=$_commit)
 source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz{,.sig}
+        gold-warn-unsupported.patch
         fix-incorrect-undefined-symbol.patch)
 sha256sums=('e316477a914f567eccc34d5d29785b8b0f5a10208d36bbacedcc39048ecfe024'
             'SKIP'
+            '2d430b66f84a19c154725ec535280c493be1d34f1a90f95208dce02fecd0e4e4'
             'fd33b2f8cac7561cecf3fdbb5a50fd2f2dfa6420516cbe57c47784a06fa16bf6')
 validpgpkeys=(3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F)
 
@@ -40,6 +42,12 @@
   # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
   sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
 
+  # Creds @Fedora
+  # Change the gold configuration script to only warn about
+  # unsupported targets.  This allows the binutils to be built with
+  # BPF support enabled.
+  patch -Np1 -i "${srcdir}"/gold-warn-unsupported.patch
+
   # fix incorrect "undefined reference" errors
   # https://sourceware.org/bugzilla/show_bug.cgi?id=28879
   patch -Np1 -i "${srcdir}"/fix-incorrect-undefined-symbol.patch
@@ -62,7 +70,7 @@
     --enable-plugins \
     --enable-relro \
     --enable-shared \
-    --enable-targets=x86_64-pep \
+    --enable-targets=x86_64-pep,bpf-unknown-none \
     --enable-threads \
     --disable-gdb \
     --disable-gdbserver \

Added: gold-warn-unsupported.patch
===================================================================
--- gold-warn-unsupported.patch	                        (rev 0)
+++ gold-warn-unsupported.patch	2022-02-20 23:02:44 UTC (rev 437824)
@@ -0,0 +1,66 @@
+Only in binutils-2.34/gold: autom4te.cache
+diff -rup binutils.orig/gold/configure binutils-2.34/gold/configure
+--- binutils.orig/gold/configure	2020-04-20 12:35:13.048297305 +0100
++++ binutils-2.34/gold/configure	2020-04-20 14:02:06.743725696 +0100
+@@ -5180,7 +5180,8 @@ for targ in $target $canon_targets; do
+     . ${srcdir}/configure.tgt
+ 
+     if test "$targ_obj" = "UNKNOWN"; then
+-      as_fn_error $? "\"unsupported target $targ\"" "$LINENO" 5
++      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"unsupported target $targ\"" >&5
++$as_echo "$as_me: WARNING: \"unsupported target $targ\"" >&2;}
+     else
+       targetobjs="$targetobjs ${targ_obj}.\$(OBJEXT)"
+       if test "$targ_extra_obj" != ""; then
+diff -rup binutils.orig/gold/configure.ac binutils-2.34/gold/configure.ac
+--- binutils.orig/gold/configure.ac	2020-04-20 12:35:13.050297291 +0100
++++ binutils-2.34/gold/configure.ac	2020-04-20 14:01:46.435868770 +0100
+@@ -181,7 +181,7 @@ for targ in $target $canon_targets; do
+     . ${srcdir}/configure.tgt
+ 
+     if test "$targ_obj" = "UNKNOWN"; then
+-      AC_MSG_ERROR("unsupported target $targ")
++      AC_MSG_WARN("unsupported target $targ")
+     else
+       targetobjs="$targetobjs ${targ_obj}.\$(OBJEXT)"
+       if test "$targ_extra_obj" != ""; then
+--- binutils.orig/ld/configure.tgt	2020-04-20 12:35:12.465301359 +0100
++++ binutils-2.34/ld/configure.tgt	2020-04-20 14:17:52.123066333 +0100
+@@ -220,7 +220,7 @@ bfin-*-linux-uclibc*)	targ_emul=elf32bfi
+ 			targ_extra_emuls="elf32bfin"
+ 			targ_extra_libpath=$targ_extra_emuls
+ 			;;
+-bpf-*-*)		targ_emul=elf64bpf
++bpf-* | bpf-*-*)	targ_emul=elf64bpf
+ 			;;
+ cr16-*-elf*)		targ_emul=elf32cr16
+ 			;;
+@@ -1026,7 +1026,7 @@ z8k-*-coff)		targ_emul=z8002
+ 			targ_extra_ofiles=
+ 			;;
+ *)
+-  echo 2>&1 "*** ld does not support target ${targ}"
++  echo 2>&1 "*** ld does not support target '${targ}' NO REALLY"
+   echo 2>&1 "*** see ld/configure.tgt for supported targets"
+   exit 1
+ 
+--- binutils.orig/bfd/config.bfd	2020-04-20 12:35:13.038297375 +0100
++++ binutils-2.34/bfd/config.bfd	2020-04-20 14:25:26.452869193 +0100
+@@ -473,7 +473,7 @@ case "${targ}" in
+     ;;
+ 
+ #ifdef BFD64
+-  bpf-*-none)
++  bpf-*-none | bpf-*)
+     targ_defvec=bpf_elf64_le_vec
+     targ_selvecs=bpf_elf64_be_vec
+     targ_underscore=yes
+@@ -1427,7 +1427,7 @@ case "${targ}" in
+     ;;
+ 
+   *)
+-    echo 1>&2 "*** BFD does not support target ${targ}."
++    echo 1>&2 "*** BFD does not support target '${targ}'.  Honest."
+     echo 1>&2 "*** Look in bfd/config.bfd for supported targets."
+     exit 1
+     ;;



More information about the arch-commits mailing list