Patchwork binutils: add version 2.23.1

login
register
mail settings
Submitter Gustavo Zacarias
Date Nov. 15, 2012, 2:08 p.m.
Message ID <1352988528-20158-1-git-send-email-gustavo@zacarias.com.ar>
Download mbox | patch
Permalink /patch/199297/
State Superseded
Headers show

Comments

Gustavo Zacarias - Nov. 15, 2012, 2:08 p.m.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 package/binutils/Config.in.host                    |    5 +++
 package/binutils/binutils-2.23.1/120-sh-conf.patch |   29 +++++++++++++++
 .../300-001_ld_makefile_patch.patch                |   24 +++++++++++++
 .../300-012_check_ldrunpath_length.patch           |   21 +++++++++++
 package/binutils/binutils-2.23.1/500-sysroot.patch |   37 ++++++++++++++++++++
 5 files changed, 116 insertions(+), 0 deletions(-)
 create mode 100644 package/binutils/binutils-2.23.1/120-sh-conf.patch
 create mode 100644 package/binutils/binutils-2.23.1/300-001_ld_makefile_patch.patch
 create mode 100644 package/binutils/binutils-2.23.1/300-012_check_ldrunpath_length.patch
 create mode 100644 package/binutils/binutils-2.23.1/500-sysroot.patch
Peter Korsgaard - Nov. 15, 2012, 3:12 p.m.
>>>>> "Gustavo" == Gustavo Zacarias <gustavo@zacarias.com.ar> writes:

 Gustavo> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
 Gustavo> ---
 Gustavo>  package/binutils/Config.in.host                    |    5 +++
 Gustavo>  package/binutils/binutils-2.23.1/120-sh-conf.patch |   29 +++++++++++++++
 Gustavo>  .../300-001_ld_makefile_patch.patch                |   24 +++++++++++++
 Gustavo>  .../300-012_check_ldrunpath_length.patch           |   21 +++++++++++
 Gustavo>  package/binutils/binutils-2.23.1/500-sysroot.patch |   37 ++++++++++++++++++++
 Gustavo>  5 files changed, 116 insertions(+), 0 deletions(-)
 Gustavo>  create mode 100644 package/binutils/binutils-2.23.1/120-sh-conf.patch
 Gustavo>  create mode 100644 package/binutils/binutils-2.23.1/300-001_ld_makefile_patch.patch
 Gustavo>  create mode 100644 package/binutils/binutils-2.23.1/300-012_check_ldrunpath_length.patch
 Gustavo>  create mode 100644 package/binutils/binutils-2.23.1/500-sysroot.patch

 Gustavo> diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host
 Gustavo> index 26c5f73..7a9eae8 100644
 Gustavo> --- a/package/binutils/Config.in.host
 Gustavo> +++ b/package/binutils/Config.in.host
 Gustavo> @@ -36,6 +36,10 @@ choice
 Gustavo>  		depends on !(BR2_avr32 || BR2_UCLIBC_VERSION_0_9_31)
 Gustavo>  		bool "binutils 2.23"
 
 Gustavo> +	config BR2_BINUTILS_VERSION_2_23_1
 Gustavo> +		depends on !(BR2_avr32 || BR2_UCLIBC_VERSION_0_9_31)
 Gustavo> +		bool "binutils 2.23.1"
 Gustavo> +

I know we have been doing it in the past because of various arch issues,
but does it make sense to keep both 2.23 and 2.23.1?
Gustavo Zacarias - Nov. 15, 2012, 3:16 p.m.
On 11/15/2012 12:12 PM, Peter Korsgaard wrote:

> I know we have been doing it in the past because of various arch issues,
> but does it make sense to keep both 2.23 and 2.23.1?

