aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Hannum <mycroft@gnu.org>1992-07-03 21:16:00 +0000
committerCharles Hannum <mycroft@gnu.org>1992-07-03 21:16:00 +0000
commitdd452ebae7b3340ed2e076cf26029828b151aadc (patch)
treec948d395e8190d6c0dd2b224befc749cb7151b0f
parented4938723df83b6bd8c0d425f5e6bf626b1e0432 (diff)
downloadgcc-dd452ebae7b3340ed2e076cf26029828b151aadc.zip
gcc-dd452ebae7b3340ed2e076cf26029828b151aadc.tar.gz
gcc-dd452ebae7b3340ed2e076cf26029828b151aadc.tar.bz2
entered into RCS
From-SVN: r1412
-rw-r--r--gcc/config/svr4.h25
1 files changed, 22 insertions, 3 deletions
diff --git a/gcc/config/svr4.h b/gcc/config/svr4.h
index 382171b..d7fac7a 100644
--- a/gcc/config/svr4.h
+++ b/gcc/config/svr4.h
@@ -193,10 +193,12 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
.ident string is patterned after the ones produced by native svr4
C compilers. */
+#define IDENT_ASM_OP ".ident"
+
#define ASM_FILE_END(FILE) \
do { \
- fprintf ((FILE), "\t.ident\t\"GCC: (GNU) %s\"\n", \
- version_string); \
+ fprintf ((FILE), "\t%s\t\"GCC: (GNU) %s\"\n", \
+ IDENT_ASM_OP, version_string); \
} while (0)
/* Allow #sccs in preprocessor. */
@@ -206,7 +208,7 @@ do { \
/* Output #ident as a .ident. */
#define ASM_OUTPUT_IDENT(FILE, NAME) \
- fprintf (FILE, "\t.ident \"%s\"\n", NAME);
+ fprintf (FILE, "\t%s\t\"%s\"\n", IDENT_ASM_OP, NAME);
/* Use periods rather than dollar signs in special g++ assembler names. */
@@ -315,6 +317,23 @@ do { \
sprintf (LABEL, "*.%s%d", PREFIX, NUM); \
} while (0)
+/* Output the label which preceeds a jumptable. Note that for all svr4
+ systems where we actually generate jumptables (which is to say every
+ svr4 target except i386, where we use casesi instead) we put the jump-
+ tables into the .rodata section and since other stuff could have been
+ put into the .rodata section prior to any given jumptable, we have to
+ make sure that the location counter for the .rodata section gets pro-
+ perly re-aligned prior to the actual beginning of the jump table. */
+
+#define ALIGN_ASM_OP ".align"
+
+#undef ASM_OUTPUT_CASE_LABEL
+#define ASM_OUTPUT_CASE_LABEL(FILE,PREFIX,NUM,JUMPTABLE) \
+ do { \
+ ASM_OUTPUT_ALIGN ((FILE), 2); \
+ ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM); \
+ } while (0)
+
/* The standard SVR4 assembler seems to require that certain builtin
library routines (e.g. .udiv) be explicitly declared as .globl
in each assembly file where they are referenced. */