-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
toolchain: binutils: add support for version 2.42
Release Notes: https://lists.gnu.org/archive/html/info-gnu/2024-01/msg00016.html Signed-off-by: Nick Hainke <[email protected]>
- Loading branch information
1 parent
8b113bf
commit 07ea729
Showing
6 changed files
with
100 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
22 changes: 22 additions & 0 deletions
22
toolchain/binutils/patches/2.42/300-001_ld_makefile_patch.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
--- a/ld/Makefile.am | ||
+++ b/ld/Makefile.am | ||
@@ -50,7 +50,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CFLAGS) | ||
# We put the scripts in the directory $(scriptdir)/ldscripts. | ||
# We can't put the scripts in $(datadir) because the SEARCH_DIR | ||
# directives need to be different for native and cross linkers. | ||
-scriptdir = $(tooldir)/lib | ||
+scriptdir = $(libdir) | ||
|
||
EMUL = @EMUL@ | ||
EMULATION_OFILES = @EMULATION_OFILES@ | ||
--- a/ld/Makefile.in | ||
+++ b/ld/Makefile.in | ||
@@ -583,7 +583,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CFLAGS) | ||
# We put the scripts in the directory $(scriptdir)/ldscripts. | ||
# We can't put the scripts in $(datadir) because the SEARCH_DIR | ||
# directives need to be different for native and cross linkers. | ||
-scriptdir = $(tooldir)/lib | ||
+scriptdir = $(libdir) | ||
BASEDIR = $(srcdir)/.. | ||
BFDDIR = $(BASEDIR)/bfd | ||
INCDIR = $(BASEDIR)/include |
18 changes: 18 additions & 0 deletions
18
toolchain/binutils/patches/2.42/400-mips_no_dynamic_linking_sym.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
--- a/bfd/elfxx-mips.c | ||
+++ b/bfd/elfxx-mips.c | ||
@@ -8149,6 +8149,7 @@ _bfd_mips_elf_create_dynamic_sections (b | ||
|
||
name = SGI_COMPAT (abfd) ? "_DYNAMIC_LINK" : "_DYNAMIC_LINKING"; | ||
bh = NULL; | ||
+ if (0) { | ||
if (!(_bfd_generic_link_add_one_symbol | ||
(info, abfd, name, BSF_GLOBAL, bfd_abs_section_ptr, 0, | ||
NULL, false, get_elf_backend_data (abfd)->collect, &bh))) | ||
@@ -8161,6 +8162,7 @@ _bfd_mips_elf_create_dynamic_sections (b | ||
|
||
if (! bfd_elf_link_record_dynamic_symbol (info, h)) | ||
return false; | ||
+ } | ||
|
||
if (! mips_elf_hash_table (info)->use_rld_obj_head) | ||
{ |
48 changes: 48 additions & 0 deletions
48
toolchain/binutils/patches/2.42/500-Change-default-emulation-for-mips64-linux.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
--- a/bfd/config.bfd | ||
+++ b/bfd/config.bfd | ||
@@ -962,8 +962,8 @@ case "${targ}" in | ||
want64=true | ||
;; | ||
mips64*el-*-linux*) | ||
- targ_defvec=mips_elf32_ntrad_le_vec | ||
- targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec" | ||
+ targ_defvec=mips_elf64_trad_le_vec | ||
+ targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_be_vec" | ||
;; | ||
mips64*-*-linux*-gnuabi64) | ||
targ_defvec=mips_elf64_trad_be_vec | ||
@@ -971,8 +971,8 @@ case "${targ}" in | ||
want64=true | ||
;; | ||
mips64*-*-linux*) | ||
- targ_defvec=mips_elf32_ntrad_be_vec | ||
- targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" | ||
+ targ_defvec=mips_elf64_trad_be_vec | ||
+ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec" | ||
;; | ||
mips*el-*-linux*) | ||
targ_defvec=mips_elf32_trad_le_vec | ||
--- a/ld/configure.tgt | ||
+++ b/ld/configure.tgt | ||
@@ -597,8 +597,8 @@ mips64*el-*-linux-gnuabi64) | ||
targ_extra_emuls="elf64btsmip elf32ltsmipn32 elf32btsmipn32 elf32ltsmip elf32btsmip" | ||
targ_extra_libpath=$targ_extra_emuls | ||
;; | ||
-mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 | ||
- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" | ||
+mips64*el-*-linux-*) targ_emul=elf64ltsmip | ||
+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32ltsmip elf32btsmip elf64btsmip" | ||
targ_extra_libpath=$targ_extra_emuls | ||
;; | ||
mips64*-*-linux-gnuabi64) | ||
@@ -606,8 +606,8 @@ mips64*-*-linux-gnuabi64) | ||
targ_extra_emuls="elf64ltsmip elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip" | ||
targ_extra_libpath=$targ_extra_emuls | ||
;; | ||
-mips64*-*-linux-*) targ_emul=elf32btsmipn32 | ||
- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" | ||
+mips64*-*-linux-*) targ_emul=elf64btsmip | ||
+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip" | ||
targ_extra_libpath=$targ_extra_emuls | ||
;; | ||
mips*el-*-linux-*) targ_emul=elf32ltsmip |