I've tested 2.23.1 only for ppc targets so far, and 2.23 for many more
architectures.
Common sense says 2.23.1 alone should be enough, but i haven't tested
that scenario.
We also have other dot versions that could also be dropped like 2.20.
Regards.
Will Newton - Nov. 15, 2012, 3:17 p.m.
On Thu, Nov 15, 2012 at 3:12 PM, Peter Korsgaard <jacmet@uclibc.org> wrote:
>>>>>> "Gustavo" == Gustavo Zacarias <gustavo@zacarias.com.ar> writes:
>
>  Gustavo> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
>  Gustavo> ---
>  Gustavo>  package/binutils/Config.in.host                    |    5 +++
>  Gustavo>  package/binutils/binutils-2.23.1/120-sh-conf.patch |   29 +++++++++++++++
>  Gustavo>  .../300-001_ld_makefile_patch.patch                |   24 +++++++++++++
>  Gustavo>  .../300-012_check_ldrunpath_length.patch           |   21 +++++++++++
>  Gustavo>  package/binutils/binutils-2.23.1/500-sysroot.patch |   37 ++++++++++++++++++++
>  Gustavo>  5 files changed, 116 insertions(+), 0 deletions(-)
>  Gustavo>  create mode 100644 package/binutils/binutils-2.23.1/120-sh-conf.patch
>  Gustavo>  create mode 100644 package/binutils/binutils-2.23.1/300-001_ld_makefile_patch.patch
>  Gustavo>  create mode 100644 package/binutils/binutils-2.23.1/300-012_check_ldrunpath_length.patch
>  Gustavo>  create mode 100644 package/binutils/binutils-2.23.1/500-sysroot.patch
>
>  Gustavo> diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host
>  Gustavo> index 26c5f73..7a9eae8 100644
>  Gustavo> --- a/package/binutils/Config.in.host
>  Gustavo> +++ b/package/binutils/Config.in.host
>  Gustavo> @@ -36,6 +36,10 @@ choice
>  Gustavo>               depends on !(BR2_avr32 || BR2_UCLIBC_VERSION_0_9_31)
>  Gustavo>               bool "binutils 2.23"
>
>  Gustavo> +     config BR2_BINUTILS_VERSION_2_23_1
>  Gustavo> +             depends on !(BR2_avr32 || BR2_UCLIBC_VERSION_0_9_31)
>  Gustavo> +             bool "binutils 2.23.1"
>  Gustavo> +
>
> I know we have been doing it in the past because of various arch issues,
> but does it make sense to keep both 2.23 and 2.23.1?

I believe that 2.23 was never officially packaged so it is probably
better to remove it.
Gustavo Zacarias - Nov. 15, 2012, 3:25 p.m.
On 11/15/2012 12:17 PM, Will Newton wrote:

> I believe that 2.23 was never officially packaged so it is probably
> better to remove it.

It's in official GNU mirrors, i'd say it has been.
Doesn't mean we should keep it though.
Regards.
Will Newton - Nov. 15, 2012, 3:27 p.m.
On Thu, Nov 15, 2012 at 3:25 PM, Gustavo Zacarias
<gustavo@zacarias.com.ar> wrote:
> On 11/15/2012 12:17 PM, Will Newton wrote:
>
>> I believe that 2.23 was never officially packaged so it is probably
>> better to remove it.
>
> It's in official GNU mirrors, i'd say it has been.
> Doesn't mean we should keep it though.

From the 2.23.1 release announcement:

"Thanks to everyone who contributed to the release. The branch remains
open for bug fixes.

Note that because of packaging issues, binutils 2.23 was not released."

I'm not sure what the precise issues were but it seems safer to move to 2.23.1.
Gustavo Zacarias - Nov. 15, 2012, 3:30 p.m.
On 11/15/2012 12:27 PM, Will Newton wrote:

> From the 2.23.1 release announcement:
> 
> "Thanks to everyone who contributed to the release. The branch remains
> open for bug fixes.
> 
> Note that because of packaging issues, binutils 2.23 was not released."
> 
> I'm not sure what the precise issues were but it seems safer to move to 2.23.1.

From what i've read in the mailing list there were some tagging issues
and whatnot.
There was also the vanishing tarball issue, when i sent the initial 2.23
bump there was a tar.bz2 for 2.23 and then it was gone with only the
tar.gz remaining.
I'm not for or against the move, since it's not a default i see no big
issue removing it, but then we always gave some choice regarding
toolchain components.
Regards.
Peter Korsgaard - Nov. 15, 2012, 3:39 p.m.
>>>>> "Will" == Will Newton <will.newton@gmail.com> writes:

 Will> On Thu, Nov 15, 2012 at 3:25 PM, Gustavo Zacarias
 Will> <gustavo@zacarias.com.ar> wrote:
 >> On 11/15/2012 12:17 PM, Will Newton wrote:
 >> 
 >>> I believe that 2.23 was never officially packaged so it is probably
 >>> better to remove it.
 >> 
 >> It's in official GNU mirrors, i'd say it has been.
 >> Doesn't mean we should keep it though.

 >> From the 2.23.1 release announcement:

 Will> "Thanks to everyone who contributed to the release. The branch remains
 Will> open for bug fixes.

 Will> Note that because of packaging issues, binutils 2.23 was not released."

 Will> I'm not sure what the precise issues were but it seems safer to
 Will> move to 2.23.1.

