summaryrefslogtreecommitdiff
path: root/sources/gcc/3.4.2/400-mips-delay-slot.patch
diff options
context:
space:
mode:
authorManuel Novoa III <mjn3@codepoet.org>2004-09-30 00:54:44 +0000
committerManuel Novoa III <mjn3@codepoet.org>2004-09-30 00:54:44 +0000
commite29aaa1c6c8c44bcc5af59567a1444b4aef9e196 (patch)
tree36ae3166f28d329797335dd1e50493cde51d1571 /sources/gcc/3.4.2/400-mips-delay-slot.patch
parentb4e0fb5f1b41c89b027057bb79cb905194b741ae (diff)
Don't include glibc symbol versions in libgcc.
Replace mips delay slot patch with upstream fix. Backport gcc typo fix from cvs to fix powerpc builds with newer binutils.
Diffstat (limited to 'sources/gcc/3.4.2/400-mips-delay-slot.patch')
-rw-r--r--sources/gcc/3.4.2/400-mips-delay-slot.patch46
1 files changed, 0 insertions, 46 deletions
diff --git a/sources/gcc/3.4.2/400-mips-delay-slot.patch b/sources/gcc/3.4.2/400-mips-delay-slot.patch
deleted file mode 100644
index 8111dba18..000000000
--- a/sources/gcc/3.4.2/400-mips-delay-slot.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-http://www.linux-mips.org/archives/linux-mips/2004-09/msg00000.html
-
-Atsushi Nemoto <anemo@mba.ocn.ne.jp> writes:
->/ Is this a get_user's problem or gcc's?/
-
-The latter. gcc is putting the empty asm:
-
- __asm__ ("":"=r" (__gu_val));
-
-into the delay slot of the call.
-
-Part of the problem is that gcc estimates the length of an asm to be the
-number of instruction separators + 1. This means that it estimates the
-asm above to be one instruction long, which is perhaps a little silly
-for an empty string.
-
-But the real problem is that gcc should never trust this estimate anyway,
-since each "instruction" could obviously be a multi-instruction macro.
-gcc should certainly never put asms into delay slots.
-
-FWIW, I don't think the bug is specific to 3.3 or 3.4. It could
-probably trigger for other gcc versions too. It is highly dependent
-on scheduling though.
-
-The attached 3.4.x patch fixes the problem there, but if you want to work
-around it for old versions, just avoid using empty asms if you can,
-or make them volatile if you can't.
-
-Of course, the problem isn't confined to empty asms. If you have an asm
-with a single, multi-instruction macro, gcc might try putting that in a
-delay slot too. You should at least get an assembler warning in that case.
-
-Richard
-
-
---- gcc-3.4.1/gcc/config/mips/mips.md-orig 2004-09-02 10:38:36.000000000 -0500
-+++ gcc-3.4.1/gcc/config/mips/mips.md 2004-09-02 10:38:42.000000000 -0500
-@@ -251,7 +251,7 @@
-
- ;; Can the instruction be put into a delay slot?
- (define_attr "can_delay" "no,yes"
-- (if_then_else (and (eq_attr "type" "!branch,call,jump")
-+ (if_then_else (and (eq_attr "type" "!branch,call,jump,multi")
- (and (eq_attr "hazard" "none")
- (eq_attr "single_insn" "yes")))
- (const_string "yes")