patches/glibc/2.9/430-2.7-cross-compile-nptl.patch
author "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
Wed May 25 20:23:48 2011 +0200 (2011-05-25)
branch1.11
changeset 2552 cc285cc98e65
parent 1201 c9967a6e3b25
permissions -rw-r--r--
debug/gdb: fix runtime sysroot

This patch sets the runtime sysroot to fix the following GDB warning:
"Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code."

The sysroot can later be changed within gdb with the `set sysroot`
command if necessary.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
(transplanted from 7690196856ce4a4700d1887cc3adf80acc627c52)
yann@1201
     1
Original patch from: gentoo/src/patchsets/glibc/2.9/5070_all_glibc-2.7-cross-compile-nptl.patch
yann@1201
     2
yann@1201
     3
-= BEGIN original header =-
yann@1201
     4
A little hack for cross-compiling NPTL
yann@1201
     5
yann@1201
     6
http://sourceware.org/ml/libc-alpha/2005-02/msg00043.html
yann@1201
     7
yann@1201
     8
-= END original header =-
yann@1201
     9
yann@1201
    10
diff -durN glibc-2_9.orig/nptl/sysdeps/pthread/configure glibc-2_9/nptl/sysdeps/pthread/configure
yann@1201
    11
--- glibc-2_9.orig/nptl/sysdeps/pthread/configure	2007-10-17 00:24:30.000000000 +0200
yann@1201
    12
+++ glibc-2_9/nptl/sysdeps/pthread/configure	2009-02-02 22:01:28.000000000 +0100
yann@1201
    13
@@ -78,6 +78,10 @@
yann@1201
    14
 fi
yann@1201
    15
 { echo "$as_me:$LINENO: result: $libc_cv_forced_unwind" >&5
yann@1201
    16
 echo "${ECHO_T}$libc_cv_forced_unwind" >&6; }
yann@1201
    17
+if test $libc_cv_forced_unwind = no -a $build_cpu != $host_cpu; then
yann@1201
    18
+  echo "$as_me:$LINENO: forcing libc_cv_forced_unwind = yes for cross-compile"
yann@1201
    19
+  libc_cv_forced_unwind=yes
yann@1201
    20
+fi
yann@1201
    21
 if test $libc_cv_forced_unwind = yes; then
yann@1201
    22
   cat >>confdefs.h <<\_ACEOF
yann@1201
    23
 #define HAVE_FORCED_UNWIND 1
yann@1201
    24
@@ -141,6 +145,10 @@
yann@1201
    25
 { echo "$as_me:$LINENO: result: $libc_cv_c_cleanup" >&5
yann@1201
    26
 echo "${ECHO_T}$libc_cv_c_cleanup" >&6; }
yann@1201
    27
   CFLAGS="$old_CFLAGS"
yann@1201
    28
+  if test $libc_cv_c_cleanup = no -a $build_cpu != $host_cpu; then
yann@1201
    29
+    echo "$as_me:$LINENO: result: forcing libc_cv_c_cleanup = yes for cross-compile"
yann@1201
    30
+    libc_cv_c_cleanup=yes
yann@1201
    31
+  fi
yann@1201
    32
   if test $libc_cv_c_cleanup = no; then
yann@1201
    33
     { { echo "$as_me:$LINENO: error: the compiler must support C cleanup handling" >&5
yann@1201
    34
 echo "$as_me: error: the compiler must support C cleanup handling" >&2;}
yann@1201
    35
diff -durN glibc-2_9.orig/nptl/sysdeps/pthread/configure.in glibc-2_9/nptl/sysdeps/pthread/configure.in
yann@1201
    36
--- glibc-2_9.orig/nptl/sysdeps/pthread/configure.in	2003-12-03 07:50:01.000000000 +0100
yann@1201
    37
+++ glibc-2_9/nptl/sysdeps/pthread/configure.in	2009-02-02 22:01:28.000000000 +0100
yann@1201
    38
@@ -28,6 +28,9 @@
yann@1201
    39
 struct _Unwind_Context *context;
yann@1201
    40
 _Unwind_GetCFA (context)],
yann@1201
    41
 libc_cv_forced_unwind=yes, libc_cv_forced_unwind=no)])
yann@1201
    42
+if test $libc_cv_forced_unwind = no -a $build_cpu != $host_cpu; then
yann@1201
    43
+  libc_cv_forced_unwind=yes
yann@1201
    44
+fi
yann@1201
    45
 if test $libc_cv_forced_unwind = yes; then
yann@1201
    46
   AC_DEFINE(HAVE_FORCED_UNWIND)
yann@1201
    47
 dnl Check for C cleanup handling.
yann@1201
    48
@@ -41,6 +44,9 @@
yann@1201
    49
   puts ("test")],
yann@1201
    50
 libc_cv_c_cleanup=yes, libc_cv_c_cleanup=no)])
yann@1201
    51
   CFLAGS="$old_CFLAGS"
yann@1201
    52
+  if test $libc_cv_c_cleanup = no -a $build_cpu != $host_cpu; then
yann@1201
    53
+    libc_cv_c_cleanup=yes
yann@1201
    54
+  fi
yann@1201
    55
   if test $libc_cv_c_cleanup = no; then
yann@1201
    56
     AC_MSG_ERROR([the compiler must support C cleanup handling])
yann@1201
    57
   fi