aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/gcc/patches-11.x/820-libgcc_pic.patch
diff options
context:
space:
mode:
authorNick Hainke <vincent@systemli.org>2022-09-10 23:41:55 +0200
committerChristian Marangi <ansuelsmth@gmail.com>2022-09-11 11:24:57 +0200
commitd7382cc0e4446d4db1978055b0ba59259ac66751 (patch)
treee4ad60e1ee24428512e0f0595da77d1aa0da0d83 /toolchain/gcc/patches-11.x/820-libgcc_pic.patch
parentf34690e487e13ee772b2dca3e7fab2a2bd1e77a1 (diff)
downloadupstream-d7382cc0e4446d4db1978055b0ba59259ac66751.tar.gz
upstream-d7382cc0e4446d4db1978055b0ba59259ac66751.tar.bz2
upstream-d7382cc0e4446d4db1978055b0ba59259ac66751.zip
toolchain: gcc: improve patch handling by introducing major version
Every minor version bump of a major version will result in a huge patch diff because of the moving of all the patches from version e.g. 11.2.0 to 11.3.0. This commit only use the major version for the patch folders to differentiate between the different gcc versions. This will significantly improve the reviewing of the smaller version bump patches and help to see what really changed in a minor version bump. Signed-off-by: Nick Hainke <vincent@systemli.org>
Diffstat (limited to 'toolchain/gcc/patches-11.x/820-libgcc_pic.patch')
-rw-r--r--toolchain/gcc/patches-11.x/820-libgcc_pic.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/toolchain/gcc/patches-11.x/820-libgcc_pic.patch b/toolchain/gcc/patches-11.x/820-libgcc_pic.patch
new file mode 100644
index 0000000000..525a95b565
--- /dev/null
+++ b/toolchain/gcc/patches-11.x/820-libgcc_pic.patch
@@ -0,0 +1,44 @@
+commit c96312958c0621e72c9b32da5bc224ffe2161384
+Author: Felix Fietkau <nbd@openwrt.org>
+Date: Mon Oct 19 23:26:09 2009 +0000
+
+ gcc: create a proper libgcc_pic.a static library for relinking (4.3.3+ for now, backport will follow)
+
+ SVN-Revision: 18086
+
+--- a/libgcc/Makefile.in
++++ b/libgcc/Makefile.in
+@@ -930,11 +930,12 @@ $(libgcov-driver-objects): %$(objext): $
+
+ # Static libraries.
+ libgcc.a: $(libgcc-objects)
++libgcc_pic.a: $(libgcc-s-objects)
+ libgcov.a: $(libgcov-objects)
+ libunwind.a: $(libunwind-objects)
+ libgcc_eh.a: $(libgcc-eh-objects)
+
+-libgcc.a libgcov.a libunwind.a libgcc_eh.a:
++libgcc.a libgcov.a libunwind.a libgcc_eh.a libgcc_pic.a:
+ -rm -f $@
+
+ objects="$(objects)"; \
+@@ -958,7 +959,7 @@ all: libunwind.a
+ endif
+
+ ifeq ($(enable_shared),yes)
+-all: libgcc_eh.a libgcc_s$(SHLIB_EXT)
++all: libgcc_eh.a libgcc_pic.a libgcc_s$(SHLIB_EXT)
+ ifneq ($(LIBUNWIND),)
+ all: libunwind$(SHLIB_EXT)
+ libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_EXT)
+@@ -1164,6 +1165,10 @@ install-shared:
+ chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
+ $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
+
++ $(INSTALL_DATA) libgcc_pic.a $(mapfile) $(DESTDIR)$(inst_libdir)/
++ chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_pic.a
++ $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_pic.a
++
+ $(subst @multilib_dir@,$(MULTIDIR),$(subst \
+ @shlib_base_name@,libgcc_s,$(subst \
+ @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(SHLIB_INSTALL))))