Package: gcc-3.3 Version: 1:3.3.2-0pre1 Followup-For: Bug #207915 MontaVista hit the same problem. Here's the patch (written by Michael Eager) we're using to avoid it:
diff -urNp gcc-3.3-orig/gcc/config/mips/mips.md gcc-3.3/gcc/config/mips/mips.md --- gcc-3.3-orig/gcc/config/mips/mips.md Fri Aug 15 11:16:29 2003 +++ gcc-3.3/gcc/config/mips/mips.md Mon Aug 18 08:22:37 2003 @@ -104,7 +104,7 @@ (define_attr "length" "" (cond [(eq_attr "type" "branch") (cond [(lt (abs (minus (match_dup 1) (plus (pc) (const_int 4)))) - (const_int 131072)) + (const_int 65536)) (const_int 4) (ne (symbol_ref "flag_pic && ! TARGET_EMBEDDED_PIC") (const_int 0)) @@ -9624,7 +9624,7 @@ move\\t%0,%z4\\n\\ (const_int 0)) (lt (abs (minus (match_dup 0) (plus (pc) (const_int 4)))) - (const_int 131072))) + (const_int 65536))) (const_int 4) (const_int 16)))]) ;; We need a different insn for the mips16, because a mips16 branch In other words, make GCC think that the maximum length of a short branch is 64K instead of 128K. It's a big hammer, but it works. We're also using this: @@ -9606,9 +9606,9 @@ move\\t%0,%z4\\n\\ if (get_attr_length (insn) <= 8) return \"%*b\\t%l0\"; else if (Pmode == DImode) - return \"%[dla\\t%@,%l0\;[EMAIL PROTECTED]"; + return \"dla\\t%@,%l0\;[EMAIL PROTECTED]"; else - return \"%[la\\t%@,%l0\;[EMAIL PROTECTED]"; + return \"la\\t%@,%l0\;[EMAIL PROTECTED]"; } else return \"%*j\\t%l0\"; but that just trades one set of assembly warnings for another. The %[%] are .set noat/.set at; but la is a macro which expands to a use of $at... -- System Information: Debian Release: testing/unstable Architecture: i386 Kernel: Linux nevyn 2.6.0-test4-nevyn #1 SMP Sat Aug 23 11:19:59 EDT 2003 i686 Locale: LANG=en_US, LC_CTYPE=en_US Versions of packages gcc-3.3 depends on: ii binutils 2.14.90.0.5-0.2 The GNU assembler, linker and bina ii cpp-3.3 1:3.3.2-0pre1 The GNU C preprocessor ii gcc-3.3-base 1:3.3.2-0pre1 The GNU Compiler Collection (base ii libc6 2.3.2-4 GNU C Library: Shared libraries an ii libgcc1 1:3.3.2-0pre1 GCC support library -- no debconf information -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer