Skip to contentSkip to conversation

binutils: remove dead code

PATCH New Thomas Petazzoni 3 participants 7 messages Oct 28, 2014 – Nov 1, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/3 binutils: remove dead code

We no longer have any way of using version 2.23, and all the other versions that we support are available as .tar.bz2. Therefore we can remove the special case related to the 2.23 version only being available as a .tar.gz archive.

---
 package/binutils/binutils.mk | 4 ----
 1 file changed, 4 deletions(-)
package/binutils/binutils.mk +0 -4
index f40c45f..ab9f167 100644
@@ -16,10 +16,6 @@ BINUTILS_VERSION = 2.21
 endif
 endif
 
-ifeq ($(BINUTILS_VERSION),2.23)
-BINUTILS_SOURCE = binutils-$(BINUTILS_VERSION).tar.gz
-endif
-
 ifeq ($(ARCH),avr32)
 BINUTILS_SITE = ftp://www.at91.com/pub/buildroot
 endif
Signature · 1 line
2.0.0
#1 lore raw

PATCH 2/3 binutils: bump the default target version of binutils

When binutils for the host is not built (which is the case when an external toolchain is used), the version of binutils used is 2.21, which is quite old. Since we have bumped to 2.22 as the default version for the host binutils, let's do the same for the target binutils.

---
 package/binutils/binutils.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/binutils/binutils.mk +1 -1
index ab9f167..b8dab5d 100644
@@ -12,7 +12,7 @@ ifeq ($(BR2_avr32),y)
 # avr32 uses a special version
 BINUTILS_VERSION = 2.18-avr32-1.0.1
 else
-BINUTILS_VERSION = 2.21
+BINUTILS_VERSION = 2.22
 endif
 endif
 
Signature · 1 line
2.0.0
#2 lore raw

PATCH 2/3 binutils: bump the default target version of binutils

Quoted 7 lines · Thomas Petazzoni

When binutils for the host is not built (which is the case when an external toolchain is used), the version of binutils used is 2.21, which is quite old. Since we have bumped to 2.22 as the default version for the host binutils, let's do the same for the target binutils.

Regards,
Arnout

Quoted 18 lines
---
 package/binutils/binutils.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/binutils/binutils.mk +1 -1
index ab9f167..b8dab5d 100644
@@ -12,7 +12,7 @@ ifeq ($(BR2_avr32),y)
 # avr32 uses a special version
 BINUTILS_VERSION = 2.18-avr32-1.0.1
 else
-BINUTILS_VERSION = 2.21
+BINUTILS_VERSION = 2.22
 endif
 endif
 
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#3 lore raw

PATCH 3/3 binutils: now depends on wchar

In reply to Thomas Petazzoni

From: Alexey Brodkin <[email protected]>

binutils starting at least from 2.23 when build for target require uClibc configured with UCLIBC_HAS_WCHAR otherwise:

libtool: link: [...] -o as-new [...]
read.o: In function `read_symbol_name':
read.c:(.text+0x3634): undefined reference to `mbstowcs'
collect2: error: ld returned 1 exit status

because "mbstowcs" is not available in the C library.

Even though we're not yet using 2.23.2 as the default version, we will probably do it in the near future, so this commit doesn't bother with making the wchar dependency version-specific, and applies it to the binutils package as a whole.

Fixes bug #6218

[Thomas:
- more details in the commit log.
- add comment about the wchar dependency
- propagate the dependency to dropwatch (and fix a mistake in the architecture dependencies of the comment)
- propagate the dependency to oprofile.]

---
 package/binutils/Config.in  | 5 +++++
 package/dropwatch/Config.in | 7 ++++---
 package/oprofile/Config.in  | 5 +++--
 3 files changed, 12 insertions(+), 5 deletions(-)
package/binutils/Config.in +5 -0
index 44e7ae0..50c38b6 100644
@@ -2,6 +2,7 @@ config BR2_PACKAGE_BINUTILS
 	bool "binutils"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	depends on !BR2_aarch64 && !BR2_nios2
+	depends on BR2_USE_WCHAR
 	help
 	  Install binutils on the target
 
@@ -19,3 +20,7 @@ config BR2_PACKAGE_BINUTILS_TARGET
 	  http://www.gnu.org/software/binutils/
 
 endif
