url_gcc-c++ = http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-$(version_gcc)/gcc-g++-$(version_gcc).tar.gz
url_gcc-g77 = http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-$(version_gcc)/gcc-g77-$(version_gcc).tar.gz
-patches_gcc = gcc-fixes.patch gcc-fdata-sections-bss.patch
+patches_gcc = gcc-fixes.patch gcc-fdata-sections-bss.patch gcc-64bitclean.patch
configure_gcc = --target=mips-unknown-elf --disable-threads --with-gnu-ld --with-gnu-as --with-newlib=yes --enable-sjlj-exceptions --enable-languages="c"
configure_gcc_step2 = $(configure_gcc) --enable-languages="c,c++,f77"
if [ -e $@ ]; then echo "Error: $@ exists. something isn't right"; false; else true; fi
cd build/$*-$(version_$*) && \
for p in $(patches_$*) end; do \
- [ "$$p" = "end" ] || $(PATCH) -p0 < ../../patches/$$p || exit 1; \
+ [ "$$p" = "end" ] || $(PATCH) -p0 -l < ../../patches/$$p || exit 1; \
done
touch $@
--- /dev/null
+--- ../gcc-3.3.3.orig/gcc/config/mips/mips.c 2004-07-16
+12:58:11.873718000 -0500
++++ gcc/config/mips/mips.c 2004-07-16 14:41:44.477442899 -0500
+@@ -6731,7 +6731,7 @@
+ if (regs_ever_live[regno] && !call_used_regs[regno])
+ {
+ fp_reg_size += FP_INC * UNITS_PER_FPREG;
+- fmask |= ((1 << FP_INC) - 1) << (regno - FP_REG_FIRST);
++ fmask |= ((1L << FP_INC) - 1L) << (regno - FP_REG_FIRST);
+ }
+ }
+