Browse Source

binutils: now depends on wchar

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.]

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Anton Kolesov <akolesov@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Alexey Brodkin 10 năm trước cách đây
mục cha
commit
cb2e8c5d9c
3 tập tin đã thay đổi với 12 bổ sung5 xóa
  1. 5 0
      package/binutils/Config.in
  2. 4 3
      package/dropwatch/Config.in
  3. 3 2
      package/oprofile/Config.in

+ 5 - 0
package/binutils/Config.in

@@ -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

+ 4 - 3
package/dropwatch/Config.in

@@ -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

+ 3 - 2
package/oprofile/Config.in

@@ -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