summaryrefslogtreecommitdiff
path: root/patches/gcc/4.3.1/370-libgcc_eh.a.patch
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-08-31 14:47:42 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-08-31 14:47:42 (GMT)
commitef0f984b00ecbaf474c09ed31126ef179fcc2d4f (patch)
treeeb7b3a8beba76cea003bf2c000420dae8f49e8a5 /patches/gcc/4.3.1/370-libgcc_eh.a.patch
parent636271cb0c9dcfdb1b3de403590b4024e0369831 (diff)
cc/gcc: libgcc_eh.a may be required, even from the stage-1 compiler
Building uClibc with libubacktrace requires libgcc_eh.a to be available, but gcc does not build it unless it is configured to generate shared libs. However, libgcc_eh.a does not *require* shared libs support, as it is a static library. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Diffstat (limited to 'patches/gcc/4.3.1/370-libgcc_eh.a.patch')
-rw-r--r--patches/gcc/4.3.1/370-libgcc_eh.a.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/patches/gcc/4.3.1/370-libgcc_eh.a.patch b/patches/gcc/4.3.1/370-libgcc_eh.a.patch
new file mode 100644
index 0000000..1c263ae
--- /dev/null
+++ b/patches/gcc/4.3.1/370-libgcc_eh.a.patch
@@ -0,0 +1,39 @@
+Highly inspired by:
+ http://landley.net/hg/aboriginal/file/7e0747a665ab/sources/patches/gcc-core-libgcceh.patch
+
+diff -durN gcc-4.3.1.orig//libgcc/Makefile.in gcc-4.3.1/libgcc/Makefile.in
+--- gcc-4.3.1.orig//libgcc/Makefile.in 2007-12-27 12:26:06.000000000 +0100
++++ gcc-4.3.1/libgcc/Makefile.in 2011-09-02 12:21:23.781544679 +0200
+@@ -706,8 +706,9 @@
+ libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_EXT)
+ endif
+
++all: libgcc_eh.a
+ ifeq ($(enable_shared),yes)
+-all: libgcc_eh.a libgcc_s$(SHLIB_EXT)
++all: libgcc_s$(SHLIB_EXT)
+ ifneq ($(LIBUNWIND),)
+ all: libunwind$(SHLIB_EXT)
+ endif
+@@ -876,10 +877,6 @@
+ install-shared:
+ $(mkinstalldirs) $(DESTDIR)$(inst_libdir)
+
+- $(INSTALL_DATA) libgcc_eh.a $(DESTDIR)$(inst_libdir)/
+- chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
+- $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
+-
+ $(subst @multilib_dir@,$(MULTIDIR),$(subst \
+ @shlib_base_name@,libgcc_s,$(subst \
+ @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(SHLIB_INSTALL))))
+@@ -894,6 +891,10 @@
+ chmod 644 $(DESTDIR)$(inst_libdir)/libgcov.a
+ $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcov.a
+
++ $(INSTALL_DATA) libgcc_eh.a $(DESTDIR)$(inst_libdir)/
++ chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
++ $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
++
+ parts="$(INSTALL_PARTS)"; \
+ for file in $$parts; do \
+ rm -f $(DESTDIR)$(inst_libdir)/$$file; \