CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
Imported core-cross ports from 2.5
[crossrootfs.git] / glibc / glibc-2.9-libgcc_eh-1.patch
CommitLineData
6dca1d21
JB
1Submitted By: Joe Ciccone <jciccone@gmail.com>
2Date: 2006-11-09
3Initial Package Version: 2.5
4Origin: Joe Ciccone
5Upstream Status: Unknown
6Description: Checks to see if libgcc_eh has been provided by gcc. If it has
7 the glibc will attempt to link to it.
8
9 Rediffed for 2.7 by Jim Gifford
10 Rediffed for 2.8 by Joe Ciccone
11 Rediffed for 2.9 by Joe Ciccone
12
13diff -Naur glibc-2.9.orig/config.make.in glibc-2.9/config.make.in
14--- glibc-2.9.orig/config.make.in 2008-08-18 05:42:17.000000000 -0400
15+++ glibc-2.9/config.make.in 2008-12-17 08:23:59.000000000 -0500
16@@ -60,6 +60,7 @@
17 have-libaudit = @have_libaudit@
18 have-libcap = @have_libcap@
19 have-cc-with-libunwind = @libc_cv_cc_with_libunwind@
20+have-cc-with-libgcc_eh = @libc_cv_cc_with_libgcc_eh@
21 fno-unit-at-a-time = @fno_unit_at_a_time@
22 bind-now = @bindnow@
23 have-hash-style = @libc_cv_hashstyle@
24diff -Naur glibc-2.9.orig/configure.in glibc-2.9/configure.in
25--- glibc-2.9.orig/configure.in 2008-11-27 19:05:05.000000000 -0500
26+++ glibc-2.9/configure.in 2008-12-17 08:21:56.000000000 -0500
27@@ -1394,6 +1394,23 @@
28 AC_DEFINE(HAVE_CC_WITH_LIBUNWIND)
29 fi
30
31+ AC_CACHE_CHECK(whether to link against libgcc_eh,
32+ libc_cv_cc_with_libgcc_eh, [
33+ cat > conftest.c <<EOF
34+int main (void) { return 0; }
35+EOF
36+ if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \
37+ conftest.c -v 2>&1 >/dev/null | grep -q " -lgcc_eh "; then
38+ libc_cv_cc_with_libgcc_eh=yes
39+ else
40+ libc_cv_cc_with_libgcc_eh=no
41+ fi
42+ rm -f conftest*])
43+ AC_SUBST(libc_cv_cc_with_libgcc_eh)
44+ if test $libc_cv_cc_with_libgcc_eh = yes; then
45+ AC_DEFINE(HAVE_CC_WITH_LIBGCC_EH)
46+ fi
47+
48 AC_CACHE_CHECK(for -z nodelete option,
49 libc_cv_z_nodelete, [dnl
50 cat > conftest.c <<EOF
51diff -Naur glibc-2.9.orig/configure glibc-2.9/configure
52--- glibc-2.9.orig/configure 2008-11-27 19:05:36.000000000 -0500
53+++ glibc-2.9/configure 2008-12-17 08:24:21.000000000 -0500
54@@ -716,6 +716,7 @@
55 BISON
56 VERSIONING
57 libc_cv_cc_with_libunwind
58+libc_cv_cc_with_libgcc_eh
59 libc_cv_Bgroup
60 libc_cv_libgcc_s_suffix
61 libc_cv_as_needed
62@@ -6053,6 +6054,33 @@
63
64 fi
65
66+ { echo "$as_me:$LINENO: checking whether to link against libgcc_eh" >&5
67+echo $ECHO_N "checking whether to link against libgcc_eh... $ECHO_C" >&6; }
68+if test "${libc_cv_cc_with_libgcc_eh+set}" = set; then
69+ echo $ECHO_N "(cached) $ECHO_C" >&6
70+else
71+
72+ cat > conftest.c <<EOF
73+int main (void) { return 0; }
74+EOF
75+ if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \
76+ conftest.c -v 2>&1 >/dev/null | grep -q " -lgcc_eh "; then
77+ libc_cv_cc_with_libgcc_eh=yes
78+ else
79+ libc_cv_cc_with_libgcc_eh=no
80+ fi
81+ rm -f conftest*
82+fi
83+{ echo "$as_me:$LINENO: result: $libc_cv_cc_with_libgcc_eh" >&5
84+echo "${ECHO_T}$libc_cv_cc_with_libgcc_eh" >&6; }
85+
86+ if test $libc_cv_cc_with_libgcc_eh = yes; then
87+ cat >>confdefs.h <<\_ACEOF
88+#define HAVE_CC_WITH_LIBGCC_EH 1
89+_ACEOF
90+
91+ fi
92+
93 { echo "$as_me:$LINENO: checking for -z nodelete option" >&5
94 echo $ECHO_N "checking for -z nodelete option... $ECHO_C" >&6; }
95 if test "${libc_cv_z_nodelete+set}" = set; then
96@@ -9282,6 +9310,7 @@
97 BISON!$BISON$ac_delim
98 VERSIONING!$VERSIONING$ac_delim
99 libc_cv_cc_with_libunwind!$libc_cv_cc_with_libunwind$ac_delim
100+libc_cv_cc_with_libgcc_eh!$libc_cv_cc_with_libgcc_eh$ac_delim
101 libc_cv_Bgroup!$libc_cv_Bgroup$ac_delim
102 libc_cv_libgcc_s_suffix!$libc_cv_libgcc_s_suffix$ac_delim
103 libc_cv_as_needed!$libc_cv_as_needed$ac_delim
104@@ -9335,7 +9364,7 @@
105 LTLIBOBJS!$LTLIBOBJS$ac_delim
106 _ACEOF
107
108- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 54; then
109+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 55; then
110 break
111 elif $ac_last_try; then
112 { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
113diff -Naur glibc-2.9.orig/Makeconfig glibc-2.9/Makeconfig
114--- glibc-2.9.orig/Makeconfig 2008-08-18 05:42:17.000000000 -0400
115+++ glibc-2.9/Makeconfig 2008-12-17 08:23:42.000000000 -0500
116@@ -525,12 +525,20 @@
117 libunwind = -lunwind
118 endif
119 ifneq ($(have-as-needed),yes)
120- libgcc_eh := -lgcc_eh $(libunwind)
121+ ifneq ($(have-cc-with-libgcc_eh),yes)
122+ libgcc_eh := $(libunwind)
123+ else
124+ libgcc_eh := -lgcc_eh $(libunwind)
125+ endif
126 else
127 libgcc_eh := -Wl,--as-needed -lgcc_s$(libgcc_s_suffix) $(libunwind) -Wl,--no-as-needed
128 endif
129 gnulib := -lgcc $(libgcc_eh)
130-static-gnulib := -lgcc -lgcc_eh $(libunwind)
131+ifneq ($(have-cc-with-libgcc_eh),yes)
132+ static-gnulib := -lgcc $(libunwind)
133+else
134+ static-gnulib := -lgcc -lgcc_eh $(libunwind)
135+endif
136 libc.so-gnulib := -lgcc
137 endif
138 ifeq ($(elf),yes)