summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKumar Gala <galak@kernel.crashing.org>2011-08-02 17:33:17 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-08-03 17:44:59 +0100
commitb343436d03fa5690b16ee8ef5d4a738c5194b301 (patch)
tree4a56c223ce1f36d5c0f2335cea66f8088249ead2
parent7a092818f901c5c860e82f573534cd505d9fb959 (diff)
downloadopenembedded-core-b343436d03fa5690b16ee8ef5d4a738c5194b301.tar.gz
openembedded-core-b343436d03fa5690b16ee8ef5d4a738c5194b301.tar.bz2
openembedded-core-b343436d03fa5690b16ee8ef5d4a738c5194b301.zip
gcc: Fix setting of GLIBC_DYNAMIC_LINKER
The sed regex in do_configure_prepend was producing the following result: #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "/lib64/ld-linux-x86-64.so.2" instead of removing the leading "/lib" or "/lib64". Now we have it do: #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2" Additionally, with the regex fixed the manipulation of SYSTEMLIBS_DIR needs to be removed. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.inc2
-rw-r--r--meta/recipes-devtools/gcc/gcc-configure-common.inc12
-rw-r--r--meta/recipes-devtools/gcc/gcc_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb2
4 files changed, 11 insertions, 7 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.inc b/meta/recipes-devtools/gcc/gcc-4.6.inc
index 6956677357..7d8170cd33 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.6.inc
@@ -1,6 +1,6 @@
require gcc-common.inc
-PR = "r2"
+PR = "r3"
# Third digit in PV should be incremented after a minor release
# happens from this branch on gcc e.g. currently its 4.6.0
diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc
index 9f5ba335c0..869d1b6d60 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -64,11 +64,15 @@ SYSTEMLIBS1 = "${target_libdir}/"
do_configure_prepend () {
# Change the default dynamic linker path, only useful for SDK, other's value
# are not changed according to the SYSTEMLIBS_DIR
+ #
+ # We want something like the following:
+ # #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
+ # becomes
+ # #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2"
+ #
sed -i ${S}/gcc/config/*/linux*.h -e \
- 's#\(GLIBC_DYNAMIC_LINKER[^ ]*\)\( *"/lib.*\)#\1 SYSTEMLIBS_DIR\2#'
+ 's#\(GLIBC_DYNAMIC_LINKER[^ ]*\) \( *"/lib.*\)/\(.*\)#\1 SYSTEMLIBS_DIR "\3#'
- SYSTEMLIBS_DIR=`dirname ${SYSTEMLIBS}`
- [ "$SYSTEMLIBS_DIR" = "/" ] && SYSTEMLIBS_DIR=""
# teach gcc to find correct target includedir when checking libc ssp support
mkdir -p ${B}/gcc
echo "NATIVE_SYSTEM_HEADER_DIR = ${SYSTEMHEADERS}" > ${B}/gcc/t-oe
@@ -83,7 +87,7 @@ do_configure_prepend () {
#ifndef STANDARD_STARTFILE_PREFIX_2
#define STANDARD_STARTFILE_PREFIX_2 "${SYSTEMLIBS1}"
#endif
-#define SYSTEMLIBS_DIR "$SYSTEMLIBS_DIR"
+#define SYSTEMLIBS_DIR "${SYSTEMLIBS}"
#endif /* ! GCC_DEFAULTS_H */
_EOF
mv ${B}/gcc/defaults.h.new ${B}/gcc/defaults.h
diff --git a/meta/recipes-devtools/gcc/gcc_4.5.1.bb b/meta/recipes-devtools/gcc/gcc_4.5.1.bb
index 12e42c4dcf..f036cb146b 100644
--- a/meta/recipes-devtools/gcc/gcc_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc_4.5.1.bb
@@ -1,4 +1,4 @@
-PR = "r7"
+PR = "r8"
require gcc-${PV}.inc
require gcc-configure-target.inc
require gcc-package-target.inc
diff --git a/meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb b/meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb
index 2df12ef9ef..9fd2b0acc3 100644
--- a/meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb
+++ b/meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb
@@ -1,4 +1,4 @@
-PR = "r4"
+PR = "r5"
require gcc-${PV}.inc
require gcc-configure-target.inc