binutils: Upgrade to 2.44 release

* Drop the CVE-2024-53589 patch, its included in 2.44
* Package newly rename gp-* to gprofng-* binaries and remove old gp-*
  symlinks

* Gold linker is now deprecated and will be removed in future release
  its already deleted in tarball releases

* Support for the Nios II target has been removed.

* Assembler:
    - Support for new architecture extensions for AArch64, Risc-V and
      x86.

* Linker:
      The default maximum page size was changed from 16KiB to 64KiB for
      LoongArch.

      This now supports mixed LTO and non-LTO object files in
      relocatable output.

      The ELF forms of the linker support a --image-base=<ADDR> option
      for compatibility with LLD.

      The --build-id= option now accepts an argument of "xx" which
      enables the use of the xxhash library.  This produces a 128-bit
      hash and is 2-4x faster than md5 or sha1.

      The ELF linker option --package-metadata supports percent-encoded
      and %[string] encoded JSON payloads.

* Disassembler:
      The RISC-V disassembler now supports -M,max option like QEMU to
      dump instruction without checking architecture support as usual.

* GprofNG:
      Support added for hardware event counters for Neoverse-N1,
      Ampere-1, and Appliedmicro processors.

Detailed release notes [1]

[1] https://lists.gnu.org/archive/html/info-gnu/2025-02/msg00001.html

(From OE-Core rev: df3c43e69542939a4bec3893f1e927edf2ad7179)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj 2025-02-02 13:09:41 -08:00 committed by Richard Purdie
parent d1f0bbb962
commit 7c65f1da17
23 changed files with 492 additions and 600 deletions

View File

@ -22,7 +22,7 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
GCCVERSION ?= "14.%"
SDKGCCVERSION ?= "${GCCVERSION}"
BINUVERSION ?= "2.43%"
BINUVERSION ?= "2.44%"
GDBVERSION ?= "16.%"
GLIBCVERSION ?= "2.40%"
LINUXLIBCVERSION ?= "6.12%"

View File

@ -12,15 +12,15 @@ LIC_FILES_CHKSUM = "\
# When upgrading to next major release, ensure that there is no trailing .0, so
# that upstream version check can work correctly.
PV = "2.43.1"
CVE_VERSION = "2.43.1"
SRCBRANCH ?= "binutils-2_43-branch"
PV = "2.44"
CVE_VERSION = "2.44"
SRCBRANCH ?= "binutils-2_44-branch"
UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
CVE_STATUS[CVE-2023-25584] = "cpe-incorrect: Applies only for version 2.40 and earlier"
SRCREV ?= "b82e2250574ef00faf7fcb1e95e14f22b1fa85af"
SRCREV ?= "815d9a14cbbb3b81843f7566222c87fb22e7255d"
BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=${SRCBRANCH};protocol=https"
SRC_URI = "\
${BINUTILS_GIT_URI} \
@ -35,6 +35,5 @@ SRC_URI = "\
file://0012-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \
file://0013-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \
file://0014-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch \
file://0015-CVE-2024-53589.patch \
"
S = "${WORKDIR}/git"

View File

@ -39,11 +39,11 @@ FILES:${PN}-staticdev += "${libdir}/gprofng/*.a"
# list and reuse it.
GPROFNGS = " \
gp-archive \
gp-collect-app \
gp-display-html \
gp-display-src \
gp-display-text \
gprofng-archive \
gprofng-collect-app \
gprofng-display-html \
gprofng-display-src \
gprofng-display-text \
gprofng \
"
@ -191,6 +191,10 @@ do_install () {
for alt in ${USE_ALTERNATIVES_FOR}; do
rm -f ${D}${bindir}/$alt
done
# remove old pre 2.44 release gprofng binary names
for f in gp-archive gp-collect-app gp-display-html gp-display-src gp-display-text; do
rm -f ${D}${bindir}/$f
done
oe_multilib_header bfd.h
}

View File

