uclibc-0.9.30: enable linker option for hashstyle-gnu
authorwoglinde <heinold@inf.fu-berlin.de>
Sat, 15 Nov 2008 21:47:34 +0000 (22:47 +0100)
committerwoglinde <heinold@inf.fu-berlin.de>
Sat, 15 Nov 2008 21:47:34 +0000 (22:47 +0100)
        * uclibc can be compiled with hashstyle-gnu too
        * add the settings in angstrom-uclibc.inc
        * add patch ldso_hash_arm.patch because binutils
          after 2.18 for arm are somehow broken for the hashstyle
          test in uclibc
        * prefer version 0.9.30 in angstroem may break avr32
          and if we fix it than

conf/distro/include/angstrom-2008-preferred-versions.inc
conf/distro/include/angstrom-uclibc.inc
packages/uclibc/uclibc-0.9.30/ldso_hash_arm.patch [new file with mode: 0644]
packages/uclibc/uclibc-0.9.30/uClibc.distro
packages/uclibc/uclibc_0.9.30.bb

index e58eb40..0832f31 100644 (file)
@@ -26,5 +26,7 @@ PREFERRED_VERSION_pkgconfig   = "0.23"
 PREFERRED_VERSION_pkgconfig-native = "0.23"
 PREFERRED_VERSION_pulseaudio   = "0.9.10"
 PREFERRED_VERSION_tiff                 = "3.8.2+4.0.0beta2"
+PREFERRED_VERSION_uclibc-initial = "0.9.30"
+PREFERRED_VERSION_uclibc        = "0.9.30"
 PREFERRED_VERSION_udev                 = "124"
 PREFERRED_VERSION_xserver-kdrive = "1.4.0.90"
index 8993a6a..c26613b 100644 (file)
@@ -32,6 +32,7 @@ BUILD_OPTIMIZATION = "-Os"
 #Note that this testing was done without the gcc-pr32889.patch.
 FULL_OPTIMIZATION_avr32 = "-Os -fomit-frame-pointer"
 
+TARGET_LINK_HASH_STYLE = "-Wl,--hash-style=gnu"
 
 CXXFLAGS += "-fvisibility-inlines-hidden"
 
diff --git a/packages/uclibc/uclibc-0.9.30/ldso_hash_arm.patch b/packages/uclibc/uclibc-0.9.30/ldso_hash_arm.patch
new file mode 100644 (file)
index 0000000..8a625f2
--- /dev/null
@@ -0,0 +1,19 @@
+Index: uClibc-0.9.30/Rules.mak
+===================================================================
+--- uClibc-0.9.30.orig/Rules.mak       2008-11-15 16:35:00.713664783 +0100
++++ uClibc-0.9.30/Rules.mak    2008-11-15 16:36:32.776988120 +0100
+@@ -519,13 +519,7 @@
+ endif
+ ifeq ($(LDSO_GNU_HASH_SUPPORT),y)
+-# Be sure that binutils support it
+-LDFLAGS_GNUHASH:=$(call check_ld,--hash-style=gnu)
+-ifeq ($(LDFLAGS_GNUHASH),)
+-$(error Your binutils don't support --hash-style option, while you want to use it)
+-else
+-LDFLAGS_NOSTRIP += -Wl,$(LDFLAGS_GNUHASH)
+-endif
++LDFLAGS_NOSTRIP += -Wl,--hash-style=gnu
+ endif
+ LDFLAGS:=$(LDFLAGS_NOSTRIP) -Wl,-z,defs
index 7374d0c..b072b2f 100644 (file)
@@ -14,6 +14,7 @@ LDSO_BASE_FILENAME="ld.so"
 # UCLIBC_STATIC_LDCONFIG is not set
 LDSO_RUNPATH=y
 UCLIBC_CTOR_DTOR=y
+LDSO_GNU_HASH_SUPPORT=y
 # HAS_NO_THREADS is not set
 UCLIBC_HAS_THREADS=y
 # PTHREADS_DEBUG_SUPPORT is not set
index 4b7a8a9..faeaeca 100644 (file)
@@ -15,9 +15,11 @@ require uclibc.inc
 PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc"
 
 SRC_URI += "file://uClibc.machine file://uClibc.distro \
-                file://arm-linuxthreads.patch;patch=1 \
-                file://linuxthreads-changes.patch;patch=1 \
+            file://arm-linuxthreads.patch;patch=1 \
+            file://linuxthreads-changes.patch;patch=1 \
           "
+SRC_URI_append_arm = " file://ldso_hash_arm.patch;patch=1 "
+SRC_URI_append_armeb = " file://ldso_hash_arm.patch;patch=1 "
 
 #recent versions uclibc require real kernel headers
 PACKAGE_ARCH = "${MACHINE_ARCH}"