summaryrefslogtreecommitdiff
path: root/meta/recipes-core/eglibc/eglibc_2.13.bb
diff options
context:
space:
mode:
authorLianhao Lu <lianhao.lu@intel.com>2011-07-29 22:26:42 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-08-15 15:13:33 +0100
commite3152cf2e06e6ecbf4721d58b83f263bc2f46de2 (patch)
tree2d7123eec087493955cae1585b9eda568a1a5d78 /meta/recipes-core/eglibc/eglibc_2.13.bb
parent18bba910e04bff75460f408e4557d4bae21ad592 (diff)
downloadopenembedded-core-e3152cf2e06e6ecbf4721d58b83f263bc2f46de2.tar.gz
openembedded-core-e3152cf2e06e6ecbf4721d58b83f263bc2f46de2.tar.bz2
openembedded-core-e3152cf2e06e6ecbf4721d58b83f263bc2f46de2.tar.xz
openembedded-core-e3152cf2e06e6ecbf4721d58b83f263bc2f46de2.zip
eglibc: Modify ldd script according to multilib config.
Bug fixing [YOCTO #1236]. 1. Collect all the values for RTLDLIST for the current multilib configuration to modify the ldd scripts. 2. Collect all the values for KNOWN_INTERPRETER_NAMES for the current multilib configuration. Set the correct ld.so names for ldconfig to deal with the multilib configuration.
Diffstat (limited to 'meta/recipes-core/eglibc/eglibc_2.13.bb')
-rw-r--r--meta/recipes-core/eglibc/eglibc_2.13.bb13
1 files changed, 12 insertions, 1 deletions
diff --git a/meta/recipes-core/eglibc/eglibc_2.13.bb b/meta/recipes-core/eglibc/eglibc_2.13.bb
index 915eb32a8..f3824485f 100644
--- a/meta/recipes-core/eglibc/eglibc_2.13.bb
+++ b/meta/recipes-core/eglibc/eglibc_2.13.bb
@@ -3,7 +3,7 @@ require eglibc.inc
SRCREV = "14157"
DEPENDS += "gperf-native"
-PR = "r12"
+PR = "r13"
PR_append = "+svnr${SRCPV}"
EGLIBC_BRANCH="eglibc-2_13"
@@ -18,6 +18,7 @@ SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http
file://generate-supported.mk \
file://glibc_bug_fix_12454.patch \
file://ppc-sqrt.patch \
+ file://multilib_readlib.patch \
"
LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \
file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
@@ -83,6 +84,7 @@ do_move_ports() {
do_patch_append() {
bb.build.exec_func('do_fix_ia_headers', d)
+ bb.build.exec_func('do_fix_readlib_c', d)
}
# We need to ensure that all of the i386 and x86_64 headers are identical
@@ -172,6 +174,10 @@ do_fix_ia_headers() {
cp ${S}/sysdeps/unix/sysv/linux/x86_64/sys/user.h ${S}/sysdeps/unix/sysv/linux/i386/sys/user.h
}
+do_fix_readlib_c () {
+ sed -i -e 's#OECORE_KNOWN_INTERPRETER_NAMES#${EGLIBC_KNOWN_INTERPRETER_NAMES}#' ${S}/elf/readlib.c
+}
+
do_configure () {
# override this function to avoid the autoconf/automake/aclocal/autoheader
# calls for now
@@ -201,6 +207,11 @@ do_compile () {
rpcgen -h $r -o $h || oewarn "unable to generate header for $r"
done
)
+ echo "Adjust ldd script"
+ [ -z "${RTLDLIST}" ] && return
+ sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)"\(.*\)"$#\1\2#'
+ sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)\(.*\)$#\1"${RTLDLIST} \2"#'
+
}
require eglibc-package.inc