@ -1,4 +1,4 @@
From 56d41f0cc6a806d2e8d7dcbfb4cca4cd37fba835 Mon Sep 17 00:00:00 2001
From df3faaf0a09fd828330d3bac45782868a04f7bc0 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:58:54 +0000
Subject: [PATCH] binutils-crosssdk: Generate relocatable SDKs
@ -21,7 +21,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/gold/layout.cc b/gold/layout.cc
index b43ae841a6c..6101a95195b 100644
index f690c67618e..9ded8368482 100644
--- a/gold/layout.cc
+++ b/gold/layout.cc
@@ -5102,7 +5102,7 @@ Layout::create_interp(const Target* target)
@ -34,7 +34,7 @@ index b43ae841a6c..6101a95195b 100644
Output_section_data* odata = new Output_data_const(interp, len, 1);
diff --git a/ld/genscripts.sh b/ld/genscripts.sh
index a726b158161..5d2eb737efc 100755
index 77a1fb465ad..5b51c23e141 100755
--- a/ld/genscripts.sh
+++ b/ld/genscripts.sh
@@ -315,6 +315,7 @@ DATA_ALIGNMENT_u="${DATA_ALIGNMENT_u-${DATA_ALIGNMENT_r}}"
@ -59,17 +59,17 @@ index a726b158161..5d2eb737efc 100755
DATA_ALIGNMENT=${DATA_ALIGNMENT_}
RELOCATING=" "
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index 54716110b61..da17fe5cbce 100644
index be8d19fcf11..26ecd6dff80 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -152,8 +152,8 @@ if test -z "$DATA_SEGMENT_ALIGN"; then
DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (${SEPARATE_GOTPLT-0}, .);"
@@ -197,8 +197,8 @@ if test -z "$DATA_SEGMENT_ALIGN"; then
fi
fi
-if test -z "${INITIAL_READONLY_SECTIONS}${CREATE_SHLIB}"; then
- INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp) }"
+if test -z "${INITIAL_READONLY_SECTIONS}${CREATE_SHLIB}${PARTIAL_LINKING}"; then
+ INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp); . = 0x1000; }"
fi
if test -z "$PLT"; then
IPLT=".iplt ${RELOCATING-0} : { *(.iplt) }"

View File

@ -1,4 +1,4 @@
From 4f2a54c468c448efdd44813273893ec9c541deaf Mon Sep 17 00:00:00 2001
From 3105d7ecc3f16d66c19985a6557cd1e9becfab55 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 6 Mar 2017 23:37:05 -0800
Subject: [PATCH] binutils-cross: Do not generate linker script directories
@ -22,7 +22,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 25 deletions(-)
diff --git a/ld/genscripts.sh b/ld/genscripts.sh
index 5d2eb737efc..ad225b0071d 100755
index 5b51c23e141..5d2c54706f8 100755
--- a/ld/genscripts.sh
+++ b/ld/genscripts.sh
@@ -244,31 +244,6 @@ append_to_lib_path()

View File

