diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 1996-01-18 15:19:51 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1996-01-18 15:19:51 +0000 |
commit | 841faeeddd1aaf8b5cd4713236c856a9ab7ac6a0 (patch) | |
tree | 1c8015ced1b514a776629881bb4493e31c3d07d1 /gcc/config/rs6000 | |
parent | 4a5891aff999a389a317f454e7efce4ada81fb6b (diff) | |
download | gcc-841faeeddd1aaf8b5cd4713236c856a9ab7ac6a0.zip gcc-841faeeddd1aaf8b5cd4713236c856a9ab7ac6a0.tar.gz gcc-841faeeddd1aaf8b5cd4713236c856a9ab7ac6a0.tar.bz2 |
EXTRA_SPECS addition
From-SVN: r11063
Diffstat (limited to 'gcc/config/rs6000')
-rw-r--r-- | gcc/config/rs6000/aix3newas.h | 31 | ||||
-rw-r--r-- | gcc/config/rs6000/aix41.h | 60 | ||||
-rw-r--r-- | gcc/config/rs6000/eabiaix.h | 38 | ||||
-rw-r--r-- | gcc/config/rs6000/eabile.h | 39 | ||||
-rw-r--r-- | gcc/config/rs6000/lynx.h | 29 | ||||
-rw-r--r-- | gcc/config/rs6000/netware.h | 29 | ||||
-rw-r--r-- | gcc/config/rs6000/powerpc.h | 61 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 83 | ||||
-rw-r--r-- | gcc/config/rs6000/sysv4.h | 78 | ||||
-rw-r--r-- | gcc/config/rs6000/sysv4le.h | 37 |
10 files changed, 125 insertions, 360 deletions
diff --git a/gcc/config/rs6000/aix3newas.h b/gcc/config/rs6000/aix3newas.h index 1758e49..6ae4a64 100644 --- a/gcc/config/rs6000/aix3newas.h +++ b/gcc/config/rs6000/aix3newas.h @@ -26,33 +26,10 @@ Boston, MA 02111-1307, USA. */ /* Tell the assembler to assume that all undefined names are external. */ #undef ASM_SPEC -#define ASM_SPEC "-u \ -%{!mcpu*: \ - %{mpower: %{!mpowerpc*: %{!mpower2: -mpwr}}} \ - %{mpower2: -mpwrx} \ - %{mno-power: %{mpowerpc*: -mppc}} \ - %{mno-power: %{!mpowerpc*: -mcom}} \ - %{!mno-power: %{mpowerpc*: -m601}} \ - %{!mno-power: %{!mpowerpc*: %{!mpower2: -mpwr}}}} \ -%{mcpu=common: -mcom} \ -%{mcpu=power: -mpwr} \ -%{mcpu=power2: -mpwrx} \ -%{mcpu=powerpc: -mppc} \ -%{mcpu=rios: -mpwr} \ -%{mcpu=rios1: -mpwr} \ -%{mcpu=rios2: -mpwrx} \ -%{mcpu=rsc: -mpwr} \ -%{mcpu=rsc1: -mpwr} \ -%{mcpu=403: -mppc} \ -%{mcpu=505: -mppc} \ -%{mcpu=601: -m601} \ -%{mcpu=602: -mppc} \ -%{mcpu=603: -mppc} \ -%{mcpu=603e: -mppc} \ -%{mcpu=604: -mppc} \ -%{mcpu=620: -mppc} \ -%{mcpu=821: -mppc} \ -%{mcpu=860: -mppc}" +#define ASM_SPEC "-u %(asm_cpu)" + +#undef ASM_DEFAULT_SPEC +#define ASM_DEFAULT_SPEC "-mpwr" /* Define the options for the binder: Start text at 512, align all segments to 512 bytes, and warn if there is text relocation. diff --git a/gcc/config/rs6000/aix41.h b/gcc/config/rs6000/aix41.h index a0de198..3807d0b 100644 --- a/gcc/config/rs6000/aix41.h +++ b/gcc/config/rs6000/aix41.h @@ -24,64 +24,20 @@ Boston, MA 02111-1307, USA. */ #include "rs6000/rs6000.h" #undef ASM_SPEC -#define ASM_SPEC "-u \ -%{!mcpu*: \ - %{mpower2: -mpwrx} \ - %{mpowerpc*: %{!mpower: -mppc}} \ - %{mpower: %{!mpower2: -mpwr}} \ - %{mpowerpc*: %{mpower: -m601}} \ - %{!mpowerpc*: %{!mpower*: -mcom}}} \ -%{mcpu=common: -mcom} \ -%{mcpu=power: -mpwr} \ -%{mcpu=power2: -mpwrx} \ -%{mcpu=powerpc: -mppc} \ -%{mcpu=rios: -mpwr} \ -%{mcpu=rios1: -mpwr} \ -%{mcpu=rios2: -mpwrx} \ -%{mcpu=rsc: -mpwr} \ -%{mcpu=rsc1: -mpwr} \ -%{mcpu=403: -mppc} \ -%{mcpu=505: -mppc} \ -%{mcpu=601: -m601} \ -%{mcpu=602: -mppc} \ -%{mcpu=603: -mppc} \ -%{mcpu=603e: -mppc} \ -%{mcpu=604: -mppc} \ -%{mcpu=620: -mppc} \ -%{mcpu=821: -mppc} \ -%{mcpu=860: -mppc}" +#define ASM_SPEC "-u %(asm_cpu)" #undef CPP_PREDEFINES #define CPP_PREDEFINES "-D_IBMR2 -D_POWER -D_AIX -D_AIX32 \ -Asystem(unix) -Asystem(aix)" #undef CPP_SPEC -#define CPP_SPEC "\ -%{posix: -D_POSIX_SOURCE} \ -%{!mcpu*: \ - %{mpower: %{!mpower2: -D_ARCH_PWR}} \ - %{mpower2: -D_ARCH_PWR2} \ - %{mpowerpc*: -D_ARCH_PPC} \ - %{!mpower*: -D_ARCH_COM}} \ -%{mcpu=common: -D_ARCH_COM} \ -%{mcpu=power: -D_ARCH_PWR} \ -%{mcpu=power2: -D_ARCH_PWR2} \ -%{mcpu=powerpc: -D_ARCH_PPC} \ -%{mcpu=rios: -D_ARCH_PWR} \ -%{mcpu=rios1: -D_ARCH_PWR} \ -%{mcpu=rios2: -D_ARCH_PWR2} \ -%{mcpu=rsc: -D_ARCH_PWR} \ -%{mcpu=rsc1: -D_ARCH_PWR} \ -%{mcpu=403: -D_ARCH_PPC} \ -%{mcpu=505: -D_ARCH_PPC} \ -%{mcpu=601: -D_ARCH_PPC -D_ARCH_PWR} \ -%{mcpu=602: -D_ARCH_PPC} \ -%{mcpu=603: -D_ARCH_PPC} \ -%{mcpu=603e: -D_ARCH_PPC} \ -%{mcpu=604: -D_ARCH_PPC} \ -%{mcpu=620: -D_ARCH_PPC} \ -%{mcpu=821: -D_ARCH_PPC} \ -%{mcpu=860: -D_ARCH_PPC}" +#define CPP_SPEC "%{posix: -D_POSIX_SOURCE} %(cpp_cpu)" + +#undef CPP_DEFAULT_SPEC +#define CPP_DEFAULT_SPEC "-D_ARCH_COM" + +#undef ASM_DEFAULT_SPEC +#define ASM_DEFAULT_SPEC "-mcom" #undef TARGET_DEFAULT #define TARGET_DEFAULT MASK_NEW_MNEMONICS diff --git a/gcc/config/rs6000/eabiaix.h b/gcc/config/rs6000/eabiaix.h index 7a70a9c..82b059c 100644 --- a/gcc/config/rs6000/eabiaix.h +++ b/gcc/config/rs6000/eabiaix.h @@ -24,42 +24,8 @@ Boston, MA 02111-1307, USA. */ #undef TARGET_DEFAULT #define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_AIX_CALLS) -#undef CPP_SPEC -#define CPP_SPEC "\ -%{posix: -D_POSIX_SOURCE} \ -%{mrelocatable: -D_RELOCATABLE} \ -%{mcall-sysv: -D_CALL_SYSV} %{mcall-nt: -D_CALL_NT} \ -%{mcall-aix: -D_CALL_AIX} %{mcall-aixdesc: -D_CALL_AIX -D_CALL_AIXDESC} \ -%{!mcall-sysv: %{!mcall-aix: %{!mcall-aixdesc: %{!mcall-nt: -D_CALL_AIX}}}} \ -%{msoft-float: -D_SOFT_FLOAT} %{mcpu=403: -D_SOFT_FLOAT} \ -%{mlittle: -D_LITTLE_ENDIAN -Amachine(littleendian)} \ -%{mlittle-endian: -D_LITTLE_ENDIAN -Amachine(littleendian)} \ -%{!mlittle: %{!mlittle-endian: -D_BIG_ENDIAN -Amachine(bigendian)}} \ -%{!mcpu*: \ - %{mpower: %{!mpower2: -D_ARCH_PWR}} \ - %{mpower2: -D_ARCH_PWR2} \ - %{mpowerpc*: -D_ARCH_PPC} \ - %{mno-powerpc: %{!mpower: %{!mpower2: -D_ARCH_COM}}} \ - %{!mno-powerpc: -D_ARCH_PPC}} \ -%{mcpu=common: -D_ARCH_COM} \ -%{mcpu=power: -D_ARCH_PWR} \ -%{mcpu=power2: -D_ARCH_PWR2} \ -%{mcpu=powerpc: -D_ARCH_PPC} \ -%{mcpu=rios: -D_ARCH_PWR} \ -%{mcpu=rios1: -D_ARCH_PWR} \ -%{mcpu=rios2: -D_ARCH_PWR2} \ -%{mcpu=rsc: -D_ARCH_PWR} \ -%{mcpu=rsc1: -D_ARCH_PWR} \ -%{mcpu=403: -D_ARCH_PPC} \ -%{mcpu=505: -D_ARCH_PPC} \ -%{mcpu=601: -D_ARCH_PPC -D_ARCH_PWR} \ -%{mcpu=602: -D_ARCH_PPC} \ -%{mcpu=603: -D_ARCH_PPC} \ -%{mcpu=603e: -D_ARCH_PPC} \ -%{mcpu=604: -D_ARCH_PPC} \ -%{mcpu=620: -D_ARCH_PPC} \ -%{mcpu=821: -D_ARCH_PPC} \ -%{mcpu=860: -D_ARCH_PPC}" +#undef CPP_SYSV_DEFAULT_SPEC +#define CPP_SYSV_DEFAULT_SPEC "-D_CALL_AIX" /* Define this macro as a C expression for the initializer of an array of string to tell the driver program which options are diff --git a/gcc/config/rs6000/eabile.h b/gcc/config/rs6000/eabile.h index 3927c6b..aaa3ecd 100644 --- a/gcc/config/rs6000/eabile.h +++ b/gcc/config/rs6000/eabile.h @@ -25,42 +25,11 @@ Boston, MA 02111-1307, USA. */ #undef TARGET_DEFAULT #define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_LITTLE_ENDIAN) -#undef CPP_SPEC -#define CPP_SPEC "\ -%{posix: -D_POSIX_SOURCE} \ -%{mrelocatable: -D_RELOCATABLE} \ -%{mcall-sysv: -D_CALL_SYSV} %{mcall-nt: -D_CALL_NT} \ -%{mcall-aix: -D_CALL_AIX} %{mcall-aixdesc: -D_CALL_AIX -D_CALL_AIXDESC} \ -%{!mcall-sysv: %{!mcall-aix: %{!mcall-aixdesc: %{!mcall-nt: -D_CALL_SYSV}}}} \ -%{msoft-float: -D_SOFT_FLOAT} %{mcpu=403: -D_SOFT_FLOAT} \ -%{mbig: -D_BIG_ENDIAN -Amachine(bigendian)} \ +#undef CPP_ENDIAN_SPEC +#define CPP_ENDIAN_SPEC \ +"%{mbig: -D_BIG_ENDIAN -Amachine(bigendian)} \ %{mbig-endian: -D_BIG_ENDIAN -Amachine(bigendian)} \ -%{!mbig: %{!mbig-endian: -D_LITTLE_ENDIAN -Amachine(littleendian)}} \ -%{!mcpu*: \ - %{mpower: %{!mpower2: -D_ARCH_PWR}} \ - %{mpower2: -D_ARCH_PWR2} \ - %{mpowerpc*: -D_ARCH_PPC} \ - %{mno-powerpc: %{!mpower: %{!mpower2: -D_ARCH_COM}}} \ - %{!mno-powerpc: -D_ARCH_PPC}} \ -%{mcpu=common: -D_ARCH_COM} \ -%{mcpu=power: -D_ARCH_PWR} \ -%{mcpu=power2: -D_ARCH_PWR2} \ -%{mcpu=powerpc: -D_ARCH_PPC} \ -%{mcpu=rios: -D_ARCH_PWR} \ -%{mcpu=rios1: -D_ARCH_PWR} \ -%{mcpu=rios2: -D_ARCH_PWR2} \ -%{mcpu=rsc: -D_ARCH_PWR} \ -%{mcpu=rsc1: -D_ARCH_PWR} \ -%{mcpu=403: -D_ARCH_PPC} \ -%{mcpu=505: -D_ARCH_PPC} \ -%{mcpu=601: -D_ARCH_PPC -D_ARCH_PWR} \ -%{mcpu=602: -D_ARCH_PPC} \ -%{mcpu=603: -D_ARCH_PPC} \ -%{mcpu=603e: -D_ARCH_PPC} \ -%{mcpu=604: -D_ARCH_PPC} \ -%{mcpu=620: -D_ARCH_PPC} \ -%{mcpu=821: -D_ARCH_PPC} \ -%{mcpu=860: -D_ARCH_PPC}" +%{!mbig: %{!mbig-endian: -D_LITTLE_ENDIAN -Amachine(littleendian)}}" /* Define this macro as a C expression for the initializer of an array of string to tell the driver program which options are diff --git a/gcc/config/rs6000/lynx.h b/gcc/config/rs6000/lynx.h index 4f1c934..db2c0bb 100644 --- a/gcc/config/rs6000/lynx.h +++ b/gcc/config/rs6000/lynx.h @@ -72,34 +72,7 @@ Boston, MA 02111-1307, USA. */ /* This can become more refined as we have more powerpc options. */ #undef ASM_SPEC -#define ASM_SPEC "\ --u \ -%{!mcpu*: \ - %{mpower2: -mpwrx} \ - %{mpowerpc*: %{!mpower: -mppc}} \ - %{mno-powerpc: %{!mpower: %{!mpower2: -mcom}}} \ - %{mno-powerpc: %{mpower: %{!mpower2: -mpwr}}} \ - %{!mno-powerpc: %{mpower: -m601}} \ - %{!mno-powerpc: %{!mpower: -mppc}}} \ -%{mcpu=common: -mcom} \ -%{mcpu=power: -mpwr} \ -%{mcpu=power2: -mpwrx} \ -%{mcpu=powerpc: -mppc} \ -%{mcpu=rios: -mpwr} \ -%{mcpu=rios1: -mpwr} \ -%{mcpu=rios2: -mpwrx} \ -%{mcpu=rsc: -mpwr} \ -%{mcpu=rsc1: -mpwr} \ -%{mcpu=403: -mppc} \ -%{mcpu=505: -mppc} \ -%{mcpu=601: -m601} \ -%{mcpu=602: -mppc} \ -%{mcpu=603: -mppc} \ -%{mcpu=603e: -mppc} \ -%{mcpu=604: -mppc} \ -%{mcpu=620: -mppc} \ -%{mcpu=821: -mppc} \ -%{mcpu=860: -mppc}" +#define ASM_SPEC "-u %(asm_cpu)" #undef SUBTARGET_SWITCHES #define SUBTARGET_SWITCHES \ diff --git a/gcc/config/rs6000/netware.h b/gcc/config/rs6000/netware.h index b11204c..83cd7cf 100644 --- a/gcc/config/rs6000/netware.h +++ b/gcc/config/rs6000/netware.h @@ -182,34 +182,7 @@ toc_section () \ fprintf (FILE, ".%s", PREFIX) #undef ASM_SPEC -#define ASM_SPEC "\ --u \ -%{!mcpu*: \ - %{mpower2: -mpwrx} \ - %{mpowerpc*: %{!mpower: -mppc}} \ - %{mno-powerpc: %{!mpower: %{!mpower2: -mcom}}} \ - %{mno-powerpc: %{mpower: %{!mpower2: -mpwr}}} \ - %{!mno-powerpc: %{mpower: -m601}} \ - %{!mno-powerpc: %{!mpower: -mppc}}} \ -%{mcpu=common: -mcom} \ -%{mcpu=power: -mpwr} \ -%{mcpu=power2: -mpwrx} \ -%{mcpu=powerpc: -mppc} \ -%{mcpu=rios: -mpwr} \ -%{mcpu=rios1: -mpwr} \ -%{mcpu=rios2: -mpwrx} \ -%{mcpu=rsc: -mpwr} \ -%{mcpu=rsc1: -mpwr} \ -%{mcpu=403: -mppc} \ -%{mcpu=505: -mppc} \ -%{mcpu=601: -m601} \ -%{mcpu=602: -mppc} \ -%{mcpu=603: -mppc} \ -%{mcpu=603e: -mppc} \ -%{mcpu=604: -mppc} \ -%{mcpu=620: -mppc} \ -%{mcpu=821: -mppc} \ -%{mcpu=860: -mppc} \ +#define ASM_SPEC "-u %(asm_cpu) \ %{V} %{v:%{!V:-V}} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}" /* This is the end of what might become sysv4.h. */ diff --git a/gcc/config/rs6000/powerpc.h b/gcc/config/rs6000/powerpc.h index 5d915cb..c050690 100644 --- a/gcc/config/rs6000/powerpc.h +++ b/gcc/config/rs6000/powerpc.h @@ -24,66 +24,17 @@ Boston, MA 02111-1307, USA. */ #include "rs6000/rs6000.h" #undef ASM_SPEC -#define ASM_SPEC "-u \ -%{!mcpu*: \ - %{mpower2: -mpwrx} \ - %{mpowerpc*: %{!mpower: -mppc}} \ - %{mno-powerpc: %{!mpower: %{!mpower2: -mcom}}} \ - %{mno-powerpc: %{mpower: %{!mpower2: -mpwr}}} \ - %{!mno-powerpc: %{mpower: -m601}} \ - %{!mno-powerpc: %{!mpower: -mppc}}} \ -%{mcpu=common: -mcom} \ -%{mcpu=power: -mpwr} \ -%{mcpu=power2: -mpwrx} \ -%{mcpu=powerpc: -mppc} \ -%{mcpu=rios: -mpwr} \ -%{mcpu=rios1: -mpwr} \ -%{mcpu=rios2: -mpwrx} \ -%{mcpu=rsc: -mpwr} \ -%{mcpu=rsc1: -mpwr} \ -%{mcpu=403: -mppc} \ -%{mcpu=505: -mppc} \ -%{mcpu=601: -m601} \ -%{mcpu=602: -mppc} \ -%{mcpu=603: -mppc} \ -%{mcpu=603e: -mppc} \ -%{mcpu=604: -mppc} \ -%{mcpu=620: -mppc} \ -%{mcpu=821: -mppc} \ -%{mcpu=860: -mppc}" +#define ASM_SPEC "-u %(asm_cpu)" #undef CPP_PREDEFINES #define CPP_PREDEFINES "-D_IBMR2 -D_POWER -D_AIX -D_AIX32 \ -Asystem(unix) -Asystem(aix) -Acpu(powerpc) -Amachine(powerpc)" -#undef CPP_SPEC -#define CPP_SPEC "\ -%{posix: -D_POSIX_SOURCE} \ -%{!mcpu*: \ - %{mpower: %{!mpower2: -D_ARCH_PWR}} \ - %{mpower2: -D_ARCH_PWR2} \ - %{mpowerpc*: -D_ARCH_PPC} \ - %{mno-powerpc: %{!mpower: %{!mpower2: -D_ARCH_COM}}} \ - %{!mno-powerpc: -D_ARCH_PPC}} \ -%{mcpu=common: -D_ARCH_COM} \ -%{mcpu=power: -D_ARCH_PWR} \ -%{mcpu=power2: -D_ARCH_PWR2} \ -%{mcpu=powerpc: -D_ARCH_PPC} \ -%{mcpu=rios: -D_ARCH_PWR} \ -%{mcpu=rios1: -D_ARCH_PWR} \ -%{mcpu=rios2: -D_ARCH_PWR2} \ -%{mcpu=rsc: -D_ARCH_PWR} \ -%{mcpu=rsc1: -D_ARCH_PWR} \ -%{mcpu=403: -D_ARCH_PPC} \ -%{mcpu=505: -D_ARCH_PPC} \ -%{mcpu=601: -D_ARCH_PPC -D_ARCH_PWR} \ -%{mcpu=602: -D_ARCH_PPC} \ -%{mcpu=603: -D_ARCH_PPC} \ -%{mcpu=603e: -D_ARCH_PPC} \ -%{mcpu=604: -D_ARCH_PPC} \ -%{mcpu=620: -D_ARCH_PPC} \ -%{mcpu=821: -D_ARCH_PPC} \ -%{mcpu=860: -D_ARCH_PPC}" +#undef CPP_DEFAULT_SPEC +#define CPP_DEFAULT_SPEC "-D_ARCH_PPC" + +#undef ASM_DEFAULT_SPEC +#define ASM_DEFAULT_SPEC "-mppc" #undef TARGET_DEFAULT #define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS) diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index 002c5ee..51c1ffd 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -45,19 +45,22 @@ Boston, MA 02111-1307, USA. */ longer be needed. Also, the extern declaration of mcount in ASM_FILE_START will no longer be needed. */ -/* #define ASM_SPEC "-u" */ +/* #define ASM_SPEC "-u %(asm_cpu)" */ /* Define appropriate architecture macros for preprocessor depending on target switches. */ -#define CPP_SPEC "\ -%{posix: -D_POSIX_SOURCE} \ -%{!mcpu*: \ +#define CPP_SPEC "%{posix: -D_POSIX_SOURCE} %(cpp_cpu)" + +/* Common CPP definitions used by CPP_SPEC amonst the various targets + for handling -mcpu=xxx switches. */ +#define CPP_CPU_SPEC \ +"%{!mcpu*: \ %{mpower: %{!mpower2: -D_ARCH_PWR}} \ %{mpower2: -D_ARCH_PWR2} \ %{mpowerpc*: -D_ARCH_PPC} \ %{mno-power: %{!mpowerpc*: -D_ARCH_COM}} \ - %{!mno-power: %{!mpower2: -D_ARCH_PWR}}} \ + %{!mno-power: %{!mpower2: %(cpp_default)}}} \ %{mcpu=common: -D_ARCH_COM} \ %{mcpu=power: -D_ARCH_PWR} \ %{mcpu=power2: -D_ARCH_PWR2} \ @@ -70,7 +73,7 @@ Boston, MA 02111-1307, USA. */ %{mcpu=403: -D_ARCH_PPC} \ %{mcpu=505: -D_ARCH_PPC} \ %{mcpu=601: -D_ARCH_PPC -D_ARCH_PWR} \ -%{mcpu=602: -d_ARCH_PPC} \ +%{mcpu=602: -D_ARCH_PPC} \ %{mcpu=603: -D_ARCH_PPC} \ %{mcpu=603e: -D_ARCH_PPC} \ %{mcpu=604: -D_ARCH_PPC} \ @@ -78,6 +81,74 @@ Boston, MA 02111-1307, USA. */ %{mcpu=821: -D_ARCH_PPC} \ %{mcpu=860: -D_ARCH_PPC}" +#ifndef CPP_DEFAULT_SPEC +#define CPP_DEFAULT_SPEC "-D_ARCH_PWR" +#endif + +#ifndef CPP_SYSV_SPEC +#define CPP_SYSV_SPEC "" +#endif + +#ifndef CPP_ENDIAN_SPEC +#define CPP_ENDIAN_SPEC "" +#endif + +#ifndef CPP_SYSV_DEFAULT_SPEC +#define CPP_SYSV_DEFAULT_SPEC "" +#endif + +/* Common ASM definitions used by ASM_SPEC amonst the various targets + for handling -mcpu=xxx switches. */ +#define ASM_CPU_SPEC \ +"%{!mcpu*: \ + %{mpower: %{!mpower2: -mpwr}} \ + %{mpower2: -mpwrx} \ + %{mpowerpc*: -mppc} \ + %{mno-power: %{!mpowerpc*: -mcom}} \ + %{!mno-power: %{!mpower2: %(asm_default)}}} \ +%{mcpu=common: -mcom} \ +%{mcpu=power: -mpwr} \ +%{mcpu=power2: -mpwrx} \ +%{mcpu=powerpc: -mppc} \ +%{mcpu=rios: -mpwr} \ +%{mcpu=rios1: -mpwr} \ +%{mcpu=rios2: -mpwrx} \ +%{mcpu=rsc: -mpwr} \ +%{mcpu=rsc1: -mpwr} \ +%{mcpu=403: -mppc} \ +%{mcpu=505: -mppc} \ +%{mcpu=601: -m601} \ +%{mcpu=602: -mppc} \ +%{mcpu=603: -mppc} \ +%{mcpu=603e: -mppc} \ +%{mcpu=604: -mppc} \ +%{mcpu=620: -mppc} \ +%{mcpu=821: -mppc} \ +%{mcpu=860: -mppc}" + +#ifndef ASM_DEFAULT_SPEC +#define ASM_DEFAULT_SPEC "-mpwr" +#endif + +/* This macro defines names of additional specifications to put in the specs + that can be used in various specifications like CC1_SPEC. Its definition + is an initializer with a subgrouping for each command option. + + Each subgrouping contains a string constant, that defines the + specification name, and a string constant that used by the GNU CC driver + program. + + Do not define this macro if it does not need to do anything. */ + +#define EXTRA_SPECS \ + { "cpp_cpu", CPP_CPU_SPEC }, \ + { "cpp_default", CPP_DEFAULT_SPEC }, \ + { "cpp_sysv", CPP_SYSV_SPEC }, \ + { "cpp_sysv_default", CPP_SYSV_DEFAULT_SPEC }, \ + { "cpp_endian", CPP_ENDIAN_SPEC }, \ + { "asm_cpu", ASM_CPU_SPEC }, \ + { "asm_default", ASM_DEFAULT_SPEC } + /* Define the options for the binder: Start text at 512, align all segments to 512 bytes, and warn if there is text relocation. diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h index 586c359..0874299 100644 --- a/gcc/config/rs6000/sysv4.h +++ b/gcc/config/rs6000/sysv4.h @@ -425,34 +425,7 @@ extern int rs6000_pic_labelno; /* Pass -mppc to the assembler, since that is what powerpc.h currently implies. */ #undef ASM_SPEC -#define ASM_SPEC "\ --u \ -%{!mcpu*: \ - %{mpower2: -mpwrx} \ - %{mpowerpc*: %{!mpower: -mppc}} \ - %{mno-powerpc: %{!mpower: %{!mpower2: -mcom}}} \ - %{mno-powerpc: %{mpower: %{!mpower2: -mpwr}}} \ - %{!mno-powerpc: %{mpower: -m601}} \ - %{!mno-powerpc: %{!mpower: -mppc}}} \ -%{mcpu=common: -mcom} \ -%{mcpu=power: -mpwr} \ -%{mcpu=power2: -mpwrx} \ -%{mcpu=powerpc: -mppc} \ -%{mcpu=rios: -mpwr} \ -%{mcpu=rios1: -mpwr} \ -%{mcpu=rios2: -mpwrx} \ -%{mcpu=rsc: -mpwr} \ -%{mcpu=rsc1: -mpwr} \ -%{mcpu=403: -mppc} \ -%{mcpu=505: -mppc} \ -%{mcpu=601: -m601} \ -%{mcpu=602: -mppc} \ -%{mcpu=603: -mppc} \ -%{mcpu=603e: -mppc} \ -%{mcpu=604: -mppc} \ -%{mcpu=620: -mppc} \ -%{mcpu=821: -mppc} \ -%{mcpu=860: -mppc} \ +#define ASM_SPEC "-u %(asm_cpu) \ %{V} %{v:%{!V:-V}} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} \ %{mrelocatable} %{mrelocatable-lib} %{memb} \ %{mlittle} %{mlittle-endian} %{mbig} %{mbig-endian}" @@ -608,42 +581,25 @@ do { \ %{mbig: -oformat elf32-powerpc } %{mbig-endian: -oformat elf32-powerpc }" #endif /* CROSS_COMPILE */ -#undef CPP_SPEC -#define CPP_SPEC "\ -%{posix: -D_POSIX_SOURCE} \ -%{mrelocatable: -D_RELOCATABLE} \ +#undef CPP_SYSV_SPEC +#define CPP_SYSV_SPEC \ +"%{mrelocatable: -D_RELOCATABLE} \ %{mcall-sysv: -D_CALL_SYSV} %{mcall-nt: -D_CALL_NT} \ %{mcall-aix: -D_CALL_AIX} %{mcall-aixdesc: -D_CALL_AIX -D_CALL_AIXDESC} \ -%{!mcall-sysv: %{!mcall-aix: %{!mcall-aixdesc: %{!mcall-nt: -D_CALL_SYSV}}}} \ -%{msoft-float: -D_SOFT_FLOAT} %{mcpu=403: -D_SOFT_FLOAT} \ -%{mlittle: -D_LITTLE_ENDIAN -Amachine(littleendian)} \ +%{!mcall-sysv: %{!mcall-aix: %{!mcall-aixdesc: %{!mcall-nt: %(cpp_sysv_default) }}}} \ +%{msoft-float: -D_SOFT_FLOAT} %{mcpu=403: -D_SOFT_FLOAT}" + +#undef CPP_SYSV_DEFAULT_SPEC +#define CPP_SYSV_DEFAULT_SPEC "-D_CALL_SYSV" + +#undef CPP_ENDIAN_SPEC +#define CPP_ENDIAN_SPEC \ +"%{mlittle: -D_LITTLE_ENDIAN -Amachine(littleendian)} \ %{mlittle-endian: -D_LITTLE_ENDIAN -Amachine(littleendian)} \ -%{!mlittle: %{!mlittle-endian: -D_BIG_ENDIAN -Amachine(bigendian)}} \ -%{!mcpu*: \ - %{mpower: %{!mpower2: -D_ARCH_PWR}} \ - %{mpower2: -D_ARCH_PWR2} \ - %{mpowerpc*: -D_ARCH_PPC} \ - %{mno-powerpc: %{!mpower: %{!mpower2: -D_ARCH_COM}}} \ - %{!mno-powerpc: -D_ARCH_PPC}} \ -%{mcpu=common: -D_ARCH_COM} \ -%{mcpu=power: -D_ARCH_PWR} \ -%{mcpu=power2: -D_ARCH_PWR2} \ -%{mcpu=powerpc: -D_ARCH_PPC} \ -%{mcpu=rios: -D_ARCH_PWR} \ -%{mcpu=rios1: -D_ARCH_PWR} \ -%{mcpu=rios2: -D_ARCH_PWR2} \ -%{mcpu=rsc: -D_ARCH_PWR} \ -%{mcpu=rsc1: -D_ARCH_PWR} \ -%{mcpu=403: -D_ARCH_PPC} \ -%{mcpu=505: -D_ARCH_PPC} \ -%{mcpu=601: -D_ARCH_PPC -D_ARCH_PWR} \ -%{mcpu=602: -D_ARCH_PPC} \ -%{mcpu=603: -D_ARCH_PPC} \ -%{mcpu=603e: -D_ARCH_PPC} \ -%{mcpu=604: -D_ARCH_PPC} \ -%{mcpu=620: -D_ARCH_PPC} \ -%{mcpu=821: -D_ARCH_PPC} \ -%{mcpu=860: -D_ARCH_PPC}" +%{!mlittle: %{!mlittle-endian: -D_BIG_ENDIAN -Amachine(bigendian)}}" + +#undef CPP_SPEC +#define CPP_SPEC "%{posix: -D_POSIX_SOURCE} %(cpp_sysv) %(cpp_endian) %(cpp_cpu)" /* Define this macro as a C expression for the initializer of an array of string to tell the driver program which options are diff --git a/gcc/config/rs6000/sysv4le.h b/gcc/config/rs6000/sysv4le.h index 4d05d90..14663a6 100644 --- a/gcc/config/rs6000/sysv4le.h +++ b/gcc/config/rs6000/sysv4le.h @@ -25,39 +25,12 @@ Boston, MA 02111-1307, USA. */ #undef TARGET_DEFAULT #define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_LITTLE_ENDIAN) -#undef CPP_SPEC -#define CPP_SPEC "\ -%{posix: -D_POSIX_SOURCE} \ -%{mrelocatable: -D_RELOCATABLE} \ -%{mcall-sysv: -D_CALL_SYSV} %{mcall-nt: -D_CALL_NT} \ -%{mcall-aix: -D_CALL_AIX} %{mcall-aixdesc: -D_CALL_AIX -D_CALL_AIXDESC} \ -%{!mcall-sysv: %{!mcall-aix: %{!mcall-aixdesc: %{!mcall-nt: -D_CALL_SYSV}}}} \ -%{msoft-float: -D_SOFT_FLOAT} %{mcpu=403: -D_SOFT_FLOAT} \ -%{mbig: -D_BIG_ENDIAN -Amachine(bigendian)} \ +#undef CPP_ENDIAN_SPEC +#define CPP_ENDIAN_SPEC \ +"%{mbig: -D_BIG_ENDIAN -Amachine(bigendian)} \ %{mbig-endian: -D_BIG_ENDIAN -Amachine(bigendian)} \ -%{!mbig: %{!mbig-endian: -D_LITTLE_ENDIAN -Amachine(littleendian)}} \ -%{!mcpu*: \ - %{mpower: %{!mpower2: -D_ARCH_PWR}} \ - %{mpower2: -D_ARCH_PWR2} \ - %{mpowerpc*: -D_ARCH_PPC} \ - %{mno-powerpc: %{!mpower: %{!mpower2: -D_ARCH_COM}}} \ - %{!mno-powerpc: -D_ARCH_PPC}} \ -%{mcpu=common: -D_ARCH_COM} \ -%{mcpu=power: -D_ARCH_PWR} \ -%{mcpu=power2: -D_ARCH_PWR2} \ -%{mcpu=powerpc: -D_ARCH_PPC} \ -%{mcpu=rios: -D_ARCH_PWR} \ -%{mcpu=rios1: -D_ARCH_PWR} \ -%{mcpu=rios2: -D_ARCH_PWR2} \ -%{mcpu=rsc: -D_ARCH_PWR} \ -%{mcpu=rsc1: -D_ARCH_PWR} \ -%{mcpu=403: -D_ARCH_PPC} \ -%{mcpu=601: -D_ARCH_PPC -D_ARCH_PWR} \ -%{mcpu=602: -D_ARCH_PPC} \ -%{mcpu=603: -D_ARCH_PPC} \ -%{mcpu=603e: -D_ARCH_PPC} \ -%{mcpu=604: -D_ARCH_PPC} \ -%{mcpu=620: -D_ARCH_PPC}" +%{!mbig: %{!mbig-endian: -D_LITTLE_ENDIAN -Amachine(littleendian)}}" + /* Define this macro as a C expression for the initializer of an array of string to tell the driver program which options are |