From e74f05f29b3b0bc6e3e0cfb83a10a1a9cdcea2df Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 4 Jan 2006 08:37:19 +0000 Subject: patch for spec file of gcc 3.4.4, so that libgss library is not automatically linked into every binary. explicitely link it into needed packages (kismet, nmap, samba) and add dependencies. idea and patch from sven-ola, thx. Saves 16 kb in the default squashfs images. SVN-Revision: 2817 --- openwrt/toolchain/gcc/Makefile | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'openwrt/toolchain/gcc') diff --git a/openwrt/toolchain/gcc/Makefile b/openwrt/toolchain/gcc/Makefile index dc7e02c..f6f4aca 100644 --- a/openwrt/toolchain/gcc/Makefile +++ b/openwrt/toolchain/gcc/Makefile @@ -188,6 +188,16 @@ ifeq ($(findstring 3.3.,$(GCC_VERSION)),3.3.) cp ./$(GCC_VERSION)/specs-$(ARCH)-soft-float $(STAGING_DIR)/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs endif 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 ; \ + /bin/false ; \ + fi; + if grep -q as-needed $(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; source: $(DL_DIR)/$(GCC_SOURCE) prepare: $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-gcc -- cgit v1.1