summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwoglinde <heinold@inf.fu-berlin.de>2008-11-15 22:47:34 +0100
committerwoglinde <heinold@inf.fu-berlin.de>2008-11-15 22:47:34 +0100
commitc3c3e495eda917ba2db75dd9238f2efdbed431a1 (patch)
tree502f628a547c1dc8e61164bcc6de7549aa93f0c0
parentdbd8770b7b133f92fd3612cf4ed8722b856a5d42 (diff)
uclibc-0.9.30: enable linker option for hashstyle-gnu
* 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
-rw-r--r--conf/distro/include/angstrom-2008-preferred-versions.inc2
-rw-r--r--conf/distro/include/angstrom-uclibc.inc1
-rw-r--r--packages/uclibc/uclibc-0.9.30/ldso_hash_arm.patch19
-rw-r--r--packages/uclibc/uclibc-0.9.30/uClibc.distro1
-rw-r--r--packages/uclibc/uclibc_0.9.30.bb6
5 files changed, 27 insertions, 2 deletions
diff --git a/conf/distro/include/angstrom-2008-preferred-versions.inc b/conf/distro/include/angstrom-2008-preferred-versions.inc
index e58eb40519..0832f31f25 100644
--- a/conf/distro/include/angstrom-2008-preferred-versions.inc
+++ b/conf/distro/include/angstrom-2008-preferred-versions.inc
@@ -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"
diff --git a/conf/distro/include/angstrom-uclibc.inc b/conf/distro/include/angstrom-uclibc.inc
index 8993a6ae38..c26613b9e0 100644
--- a/conf/distro/include/angstrom-uclibc.inc
+++ b/conf/distro/include/angstrom-uclibc.inc
@@ -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
index 0000000000..8a625f21c2
--- /dev/null
+++ b/packages/uclibc/uclibc-0.9.30/ldso_hash_arm.patch
@@ -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
diff --git a/packages/uclibc/uclibc-0.9.30/uClibc.distro b/packages/uclibc/uclibc-0.9.30/uClibc.distro
index 7374d0c738..b072b2fd37 100644
--- a/packages/uclibc/uclibc-0.9.30/uClibc.distro
+++ b/packages/uclibc/uclibc-0.9.30/uClibc.distro
@@ -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
diff --git a/packages/uclibc/uclibc_0.9.30.bb b/packages/uclibc/uclibc_0.9.30.bb
index 4b7a8a9443..faeaeca976 100644
--- a/packages/uclibc/uclibc_0.9.30.bb
+++ b/packages/uclibc/uclibc_0.9.30.bb
@@ -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}"