fix amd64 bug in gcc
authorbrian <brian@brianweb.net>
Fri, 16 Jul 2004 19:58:39 +0000 (12:58 -0700)
committerbrian <brian@brianweb.net>
Fri, 16 Jul 2004 19:58:39 +0000 (12:58 -0700)
darcs-hash:20040716195839-24bed-0ce878574bc16602315f99cbfb82c53112d3c784.gz

upstream/Makefile
upstream/patches/gcc-64bitclean.patch [new file with mode: 0644]

index 5885009..930f219 100644 (file)
@@ -6,7 +6,7 @@ url_gcc-core = http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-$(version_
 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"
@@ -139,7 +139,7 @@ tasks/patch_%: tasks/extract_%
        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 $@
 
diff --git a/upstream/patches/gcc-64bitclean.patch b/upstream/patches/gcc-64bitclean.patch
new file mode 100644 (file)
index 0000000..b48d98d
--- /dev/null
@@ -0,0 +1,12 @@
+--- ../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);
+        }
+     }