diff options
author | Richard Sandiford <rsandifo@redhat.com> | 2004-02-10 10:17:47 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2004-02-10 10:17:47 +0000 |
commit | 117c5858b4f31e7e57861b2781b8d39f3ea7f611 (patch) | |
tree | 632c6ff7f8718a1b6e83585b3e5e4f7e1de4a8f0 /gcc | |
parent | cf5c0cea7f02d462e8293e888621d65470d188ef (diff) | |
download | gcc-117c5858b4f31e7e57861b2781b8d39f3ea7f611.zip gcc-117c5858b4f31e7e57861b2781b8d39f3ea7f611.tar.gz gcc-117c5858b4f31e7e57861b2781b8d39f3ea7f611.tar.bz2 |
mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI && TARGET_IRIX.
* config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
&& TARGET_IRIX.
From-SVN: r77589
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/mips/mips.h | 17 |
2 files changed, 20 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0475bee..af67fe4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-02-10 Richard Sandiford <rsandifo@redhat.com> + + * config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI + && TARGET_IRIX. + 2004-02-09 Ziemowit Laski <zlaski@apple.com> * objc/objc-act.c (get_super_receiver): Move '#ifdef OBJCPLUS' diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index f53d04c..90e8954 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -290,9 +290,22 @@ extern const struct mips_cpu_info *mips_tune_info; (!TARGET_MIPS16 && (!TARGET_ABICALLS || TARGET_EXPLICIT_RELOCS)) /* True if .gpword or .gpdword should be used for switch tables. - Not all SGI assemblers support this. */ + There are some problems with using these directives with the + native IRIX tools: -#define TARGET_GPWORD (TARGET_ABICALLS && (!TARGET_NEWABI || TARGET_GAS)) + - It has been reported that some versions of the native n32 + assembler mishandle .gpword, complaining that symbols are + global when they are in fact local. + + - The native assemblers don't understand .gpdword. + + - Although GAS does understand .gpdword, the native linker + mishandles the relocations GAS generates (R_MIPS_GPREL32 + followed by R_MIPS_64). + + We therefore disable GP-relative switch tables for n32 and n64 + on IRIX targets. */ +#define TARGET_GPWORD (TARGET_ABICALLS && !(TARGET_NEWABI && TARGET_IRIX)) /* Generate mips16 code */ #define TARGET_MIPS16 (target_flags & MASK_MIPS16) |