patches/glibc/2.9/430-2.7-cross-compile-nptl.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jan 17 23:06:02 2010 +0100 (2010-01-17)
changeset 1740 c57458bb354d
parent 1201 c9967a6e3b25
permissions -rw-r--r--
configure: do not require hg when configuring in an hg clone

When configuring in an hg clone, we need hg to compute the version string.
It can happen that users do not have Mercurial (eg. if they got a snapshot
rather that they did a full clone). In this case, we can still run, of
course, so simply fill the version string with a sufficiently explicit
value, that does not require hg. The date is a good candidate.
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