crosstool-ng/patches/gcc/4.3.1/370-libgcc_eh.a.patch
Yann E. MORIN" ef0f984b00 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>
2011-08-31 16:47:42 +02:00

40 lines
1.3 KiB
Diff

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; \