]> code.ossystems Code Review - openembedded-core.git/commitdiff
gcc: Fix setting of GLIBC_DYNAMIC_LINKER
authorKumar Gala <galak@kernel.crashing.org>
Tue, 2 Aug 2011 22:33:17 +0000 (17:33 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 3 Aug 2011 16:44:59 +0000 (17:44 +0100)
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>
meta/recipes-devtools/gcc/gcc-4.6.inc
meta/recipes-devtools/gcc/gcc-configure-common.inc
meta/recipes-devtools/gcc/gcc_4.5.1.bb
meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb

index 69566773578754b999996063470ea1d73dd7de85..7d8170cd3314edd5438c25a8c2a76a2d42b9062f 100644 (file)
@@ -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
index 9f5ba335c0a7c60b1e94ea2787a4852d5c7e3c7a..869d1b6d60535c826a8200f366e86611c15e7258 100644 (file)
@@ -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
index 12e42c4dcf92a862018e35c9e9fa80031670e6d9..f036cb146b936baca885926be377119b1e3e0104 100644 (file)
@@ -1,4 +1,4 @@
-PR = "r7"
+PR = "r8"
 require gcc-${PV}.inc
 require gcc-configure-target.inc
 require gcc-package-target.inc
index 2df12ef9ef1e546f3d69f0b14547cf10be4db0d0..9fd2b0acc311b6b33f4a9737ef054c63ca1e79dc 100644 (file)
@@ -1,4 +1,4 @@
-PR = "r4"
+PR = "r5"
 
 require gcc-${PV}.inc
 require gcc-configure-target.inc