1
0
Fork 0

first commit

This commit is contained in:
root 2024-11-23 01:15:11 +02:00
commit 528f89a79b
90 changed files with 13567 additions and 0 deletions

View file

@ -0,0 +1,27 @@
From 40f6e93e5078f16897f23856886566fe3b546206 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= <dilfridge@gentoo.org>
Date: Fri, 3 Nov 2017 21:51:35 +0100
Subject: [PATCH] Gentoo: Disable gold testsuite for users since it fails
upstream
https://bugs.gentoo.org/634348
https://sourceware.org/bugzilla/show_bug.cgi?id=21090
---
Makefile.in | 1 -
1 file changed, 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
index 3acb83b8de..49de829bfa 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -2340,7 +2340,6 @@ check-host: \
maybe-check-mpc \
maybe-check-isl \
maybe-check-libelf \
- maybe-check-gold \
maybe-check-gprof \
maybe-check-intl \
maybe-check-tcl \
--
2.15.0

View file

@ -0,0 +1,16 @@
commit a3972330f49f81b3bea64af0970d22f42ae56ec3
Author: Martin Liska <mliska@suse.cz>
Date: Fri Jun 7 07:36:52 2019 +0200
Fix a missing include of <string>
--- a/gold/errors.h
+++ b/gold/errors.h
@@ -24,6 +24,7 @@
#define GOLD_ERRORS_H
#include <cstdarg>
+#include <string>
#include "gold-threads.h"

View file

