Skip to contentSkip to conversation

package/binutils: add binutils version 2.31

PATCH New Romain Naour 5 participants 11 messages Jul 16, 2018 – Jul 23, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/binutils: add binutils version 2.31

https://sourceware.org/ml/binutils/2018-07/msg00213.html

---
 package/binutils/2.31/0001-sh-conf.patch           |  48 ++++
 package/binutils/2.31/0002-ld-makefile.patch       |  41 +++
 .../2.31/0003-check-ldrunpath-length.patch         |  36 +++
 .../2.31/0004-add-sysroot-fix-from-bug-3049.patch  |  51 ++++
 .../2.31/0005-poison-system-directories.patch      | 306 +++++++++++++++++++++
 ...location-where-GOT-information-is-collect.patch | 198 +++++++++++++
 ...bustness.-Return-FALSE-in-case-of-NULL-po.patch |  35 +++
 ...lobal-symbol-is-not-an-indirect-or-warnin.patch |  43 +++
 ...tion-was-still-being-generated-when-symbo.patch |  37 +++
 package/binutils/Config.in.host                    |   4 +
 package/binutils/binutils.hash                     |   1 +
 11 files changed, 800 insertions(+)
 create mode 100644 package/binutils/2.31/0001-sh-conf.patch
 create mode 100644 package/binutils/2.31/0002-ld-makefile.patch
 create mode 100644 package/binutils/2.31/0003-check-ldrunpath-length.patch
 create mode 100644 package/binutils/2.31/0004-add-sysroot-fix-from-bug-3049.patch
 create mode 100644 package/binutils/2.31/0005-poison-system-directories.patch
 create mode 100644 package/binutils/2.31/0006-Refactored-location-where-GOT-information-is-collect.patch
 create mode 100644 package/binutils/2.31/0007-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch
 create mode 100644 package/binutils/2.31/0008-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch
 create mode 100644 package/binutils/2.31/0009-PLT-information-was-still-being-generated-when-symbo.patch
package/binutils/2.31/0001-sh-conf.patch new file +48 -0
new file mode 100644
index 0000000000..9e77c12b68
@@ -0,0 +1,48 @@
+From ac36af7d97d7920512068316fac6159aead97a01 Mon Sep 17 00:00:00 2001
+From: Romain Naour <[email protected]>
+Date: Fri, 25 Dec 2015 11:38:13 +0100
+Subject: [PATCH] sh-conf
+
+Likewise, binutils has no idea about any of these new targets either, so we
+fix that up too.. now we're able to actually build a real toolchain for
+sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more
+inept targets than that one, really. Go look, I promise).
+
+[Romain: rebase on top of 2.26]
+Signed-off-by: Romain Naour <[email protected]>
+[Thomas: rebase on top of 2.29, in which sh64 support was removed.]
+Signed-off-by: Thomas Petazzoni <[email protected]>
+---
+ configure    | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index 462ad053066..27cb5571d0d 100755
+--- a/configure
++++ b/configure
+@@ -3855,7 +3855,7 @@ case "${target}" in
+   nvptx*-*-*)
+     noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
+     ;;
+-  sh-*-*)
++  sh*-*-*)
+     case "${target}" in
+       sh*-*-elf)
+          ;;
+diff --git a/configure.ac b/configure.ac
+index a638f694134..2fd7bce1576 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1152,7 +1152,7 @@ case "${target}" in
+   nvptx*-*-*)
+     noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
+     ;;
+-  sh-*-*)
++  sh*-*-*)
+     case "${target}" in
+       sh*-*-elf)
+          ;;
+-- 
+2.14.4
+
package/binutils/2.31/0002-ld-makefile.patch new file +41 -0

41 lines not on this page · raw message

