diff options
Diffstat (limited to 'gcc/config/mips/mips.c')
-rw-r--r-- | gcc/config/mips/mips.c | 86 |
1 files changed, 38 insertions, 48 deletions
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 58f942a..008c776 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -5488,9 +5488,6 @@ mips_build_builtin_va_list (void) layout_type (record); return record; } - else if (TARGET_IRIX6) - /* On IRIX 6, this type is 'char *'. */ - return build_pointer_type (char_type_node); else /* Otherwise, we use 'void *'. */ return ptr_type_node; @@ -8451,50 +8448,47 @@ mips_file_start (void) default_file_start (); /* Generate a special section to describe the ABI switches used to - produce the resultant binary. This is unnecessary on IRIX and - causes unwanted warnings from the native linker. */ - if (!TARGET_IRIX6) - { - /* Record the ABI itself. Modern versions of binutils encode - this information in the ELF header flags, but GDB needs the - information in order to correctly debug binaries produced by - older binutils. See the function mips_gdbarch_init in - gdb/mips-tdep.c. */ - fprintf (asm_out_file, "\t.section .mdebug.%s\n\t.previous\n", - mips_mdebug_abi_name ()); - - /* There is no ELF header flag to distinguish long32 forms of the - EABI from long64 forms. Emit a special section to help tools - such as GDB. Do the same for o64, which is sometimes used with - -mlong64. */ - if (mips_abi == ABI_EABI || mips_abi == ABI_O64) - fprintf (asm_out_file, "\t.section .gcc_compiled_long%d\n" - "\t.previous\n", TARGET_LONG64 ? 64 : 32); + produce the resultant binary. */ + + /* Record the ABI itself. Modern versions of binutils encode + this information in the ELF header flags, but GDB needs the + information in order to correctly debug binaries produced by + older binutils. See the function mips_gdbarch_init in + gdb/mips-tdep.c. */ + fprintf (asm_out_file, "\t.section .mdebug.%s\n\t.previous\n", + mips_mdebug_abi_name ()); + + /* There is no ELF header flag to distinguish long32 forms of the + EABI from long64 forms. Emit a special section to help tools + such as GDB. Do the same for o64, which is sometimes used with + -mlong64. */ + if (mips_abi == ABI_EABI || mips_abi == ABI_O64) + fprintf (asm_out_file, "\t.section .gcc_compiled_long%d\n" + "\t.previous\n", TARGET_LONG64 ? 64 : 32); #ifdef HAVE_AS_GNU_ATTRIBUTE - { - int attr; - - /* No floating-point operations, -mno-float. */ - if (TARGET_NO_FLOAT) - attr = 0; - /* Soft-float code, -msoft-float. */ - else if (!TARGET_HARD_FLOAT_ABI) - attr = 3; - /* Single-float code, -msingle-float. */ - else if (!TARGET_DOUBLE_FLOAT) - attr = 2; - /* 64-bit FP registers on a 32-bit target, -mips32r2 -mfp64. */ - else if (!TARGET_64BIT && TARGET_FLOAT64) - attr = 4; - /* Regular FP code, FP regs same size as GP regs, -mdouble-float. */ - else - attr = 1; - - fprintf (asm_out_file, "\t.gnu_attribute 4, %d\n", attr); - } + { + int attr; + + /* No floating-point operations, -mno-float. */ + if (TARGET_NO_FLOAT) + attr = 0; + /* Soft-float code, -msoft-float. */ + else if (!TARGET_HARD_FLOAT_ABI) + attr = 3; + /* Single-float code, -msingle-float. */ + else if (!TARGET_DOUBLE_FLOAT) + attr = 2; + /* 64-bit FP registers on a 32-bit target, -mips32r2 -mfp64. */ + else if (!TARGET_64BIT && TARGET_FLOAT64) + attr = 4; + /* Regular FP code, FP regs same size as GP regs, -mdouble-float. */ + else + attr = 1; + + fprintf (asm_out_file, "\t.gnu_attribute 4, %d\n", attr); + } #endif - } /* If TARGET_ABICALLS, tell GAS to generate -KPIC code. */ if (TARGET_ABICALLS) @@ -15982,10 +15976,6 @@ mips_option_override (void) } } -#ifdef MIPS_TFMODE_FORMAT - REAL_MODE_FORMAT (TFmode) = &MIPS_TFMODE_FORMAT; -#endif - /* Make sure that the user didn't turn off paired single support when MIPS-3D support is requested. */ if (TARGET_MIPS3D |