diff options
author | ru <ru@FreeBSD.org> | 2006-09-16 09:09:44 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2006-09-16 09:09:44 +0000 |
commit | c1cc0912e154b796c803c34655f2658c4512ceb2 (patch) | |
tree | fffc2124841b78193e19c020111ab47d7c07f0fe /gnu/usr.bin | |
parent | 5d795537aec781c4c63bc83d63c0b211b1de0d2d (diff) | |
download | FreeBSD-src-c1cc0912e154b796c803c34655f2658c4512ceb2.zip FreeBSD-src-c1cc0912e154b796c803c34655f2658c4512ceb2.tar.gz |
This is not needed since src/gnu/usr.bin/cc/cc_int/Makefile,v 1.34.
Diffstat (limited to 'gnu/usr.bin')
-rw-r--r-- | gnu/usr.bin/cc/cc_int/amd64.patch | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/gnu/usr.bin/cc/cc_int/amd64.patch b/gnu/usr.bin/cc/cc_int/amd64.patch deleted file mode 100644 index 2c50780..0000000 --- a/gnu/usr.bin/cc/cc_int/amd64.patch +++ /dev/null @@ -1,54 +0,0 @@ -# $FreeBSD$ -# The first chunk is to stop gcc generating stupid assembler output -# for jump tables. This change is already in gcc-3.3. -# The second chunk is to stop gcc doing an ICE on libc/stdio/vfprintf.c. -# This one has been committed to the gcc mainline and is due to go in -# gcc-3.3.1, but is *not* in gcc-3.3-release. Its changelog: -# * config/i386/i386.c (ix86_split_long_move): Fix base register -# mode for XFmode splits for TARGET_64BIT. - -Index: i386-hacked.c -=========================================================================== ---- i386-hacked.c 2003/05/24 10:50:22 #11 -+++ i386-hacked.c 2003/05/24 10:50:22 -@@ -6764,7 +6764,7 @@ - int value, rel; - { - if (TARGET_64BIT) -- fprintf (file, "%s%s%d-.+(.-%s%d)\n", -+ fprintf (file, "%s%s%d-%s%d\n", - ASM_LONG, LPREFIX, value, LPREFIX, rel); - else if (HAVE_AS_GOTOFF_IN_DATA) - fprintf (file, "%s%s%d@GOTOFF\n", ASM_LONG, LPREFIX, value); -@@ -8823,15 +8823,24 @@ - Do an lea to the last part and use only one colliding move. */ - else if (collisions > 1) - { -+ rtx base; -+ - collisions = 1; -- emit_insn (gen_rtx_SET (VOIDmode, part[0][nparts - 1], -- XEXP (part[1][0], 0))); -- part[1][0] = change_address (part[1][0], -- TARGET_64BIT ? DImode : SImode, -- part[0][nparts - 1]); -- part[1][1] = adjust_address (part[1][0], VOIDmode, UNITS_PER_WORD); -+ -+ base = part[0][nparts - 1]; -+ -+ /* Handle the case when the last part isn't valid for lea. -+ Happens in 64-bit mode storing the 12-byte XFmode. */ -+ if (GET_MODE (base) != Pmode) -+ base = gen_rtx_REG (Pmode, REGNO (base)); -+ -+ emit_insn (gen_rtx_SET (VOIDmode, base, XEXP (part[1][0], 0))); -+ part[1][0] = replace_equiv_address (part[1][0], base); -+ part[1][1] = replace_equiv_address (part[1][1], -+ plus_constant (base, UNITS_PER_WORD)); - if (nparts == 3) -- part[1][2] = adjust_address (part[1][0], VOIDmode, 8); -+ part[1][2] = replace_equiv_address (part[1][2], -+ plus_constant (base, 8)); - } - } - |