package/binutils/2.31/0003-check-ldrunpath-length.patch new file +36 -0
new file mode 100644
index 0000000000..6cdf085422
@@ -0,0 +1,36 @@
+From a216bfcd91363a8e8c14db320a2870fff2985d78 Mon Sep 17 00:00:00 2001
+From: Romain Naour <[email protected]>
+Date: Fri, 25 Dec 2015 11:41:47 +0100
+Subject: [PATCH] check-ldrunpath-length
+
+[Romain: rebase on top of 2.26]
+Signed-off-by: Romain Naour <[email protected]>
+---
+ ld/emultempl/elf32.em | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
+index 1ad9d6b6fa8..637a5d5d585 100644
+--- a/ld/emultempl/elf32.em
++++ b/ld/emultempl/elf32.em
+@@ -1471,6 +1471,8 @@ fragment <<EOF
+ 	      && command_line.rpath == NULL)
+ 	    {
+ 	      path = (const char *) getenv ("LD_RUN_PATH");
++	      if ((path) && (strlen (path) == 0))
++	        path = NULL;
+ 	      if (path
+ 		  && gld${EMULATION_NAME}_search_needed (path, &n, force))
+ 		break;
+@@ -1751,6 +1753,8 @@ gld${EMULATION_NAME}_before_allocation (void)
+   rpath = command_line.rpath;
+   if (rpath == NULL)
+     rpath = (const char *) getenv ("LD_RUN_PATH");
++  if ((rpath) && (strlen (rpath) == 0))
++    rpath = NULL;
+ 
+   for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
+     if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
+-- 
+2.14.4
+
package/binutils/2.31/0004-add-sysroot-fix-from-bug-3049.patch new file +51 -0

51 lines not on this page · raw message

package/binutils/2.31/0005-poison-system-directories.patch new file +306 -0

306 lines not on this page · raw message

package/binutils/2.31/0006-Refactored-location-where-GOT-information-is-collect.patch new file +198 -0

198 lines not on this page · raw message

package/binutils/2.31/0007-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch new file +35 -0
new file mode 100644
index 0000000000..b6e6d202ec
@@ -0,0 +1,35 @@
+From 955176bd999fe80c5b937ab8786665079e35c387 Mon Sep 17 00:00:00 2001
+From: Cupertino Miranda <[email protected]>
+Date: Fri, 2 Mar 2018 17:33:48 +0100
+Subject: [PATCH] Improved robustness. Return FALSE in case of NULL pointer.
+
+bfd/
+2018-03-01  Cupertino Miranda <[email protected]>
+
+	* elf32-arc.c (elf_arc_finish_dynamic_symbol) Return FALSE in case
+	arc_htab is NULL.
+
+Signed-off-by: Alexey Brodkin <[email protected]>
+[Romain: rebase on top of 2.31]
+Signed-off-by: Romain Naour <[email protected]>
+---
+ bfd/elf32-arc.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
+index ab84de43815..33fc72cff6e 100644
+--- a/bfd/elf32-arc.c
++++ b/bfd/elf32-arc.c
+@@ -2420,6 +2420,9 @@ elf_arc_finish_dynamic_symbol (bfd * output_bfd,
+     {
+       struct elf_arc_link_hash_table *arc_htab = elf_arc_hash_table (info);
+ 
++      if(arc_htab == NULL)
++	return FALSE;
++
+       if (h->dynindx == -1
+ 	  || (h->root.type != bfd_link_hash_defined
+ 	      && h->root.type != bfd_link_hash_defweak)
+-- 
+2.14.4
+
package/binutils/2.31/0008-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch new file +43 -0

43 lines not on this page · raw message

package/binutils/2.31/0009-PLT-information-was-still-being-generated-when-symbo.patch new file +37 -0
new file mode 100644
index 0000000000..60bb522e12
@@ -0,0 +1,37 @@
+From e4861c68067cb2166b4c2bb9c052abeb6ad9aaa1 Mon Sep 17 00:00:00 2001
+From: Cupertino Miranda <[email protected]>
+Date: Fri, 2 Mar 2018 17:44:29 +0100
+Subject: [PATCH] PLT information was still being generated when symbol was
+ forced_local.
+
+A change upstream reveiled this issue, triggering an assert when linking glibc.
+
+bfd/
+2018-03-01  Cupertino Miranda <[email protected]>
+
+	* elf32-arc.c (elf_arc_check_relocs): Changed.
+
+Signed-off-by: Alexey Brodkin <[email protected]>
+[Romain: rebase on top of 2.31]
+Signed-off-by: Romain Naour <[email protected]>
+---
+ bfd/elf32-arc.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
+index 9b72c5b4f4f..b40b463d34d 100644
+--- a/bfd/elf32-arc.c
++++ b/bfd/elf32-arc.c
+@@ -2041,7 +2041,8 @@ elf_arc_check_relocs (bfd *			 abfd,
+ 	  if (h == NULL)
+ 	    continue;
+ 	  else
+-	    h->needs_plt = 1;
++	    if(h->forced_local == 0)
++	      h->needs_plt = 1;
+ 	}
+ 
+       /* Add info to the symbol got_entry_list.  */
+-- 
+2.14.4
+
package/binutils/Config.in.host +4 -0
index ed4475ade9..982456332a 100644
@@ -19,6 +19,9 @@ config BR2_BINUTILS_VERSION_2_29_X
 config BR2_BINUTILS_VERSION_2_30_X
 	bool "binutils 2.30"
 
+config BR2_BINUTILS_VERSION_2_31_X
+	bool "binutils 2.31"
+
 config BR2_BINUTILS_VERSION_ARC
 	bool "binutils arc (2.29)"
 	depends on BR2_arc
@@ -30,6 +33,7 @@ config BR2_BINUTILS_VERSION
 	default "2.28.1"	if BR2_BINUTILS_VERSION_2_28_X
 	default "2.29.1"	if BR2_BINUTILS_VERSION_2_29_X
 	default "2.30"		if BR2_BINUTILS_VERSION_2_30_X
+	default "2.31"		if BR2_BINUTILS_VERSION_2_31_X
 
 config BR2_BINUTILS_ENABLE_LTO
 	bool
package/binutils/binutils.hash +1 -0
index cc13686cc8..67f2a99a68 100644
@@ -2,6 +2,7 @@
 sha512	dc5b6872ae01c07c12d38f3bb7ead06effc6da3265ac872e2d9c6104304f89f85f2645b029a43f308a7938a7299b1928d385205d0a2245674a621649032a138d  binutils-2.28.1.tar.xz
 sha512  d748d22306477d60d921078804d21943248c23fca0707aac9b016a352c01c75ca69e82624ae37fb0bbd03af3b17088a94f60dfe1a86a7ff82e18ece3c24f0fd0  binutils-2.29.1.tar.xz
 sha512  e747ea20d8d79fcd21b9d9f6695059caa7189d60f19256da398e34b789fea9a133c32b192e9693b5828d27683739b0198431bf8b3e39fb3b04884cf89d9aa839  binutils-2.30.tar.xz
+sha512  3448a71c42d790569c1159c1042aa520b2d8ac8af7506fb1f2a4199dfb13b39f1c2271a5cb3a643d10c7d8a388a73f190e90503d4793a016da7893473aa1c635  binutils-2.31.tar.xz
 
 # Locally calculated (fetched from Github)
 sha512  bea88164ed48733bad63393fe702e12e651efd113aa4f3fe2e253e05c4c1e5da20b5a99333f0b5528df6d32ce806f799211c568e1916845a87999901dde28817  binutils-arc-2018.03.tar.gz
Signature · 1 line
2.14.4
#1 lore raw

PATCH 1/1 package/binutils: add binutils version 2.31

Hello,

Quoted 17 lines · Romain Naour

https://sourceware.org/ml/binutils/2018-07/msg00213.html

---
 package/binutils/2.31/0001-sh-conf.patch           |  48 ++++
 package/binutils/2.31/0002-ld-makefile.patch       |  41 +++
 .../2.31/0003-check-ldrunpath-length.patch         |  36 +++
 .../2.31/0004-add-sysroot-fix-from-bug-3049.patch  |  51 ++++
 .../2.31/0005-poison-system-directories.patch      | 306 +++++++++++++++++++++
 ...location-where-GOT-information-is-collect.patch | 198 +++++++++++++
 ...bustness.-Return-FALSE-in-case-of-NULL-po.patch |  35 +++
 ...lobal-symbol-is-not-an-indirect-or-warnin.patch |  43 +++
 ...tion-was-still-being-generated-when-symbo.patch |  37 +++
 package/binutils/Config.in.host                    |   4 +
 package/binutils/binutils.hash                     |   1 +
 11 files changed, 800 insertions(+)
 create mode 100644 package/binutils/2.31/0001-sh-conf.patch
Quoted 8 lines
 create mode 100644 package/binutils/2.31/0002-ld-makefile.patch
 create mode 100644 package/binutils/2.31/0003-check-ldrunpath-length.patch
 create mode 100644 package/binutils/2.31/0004-add-sysroot-fix-from-bug-3049.patch
 create mode 100644 package/binutils/2.31/0005-poison-system-directories.patch
 create mode 100644 package/binutils/2.31/0006-Refactored-location-where-GOT-information-is-collect.patch
 create mode 100644 package/binutils/2.31/0007-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch
 create mode 100644 package/binutils/2.31/0008-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch
 create mode 100644 package/binutils/2.31/0009-PLT-information-was-still-being-generated-when-symbo.patch

Applied to master, thanks. Could you as follow-up patches set binutils 2.30 as the default version, and drop the oldest binutils version we support ?

Also, I'm surprised that we still have all those ARC binutils patches, which should have been upstream. Could you get in touch with the Synopsys guys and see what's going on with those patches ?

Thanks a lot!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#2 lore raw

PATCH 1/1 package/binutils: add binutils version 2.31

Hi Thomas,

Le 17/07/2018 ? 12:08, Thomas Petazzoni a ?crit?:

Quoted 29 lines

Hello,

Quoted 17 lines · Romain Naour

https://sourceware.org/ml/binutils/2018-07/msg00213.html

---
 package/binutils/2.31/0001-sh-conf.patch           |  48 ++++
 package/binutils/2.31/0002-ld-makefile.patch       |  41 +++
 .../2.31/0003-check-ldrunpath-length.patch         |  36 +++
 .../2.31/0004-add-sysroot-fix-from-bug-3049.patch  |  51 ++++
 .../2.31/0005-poison-system-directories.patch      | 306 +++++++++++++++++++++
 ...location-where-GOT-information-is-collect.patch | 198 +++++++++++++
 ...bustness.-Return-FALSE-in-case-of-NULL-po.patch |  35 +++
 ...lobal-symbol-is-not-an-indirect-or-warnin.patch |  43 +++
 ...tion-was-still-being-generated-when-symbo.patch |  37 +++
 package/binutils/Config.in.host                    |   4 +
 package/binutils/binutils.hash                     |   1 +
 11 files changed, 800 insertions(+)
 create mode 100644 package/binutils/2.31/0001-sh-conf.patch
Quoted 8 lines
 create mode 100644 package/binutils/2.31/0002-ld-makefile.patch
 create mode 100644 package/binutils/2.31/0003-check-ldrunpath-length.patch
 create mode 100644 package/binutils/2.31/0004-add-sysroot-fix-from-bug-3049.patch
 create mode 100644 package/binutils/2.31/0005-poison-system-directories.patch
 create mode 100644 package/binutils/2.31/0006-Refactored-location-where-GOT-information-is-collect.patch
 create mode 100644 package/binutils/2.31/0007-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch
 create mode 100644 package/binutils/2.31/0008-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch
 create mode 100644 package/binutils/2.31/0009-PLT-information-was-still-being-generated-when-symbo.patch
Quoted 3 lines

Applied to master, thanks. Could you as follow-up patches set binutils 2.30 as the default version, and drop the oldest binutils version we support ?

I'll do it, but we have to be careful with arm thumb/thumb2 dependencies. ADR and ADRl pseudo-ops are still broken for Binutils 2.29 and 2.30. I'm not sure if it's necessary to backport the fix since we have now binutils 2.31.

Quoted 4 lines

Also, I'm surprised that we still have all those ARC binutils patches, which should have been upstream. Could you get in touch with the Synopsys guys and see what's going on with those patches ?

I'm adding Alexey in Cc :)

Best regards,
Romain

Quoted 5 lines

Thanks a lot!

Thomas

#3 lore raw

PATCH 1/1 package/binutils: add binutils version 2.31

Hello,

Quoted 7 lines · Romain Naour
Quoted 3 lines

Applied to master, thanks. Could you as follow-up patches set binutils 2.30 as the default version, and drop the oldest binutils version we support ?

I'll do it, but we have to be careful with arm thumb/thumb2 dependencies. ADR and ADRl pseudo-ops are still broken for Binutils 2.29 and 2.30. I'm not sure if it's necessary to backport the fix since we have now binutils 2.31.

I haven't followed the status of this problem. Is it fixed in binutils 2.31 ?

Quoted 5 lines
Quoted 3 lines

Also, I'm surprised that we still have all those ARC binutils patches, which should have been upstream. Could you get in touch with the Synopsys guys and see what's going on with those patches ?

I'm adding Alexey in Cc :)

Thanks :-)

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#4 lore raw

PATCH 1/1 package/binutils: add binutils version 2.31

Thomas,

Le 17/07/2018 ? 13:36, Thomas Petazzoni a ?crit?:

Quoted 8 lines

Hello,

Quoted 4 lines · Romain Naour
Quoted 3 lines

Applied to master, thanks. Could you as follow-up patches set binutils 2.30 as the default version, and drop the oldest binutils version we support ?

Quoted 6 lines
Quoted 3 lines

I'll do it, but we have to be careful with arm thumb/thumb2 dependencies. ADR and ADRl pseudo-ops are still broken for Binutils 2.29 and 2.30. I'm not sure if it's necessary to backport the fix since we have now binutils 2.31.

I haven't followed the status of this problem. Is it fixed in binutils 2.31 ?

Yes it is, thanks to Christophe Priouseau and Nick Clifton.

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=fc6141f097056f830a412afebed8d81a9d72b696

Quoted 8 lines
Quoted 6 lines
Quoted 4 lines

Also, I'm surprised that we still have all those ARC binutils patches, which should have been upstream. Could you get in touch with the Synopsys guys and see what's going on with those patches ?

I'm adding Alexey in Cc :)

Thanks :-)

Best regards,
Romain

Quoted 3 lines

Thomas

#5 lore raw

PATCH 1/1 package/binutils: add binutils version 2.31

Hi Romain, Thomas,

Quoted 7 lines

-----Original Message-----
From: Romain Naour [mailto:romain.naour at smile.fr]
Sent: Tuesday, July 17, 2018 3:01 PM
To: Thomas Petazzoni <[email protected]>
Cc: Romain Naour <[email protected]>; buildroot at buildroot.org; Alexey Brodkin <[email protected]>; Christophe PRIOUZEAU <[email protected]>
Subject: Re: [Buildroot] [PATCH] package/binutils: add binutils version 2.31

[snip]

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 3 lines

Also, I'm surprised that we still have all those ARC binutils patches, which should have been upstream. Could you get in touch with the Synopsys guys and see what's going on with those patches ?

I'm adding Alexey in Cc :)

Unfortunately we decided not to push our recent changes to upstream due to observed regressions. The plain is to fix those regressions and submit "more correct" patches upstream.

Still the patches in question are a part of our "reference" toolchain and really required for building glibc for ARC so let's keep them for now as they are and hope we'll get them or their equivalents merged in 2.32.

That said it looks like in Buildroot we'll need to have 2 copies of those patches In 2.30 and 2.31 folder. Care to do that right now or I'll do it a bit later?

-Alexey

#6 lore raw

PATCH 1/1 package/binutils: add binutils version 2.31

Hi Romain, Thomas,

Quoted 29 lines

-----Original Message-----
From: Alexey Brodkin
Sent: Tuesday, July 17, 2018 3:16 PM
To: 'Romain Naour' <[email protected]>; Thomas Petazzoni <[email protected]>
Cc: Romain Naour <[email protected]>; buildroot at buildroot.org; Christophe PRIOUZEAU <[email protected]>
Subject: RE: [Buildroot] [PATCH] package/binutils: add binutils version 2.31

Hi Romain, Thomas,

Quoted 7 lines

-----Original Message-----
From: Romain Naour [mailto:romain.naour at smile.fr]
Sent: Tuesday, July 17, 2018 3:01 PM
To: Thomas Petazzoni <[email protected]>
Cc: Romain Naour <[email protected]>; buildroot at buildroot.org; Alexey Brodkin <[email protected]>; Christophe PRIOUZEAU <[email protected]>
Subject: Re: [Buildroot] [PATCH] package/binutils: add binutils version 2.31

[snip]

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 3 lines

Also, I'm surprised that we still have all those ARC binutils patches, which should have been upstream. Could you get in touch with the Synopsys guys and see what's going on with those patches ?

I'm adding Alexey in Cc :)

Unfortunately we decided not to push our recent changes to upstream due to observed regressions. The plain is to fix those regressions and submit "more correct" patches upstream.

Quoted 6 lines

Still the patches in question are a part of our "reference" toolchain and really required for building glibc for ARC so let's keep them for now as they are and hope we'll get them or their equivalents merged in 2.32.

That said it looks like in Buildroot we'll need to have 2 copies of those patches In 2.30 and 2.31 folder. Care to do that right now or I'll do it a bit later?

I didn't realize all is done already as I didn't see "arc" prefix in patch names. So nothing to be done here. Thanks for taking care about our stuff.

-Alexey

#7 lore raw

PATCH 1/1 package/binutils: add binutils version 2.31

In reply to Romain Naour

Hello,

+Max Filippov in Cc for Xtensa (see below)

Quoted 17 lines · Romain Naour

https://sourceware.org/ml/binutils/2018-07/msg00213.html

---
 package/binutils/2.31/0001-sh-conf.patch           |  48 ++++
 package/binutils/2.31/0002-ld-makefile.patch       |  41 +++
 .../2.31/0003-check-ldrunpath-length.patch         |  36 +++
 .../2.31/0004-add-sysroot-fix-from-bug-3049.patch  |  51 ++++
 .../2.31/0005-poison-system-directories.patch      | 306 +++++++++++++++++++++
 ...location-where-GOT-information-is-collect.patch | 198 +++++++++++++
 ...bustness.-Return-FALSE-in-case-of-NULL-po.patch |  35 +++
 ...lobal-symbol-is-not-an-indirect-or-warnin.patch |  43 +++
 ...tion-was-still-being-generated-when-symbo.patch |  37 +++
 package/binutils/Config.in.host                    |   4 +
 package/binutils/binutils.hash                     |   1 +
 11 files changed, 800 insertions(+)
 create mode 100644 package/binutils/2.31/0001-sh-conf.patch
Quoted 8 lines
 create mode 100644 package/binutils/2.31/0002-ld-makefile.patch
 create mode 100644 package/binutils/2.31/0003-check-ldrunpath-length.patch
 create mode 100644 package/binutils/2.31/0004-add-sysroot-fix-from-bug-3049.patch
 create mode 100644 package/binutils/2.31/0005-poison-system-directories.patch
 create mode 100644 package/binutils/2.31/0006-Refactored-location-where-GOT-information-is-collect.patch
 create mode 100644 package/binutils/2.31/0007-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch
 create mode 100644 package/binutils/2.31/0008-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch
 create mode 100644 package/binutils/2.31/0009-PLT-information-was-still-being-generated-when-symbo.patch

The update to binutils 2.31 seems to be causing a regression: it cannot build uClibc anymore:

LD libthread_db-1.0.30.so
/opt/xtensa-lx60--uclibc--bleeding-edge-2018.07-1/lib/gcc/xtensa-buildroot-linux-uclibc/8.1.0/../../../../xtensa-buildroot-linux-uclibc/bin/ld: BFD (GNU Binutils) 2.31 internal error, aborting at elf32-xtensa.c:3269 in elf_xtensa_finish_dynamic_sections

/opt/xtensa-lx60--uclibc--bleeding-edge-2018.07-1/lib/gcc/xtensa-buildroot-linux-uclibc/8.1.0/../../../../xtensa-buildroot-linux-uclibc/bin/ld: Please report this bug.

collect2: error: ld returned 1 exit status libpthread/nptl_db/Makefile.in:53: recipe for target 'lib/libthread_db.so' failed make[1]: *** [lib/libthread_db.so] Error 1
make[1]: Leaving directory '/opt/output/build/uclibc-1.0.30'

My previous build of toolchains, which was using binutils 2.30, went fine including on Xtensa.

See
https://gitlab.com/free-electrons/toolchains-builder/-/jobs/82264912
for the build failure.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#8 lore raw

PATCH 1/1 package/binutils: add binutils version 2.31

Quoted 2 lines · Thomas Petazzoni

The update to binutils 2.31 seems to be causing a regression: it cannot build uClibc anymore:

Thanks for the report, the issue is now fixed in the binutils and a patch is posted to the buildroot.

Quoted 16 lines

LD libthread_db-1.0.30.so
/opt/xtensa-lx60--uclibc--bleeding-edge-2018.07-1/lib/gcc/xtensa-buildroot-linux-uclibc/8.1.0/../../../../xtensa-buildroot-linux-uclibc/bin/ld: BFD (GNU Binutils) 2.31 internal error, aborting at elf32-xtensa.c:3269 in elf_xtensa_finish_dynamic_sections

/opt/xtensa-lx60--uclibc--bleeding-edge-2018.07-1/lib/gcc/xtensa-buildroot-linux-uclibc/8.1.0/../../../../xtensa-buildroot-linux-uclibc/bin/ld: Please report this bug.

collect2: error: ld returned 1 exit status libpthread/nptl_db/Makefile.in:53: recipe for target 'lib/libthread_db.so' failed make[1]: *** [lib/libthread_db.so] Error 1
make[1]: Leaving directory '/opt/output/build/uclibc-1.0.30'

My previous build of toolchains, which was using binutils 2.30, went fine including on Xtensa.

See
https://gitlab.com/free-electrons/toolchains-builder/-/jobs/82264912
for the build failure.

Signature · 2 lines
Thanks.
-- Max
#9 lore raw

PATCH 1/1 package/binutils: add binutils version 2.31

In reply to Romain Naour

Hello,

Quoted 17 lines · Romain Naour

https://sourceware.org/ml/binutils/2018-07/msg00213.html

---
 package/binutils/2.31/0001-sh-conf.patch           |  48 ++++
 package/binutils/2.31/0002-ld-makefile.patch       |  41 +++
 .../2.31/0003-check-ldrunpath-length.patch         |  36 +++
 .../2.31/0004-add-sysroot-fix-from-bug-3049.patch  |  51 ++++
 .../2.31/0005-poison-system-directories.patch      | 306 +++++++++++++++++++++
 ...location-where-GOT-information-is-collect.patch | 198 +++++++++++++
 ...bustness.-Return-FALSE-in-case-of-NULL-po.patch |  35 +++
 ...lobal-symbol-is-not-an-indirect-or-warnin.patch |  43 +++
 ...tion-was-still-being-generated-when-symbo.patch |  37 +++
 package/binutils/Config.in.host                    |   4 +
 package/binutils/binutils.hash                     |   1 +
 11 files changed, 800 insertions(+)
 create mode 100644 package/binutils/2.31/0001-sh-conf.patch
Quoted 8 lines
 create mode 100644 package/binutils/2.31/0002-ld-makefile.patch
 create mode 100644 package/binutils/2.31/0003-check-ldrunpath-length.patch
 create mode 100644 package/binutils/2.31/0004-add-sysroot-fix-from-bug-3049.patch
 create mode 100644 package/binutils/2.31/0005-poison-system-directories.patch
 create mode 100644 package/binutils/2.31/0006-Refactored-location-where-GOT-information-is-collect.patch
 create mode 100644 package/binutils/2.31/0007-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch
 create mode 100644 package/binutils/2.31/0008-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch
 create mode 100644 package/binutils/2.31/0009-PLT-information-was-still-being-generated-when-symbo.patch

This bump is also causing host-elf2flt to fail building, on noMMU architectures (m68k coldfire and ARMv7-M):

https://gitlab.com/free-electrons/toolchains-builder/-/jobs/82284002
https://gitlab.com/free-electrons/toolchains-builder/-/jobs/82284139

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#10 lore raw

PATCH 1/1 package/binutils: add binutils version 2.31

Hi Thomas,

Le 17/07/2018 ? 13:23, Thomas Petazzoni a ?crit?:

Quoted 29 lines

Hello,

Quoted 17 lines · Romain Naour

https://sourceware.org/ml/binutils/2018-07/msg00213.html

---
 package/binutils/2.31/0001-sh-conf.patch           |  48 ++++
 package/binutils/2.31/0002-ld-makefile.patch       |  41 +++
 .../2.31/0003-check-ldrunpath-length.patch         |  36 +++
 .../2.31/0004-add-sysroot-fix-from-bug-3049.patch  |  51 ++++
 .../2.31/0005-poison-system-directories.patch      | 306 +++++++++++++++++++++
 ...location-where-GOT-information-is-collect.patch | 198 +++++++++++++
 ...bustness.-Return-FALSE-in-case-of-NULL-po.patch |  35 +++
 ...lobal-symbol-is-not-an-indirect-or-warnin.patch |  43 +++
 ...tion-was-still-being-generated-when-symbo.patch |  37 +++
 package/binutils/Config.in.host                    |   4 +
 package/binutils/binutils.hash                     |   1 +
 11 files changed, 800 insertions(+)
 create mode 100644 package/binutils/2.31/0001-sh-conf.patch
Quoted 8 lines
 create mode 100644 package/binutils/2.31/0002-ld-makefile.patch
 create mode 100644 package/binutils/2.31/0003-check-ldrunpath-length.patch
 create mode 100644 package/binutils/2.31/0004-add-sysroot-fix-from-bug-3049.patch
 create mode 100644 package/binutils/2.31/0005-poison-system-directories.patch
 create mode 100644 package/binutils/2.31/0006-Refactored-location-where-GOT-information-is-collect.patch
 create mode 100644 package/binutils/2.31/0007-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch
 create mode 100644 package/binutils/2.31/0008-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch
 create mode 100644 package/binutils/2.31/0009-PLT-information-was-still-being-generated-when-symbo.patch
Quoted 5 lines

This bump is also causing host-elf2flt to fail building, on noMMU architectures (m68k coldfire and ARMv7-M):

https://gitlab.com/free-electrons/toolchains-builder/-/jobs/82284002
https://gitlab.com/free-electrons/toolchains-builder/-/jobs/82284139

Thanks, I'm looking at your gitlab pipeline.

I did a runtime test on x86_64 with a Glibc based system and I tried to build some toolchain on several architectures.

It's really great to have such toolchain CI to catch these issues :)

Best regards,
Romain

Quoted 5 lines

Best regards,

Thomas