+
+comment "binutils needs a toolchain w/ wchar"
+	depends on !BR2_aarch64 && !BR2_nios2
+	depends on BR2_USE_WCHAR
package/dropwatch/Config.in +4 -3
index 0c9aca6..d331e5e 100644
@@ -2,6 +2,7 @@ config BR2_PACKAGE_DROPWATCH
 	bool "dropwatch"
 	select BR2_PACKAGE_BINUTILS
 	depends on !BR2_aarch64 && !BR2_nios2 # binutils
+	depends on BR2_USE_WCHAR # binutils
 	select BR2_PACKAGE_READLINE
 	select BR2_PACKAGE_LIBNL
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
@@ -11,6 +12,6 @@ config BR2_PACKAGE_DROPWATCH
 
 	  https://fedorahosted.org/dropwatch/
 
-comment "dropwatch needs a toolchain w/ threads"
-	depends on !BR2_aarch64
-	depends on !BR2_TOOLCHAIN_HAS_THREADS
+comment "dropwatch needs a toolchain w/ threads, wchar"
+	depends on !BR2_aarch64 && !BR2_nios2
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
package/oprofile/Config.in +3 -2
index 075e9ea..3ea07d9 100644
@@ -6,6 +6,7 @@ config BR2_PACKAGE_OPROFILE
 	select BR2_PACKAGE_LIBPFM4 if BR2_powerpc
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on !BR2_aarch64 && !BR2_nios2 # binutils
+	depends on BR2_USE_WCHAR # binutils
 	depends on !BR2_xtensa
 	# libpfm4 is needed on PowerPC, and requires thread support
 	depends on BR2_TOOLCHAIN_HAS_THREADS || !BR2_powerpc
@@ -25,10 +26,10 @@ config BR2_PACKAGE_OPROFILE
 	  interrupt handlers, kernel modules, the kernel, shared
 	  libraries, and applications.
 
-comment "oprofile needs a toolchain w/ C++"
+comment "oprofile needs a toolchain w/ C++, wchar"
 	depends on BR2_USE_MMU
 	depends on !BR2_aarch64 && !BR2_nios2 && !BR2_xtensa
-	depends on !BR2_INSTALL_LIBSTDCPP
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
 
 comment "oprofile needs a toolchain w/ threads on PPC"
 	depends on BR2_USE_MMU && BR2_powerpc
Signature · 1 line
2.0.0
#4 lore raw

PATCH 3/3 binutils: now depends on wchar

Quoted 26 lines · Thomas Petazzoni

From: Alexey Brodkin <[email protected]>

binutils starting at least from 2.23 when build for target require uClibc configured with UCLIBC_HAS_WCHAR otherwise:

libtool: link: [...] -o as-new [...]
read.o: In function `read_symbol_name':
read.c:(.text+0x3634): undefined reference to `mbstowcs'
collect2: error: ld returned 1 exit status

because "mbstowcs" is not available in the C library.

Even though we're not yet using 2.23.2 as the default version, we will probably do it in the near future, so this commit doesn't bother with making the wchar dependency version-specific, and applies it to the binutils package as a whole.

Fixes bug #6218

[Thomas:
- more details in the commit log.
- add comment about the wchar dependency
- propagate the dependency to dropwatch (and fix a mistake in the architecture dependencies of the comment)
- propagate the dependency to oprofile.]

Quoted 4 lines

Regards,
Arnout

Quoted 74 lines
---
 package/binutils/Config.in  | 5 +++++
 package/dropwatch/Config.in | 7 ++++---
 package/oprofile/Config.in  | 5 +++--
 3 files changed, 12 insertions(+), 5 deletions(-)
package/binutils/Config.in +5 -0
index 44e7ae0..50c38b6 100644
@@ -2,6 +2,7 @@ config BR2_PACKAGE_BINUTILS
 	bool "binutils"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	depends on !BR2_aarch64 && !BR2_nios2
+	depends on BR2_USE_WCHAR
 	help
 	  Install binutils on the target
 
@@ -19,3 +20,7 @@ config BR2_PACKAGE_BINUTILS_TARGET
 	  http://www.gnu.org/software/binutils/
 
 endif