@ -1,4 +1,4 @@
From bbb86582536ba9e4ab0fb4656d4697542172ab78 Mon Sep 17 00:00:00 2001
From d718e17e1668880a85ff05993f0027d9c9ad6935 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Wed, 19 Feb 2020 09:51:16 -0800
Subject: [PATCH] binutils-nativesdk: Search for alternative ld.so.conf in SDK
@ -29,7 +29,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
5 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/ld/Makefile.am b/ld/Makefile.am
index 6a9833e5775..b2776d2a1f3 100644
index ccff9289924..cf2c29e89a3 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -42,7 +42,8 @@ ZLIBINC = @zlibinc@
@ -43,7 +43,7 @@ index 6a9833e5775..b2776d2a1f3 100644
NO_WERROR = @NO_WERROR@
AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CFLAGS) $(JANSSON_CFLAGS) $(ZSTD_CFLAGS)
diff --git a/ld/Makefile.in b/ld/Makefile.in
index 8639e782cdf..19c19088724 100644
index 3e24bd4deb2..23d4f1f3132 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -576,7 +576,8 @@ ZLIB = @zlibdir@ -lz
@ -57,10 +57,10 @@ index 8639e782cdf..19c19088724 100644
AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CFLAGS) $(JANSSON_CFLAGS) $(ZSTD_CFLAGS)
diff --git a/ld/ldelf.c b/ld/ldelf.c
index 09691609fc0..e49c0217ae2 100644
index 4a1aa044e70..f6f3ac11a76 100644
--- a/ld/ldelf.c
+++ b/ld/ldelf.c
@@ -939,7 +939,7 @@ ldelf_check_ld_so_conf (const struct bfd_link_needed_list *l, int force,
@@ -943,7 +943,7 @@ ldelf_check_ld_so_conf (const struct bfd_link_needed_list *l, int force,
info.path = NULL;
info.len = info.alloc = 0;
@ -70,7 +70,7 @@ index 09691609fc0..e49c0217ae2 100644
if (!ldelf_parse_ld_so_conf (&info, tmppath))
{
diff --git a/ld/ldmain.c b/ld/ldmain.c
index 037099b9d37..2f500d73c58 100644
index f1c5f7035c5..cce4991b25a 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -69,6 +69,7 @@ char *program_name;
@ -82,7 +82,7 @@ index 037099b9d37..2f500d73c58 100644
/* The canonical representation of ld_sysroot. */
char *ld_canon_sysroot;
diff --git a/ld/ldmain.h b/ld/ldmain.h
index 0238aed0ebd..2dd00db13b3 100644
index 0baa3c305c3..899c4b591c6 100644
--- a/ld/ldmain.h
+++ b/ld/ldmain.h
@@ -23,6 +23,7 @@

View File

@ -1,4 +1,4 @@
From aa371816a7ad55af4b29ffc32b213a812f4c6216 Mon Sep 17 00:00:00 2001
From 0ff4f23d3521a45835eaa03731c0b3351a50d8ba Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:09:58 +0000
Subject: [PATCH] Point scripts location to libdir
@ -12,7 +12,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/ld/Makefile.am b/ld/Makefile.am
index b2776d2a1f3..76ebecb5685 100644
index cf2c29e89a3..0a6eaada129 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -51,7 +51,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CFLAGS) $(JANSSON_CFLAGS) $(ZSTD_CFLAGS)
@ -25,7 +25,7 @@ index b2776d2a1f3..76ebecb5685 100644
EMUL = @EMUL@
EMULATION_OFILES = @EMULATION_OFILES@
diff --git a/ld/Makefile.in b/ld/Makefile.in
index 19c19088724..4be38a75feb 100644
index 23d4f1f3132..c3d08edbef1 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -584,7 +584,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CFLAGS) $(JANSSON_CFLAGS) $(ZSTD_CFLAGS)

View File

@ -1,4 +1,4 @@
From cf20233a1d53effa223a8b72ae9c0652a472a87a Mon Sep 17 00:00:00 2001
From 340d2cf058b373ed4fbf6bcea4f6674eab23c73a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:39:01 +0000
Subject: [PATCH] don't let the distro compiler point to the wrong installation
@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
index b77a41c781c..9fb4d6f09c9 100644
index b11df756b4b..f47269fdc0e 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -385,7 +385,8 @@ install-strip: install

View File

@ -1,4 +1,4 @@
From 26f6a7a397e62b5e974cf88f6d4d8ba9a3d51e3c Mon Sep 17 00:00:00 2001
From e9297b35595d7dd6c50ce6ff7282eee248b7e479 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 15 Jan 2016 06:31:09 +0000
Subject: [PATCH] warn for uses of system directories when cross linking
@ -56,17 +56,17 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
ld/configure.ac | 10 ++++++++++
ld/ld.h | 8 ++++++++
ld/ld.texi | 12 ++++++++++++
ld/ldfile.c | 16 ++++++++++++++++
ld/ldfile.c | 17 +++++++++++++++++
ld/ldlex.h | 2 ++
ld/ldmain.c | 6 ++++--
ld/lexsup.c | 15 +++++++++++++++
9 files changed, 86 insertions(+), 2 deletions(-)
9 files changed, 87 insertions(+), 2 deletions(-)
diff --git a/ld/config.in b/ld/config.in
index f7c9da3d02a..e4fdbf6db5b 100644
index 2d7b6406d2b..37cd12d20fa 100644
--- a/ld/config.in
+++ b/ld/config.in
@@ -74,6 +74,9 @@
@@ -78,6 +78,9 @@
language is requested. */
#undef ENABLE_NLS
@ -77,7 +77,7 @@ index f7c9da3d02a..e4fdbf6db5b 100644
#undef EXTRA_SHLIB_EXTENSION
diff --git a/ld/configure b/ld/configure
index 1d89e3b0677..dd770216b61 100755
index 597d110f57a..d537ec391d2 100755
--- a/ld/configure
+++ b/ld/configure
@@ -844,6 +844,7 @@ with_lib_path
@ -88,7 +88,7 @@ index 1d89e3b0677..dd770216b61 100755
enable_gold
enable_got
enable_compressed_debug_sections
@@ -1535,6 +1536,8 @@ Optional Features:
@@ -1537,6 +1538,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)
@ -97,7 +97,7 @@ index 1d89e3b0677..dd770216b61 100755
--enable-gold[=ARG] build gold [ARG={default,yes,no}]
--enable-got=<type> GOT handling scheme (target, single, negative,
multigot)
@@ -15566,6 +15569,19 @@ fi
@@ -15571,6 +15574,19 @@ fi
@ -118,7 +118,7 @@ index 1d89e3b0677..dd770216b61 100755
if test "${enable_gold+set}" = set; then :
enableval=$enable_gold; case "${enableval}" in
diff --git a/ld/configure.ac b/ld/configure.ac
index bdf51a062fa..3d370ff92ce 100644
index 228f2ee4089..50a4b0f4db1 100644
--- a/ld/configure.ac
+++ b/ld/configure.ac
@@ -102,6 +102,16 @@ AC_SUBST(use_sysroot)
@ -139,7 +139,7 @@ index bdf51a062fa..3d370ff92ce 100644
dnl "install_as_default" is set to false if gold is the default linker.
dnl "installed_linker" is the installed BFD linker name.
diff --git a/ld/ld.h b/ld/ld.h
index 0dee944cf2a..83bd82d2a2e 100644
index 254f0a097bb..daf777c65c8 100644
--- a/ld/ld.h
+++ b/ld/ld.h
@@ -166,6 +166,14 @@ typedef struct
@ -158,10 +158,10 @@ index 0dee944cf2a..83bd82d2a2e 100644
enum endian_enum endian;
diff --git a/ld/ld.texi b/ld/ld.texi
index 89e3913317a..178908edf32 100644
index f6384ad82dd..26479a6a232 100644
--- a/ld/ld.texi
+++ b/ld/ld.texi
@@ -3245,6 +3245,18 @@ creation of the metadata note, if one had been enabled by an earlier
@@ -3279,6 +3279,18 @@ creation of the metadata note, if one had been enabled by an earlier
occurrence of the --package-metadata option.
If the linker has been built with libjansson, then the JSON string
will be validated.
@ -181,14 +181,15 @@ index 89e3913317a..178908edf32 100644
@c man end
diff --git a/ld/ldfile.c b/ld/ldfile.c
index 87be885d31a..86c8a5b267d 100644
index 12551504ae6..8bea4e7048f 100644
--- a/ld/ldfile.c
+++ b/ld/ldfile.c
@@ -319,6 +319,22 @@
*search_tail_ptr = new_dirs;
search_tail_ptr = &new_dirs->next;
+ #ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
@@ -328,6 +328,23 @@ ldfile_add_library_path (const char *name, bool cmdline)
new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL);
else
new_dirs->name = xstrdup (name);
+
+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
+ if (command_line.poison_system_directories
+ && ((!strncmp (name, "/lib", 4))
+ || (!strncmp (name, "/usr/lib", 8))
@ -204,14 +205,14 @@ index 87be885d31a..86c8a5b267d 100644
+ }
+#endif
+
/* If a directory is marked as honoring sysroot, prepend the sysroot path
now. */
if (name[0] == '=')
}
static void
diff --git a/ld/ldlex.h b/ld/ldlex.h
index defe3fcbbb9..aea75a25dc8 100644
index b8b7d6b6829..a8faeb635c4 100644
--- a/ld/ldlex.h
+++ b/ld/ldlex.h
@@ -149,6 +149,8 @@ enum option_values
@@ -150,6 +150,8 @@ enum option_values
OPTION_PLUGIN_OPT,
OPTION_PLUGIN_SAVE_TEMPS,
#endif /* BFD_SUPPORTS_PLUGINS */
@ -221,10 +222,10 @@ index defe3fcbbb9..aea75a25dc8 100644
OPTION_PRINT_OUTPUT_FORMAT,
OPTION_PRINT_SYSROOT,
diff --git a/ld/ldmain.c b/ld/ldmain.c
index 2f500d73c58..8b1bf7ad6aa 100644
index cce4991b25a..1859465635d 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -348,6 +348,8 @@ main (int argc, char **argv)
@@ -352,6 +352,8 @@ main (int argc, char **argv)
command_line.warn_mismatch = true;
command_line.warn_search_mismatch = true;
command_line.check_section_addresses = -1;
@ -233,7 +234,7 @@ index 2f500d73c58..8b1bf7ad6aa 100644
/* We initialize DEMANGLING based on the environment variable
COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the
@@ -1489,7 +1491,7 @@ undefined_symbol (struct bfd_link_info *info,
@@ -1500,7 +1502,7 @@ undefined_symbol (struct bfd_link_info *info,
argv[1] = "undefined-symbol";
argv[2] = (char *) name;
argv[3] = NULL;
@ -242,7 +243,7 @@ index 2f500d73c58..8b1bf7ad6aa 100644
if (verbose)
einfo (_("%P: About to run error handling script '%s' with arguments: '%s' '%s'\n"),
argv[0], argv[1], argv[2]);
@@ -1510,7 +1512,7 @@ undefined_symbol (struct bfd_link_info *info,
@@ -1521,7 +1523,7 @@ undefined_symbol (struct bfd_link_info *info,
carry on to issue the normal error message. */
}
#endif /* SUPPORT_ERROR_HANDLING_SCRIPT */
@ -252,10 +253,10 @@ index 2f500d73c58..8b1bf7ad6aa 100644
{
if (error_count < MAX_ERRORS_IN_A_ROW)
diff --git a/ld/lexsup.c b/ld/lexsup.c
index 4aa0124ce2f..65c90d48332 100644
index 5399aa45b72..8f9a221bfba 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
@@ -648,6 +648,14 @@ static const struct ld_option ld_options[] =
@@ -650,6 +650,14 @@ static const struct ld_option ld_options[] =
" <method> is: share-unconflicted (default),\n"
" share-duplicated"),
TWO_DASHES },
@ -270,7 +271,7 @@ index 4aa0124ce2f..65c90d48332 100644
};
#define OPTION_COUNT ARRAY_SIZE (ld_options)
@@ -1834,6 +1842,13 @@ parse_args (unsigned argc, char **argv)
@@ -1838,6 +1846,13 @@ parse_args (unsigned argc, char **argv)
case OPTION_PRINT_MAP_LOCALS:
config.print_map_locals = true;

