X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=blobdiff_plain;f=lfs%2Fgcc;h=0264d37f8308aa989604c40f15303aa2c69ddbab;hp=1857dde4c485a12f2f102f14d6835fe42ab258f2;hb=42c545b1f5848767251cffc9ffb6d29b3cd7a4c3;hpb=9572596c47e961c6f4d970b4c4c72bd5f90920e0 diff --git a/lfs/gcc b/lfs/gcc index 1857dde4c4..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)" "" @@ -68,8 +72,7 @@ ifeq "$(PASS)" "1" --without-headers \ --without-ppl \ --without-cloog \ - --enable-languages=c \ - --enable-bootstrap + --enable-languages=c EXTRA_MAKE = EXTRA_INSTALL = else @@ -94,6 +97,9 @@ else EXTRA_MAKE = EXTRA_INSTALL = endif + + # Disable stack protection in toolchain. + CFLAGS += -fno-stack-protector endif ifeq "$(MACHINE_TYPE)" "arm" @@ -102,13 +108,20 @@ 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) -ifeq "$(PASS)" "1" - CFLAGS = -endif - ############################################################################### # Top-level Rules ############################################################################### @@ -155,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 @@ -200,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/')