X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=lfs%2Fgcc;h=0264d37f8308aa989604c40f15303aa2c69ddbab;hb=3a317084d65b0d7c5400fc01c969c65da023942b;hp=430c54de17f091c1b12082d3e252f3cafd698588;hpb=afbd9856273a3317a8ffb9a0e8a67bb589243ab2;p=people%2Fpmueller%2Fipfire-2.x.git diff --git a/lfs/gcc b/lfs/gcc index 430c54de17..0264d37f83 100644 --- a/lfs/gcc +++ b/lfs/gcc @@ -34,6 +34,10 @@ DL_FILE = $(THISAPP).tar.bz2 DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) +CFLAGS := $(patsubst -march=%,,$(CFLAGS)) +CFLAGS := $(patsubst -mtune=%,,$(CFLAGS)) +CFLAGS := $(patsubst -mfloat-abi=%,,$(CFLAGS)) + # Normal build or /tools build. # ifeq "$(ROOT)" "" @@ -93,6 +97,9 @@ else EXTRA_MAKE = EXTRA_INSTALL = endif + + # Disable stack protection in toolchain. + CFLAGS += -fno-stack-protector endif ifeq "$(MACHINE_TYPE)" "arm" @@ -101,6 +108,17 @@ ifeq "$(MACHINE_TYPE)" "arm" --disable-sjlj-exceptions endif +ifeq "$(MACHINE)" "i586" + EXTRA_CONFIG += \ + --with-arch=i586 \ + --with-tune=generic +endif + +EXTRA_CONFIG += \ + --with-bugurl=http://bugtracker.ipfire.org \ + --disable-libunwind-exceptions \ + --enable-gnu-unique-object + export XCFLAGS = $(CFLAGS) export TCFLAGS = $(CFLAGS) @@ -150,6 +168,21 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @rm -rf $(DIR_APP) $(DIR_SRC)/gcc-build && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE) @mkdir $(DIR_SRC)/gcc-build + # Apply patches. + cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/gcc/gcc44-build-id.patch + cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/gcc/gcc44-c++-builtin-redecl.patch + cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/gcc/gcc44-i386-libgomp.patch + cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/gcc/gcc44-libtool-no-rpath.patch + cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/gcc/gcc44-no-add-needed.patch + cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/gcc/gcc44-pr33763.patch + cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/gcc/gcc44-rh330771.patch + cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/gcc/gcc44-rh533181.patch + cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/gcc/gcc44-rh610785.patch + cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/gcc/gcc44-unwind-debug-hook.patch + + # texinfo 5 syntax-fixes + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/gcc-4.4.7-texinfo-5.patch + ifneq "$(ROOT)" "" # Build gmp and mpfr internally in toolchain. cd $(DIR_APP) && tar xfa $(DIR_DL)/gmp-$(GMP_VER).tar.bz2 @@ -195,6 +228,7 @@ endif ifeq "$(ROOT)" "" ln -svf ../usr/bin/cpp /lib + ln -svf gcc /usr/bin/cc else ifeq "$(PASS)" "1" ln -svf libgcc.a $$(/tools/bin/$(CROSSTARGET)-gcc -print-libgcc-file-name | sed 's/libgcc/&_eh/')