aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/sh
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2001-02-07 05:43:59 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2001-02-07 05:43:59 +0000
commit3dbd113495ce82dbc114a82b8018580c56592669 (patch)
tree4bf5c9d4d1cf5b527a7d6ac3c9181bdabb4f43ae /gcc/config/sh
parent64c8ea244c2c4eec88eb0f150e1cbf148682d642 (diff)
downloadgcc-3dbd113495ce82dbc114a82b8018580c56592669.zip
gcc-3dbd113495ce82dbc114a82b8018580c56592669.tar.gz
gcc-3dbd113495ce82dbc114a82b8018580c56592669.tar.bz2
elfos.h (INT_ASM_OP): Don't define it if it's already defined.
* config/elfos.h (INT_ASM_OP): Don't define it if it's already defined. * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h. From-SVN: r39510
Diffstat (limited to 'gcc/config/sh')
-rw-r--r--gcc/config/sh/sh.h31
1 files changed, 27 insertions, 4 deletions
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index ebc98b3..01473bd 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -1931,11 +1931,34 @@ dtors_section() \
#define ASM_OUTPUT_SECTION_NAME(FILE, DECL, NAME, RELOC) \
do { fprintf (FILE, ".section\t%s\n", NAME); } while (0)
-#define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME) \
- do { ctors_section(); asm_fprintf((FILE),"\t.long\t%U%s\n", (NAME)); } while (0)
+/* This is the pseudo-op used to generate a reference to a specific
+ symbol in some section. */
-#define ASM_OUTPUT_DESTRUCTOR(FILE,NAME) \
- do { dtors_section(); asm_fprintf((FILE),"\t.long\t%U%s\n", (NAME)); } while (0)
+#define INT_ASM_OP "\t.long\t"
+
+/* A C statement (sans semicolon) to output an
+ element in the table of global constructors. */
+#define ASM_OUTPUT_CONSTRUCTOR(FILE, NAME) \
+ do \
+ { \
+ ctors_section (); \
+ fprintf (FILE, "%s", INT_ASM_OP); \
+ assemble_name (FILE, NAME); \
+ fprintf (FILE, "\n"); \
+ } \
+ while (0)
+
+/* A C statement (sans semicolon) to output an
+ element in the table of global destructors. */
+#define ASM_OUTPUT_DESTRUCTOR(FILE,NAME) \
+ do \
+ { \
+ dtors_section (); \
+ fprintf (FILE, "%s", INT_ASM_OP); \
+ assemble_name (FILE, NAME); \
+ fprintf (FILE, "\n"); \
+ } \
+ while (0)
#undef DO_GLOBAL_CTORS_BODY