diff --git a/repos/ports/ports/binutils.hash b/repos/ports/ports/binutils.hash index 7c35a1d8d..476e30a96 100644 --- a/repos/ports/ports/binutils.hash +++ b/repos/ports/ports/binutils.hash @@ -1 +1 @@ -f2c125dacc53c2d28a282ce2fee740d77db2d08a +a27882f8ecc8e71e9e0c1f6d74c6bea0253b335c diff --git a/repos/ports/ports/binutils.port b/repos/ports/ports/binutils.port index 90f8dbd8f..d077f9963 100644 --- a/repos/ports/ports/binutils.port +++ b/repos/ports/ports/binutils.port @@ -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)) diff --git a/repos/ports/src/noux-pkg/binutils/patches/arm.patch b/repos/ports/src/noux-pkg/binutils/patches/arm.patch index 8d762c300..9e0b0eb96 100644 --- a/repos/ports/src/noux-pkg/binutils/patches/arm.patch +++ b/repos/ports/src/noux-pkg/binutils/patches/arm.patch @@ -1,13 +1,19 @@ Make the 'R_ARM_TARGET2' relocation type suitable for dynamic linking + +From: Christian Prochaska + (needed for linking stdcxx.lib.so). From: Christian Prochaska 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 @@ diff --git a/repos/ports/src/noux-pkg/binutils/patches/dynamic_list.patch b/repos/ports/src/noux-pkg/binutils/patches/dynamic_list.patch deleted file mode 100644 index 696d2538f..000000000 --- a/repos/ports/src/noux-pkg/binutils/patches/dynamic_list.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 73ec947d59c511411377ad51ef792a5fcdd3f0cc Mon Sep 17 00:00:00 2001 -From: Alan Modra -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 diff --git a/repos/ports/src/noux-pkg/binutils/patches/series b/repos/ports/src/noux-pkg/binutils/patches/series index 9651d7cee..8ed4f89fe 100644 --- a/repos/ports/src/noux-pkg/binutils/patches/series +++ b/repos/ports/src/noux-pkg/binutils/patches/series @@ -1,2 +1 @@ arm.patch -dynamic_list.patch diff --git a/repos/ports/src/noux-pkg/binutils/target.inc b/repos/ports/src/noux-pkg/binutils/target.inc index 0304a3246..141cbbe92 100644 --- a/repos/ports/src/noux-pkg/binutils/target.inc +++ b/repos/ports/src/noux-pkg/binutils/target.inc @@ -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 diff --git a/tool/tool_chain b/tool/tool_chain index 76a307c84..673133b30 100755 --- a/tool/tool_chain +++ b/tool/tool_chain @@ -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