diff options
Diffstat (limited to 'contrib/gcc/config/alpha/osf.h')
-rw-r--r-- | contrib/gcc/config/alpha/osf.h | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/contrib/gcc/config/alpha/osf.h b/contrib/gcc/config/alpha/osf.h index 250974c..efb0a16 100644 --- a/contrib/gcc/config/alpha/osf.h +++ b/contrib/gcc/config/alpha/osf.h @@ -47,7 +47,8 @@ Boston, MA 02111-1307, USA. */ #undef CPP_SUBTARGET_SPEC #define CPP_SUBTARGET_SPEC \ -"%{pthread|threads:-D_REENTRANT} %{threads:-D_PTHREAD_USE_D4} %(cpp_xfloat)" +"%{pthread|threads:-D_REENTRANT} %{threads:-D_PTHREAD_USE_D4} %(cpp_xfloat) \ +-D__EXTERN_PREFIX" /* Under OSF4, -p and -pg require -lprof1, and -lprof1 requires -lpdf. */ @@ -56,12 +57,13 @@ Boston, MA 02111-1307, USA. */ %{threads: -lpthreads} %{pthread|threads: -lpthread -lmach -lexc} -lc" /* Pass "-G 8" to ld because Alpha's CC does. Pass -O3 if we are - optimizing, -O1 if we are not. Pass -shared, -non_shared or + optimizing, -O1 if we are not. Pass -S to silence `weak symbol + multiply defined' warnings. Pass -shared, -non_shared or -call_shared as appropriate. Pass -hidden_symbol so that our constructor and call-frame data structures are not accidentally overridden. */ #define LINK_SPEC \ - "-G 8 %{O*:-O3} %{!O*:-O1} %{static:-non_shared} \ + "-G 8 %{O*:-O3} %{!O*:-O1} -S %{static:-non_shared} \ %{!static:%{shared:-shared -hidden_symbol _GLOBAL_*} \ %{!shared:-call_shared}} %{pg} %{taso} %{rpath*}" @@ -93,19 +95,18 @@ Boston, MA 02111-1307, USA. */ #define ASM_OLDAS_SPEC "" -/* No point in running CPP on our assembler output. */ -#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_GAS) != 0 -/* Don't pass -g to GNU as, because some versions don't accept this option. */ -#define ASM_SPEC "%{malpha-as:-g %(asm_oldas)} -nocpp %{pg}" -#else /* In OSF/1 v3.2c, the assembler by default does not output file names which causes mips-tfile to fail. Passing -g to the assembler fixes this problem. ??? Strictly speaking, we need -g only if the user specifies -g. Passing it always means that we get slightly larger than necessary object files if the user does not specify -g. If we don't pass -g, then mips-tfile will need to be fixed to work in this case. Pass -O0 since some - optimization are broken and don't help us anyway. */ -#define ASM_SPEC "%{!mgas:-g %(asm_oldas)} -nocpp %{pg} -O0" + optimization are broken and don't help us anyway. Pass -nocpp because + there's no point in running CPP on our assembler output. */ +#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_GAS) != 0 +#define ASM_SPEC "%{malpha-as:-g %(asm_oldas) -nocpp %{pg} -O0}" +#else +#define ASM_SPEC "%{!mgas:-g %(asm_oldas) -nocpp %{pg} -O0}" #endif /* Specify to run a post-processor, mips-tfile after the assembler @@ -209,3 +210,7 @@ __enable_execute_stack (addr) \ /* Handle #pragma weak and #pragma pack. */ #undef HANDLE_SYSV_PRAGMA #define HANDLE_SYSV_PRAGMA 1 + +/* Handle #pragma extern_prefix. Technically only needed for Tru64 5.x, + but easier to manipulate preprocessor bits from here. */ +#define HANDLE_PRAGMA_EXTERN_PREFIX 1 |