summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-02-06 11:26:51 +0000
committerkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-02-06 11:26:51 +0000
commit342268706386af8d356309a47f0fad407c57fc08 (patch)
tree381423c4c2a50ac4d90f73a6037884ff2a610b6b
parentf1dba241d895bf8b640e8b4ee655b48001350076 (diff)
make gcc4 depend on libgcc, and disable the libgcc hack for it
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3161 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--toolchain/gcc/4.0.2/static-libgcc.patch.conditional11
-rw-r--r--toolchain/gcc/Config.in1
-rw-r--r--toolchain/gcc/Makefile6
3 files changed, 2 insertions, 16 deletions
diff --git a/toolchain/gcc/4.0.2/static-libgcc.patch.conditional b/toolchain/gcc/4.0.2/static-libgcc.patch.conditional
deleted file mode 100644
index 6bb5c5004..000000000
--- a/toolchain/gcc/4.0.2/static-libgcc.patch.conditional
+++ /dev/null
@@ -1,11 +0,0 @@
---- specs~ 2006-01-27 11:44:50.000000000 +0100
-+++ specs 2006-01-27 12:00:41.000000000 +0100
-@@ -57,7 +57,7 @@
- %{fmudflap|fmudflapth: -export-dynamic}
-
- *libgcc:
--%{static|static-libgcc:-lgcc -lgcc_eh}%{!static:%{!static-libgcc:%{!shared-libgcc:-lgcc --as-needed -lgcc_s --no-as-needed}%{shared-libgcc:-lgcc_s%{!shared: -lgcc}}}}
-+%{static|static-libgcc:-lgcc -lgcc_eh}%{!static:%{!static-libgcc:%{!shared:%{!shared-libgcc:-lgcc -lgcc_eh}%{shared-libgcc:-lgcc_s -lgcc}}%{shared:%{shared-libgcc:-lgcc_s%{!shared-libgcc: -lgcc}}}}}
-
- *startfile:
- %{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}
diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in
index 759daea5b..bec032e29 100644
--- a/toolchain/gcc/Config.in
+++ b/toolchain/gcc/Config.in
@@ -29,6 +29,7 @@ choice
config BR2_GCC_VERSION_4_0_2
bool "gcc 4.0.2"
select BR2_GCC_3_4
+ select BR2_PACKAGE_LIBGCC
endchoice
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index 2d24cdd13..26e17ad61 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -193,11 +193,7 @@ endif
# We do another ugly hack here because the standard behaviour is
# to include a reference to libgcc.so.1 in all binaries. For flash space
# saving, we change the specs file to link in a static libgcc here.
- if [ ! -f $(STAGING_DIR)/lib/gcc/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs ] ; then \
- echo staging dir specs file is missing, assuming GCC 4.x ; \
- $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-gcc -dumpspecs > $(STAGING_DIR)/lib/gcc/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs; \
- fi;
- if grep -q as-needed $(STAGING_DIR)/lib/gcc/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs; then \
+ if [ -f $(STAGING_DIR)/lib/gcc/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs ] ; then \
patch -d $(STAGING_DIR)/lib/gcc/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/ -p0 < ./$(GCC_VERSION)/static-libgcc.patch.conditional ; \
fi;