I agree. Gustavo, could you respin the patch to replace 2.23 with 2.23.1
instead?
Gustavo Zacarias - Nov. 15, 2012, 4:01 p.m.
On 11/15/2012 12:39 PM, Peter Korsgaard wrote:

> I agree. Gustavo, could you respin the patch to replace 2.23 with 2.23.1
> instead?

And what about 2.20?
Hint: you can't say mark it as deprecated and throw the kill switch to
2.23 ;-)
Regards.
Peter Korsgaard - Nov. 15, 2012, 9:01 p.m.
>>>>> "Gustavo" == Gustavo Zacarias <gustavo@zacarias.com.ar> writes:

 Gustavo> On 11/15/2012 12:39 PM, Peter Korsgaard wrote:
 >> I agree. Gustavo, could you respin the patch to replace 2.23 with 2.23.1
 >> instead?

 Gustavo> And what about 2.20?

 Gustavo> Hint: you can't say mark it as deprecated and throw the kill
 Gustavo> switch to 2.23 ;-)

Well, the difference is that we have already done releases with 2.20 and
haven't marked it as deprecated yet, whereas 2.23 hasn't been in any
release yet.

It probably makes sense to deprecate 2.20 now, yes.

Patch

diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host
index 26c5f73..7a9eae8 100644
--- a/package/binutils/Config.in.host
+++ b/package/binutils/Config.in.host
@@ -36,6 +36,10 @@  choice
 		depends on !(BR2_avr32 || BR2_UCLIBC_VERSION_0_9_31)
 		bool "binutils 2.23"
 
+	config BR2_BINUTILS_VERSION_2_23_1
+		depends on !(BR2_avr32 || BR2_UCLIBC_VERSION_0_9_31)
+		bool "binutils 2.23.1"
+
 endchoice
 
 config BR2_BINUTILS_VERSION
@@ -47,6 +51,7 @@  config BR2_BINUTILS_VERSION
 	default "2.21.1"	if BR2_BINUTILS_VERSION_2_21_1
 	default "2.22"		if BR2_BINUTILS_VERSION_2_22
 	default "2.23"		if BR2_BINUTILS_VERSION_2_23
+	default "2.23.1"	if BR2_BINUTILS_VERSION_2_23_1
 
 config BR2_BINUTILS_EXTRA_CONFIG_OPTIONS
 	string "Additional binutils options"
