tool_chain: update binutils to version 2.32

Issue #3307
This commit is contained in:
Christian Prochaska 2019-03-22 14:34:05 +01:00 committed by Christian Helmuth
parent fe878e65de
commit 96ed3c8db0
7 changed files with 16 additions and 67 deletions

View File

@ -1 +1 @@
f2c125dacc53c2d28a282ce2fee740d77db2d08a
a27882f8ecc8e71e9e0c1f6d74c6bea0253b335c

View File

@ -1,9 +1,9 @@
LICENSE := GPLv2
VERSION := 2.28
VERSION := 2.32
DOWNLOADS := binutils.archive
URL(binutils) := ftp://ftp.fu-berlin.de/gnu/binutils/binutils-$(VERSION).tar.bz2
SHA(binutils) := 6297433ee120b11b4b0a1c8f3512d7d73501753142ab9e2daa13c5a3edd32a72
URL(binutils) := ftp://ftp.fu-berlin.de/gnu/binutils/binutils-$(VERSION).tar.xz
SHA(binutils) := 0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04
SIG(binutils) := ${URL(binutils)}.sig
KEY(binutils) := GNU
DIR(binutils) := src/noux-pkg/binutils
@ -12,7 +12,7 @@ PATCHES := $(addprefix ${DIR(binutils)}/patches/, \
$(shell cat $(REP_DIR)/${DIR(binutils)}/patches/series))
PATCH_OPT := -p1 -d ${DIR(binutils)}
AUTOCONF := autoconf2.64
AUTOCONF := autoconf
$(call check_tool,$(AUTOCONF))

View File

@ -1,13 +1,19 @@
Make the 'R_ARM_TARGET2' relocation type suitable for dynamic linking
From: Christian Prochaska <christian.prochaska@genode-labs.com>
(needed for linking stdcxx.lib.so).
From: Christian Prochaska <christian.prochaska@genode-labs.com>
ld/emultempl/armelf.em | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---
ld/emultempl/armelf.em | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em
index 8a57727..98a668d 100644
index 80effa4..82e2e2d 100644
--- a/ld/emultempl/armelf.em
+++ b/ld/emultempl/armelf.em
@@ -22,7 +22,7 @@

View File

@ -1,57 +0,0 @@
From 73ec947d59c511411377ad51ef792a5fcdd3f0cc Mon Sep 17 00:00:00 2001
From: Alan Modra <amodra@gmail.com>
Date: Tue, 2 May 2017 21:56:43 +0930
Subject: [PATCH] PR 21384, --dynamic-list regression with f02cb058
The commit to "Always descend into output section statements in
lang_do_assignments" meant that linker script symbols were not
bfd_link_hash_new when ld called bfd_elf_record_link_assignment.
This patch corrects that problem by testing h->non_elf instead.
PR 21384
* elflink.c (bfd_elf_link_mark_dynamic_symbol): Test h->non_elf
rather than h->root.type == bfd_link_hash_new.
(bfd_elf_record_link_assignment): Similarly, call
bfd_elf_link_mark_dynamic_symbol when h->non_elf.
---
bfd/ChangeLog | 8 ++++++++
bfd/elflink.c | 12 +++++++++---
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 4af4b1c..9acc069 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -580,7 +580,7 @@ bfd_elf_link_mark_dynamic_symbol (struct bfd_link_info *info,
&& (ELF_ST_TYPE (sym->st_info) == STT_OBJECT
|| ELF_ST_TYPE (sym->st_info) == STT_COMMON))))
|| (d != NULL
- && h->root.type == bfd_link_hash_new
+ && h->non_elf
&& (*d->match) (&d->head, NULL, h->root.root.string)))
h->dynamic = 1;
}
@@ -623,6 +623,14 @@ bfd_elf_record_link_assignment (bfd *output_bfd,
}
}
+ /* Symbols defined in a linker script but not referenced anywhere
+ else will have non_elf set. */
+ if (h->non_elf)
+ {
+ bfd_elf_link_mark_dynamic_symbol (info, h, NULL);
+ h->non_elf = 0;
+ }
+
switch (h->root.type)
{
case bfd_link_hash_defined:
@@ -639,8 +647,6 @@ bfd_elf_record_link_assignment (bfd *output_bfd,
bfd_link_repair_undef_list (&htab->root);
break;
case bfd_link_hash_new:
- bfd_elf_link_mark_dynamic_symbol (info, h, NULL);
- h->non_elf = 0;
break;
case bfd_link_hash_indirect:
/* We had a versioned symbol in a dynamic library. We make the

View File

@ -1,2 +1 @@
arm.patch
dynamic_list.patch

View File

@ -1,7 +1,8 @@
CFLAGS += -std=c99
CONFIGURE_ARGS = --disable-werror \
--program-prefix=$(PROGRAM_PREFIX) \
--target=$(BINUTILS_TARGET)
--target=$(BINUTILS_TARGET) \
--disable-nls
#
# Pass CFLAGS and friends to the invokation of 'make' because

View File

@ -53,9 +53,9 @@ GENODE_DIR ?= $(realpath $(dir $(firstword $(MAKEFILE_LIST)))/..)
# version numbers
#
TOOL_CHAIN_VERSION = 17.05
TOOL_CHAIN_VERSION = 19.05
GCC_VERSION = 6.3.0
BINUTILS_VERSION = 2.28
BINUTILS_VERSION = 2.32
#
# locations