diff options
author | Alan Modra <amodra@bigpond.net.au> | 2003-03-17 03:47:16 +0000 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2003-03-17 14:17:16 +1030 |
commit | 7b3464eefed793556a367801d4c865f4c3423923 (patch) | |
tree | e6da52917bd7e99619b54b1901d70f20bfc54e12 /gcc | |
parent | 2b7f1f8f41666dc1d921e759ca80a24846f745fe (diff) | |
download | gcc-7b3464eefed793556a367801d4c865f4c3423923.zip gcc-7b3464eefed793556a367801d4c865f4c3423923.tar.gz gcc-7b3464eefed793556a367801d4c865f4c3423923.tar.bz2 |
linux64.h (TARGET_64BIT): Redefine.
* config/rs6000/linux64.h (TARGET_64BIT): Redefine.
(TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
(SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
(SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
From-SVN: r64462
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/linux64.h | 50 |
2 files changed, 57 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d96fbe4..45b693d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2003-03-17 Alan Modra <amodra@bigpond.net.au> + + * config/rs6000/linux64.h (TARGET_64BIT): Redefine. + (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise. + (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise. + (SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise. + 2003-03-16 Richard Henderson <rth@redhat.com> * simplify-rtx (simplify_binary_operation): Don't abort for diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h index 494dc7a..14fa6ff 100644 --- a/gcc/config/rs6000/linux64.h +++ b/gcc/config/rs6000/linux64.h @@ -45,12 +45,58 @@ Boston, MA 02111-1307, USA. */ %{mlittle} %{mlittle-endian} %{mbig} %{mbig-endian} \ %{v:-V} %{Qy:} %{!Qn:-Qy} -a64 %(asm_cpu) %{Wa,*:%*}" +/* This is always a 64 bit compiler. */ +#undef TARGET_64BIT +#define TARGET_64BIT 1 + /* 64-bit PowerPC Linux always has a TOC. */ #undef TARGET_NO_TOC #define TARGET_NO_TOC 0 #undef TARGET_TOC #define TARGET_TOC 1 +/* Some things from sysv4.h we don't do. */ +#undef TARGET_RELOCATABLE +#define TARGET_RELOCATABLE 0 +#undef TARGET_EABI +#define TARGET_EABI 0 +#undef TARGET_PROTOTYPE +#define TARGET_PROTOTYPE 0 + +/* Override sysv4.h. */ +#undef SUBTARGET_SWITCHES +#define SUBTARGET_SWITCHES \ + {"bit-align", -MASK_NO_BITFIELD_TYPE, \ + N_("Align to the base type of the bit-field") }, \ + {"no-bit-align", MASK_NO_BITFIELD_TYPE, \ + N_("Don't align to the base type of the bit-field") }, \ + {"strict-align", MASK_STRICT_ALIGN, \ + N_("Don't assume that unaligned accesses are handled by the system") }, \ + {"no-strict-align", -MASK_STRICT_ALIGN, \ + N_("Assume that unaligned accesses are handled by the system") }, \ + {"little-endian", MASK_LITTLE_ENDIAN, \ + N_("Produce little endian code") }, \ + {"little", MASK_LITTLE_ENDIAN, \ + N_("Produce little endian code") }, \ + {"big-endian", -MASK_LITTLE_ENDIAN, \ + N_("Produce big endian code") }, \ + {"big", -MASK_LITTLE_ENDIAN, \ + N_("Produce big endian code") }, \ + {"bit-word", -MASK_NO_BITFIELD_WORD, \ + N_("Allow bit-fields to cross word boundaries") }, \ + {"no-bit-word", MASK_NO_BITFIELD_WORD, \ + N_("Do not allow bit-fields to cross word boundaries") }, \ + {"regnames", MASK_REGNAMES, \ + N_("Use alternate register names") }, \ + {"no-regnames", -MASK_REGNAMES, \ + N_("Don't use alternate register names") }, + +#undef SUBTARGET_OPTIONS +#define SUBTARGET_OPTIONS + +#undef SUBTARGET_OVERRIDE_OPTIONS +#define SUBTARGET_OVERRIDE_OPTIONS {} + /* We use glibc _mcount for profiling. */ #define NO_PROFILE_COUNTERS 1 #undef PROFILE_BEFORE_PROLOGUE @@ -110,6 +156,10 @@ Boston, MA 02111-1307, USA. */ #undef MD_EXEC_PREFIX #undef MD_STARTFILE_PREFIX +/* Override sysv4.h */ +#undef CPP_SYSV_SPEC +#define CPP_SYSV_SPEC "" + #undef TARGET_OS_CPP_BUILTINS #define TARGET_OS_CPP_BUILTINS() \ do \ |