diff --git a/package/binutils/binutils-2.23.1/120-sh-conf.patch b/package/binutils/binutils-2.23.1/120-sh-conf.patch
new file mode 100644
index 0000000..ea3d1b6
--- /dev/null
+++ b/package/binutils/binutils-2.23.1/120-sh-conf.patch
@@ -0,0 +1,29 @@ 
+r10231 | lethal | 2005-05-02 09:58:00 -0400 (Mon, 02 May 2005) | 13 lines
+
+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).
+
+--- a/configure
++++ b/configure
+@@ -1495,7 +1495,7 @@
+   mips*-*-*)
+     noconfigdirs="$noconfigdirs gprof"
+     ;;
+-  sh-*-* | sh64-*-*)
++  sh*-*-* | sh64-*-*)
+     case "${target}" in
+       sh*-*-elf)
+          ;;
+--- a/configure.ac
++++ b/configure.ac
+@@ -712,7 +712,7 @@
+   mips*-*-*)
+     noconfigdirs="$noconfigdirs gprof"
+     ;;
+-  sh-*-* | sh64-*-*)
++  sh*-*-* | sh64-*-*)
+     case "${target}" in
+       sh*-*-elf)
+          ;;
diff --git a/package/binutils/binutils-2.23.1/300-001_ld_makefile_patch.patch b/package/binutils/binutils-2.23.1/300-001_ld_makefile_patch.patch
new file mode 100644
index 0000000..5cb0f61
--- /dev/null
+++ b/package/binutils/binutils-2.23.1/300-001_ld_makefile_patch.patch
@@ -0,0 +1,24 @@ 
+diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.am binutils-2.17.50.0.17/ld/Makefile.am
+--- binutils-2.17.50.0.17.oorig/ld/Makefile.am	2007-06-18 19:29:29.000000000 +0200
++++ binutils-2.17.50.0.17/ld/Makefile.am	2007-06-25 10:00:36.000000000 +0200
+@@ -18,7 +18,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+ 
+ EMUL = @EMUL@
+ EMULATION_OFILES = @EMULATION_OFILES@
+diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.in binutils-2.17.50.0.17/ld/Makefile.in
+--- binutils-2.17.50.0.17.oorig/ld/Makefile.in	2007-06-18 19:29:29.000000000 +0200
++++ binutils-2.17.50.0.17/ld/Makefile.in	2007-06-25 10:00:36.000000000 +0200
+@@ -287,7 +287,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+ BASEDIR = $(srcdir)/..
+ BFDDIR = $(BASEDIR)/bfd
+ INCDIR = $(BASEDIR)/include
diff --git a/package/binutils/binutils-2.23.1/300-012_check_ldrunpath_length.patch b/package/binutils/binutils-2.23.1/300-012_check_ldrunpath_length.patch
new file mode 100644
index 0000000..df78310
--- /dev/null
+++ b/package/binutils/binutils-2.23.1/300-012_check_ldrunpath_length.patch
@@ -0,0 +1,21 @@ 
+diff -Nura binutils-2.21.orig/ld/emultempl/elf32.em binutils-2.21/ld/emultempl/elf32.em
+--- binutils-2.21.orig/ld/emultempl/elf32.em	2010-10-29 09:10:36.000000000 -0300
++++ binutils-2.21/ld/emultempl/elf32.em	2010-12-10 09:26:56.746102724 -0300
+@@ -1270,6 +1270,8 @@
+ 	      && command_line.rpath == NULL)
+ 	    {
+ 	      lib_path = (const char *) getenv ("LD_RUN_PATH");
++	      if ((lib_path) && (strlen (lib_path) == 0))
++	      	lib_path = NULL;
+ 	      if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
+ 						      force))
+ 		break;
+@@ -1497,6 +1499,8 @@
+   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)
diff --git a/package/binutils/binutils-2.23.1/500-sysroot.patch b/package/binutils/binutils-2.23.1/500-sysroot.patch
new file mode 100644
index 0000000..e49c795
--- /dev/null
+++ b/package/binutils/binutils-2.23.1/500-sysroot.patch
@@ -0,0 +1,37 @@ 
+Signed-off-by: Sven Rebhan <odinshorse@googlemail.com>
+
+Always try to prepend the sysroot prefix to absolute filenames first.
+
+http://bugs.gentoo.org/275666
+http://sourceware.org/bugzilla/show_bug.cgi?id=10340
+
+--- a/ld/ldfile.c
++++ b/ld/ldfile.c
+@@ -308,18 +308,25 @@
+      directory first.  */
+   if (! entry->flags.maybe_archive)
+     {
+-      if (entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename))
++      /* For absolute pathnames, try to always open the file in the
++	 sysroot first. If this fails, try to open the file at the
++	 given location.  */
++      entry->flags.sysrooted = is_sysrooted_pathname (entry->filename);
++      if (!entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename)
++	  && ld_sysroot)
+ 	{
+ 	  char *name = concat (ld_sysroot, entry->filename,
+ 			       (const char *) NULL);
+ 	  if (ldfile_try_open_bfd (name, entry))
+ 	    {
+ 	      entry->filename = name;
++	      entry->flags.sysrooted = TRUE;
+ 	      return TRUE;
+ 	    }
+ 	  free (name);
+ 	}
+-      else if (ldfile_try_open_bfd (entry->filename, entry))
++
++      if (ldfile_try_open_bfd (entry->filename, entry))
+ 	return TRUE;
+ 
+       if (IS_ABSOLUTE_PATH (entry->filename))