summaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>2001-04-20 01:13:37 +0000
committerJeff Law <law@gcc.gnu.org>2001-04-19 19:13:37 -0600
commitfe6adb3e8da9d209fab4b4420f3ef260ece06e46 (patch)
tree007e89580f236ac2a1322b92303216779615dafb /gcc/config
parent4188d924a31f96065833ee5bfa4f1b8dbcfe98f9 (diff)
downloadgcc-fe6adb3e8da9d209fab4b4420f3ef260ece06e46.tar.gz
pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
* config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine. * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define. * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace name at 32 total characters. (ASM_OUTPUT_SECTION_NAME): Similarly. Also, only support placing functions in named sections -- data items can still go into unique sections, but they have normal names (ie $LIT$ and $DATA$). * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support INIT_PRIORITY. From-SVN: r41436
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/pa/pa-linux.h2
-rw-r--r--gcc/config/pa/pa.h11
-rw-r--r--gcc/config/pa/som.h24
3 files changed, 28 insertions, 9 deletions
diff --git a/gcc/config/pa/pa-linux.h b/gcc/config/pa/pa-linux.h
index baa1cf5b4a5..5ed5901433d 100644
--- a/gcc/config/pa/pa-linux.h
+++ b/gcc/config/pa/pa-linux.h
@@ -27,6 +27,8 @@ Boston, MA 02111-1307, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-D__ELF__ -Dunix -D__hppa__ -Dlinux -Asystem=unix -Asystem=posix -Acpu=hppa -Amachine=hppa -Amachine=bigendian"
+#undef CPLUSPLUS_CPP_SPEC
+
#undef LIB_SPEC
#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 6b3eceea903..1ce9794839a 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -329,6 +329,17 @@ extern int target_flags;
%{!ansi: -D_HPUX_SOURCE -D_HIUX_SOURCE -D__STDC_EXT__} \
%{threads: -D_REENTRANT -D_DCE_THREADS}"
+#define CPLUSPLUS_CPP_SPEC "\
+-D_HPUX_SOURCE -D_HIUX_SOURCE -D__STDC_EXT__ \
+%{mpa-risc-1-0:%(cpp_pa10)} \
+%{mpa-risc-1-1:%(cpp_pa11)} \
+%{msnake:%(cpp_pa11)} \
+%{mpa-risc-2-0:%(cpp_pa20)} \
+%{!mpa-risc-1-0:%{!mpa-risc-1-1:%{!mpa-risc-2-0:%{!msnake:%(cpp_cpu_default)}}}} \
+%{m64bit:%(cpp_64bit)} \
+%{!m64bit:%(cpp_64bit_default)} \
+%{threads: -D_REENTRANT -D_DCE_THREADS}"
+
/* Defines for a K&R CC */
#define CC1_SPEC "%{pg:} %{p:}"
diff --git a/gcc/config/pa/som.h b/gcc/config/pa/som.h
index 9f688e99e1c..57f69ac0f58 100644
--- a/gcc/config/pa/som.h
+++ b/gcc/config/pa/som.h
@@ -127,7 +127,7 @@ do { \
fputs ("\t.NSUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY\n", FILE); \
else if (TARGET_GAS) \
fprintf (FILE, \
- "\t.SUBSPA .%s\n", name); \
+ "\t.SUBSPA .%.30s\n", name); \
}
#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \
@@ -270,23 +270,24 @@ do { \
if (DECL && TREE_CODE (DECL) == FUNCTION_DECL) \
{ \
fputs ("\t.SPACE $TEXT$\n", FILE); \
- fprintf (FILE, \
- "\t.SUBSPA %s%s%s,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY,SORT=24\n",\
- TARGET_GAS ? "" : "$", NAME, TARGET_GAS ? "" : "$"); \
+ if (TARGET_GAS) \
+ fprintf (FILE, \
+ "\t.NSUBSPA %.31s,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY,SORT=24\n", NAME);\
+ else \
+ fprintf (FILE, \
+ "\t.NSUBSPA $%.29s$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY,SORT=24\n", NAME);\
} \
- else if (DECL && DECL_READONLY_SECTION (DECL, RELOC)) \
+ else if (!RELOC && DECL && DECL_READONLY_SECTION (DECL, RELOC))\
{ \
fputs ("\t.SPACE $TEXT$\n", FILE); \
fprintf (FILE, \
- "\t.SUBSPA %s%s%s,QUAD=0,ALIGN=8,ACCESS=44,SORT=16\n", \
- TARGET_GAS ? "" : "$", NAME, TARGET_GAS ? "" : "$"); \
+ "\t.NSUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44,SORT=16\n");\
} \
else \
{ \
fputs ("\t.SPACE $PRIVATE$\n", FILE); \
fprintf (FILE, \
- "\t.SUBSPA %s%s%s,QUAD=1,ALIGN=8,ACCESS=31,SORT=16\n", \
- TARGET_GAS ? "" : "$", NAME, TARGET_GAS ? "" : "$"); \
+ "\t.NSUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31,SORT=16\n");\
}
/* FIXME: HPUX ld generates incorrect GOT entries for "T" fixups
@@ -402,3 +403,8 @@ do { \
} while (0)
#endif
#endif
+
+/* SOM does not support the init_priority C++ attribute. */
+#undef SUPPORTS_INIT_PRIORITY
+#define SUPPORTS_INIT_PRIORITY 0
+