From 3d73b7ae758eb887dbd31b2a96a563dc7debe340 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 23 Apr 2008 05:18:35 +0000 Subject: Add libm=yes to target gas builds on uclibc. --- .../binutils-uclibc-gas-needs-libm.patch | 38 ++++++++++++++++++++++ packages/binutils/binutils_2.18.bb | 3 +- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 packages/binutils/binutils-2.18/binutils-uclibc-gas-needs-libm.patch (limited to 'packages') diff --git a/packages/binutils/binutils-2.18/binutils-uclibc-gas-needs-libm.patch b/packages/binutils/binutils-2.18/binutils-uclibc-gas-needs-libm.patch new file mode 100644 index 0000000000..db838cf20c --- /dev/null +++ b/packages/binutils/binutils-2.18/binutils-uclibc-gas-needs-libm.patch @@ -0,0 +1,38 @@ +Source: Khem Raj +Disposition: submit upstream. + +Description: + +We do not need to have the libtool patch anymore for binutils after +libtool has been updated upstream it include support for it. However +for building gas natively on uclibc systems we have to link it with +-lm so that it picks up missing symbols. + +/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): In function `floatformat_from_double': +floatformat.c:(.text+0x1ec): undefined reference to `frexp' +floatformat.c:(.text+0x2f8): undefined reference to `ldexp' +/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): In function `floatformat_to_double': +floatformat.c:(.text+0x38a): undefined reference to `ldexp' +floatformat.c:(.text+0x3d2): undefined reference to `ldexp' +floatformat.c:(.text+0x43e): undefined reference to `ldexp' floatformat.c:(.text+0x4e2): undefined reference to `ldexp' +collect2: ld returned 1 exit status +make[4]: *** [as-new] Error 1 + +Index: binutils-2.17.50/gas/configure.tgt +=================================================================== +--- binutils-2.17.50.orig/gas/configure.tgt ++++ binutils-2.17.50/gas/configure.tgt +@@ -408,6 +408,12 @@ case ${generic_target} in + *-*-netware) fmt=elf em=netware ;; + esac + ++case ${generic_target} in ++ arm-*-*uclibc*) ++ need_libm=yes ++ ;; ++esac ++ + case ${cpu_type} in + alpha | arm | i386 | ia64 | mips | ns32k | pdp11 | ppc | sparc | z80 | z8k) + bfd_gas=yes + diff --git a/packages/binutils/binutils_2.18.bb b/packages/binutils/binutils_2.18.bb index de13f88142..ada367fe70 100644 --- a/packages/binutils/binutils_2.18.bb +++ b/packages/binutils/binutils_2.18.bb @@ -1,4 +1,4 @@ -PR = "r2" +PR = "r3" require binutils.inc @@ -11,6 +11,7 @@ SRC_URI = "\ file://binutils-uclibc-300-001_ld_makefile_patch.patch;patch=1 \ file://binutils-uclibc-300-006_better_file_error.patch;patch=1 \ file://binutils-uclibc-300-012_check_ldrunpath_length.patch;patch=1 \ + file://binutils-uclibc-gas-needs-libm.patch;patch=1 \ " # powerpc patches -- cgit v1.2.3