@ -0,0 +1,39 @@
binutils: drop redundant 'program_name' definition
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=0b398d69acde3377dfbbeb8a4cfe87ae8c8562fa
--- a/binutils/coffdump.c
+++ b/binutils/coffdump.c
@@ -456,8 +456,6 @@ coff_dump (struct coff_ofile *ptr)
dump_coff_section (ptr->sections + i);
}
-char * program_name;
-
static void
show_usage (FILE *file, int status)
{
--- a/binutils/srconv.c
+++ b/binutils/srconv.c
@@ -1687,8 +1687,6 @@ prescan (struct coff_ofile *otree)
}
}
-char *program_name;
-
ATTRIBUTE_NORETURN static void
show_usage (FILE *ffile, int status)
{
--- a/binutils/sysdump.c
+++ b/binutils/sysdump.c
@@ -633,8 +633,6 @@ module (void)
}
}
-char *program_name;
-
ATTRIBUTE_NORETURN static void
show_usage (FILE *ffile, int status)
{
--
2.25.0

View file

@ -0,0 +1,103 @@
https://bugs.gentoo.org/771765
https://sourceware.org/PR27397
On i586-like CPUs endbr32 added by -Wl,-z,ibt,-z,shstk
generates crashing binaries and causes ./configure failure.
From 847e4b3207f97762dc641db8d3b188081c3370c3 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Fri, 12 Feb 2021 16:30:23 -0800
Subject: [PATCH] GCC_CET_HOST_FLAGS: Check if host supports multi-byte NOPs
---
config/cet.m4 | 19 ++++++++++++++++---
libiberty/configure | 29 +++++++++++++++++++++++++++++
2 files changed, 45 insertions(+), 3 deletions(-)
diff --git a/config/cet.m4 b/config/cet.m4
index c67fb4f35b6..7718be1afe8 100644
--- a/config/cet.m4
+++ b/config/cet.m4
@@ -130,6 +130,18 @@ fi
if test x$may_have_cet = xyes; then
if test x$cross_compiling = xno; then
AC_TRY_RUN([
+int
+main ()
+{
+ asm ("endbr32");
+ return 0;
+}
+ ],
+ [have_multi_byte_nop=yes],
+ [have_multi_byte_nop=no])
+ have_cet=no
+ if test x$have_multi_byte_nop = xyes; then
+ AC_TRY_RUN([
static void
foo (void)
{
@@ -155,9 +167,10 @@ main ()
bar ();
return 0;
}
- ],
- [have_cet=no],
- [have_cet=yes])
+ ],
+ [have_cet=no],
+ [have_cet=yes])
+ fi
if test x$enable_cet = xno -a x$have_cet = xyes; then
AC_MSG_ERROR([Intel CET must be enabled on Intel CET enabled host])
fi
diff --git a/libiberty/configure b/libiberty/configure
index 160b8c9e8b1..29a690d44fc 100755
--- a/libiberty/configure
+++ b/libiberty/configure
@@ -5539,6 +5539,34 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+int
+main ()
+{
+ asm ("endbr32");
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ have_multi_byte_nop=yes
+else
+ have_multi_byte_nop=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ have_cet=no
+ if test x$have_multi_byte_nop = xyes; then
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
static void
foo (void)
{
@@ -5575,6 +5603,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
+ fi
if test x$enable_cet = xno -a x$have_cet = xyes; then
as_fn_error $? "Intel CET must be enabled on Intel CET enabled host" "$LINENO" 5
fi
--
2.29.2

View file

@ -0,0 +1,136 @@
From: Alan Modra <amodra@gmail.com>
Date: Mon, 16 Nov 2020 22:08:05 +0000 (+1030)
Subject: PR26882, --enable-textrel-check=warning test failures on powerpc
X-Git-Tag: binutils-2_36~578
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=7cc340055d3993a25ded914aef88f784f16d46bc;hp=6f2643dbd2192e6fff77a5e6fec5141d209fd7d0
PR26882, --enable-textrel-check=warning test failures on powerpc
PR 26882
* testsuite/ld-powerpc/dotsym3.d: Add "-z notext" to ld options.
* testsuite/ld-powerpc/dotsym4.d: Likewise.
* testsuite/ld-powerpc/ppc476-shared.d: Likewise.
* testsuite/ld-powerpc/ppc476-shared2.d: Likewise.
* testsuite/ld-powerpc/powerpc.exp: Likewise for various tests.
* testsuite/ld-undefined/weak-fundef.s: Add BLPLT variant.
* testsuite/ld-undefined/weak-undef.exp: Define BLPLT for ppc32.
---
diff --git a/ld/testsuite/ld-powerpc/dotsym3.d b/ld/testsuite/ld-powerpc/dotsym3.d
index fac2f8ec732..215a9c2a6c1 100644
--- a/ld/testsuite/ld-powerpc/dotsym3.d
+++ b/ld/testsuite/ld-powerpc/dotsym3.d
@@ -1,7 +1,7 @@
#source: nodotsym.s
#source: dotsymref.s
#as: -a64
-#ld: -melf64ppc -Ttext=0x1000 -shared
+#ld: -melf64ppc -Ttext=0x1000 -shared -z notext
#objdump: -dR
.*: file format .*
diff --git a/ld/testsuite/ld-powerpc/dotsym4.d b/ld/testsuite/ld-powerpc/dotsym4.d
index fdd92f3da76..d774e83bcf6 100644
--- a/ld/testsuite/ld-powerpc/dotsym4.d
+++ b/ld/testsuite/ld-powerpc/dotsym4.d
@@ -1,7 +1,7 @@
#source: dotsymref.s
#source: nodotsym.s
#as: -a64
-#ld: -melf64ppc -Ttext=0x1000 -shared
+#ld: -melf64ppc -Ttext=0x1000 -shared -z notext
#objdump: -dR
.*: file format .*
diff --git a/ld/testsuite/ld-powerpc/powerpc.exp b/ld/testsuite/ld-powerpc/powerpc.exp
index 74af28d7421..2cbefb841c2 100644
--- a/ld/testsuite/ld-powerpc/powerpc.exp
+++ b/ld/testsuite/ld-powerpc/powerpc.exp
@@ -99,7 +99,7 @@ proc supports_ppc64 { } {
# readelf: Apply readelf options on result. Compare with regex (last arg).
set ppcelftests {
- {"Reloc section order" "-melf32ppc -shared -z nocombreloc" "" "-a32" {reloc.s}
+ {"Reloc section order" "-melf32ppc -shared -z nocombreloc -z notext" "" "-a32" {reloc.s}
{{objdump -hw reloc.d}} "reloc.so"}
{"APUinfo section processing" "-melf32ppc" ""
"-a32 -me500" {apuinfo1.s apuinfo-nul.s apuinfo2.s}
@@ -134,7 +134,7 @@ set ppcelftests {
{{readelf -WSsrl tlsexe32no.r} {objdump -dr tlsexe32no.d}
{objdump -sj.got tlsexe32no.g} {objdump -sj.tdata tlsexe32.t}}
"tlsexe32no"}
- {"TLS32 shared" "-shared -melf32ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls32.o" "" "" {}
+ {"TLS32 shared" "-shared -melf32ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv -z notext tmpdir/tls32.o" "" "" {}
{{readelf -WSsrl tlsso32.r} {objdump -dr tlsso32.d}
{objdump -sj.got tlsso32.g} {objdump -sj.tdata tlsso32.t}}
"tls32.so"}
@@ -202,7 +202,7 @@ set ppc64elftests {
{{readelf -WSsrl tlsexeno.r} {objdump -dr tlsexeno.d}
{objdump -sj.got tlsexeno.g} {objdump -sj.tdata tlsexe.t}}
"tlsexeno"}
- {"TLS shared" "-shared -melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls.o" "" "" {}
+ {"TLS shared" "-shared -melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv -z notext tmpdir/tls.o" "" "" {}
{{readelf -WSsrl tlsso.r} {objdump -dr tlsso.d}
{objdump -sj.got tlsso.g} {objdump -sj.tdata tlsso.t}}
"tls.so"}
@@ -229,7 +229,7 @@ set ppc64elftests {
{{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetocno.d}
{objdump -sj.got tlsexetocno.g} {objdump -sj.tdata tlsexetoc.t}}
"tlsexetocno"}
- {"TLSTOC shared" "-shared -melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o" "" "" {}
+ {"TLSTOC shared" "-shared -melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv -z notext tmpdir/tlstoc.o" "" "" {}
{{readelf -WSsrl tlstocso.r} {objdump -dr tlstocso.d}
{objdump -sj.got tlstocso.g} {objdump -sj.tdata tlstocso.t}}
"tlstoc.so"}
diff --git a/ld/testsuite/ld-powerpc/ppc476-shared.d b/ld/testsuite/ld-powerpc/ppc476-shared.d
index 7953cb44e25..3b2cc8a155c 100644
--- a/ld/testsuite/ld-powerpc/ppc476-shared.d
+++ b/ld/testsuite/ld-powerpc/ppc476-shared.d
@@ -1,6 +1,6 @@
#source: ppc476-shared.s
#as: -a32
-#ld: -melf32ppc -q -shared -z common-page-size=0x10000 --ppc476-workaround -T ppc476-shared.lnk
+#ld: -melf32ppc -q -shared -z common-page-size=0x10000 -z notext --ppc476-workaround -T ppc476-shared.lnk
#objdump: -dr
#target: powerpc*-*-*
diff --git a/ld/testsuite/ld-powerpc/ppc476-shared2.d b/ld/testsuite/ld-powerpc/ppc476-shared2.d
index 26a5c41f988..48917fd4d92 100644
--- a/ld/testsuite/ld-powerpc/ppc476-shared2.d
+++ b/ld/testsuite/ld-powerpc/ppc476-shared2.d
@@ -1,6 +1,6 @@
#source: ppc476-shared.s
#as: -a32
-#ld: -melf32ppc -shared -z common-page-size=0x10000 --ppc476-workaround -T ppc476-shared.lnk
+#ld: -melf32ppc -shared -z common-page-size=0x10000 -z notext --ppc476-workaround -T ppc476-shared.lnk
#objdump: -R
#target: powerpc*-*-*
diff --git a/ld/testsuite/ld-undefined/weak-fundef.s b/ld/testsuite/ld-undefined/weak-fundef.s
index 2c20f799417..de8f641b6c2 100644
--- a/ld/testsuite/ld-undefined/weak-fundef.s
+++ b/ld/testsuite/ld-undefined/weak-fundef.s
@@ -5,6 +5,9 @@
bl undef_weak_fun
nop
.endif
+ .ifdef BLPLT
+ bl undef_weak_fun@plt
+ .endif
.ifdef CALLPLT
call undef_weak_fun@plt
.endif
diff --git a/ld/testsuite/ld-undefined/weak-undef.exp b/ld/testsuite/ld-undefined/weak-undef.exp
index 50c8e1483e3..14b6774c5bc 100644
--- a/ld/testsuite/ld-undefined/weak-undef.exp
+++ b/ld/testsuite/ld-undefined/weak-undef.exp
@@ -105,7 +105,8 @@ set asflags ""
switch -glob $target_triplet {
aarch64* -
arm* -
- powerpc* { set asflags "--defsym BL=1" }
+ powerpc64* { set asflags "--defsym BL=1" }
+ powerpc* { set asflags "--defsym BLPLT=1" }
hppa* { set asflags "--defsym HPPA=1" }
i\[3-7\]86* -
x86_64* { set asflags "--defsym CALLPLT=1" }

View file

@ -0,0 +1,56 @@
https://bugs.gentoo.org/892549
https://github.com/gentoo/binutils-gdb/pull/5
From 531bc1536dfc3070c1f7d03e98fa14bcb81fdcd0 Mon Sep 17 00:00:00 2001
From: James Le Cuirot <chewi@gentoo.org>
Date: Sat, 23 Dec 2023 13:48:10 +0000
Subject: [PATCH 2/2] ld: Allow a Gentoo-specific prefix to override the prefix
used by ld.bfd
This prefix is only used to locate $prefix/etc/ld.so.conf, with $prefix
usually being /usr. This file is important on Gentoo Prefix systems,
where the /usr prefix is within another directory. The problem is that
Gentoo already passes the same directory as the sysroot, and ld.bfd
therefore looks for /myprefix/myprefix/usr/etc/ld.so.conf.
The sysroot is dynamic, while the prefix is hardcoded. A hardcoded
prefix that isn't just /usr is unhelpful, not just because of the
doubled prefix issue above, but also because it prevents ld.bfd from
working effectively outside its native environment. We will therefore
hardcode it to just /usr.
This change does not simply do that though and sets up a $gentoo_prefix
variable instead, with $prefix as a fallback. This is necessary because
Gentoo prefix-guest systems, which use the host's libc, do not apply a
sysroot like RAP prefix systems do. In that case, we must preserve the
existing behaviour. The binutils ebuild will be responsible for setting
this variable appropriately.
---
ld/emultempl/elf.em | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ld/emultempl/elf.em b/ld/emultempl/elf.em
index 3f67f8b09d9..78c8e909b6c 100644
--- a/ld/emultempl/elf.em
+++ b/ld/emultempl/elf.em
@@ -138,7 +138,7 @@ gld${EMULATION_NAME}_before_plugin_all_symbols_read (void)
ldelf_before_plugin_all_symbols_read ($IS_LIBPATH, $IS_NATIVE,
$IS_LINUX_TARGET,
$IS_FREEBSD_TARGET,
- $ELFSIZE, "$prefix");
+ $ELFSIZE, "${gentoo_prefix-${prefix}}");
}
/* This is called after all the input files have been opened. */
@@ -147,7 +147,7 @@ static void
gld${EMULATION_NAME}_after_open (void)
{
ldelf_after_open ($IS_LIBPATH, $IS_NATIVE,
- $IS_LINUX_TARGET, $IS_FREEBSD_TARGET, $ELFSIZE, "$prefix");
+ $IS_LINUX_TARGET, $IS_FREEBSD_TARGET, $ELFSIZE, "${gentoo_prefix-${prefix}}");
}
EOF
--
2.43.0