patches/glibc/ports-2.10.1/390-cross-compile-nptl.patch
author Michael Hope <michael.hope@linaro.org>
Wed Oct 19 15:27:32 2011 +1300 (2011-10-19)
changeset 2739 f320e22f2cba
permissions -rw-r--r--
arch: add softfp support

Some architectures support a mixed hard/soft floating point, where
the compiler emits hardware floating point instructions, but passes
the operands in core (aka integer) registers.

For example, ARM supports this mode (to come in the next changeset).

Add support for softfp cross compilers to the GCC and GLIBC
configuration. Needed for Ubuntu and other distros that are softfp.

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