+
+comment "binutils needs a toolchain w/ wchar"
+	depends on !BR2_aarch64 && !BR2_nios2
+	depends on BR2_USE_WCHAR
package/dropwatch/Config.in +4 -3
index 0c9aca6..d331e5e 100644
@@ -2,6 +2,7 @@ config BR2_PACKAGE_DROPWATCH
 	bool "dropwatch"
 	select BR2_PACKAGE_BINUTILS
 	depends on !BR2_aarch64 && !BR2_nios2 # binutils
+	depends on BR2_USE_WCHAR # binutils
 	select BR2_PACKAGE_READLINE
 	select BR2_PACKAGE_LIBNL
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
@@ -11,6 +12,6 @@ config BR2_PACKAGE_DROPWATCH
 
 	  https://fedorahosted.org/dropwatch/
 
-comment "dropwatch needs a toolchain w/ threads"
-	depends on !BR2_aarch64
-	depends on !BR2_TOOLCHAIN_HAS_THREADS
+comment "dropwatch needs a toolchain w/ threads, wchar"
+	depends on !BR2_aarch64 && !BR2_nios2
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
package/oprofile/Config.in +3 -2
index 075e9ea..3ea07d9 100644
@@ -6,6 +6,7 @@ config BR2_PACKAGE_OPROFILE
 	select BR2_PACKAGE_LIBPFM4 if BR2_powerpc
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on !BR2_aarch64 && !BR2_nios2 # binutils
+	depends on BR2_USE_WCHAR # binutils
 	depends on !BR2_xtensa
 	# libpfm4 is needed on PowerPC, and requires thread support
 	depends on BR2_TOOLCHAIN_HAS_THREADS || !BR2_powerpc
@@ -25,10 +26,10 @@ config BR2_PACKAGE_OPROFILE
 	  interrupt handlers, kernel modules, the kernel, shared
 	  libraries, and applications.
 
-comment "oprofile needs a toolchain w/ C++"
+comment "oprofile needs a toolchain w/ C++, wchar"
 	depends on BR2_USE_MMU
 	depends on !BR2_aarch64 && !BR2_nios2 && !BR2_xtensa
-	depends on !BR2_INSTALL_LIBSTDCPP
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
 
 comment "oprofile needs a toolchain w/ threads on PPC"
 	depends on BR2_USE_MMU && BR2_powerpc
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#5 lore raw

PATCH 1/3 binutils: remove dead code

In reply to Thomas Petazzoni
Quoted 6 lines · Thomas Petazzoni

We no longer have any way of using version 2.23, and all the other versions that we support are available as .tar.bz2. Therefore we can remove the special case related to the 2.23 version only being available as a .tar.gz archive.

Regards,
Arnout

Quoted 20 lines
---
 package/binutils/binutils.mk | 4 ----
 1 file changed, 4 deletions(-)
package/binutils/binutils.mk +0 -4
index f40c45f..ab9f167 100644
@@ -16,10 +16,6 @@ BINUTILS_VERSION = 2.21
 endif
 endif
 
-ifeq ($(BINUTILS_VERSION),2.23)
-BINUTILS_SOURCE = binutils-$(BINUTILS_VERSION).tar.gz
-endif
-
 ifeq ($(ARCH),avr32)
 BINUTILS_SITE = ftp://www.at91.com/pub/buildroot
 endif
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#6 lore raw

PATCH 1/3 binutils: remove dead code

In reply to Thomas Petazzoni

Thomas, All,

On 2014-10-28 23:19 +0100, Thomas Petazzoni spake thusly:

Quoted 6 lines

We no longer have any way of using version 2.23, and all the other versions that we support are available as .tar.bz2. Therefore we can remove the special case related to the 2.23 version only being available as a .tar.gz archive.

Regards,
Yann E. MORIN.

Quoted 26 lines
---
 package/binutils/binutils.mk | 4 ----
 1 file changed, 4 deletions(-)
package/binutils/binutils.mk +0 -4
index f40c45f..ab9f167 100644
@@ -16,10 +16,6 @@ BINUTILS_VERSION = 2.21
 endif
 endif
 
-ifeq ($(BINUTILS_VERSION),2.23)
-BINUTILS_SOURCE = binutils-$(BINUTILS_VERSION).tar.gz
-endif
-
 ifeq ($(ARCH),avr32)
 BINUTILS_SITE = ftp://www.at91.com/pub/buildroot
 endif
Signature · 6 lines
2.0.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'