committed by
Christian Helmuth
parent
fe878e65de
commit
96ed3c8db0
@@ -1 +1 @@
|
|||||||
f2c125dacc53c2d28a282ce2fee740d77db2d08a
|
a27882f8ecc8e71e9e0c1f6d74c6bea0253b335c
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
LICENSE := GPLv2
|
LICENSE := GPLv2
|
||||||
VERSION := 2.28
|
VERSION := 2.32
|
||||||
DOWNLOADS := binutils.archive
|
DOWNLOADS := binutils.archive
|
||||||
|
|
||||||
URL(binutils) := ftp://ftp.fu-berlin.de/gnu/binutils/binutils-$(VERSION).tar.bz2
|
URL(binutils) := ftp://ftp.fu-berlin.de/gnu/binutils/binutils-$(VERSION).tar.xz
|
||||||
SHA(binutils) := 6297433ee120b11b4b0a1c8f3512d7d73501753142ab9e2daa13c5a3edd32a72
|
SHA(binutils) := 0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04
|
||||||
SIG(binutils) := ${URL(binutils)}.sig
|
SIG(binutils) := ${URL(binutils)}.sig
|
||||||
KEY(binutils) := GNU
|
KEY(binutils) := GNU
|
||||||
DIR(binutils) := src/noux-pkg/binutils
|
DIR(binutils) := src/noux-pkg/binutils
|
||||||
@@ -12,7 +12,7 @@ PATCHES := $(addprefix ${DIR(binutils)}/patches/, \
|
|||||||
$(shell cat $(REP_DIR)/${DIR(binutils)}/patches/series))
|
$(shell cat $(REP_DIR)/${DIR(binutils)}/patches/series))
|
||||||
PATCH_OPT := -p1 -d ${DIR(binutils)}
|
PATCH_OPT := -p1 -d ${DIR(binutils)}
|
||||||
|
|
||||||
AUTOCONF := autoconf2.64
|
AUTOCONF := autoconf
|
||||||
|
|
||||||
$(call check_tool,$(AUTOCONF))
|
$(call check_tool,$(AUTOCONF))
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,19 @@
|
|||||||
Make the 'R_ARM_TARGET2' relocation type suitable for dynamic linking
|
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).
|
(needed for linking stdcxx.lib.so).
|
||||||
|
|
||||||
From: Christian Prochaska <christian.prochaska@genode-labs.com>
|
From: Christian Prochaska <christian.prochaska@genode-labs.com>
|
||||||
|
|
||||||
ld/emultempl/armelf.em | 2 +-
|
ld/emultempl/armelf.em | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
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
|
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
|
--- a/ld/emultempl/armelf.em
|
||||||
+++ b/ld/emultempl/armelf.em
|
+++ b/ld/emultempl/armelf.em
|
||||||
@@ -22,7 +22,7 @@
|
@@ -22,7 +22,7 @@
|
||||||
|
|||||||
@@ -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
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
arm.patch
|
arm.patch
|
||||||
dynamic_list.patch
|
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
CFLAGS += -std=c99
|
CFLAGS += -std=c99
|
||||||
CONFIGURE_ARGS = --disable-werror \
|
CONFIGURE_ARGS = --disable-werror \
|
||||||
--program-prefix=$(PROGRAM_PREFIX) \
|
--program-prefix=$(PROGRAM_PREFIX) \
|
||||||
--target=$(BINUTILS_TARGET)
|
--target=$(BINUTILS_TARGET) \
|
||||||
|
--disable-nls
|
||||||
|
|
||||||
#
|
#
|
||||||
# Pass CFLAGS and friends to the invokation of 'make' because
|
# Pass CFLAGS and friends to the invokation of 'make' because
|
||||||
|
|||||||
@@ -53,9 +53,9 @@ GENODE_DIR ?= $(realpath $(dir $(firstword $(MAKEFILE_LIST)))/..)
|
|||||||
# version numbers
|
# version numbers
|
||||||
#
|
#
|
||||||
|
|
||||||
TOOL_CHAIN_VERSION = 17.05
|
TOOL_CHAIN_VERSION = 19.05
|
||||||
GCC_VERSION = 6.3.0
|
GCC_VERSION = 6.3.0
|
||||||
BINUTILS_VERSION = 2.28
|
BINUTILS_VERSION = 2.32
|
||||||
|
|
||||||
#
|
#
|
||||||
# locations
|
# locations
|
||||||
|
|||||||
Reference in New Issue
Block a user