yann@1625
|
1 |
A little hack for cross-compiling NPTL
|
yann@1625
|
2 |
|
yann@1625
|
3 |
http://sourceware.org/ml/libc-alpha/2005-02/msg00043.html
|
yann@1625
|
4 |
|
yann@1625
|
5 |
diff -durN glibc-2.10.1.orig/nptl/sysdeps/pthread/configure glibc-2.10.1/nptl/sysdeps/pthread/configure
|
yann@1625
|
6 |
--- glibc-2.10.1.orig/nptl/sysdeps/pthread/configure 2009-05-17 14:19:31.000000000 +0200
|
yann@1625
|
7 |
+++ glibc-2.10.1/nptl/sysdeps/pthread/configure 2009-11-13 00:50:43.000000000 +0100
|
yann@1625
|
8 |
@@ -78,6 +78,10 @@
|
yann@1625
|
9 |
fi
|
yann@1625
|
10 |
{ echo "$as_me:$LINENO: result: $libc_cv_forced_unwind" >&5
|
yann@1625
|
11 |
echo "${ECHO_T}$libc_cv_forced_unwind" >&6; }
|
yann@1625
|
12 |
+if test $libc_cv_forced_unwind = no -a $build_cpu != $host_cpu; then
|
yann@1625
|
13 |
+ echo "$as_me:$LINENO: forcing libc_cv_forced_unwind = yes for cross-compile"
|
yann@1625
|
14 |
+ libc_cv_forced_unwind=yes
|
yann@1625
|
15 |
+fi
|
yann@1625
|
16 |
if test $libc_cv_forced_unwind = yes; then
|
yann@1625
|
17 |
cat >>confdefs.h <<\_ACEOF
|
yann@1625
|
18 |
#define HAVE_FORCED_UNWIND 1
|
yann@1625
|
19 |
@@ -141,6 +145,10 @@
|
yann@1625
|
20 |
{ echo "$as_me:$LINENO: result: $libc_cv_c_cleanup" >&5
|
yann@1625
|
21 |
echo "${ECHO_T}$libc_cv_c_cleanup" >&6; }
|
yann@1625
|
22 |
CFLAGS="$old_CFLAGS"
|
yann@1625
|
23 |
+ if test $libc_cv_c_cleanup = no -a $build_cpu != $host_cpu; then
|
yann@1625
|
24 |
+ echo "$as_me:$LINENO: result: forcing libc_cv_c_cleanup = yes for cross-compile"
|
yann@1625
|
25 |
+ libc_cv_c_cleanup=yes
|
yann@1625
|
26 |
+ fi
|
yann@1625
|
27 |
if test $libc_cv_c_cleanup = no; then
|
yann@1625
|
28 |
{ { echo "$as_me:$LINENO: error: the compiler must support C cleanup handling" >&5
|
yann@1625
|
29 |
echo "$as_me: error: the compiler must support C cleanup handling" >&2;}
|
yann@1625
|
30 |
diff -durN glibc-2.10.1.orig/nptl/sysdeps/pthread/configure.in glibc-2.10.1/nptl/sysdeps/pthread/configure.in
|
yann@1625
|
31 |
--- glibc-2.10.1.orig/nptl/sysdeps/pthread/configure.in 2003-12-03 07:50:01.000000000 +0100
|
yann@1625
|
32 |
+++ glibc-2.10.1/nptl/sysdeps/pthread/configure.in 2009-11-13 00:50:43.000000000 +0100
|
yann@1625
|
33 |
@@ -28,6 +28,9 @@
|
yann@1625
|
34 |
struct _Unwind_Context *context;
|
yann@1625
|
35 |
_Unwind_GetCFA (context)],
|
yann@1625
|
36 |
libc_cv_forced_unwind=yes, libc_cv_forced_unwind=no)])
|
yann@1625
|
37 |
+if test $libc_cv_forced_unwind = no -a $build_cpu != $host_cpu; then
|
yann@1625
|
38 |
+ libc_cv_forced_unwind=yes
|
yann@1625
|
39 |
+fi
|
yann@1625
|
40 |
if test $libc_cv_forced_unwind = yes; then
|
yann@1625
|
41 |
AC_DEFINE(HAVE_FORCED_UNWIND)
|
yann@1625
|
42 |
dnl Check for C cleanup handling.
|
yann@1625
|
43 |
@@ -41,6 +44,9 @@
|
yann@1625
|
44 |
puts ("test")],
|
yann@1625
|
45 |
libc_cv_c_cleanup=yes, libc_cv_c_cleanup=no)])
|
yann@1625
|
46 |
CFLAGS="$old_CFLAGS"
|
yann@1625
|
47 |
+ if test $libc_cv_c_cleanup = no -a $build_cpu != $host_cpu; then
|
yann@1625
|
48 |
+ libc_cv_c_cleanup=yes
|
yann@1625
|
49 |
+ fi
|
yann@1625
|
50 |
if test $libc_cv_c_cleanup = no; then
|
yann@1625
|
51 |
AC_MSG_ERROR([the compiler must support C cleanup handling])
|
yann@1625
|
52 |
fi
|