View File

@ -1,4 +1,4 @@
From bfc643d4044dccc917549f2db439cff165512b02 Mon Sep 17 00:00:00 2001
From de07998ce2189c329220a76feb073438c4ec88f5 Mon Sep 17 00:00:00 2001
From: Zhenhua Luo <zhenhua.luo@nxp.com>
Date: Sat, 11 Jun 2016 22:08:29 -0500
Subject: [PATCH] fix the incorrect assembling for ppc wait mnemonic
@ -14,7 +14,7 @@ Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index e55bfe846cd..66b37e36e6f 100644
index aa4484ef9ab..81b6a4c2db9 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -7138,8 +7138,6 @@ const struct powerpc_opcode powerpc_opcodes[] = {

View File

@ -1,4 +1,4 @@
From 7f8a2d32fa0951aa2f921a4401ce1cac664db129 Mon Sep 17 00:00:00 2001
From 1967fbe2cbbb039e3b54666b55f6456325c58e91 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:42:38 +0000
Subject: [PATCH] Fix rpath in libtool when sysroot is enabled
@ -19,10 +19,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/ltmain.sh b/ltmain.sh
index 7f7104ffc82..f59eb4aa631 100644
index 09693d7b99b..39f0a5bde46 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -8035,9 +8035,11 @@ EOF
@@ -8056,9 +8056,11 @@ EOF
test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
for libdir in $rpath; do
if test -n "$hardcode_libdir_flag_spec"; then
@ -36,7 +36,7 @@ index 7f7104ffc82..f59eb4aa631 100644
if test -z "$hardcode_libdirs"; then
hardcode_libdirs="$libdir"
else
@@ -8770,6 +8772,10 @@ EOF
@@ -8791,6 +8793,10 @@ EOF
hardcode_libdirs=
for libdir in $compile_rpath $finalize_rpath; do
if test -n "$hardcode_libdir_flag_spec"; then

View File

@ -1,4 +1,4 @@
From 397884efce0bb7c3f1ff5e1da212e874c7eaf14b Mon Sep 17 00:00:00 2001
From 6b37e476ee9f7feac837063cd0ca8e634fb76f90 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Mon, 6 Mar 2017 23:33:27 -0800
Subject: [PATCH] sync with OE libtool changes
@ -26,10 +26,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 28 insertions(+), 6 deletions(-)
diff --git a/ltmain.sh b/ltmain.sh
index f59eb4aa631..ce97db42ce7 100644
index 39f0a5bde46..890719f2de0 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -8053,8 +8053,16 @@ EOF
@@ -8074,8 +8074,16 @@ EOF
esac
fi
else
@ -48,7 +48,7 @@ index f59eb4aa631..ce97db42ce7 100644
fi
elif test -n "$runpath_var"; then
case "$perm_rpath " in
@@ -8790,8 +8798,16 @@ EOF
@@ -8811,8 +8819,16 @@ EOF
esac
fi
else
@ -67,7 +67,7 @@ index f59eb4aa631..ce97db42ce7 100644
fi
elif test -n "$runpath_var"; then
case "$perm_rpath " in
@@ -8841,8 +8857,14 @@ EOF
@@ -8862,8 +8878,14 @@ EOF
esac
fi
else

View File

@ -1,4 +1,4 @@
From 75a17814ee39346612a2ff582fe5466201fa56b3 Mon Sep 17 00:00:00 2001
From 8942cfa25f5822d88f990c3a939c0a4f7832a0e2 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 15 Apr 2020 14:17:20 -0700
Subject: [PATCH] Check for clang before checking gcc version
@ -18,10 +18,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 7823f2c3784..52b6a1318ae 100755
index bbfb5979546..fef4bd65124 100755
--- a/configure
+++ b/configure
@@ -5432,7 +5432,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
@@ -5446,7 +5446,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@ -31,10 +31,10 @@ index 7823f2c3784..52b6a1318ae 100755
#endif
int main() {}
diff --git a/configure.ac b/configure.ac
index a390639bfa9..66b8de7d4fd 100644
index f9694cdf901..54a3a968307 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1411,7 +1411,7 @@ if test "$GCC" = yes; then
@@ -1419,7 +1419,7 @@ if test "$GCC" = yes; then
AC_MSG_CHECKING([whether g++ accepts -static-libstdc++ -static-libgcc])
AC_LANG_PUSH(C++)
AC_LINK_IFELSE([AC_LANG_SOURCE([

View File

@ -1,4 +1,4 @@
From 508c79dbef580e52b1c47026dfe2fe5ae7be4d56 Mon Sep 17 00:00:00 2001
From fecc7af84b2735fad82da304fce37f373d2c0f53 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 10 Mar 2022 21:21:33 -0800
Subject: [PATCH] Only generate an RPATH entry if LD_RUN_PATH is not empty
@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 5 insertions(+)
diff --git a/ld/ldelf.c b/ld/ldelf.c
index e49c0217ae2..069f2263c81 100644
index f6f3ac11a76..77442fdc964 100644
--- a/ld/ldelf.c
+++ b/ld/ldelf.c
@@ -1130,6 +1130,9 @@ ldelf_handle_dt_needed (struct elf_link_hash_table *htab,
@@ -1134,6 +1134,9 @@ ldelf_handle_dt_needed (struct elf_link_hash_table *htab,
&& command_line.rpath == NULL)
{
path = (const char *) getenv ("LD_RUN_PATH");
@ -27,7 +27,7 @@ index e49c0217ae2..069f2263c81 100644
if (path
&& ldelf_search_needed (path, &n, force,
is_linux, elfsize))
@@ -1805,6 +1808,8 @@ ldelf_before_allocation (char *audit, char *depaudit,
@@ -1811,6 +1814,8 @@ ldelf_before_allocation (char *audit, char *depaudit,
rpath = command_line.rpath;
if (rpath == NULL)
rpath = (const char *) getenv ("LD_RUN_PATH");

View File

@ -1,4 +1,4 @@
From aea8ba15afba280c9bc5ae22828fae4eed09db41 Mon Sep 17 00:00:00 2001
From ea68b64a00dd236c6e062a9403bf8a4b2234aaa5 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 15 Jan 2023 00:16:25 -0800
Subject: [PATCH] Define alignof using _Alignof when using C11 or newer
@ -25,7 +25,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 10 insertions(+)
diff --git a/libiberty/sha1.c b/libiberty/sha1.c
index 49e8e0b6c2b..72de5cc8ad6 100644
index 27ceccc027b..a81332972d1 100644
--- a/libiberty/sha1.c
+++ b/libiberty/sha1.c
@@ -234,7 +234,17 @@ sha1_process_bytes (const void *buffer, size_t len, struct sha1_ctx *ctx)

View File

@ -1,4 +1,4 @@
From d9b37b144a952283cefafdf679d06f842cafc955 Mon Sep 17 00:00:00 2001
From f40157cc203a8c8348fb9a39d9fd830d6b4b23f7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Jan 2023 19:35:07 -0800
Subject: [PATCH] Remove duplicate pe-dll.o entry deom targ_extra_ofiles
@ -18,10 +18,10 @@ Cc: Zac Walker <zac.walker@linaro.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ld/configure.tgt b/ld/configure.tgt
index f937f78b876..830613744c2 100644
index ea01ccf9a1b..923d6009f9a 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -1067,7 +1067,7 @@ x86_64-*-cygwin) targ_emul=i386pep ;
@@ -1063,7 +1063,7 @@ x86_64-*-cygwin) targ_emul=i386pep ;
;;
x86_64-*-mingw*) targ_emul=i386pep ;
targ_extra_emuls=i386pe

View File

@ -1,92 +0,0 @@
Author: Alan Modra <amodra@gmail.com>
Date: Mon Nov 11 10:24:09 2024 +1030
Re: tekhex object file output fixes
Commit 8b5a212495 supported *ABS* symbols by allowing "section" to be
bfd_abs_section, but bfd_abs_section needs to be treated specially.
In particular, bfd_get_next_section_by_name (.., bfd_abs_section_ptr)
is invalid.
PR 32347
* tekhex.c (first_phase): Guard against modification of
_bfd_std_section[] entries.
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=e0323071916878e0634a6e24d8250e4faff67e88]
CVE: CVE-2024-53589
Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
diff --git a/bfd/tekhex.c b/bfd/tekhex.c
index aea2ebb23df..b305c1f96f1 100644
--- a/bfd/tekhex.c
+++ b/bfd/tekhex.c
@@ -361,6 +361,7 @@ first_phase (bfd *abfd, int type, char *src, char * src_end)
{
asection *section, *alt_section;
unsigned int len;
+ bfd_vma addr;
bfd_vma val;
char sym[17]; /* A symbol can only be 16chars long. */
@@ -368,20 +369,16 @@ first_phase (bfd *abfd, int type, char *src, char * src_end)
{
case '6':
/* Data record - read it and store it. */
- {
- bfd_vma addr;
-
- if (!getvalue (&src, &addr, src_end))
- return false;
-
- while (*src && src < src_end - 1)
- {
- insert_byte (abfd, HEX (src), addr);
- src += 2;
- addr++;
- }
- return true;
- }
+ if (!getvalue (&src, &addr, src_end))
+ return false;
+
+ while (*src && src < src_end - 1)
+ {
+ insert_byte (abfd, HEX (src), addr);
+ src += 2;
+ addr++;
+ }
+ return true;
case '3':
/* Symbol record, read the segment. */
@@ -406,13 +403,16 @@ first_phase (bfd *abfd, int type, char *src, char * src_end)
{
case '1': /* Section range. */
src++;
- if (!getvalue (&src, &section->vma, src_end))
+ if (!getvalue (&src, &addr, src_end))
return false;
if (!getvalue (&src, &val, src_end))
return false;
- if (val < section->vma)
- val = section->vma;
- section->size = val - section->vma;
+ if (bfd_is_const_section (section))
+ break;
+ section->vma = addr;
+ if (val < addr)
+ val = addr;
+ section->size = val - addr;
/* PR 17512: file: objdump-s-endless-loop.tekhex.
Check for overlarge section sizes. */
if (section->size & 0x80000000)
@@ -455,6 +455,8 @@ first_phase (bfd *abfd, int type, char *src, char * src_end)
new_symbol->symbol.flags = BSF_LOCAL;
if (stype == '2' || stype == '6')
new_symbol->symbol.section = bfd_abs_section_ptr;
+ else if (bfd_is_const_section (section))
+ ;
else if (stype == '3' || stype == '7')
{
if ((section->flags & SEC_DATA) == 0)

View File

@ -66,7 +66,7 @@ PARALLEL_MAKEINST:class-nativesdk = ""
PACKAGE_BEFORE_PN += "libbfd libopcodes gprofng"
FILES:libbfd = "${libdir}/libbfd-*.so.* ${libdir}/libbfd-*.so"
FILES:libopcodes = "${libdir}/libopcodes-*.so.* ${libdir}/libopcodes-*.so"
FILES:gprofng = "${sysconfdir}/gprofng.rc ${libdir}/gprofng/libgp-*.so ${libdir}/gprofng/libgprofng.so.* ${bindir}/gp-* ${bindir}/gprofng"
FILES:gprofng = "${sysconfdir}/gprofng.rc ${libdir}/gprofng/libgp-*.so ${libdir}/gprofng/libgprofng.so.* ${bindir}/gprofng-* ${bindir}/gprofng"
FILES:${PN}-dev += "${libdir}/libgprofng.so ${libdir}/libsframe.so"
SRC_URI:append:class-nativesdk = " file://0003-binutils-nativesdk-Search-for-alternative-ld.so.conf.patch "