diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2001-02-07 05:43:59 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2001-02-07 05:43:59 +0000 |
commit | 3dbd113495ce82dbc114a82b8018580c56592669 (patch) | |
tree | 4bf5c9d4d1cf5b527a7d6ac3c9181bdabb4f43ae /gcc | |
parent | 64c8ea244c2c4eec88eb0f150e1cbf148682d642 (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/elfos.h | 15 | ||||
-rw-r--r-- | gcc/config/sh/sh.h | 31 |
3 files changed, 45 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9c1596c..e3bb18f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2001-02-07 Alexandre Oliva <aoliva@redhat.com> + + * 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. + 2001-02-06 Chandrakala Chavva <cchavva@redhat.com> * final.c: Revert back my previous changes. diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h index 27ee2f2..7d9ac76 100644 --- a/gcc/config/elfos.h +++ b/gcc/config/elfos.h @@ -1,6 +1,7 @@ /* elfos.h -- operating system specific defines to be used when targeting GCC for some generic ELF system - Copyright (C) 1991, 1994, 1995, 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1991, 1994, 1995, 1999, 2000, 2001 + Free Software Foundation, Inc. Based on svr4.h contributed by Ron Guilmette (rfg@netcom.com). This file is part of GNU CC. @@ -232,11 +233,17 @@ Boston, MA 02111-1307, USA. */ } \ while (0) -/* This is the pseudo-op used to generate a 32-bit word of data with a - specific value in some section. This is the same for all known svr4 - assemblers. */ +/* This is the pseudo-op used to generate a reference to a specific + symbol in some section. It is only used in machine-specific + configuration files, typically only in ASM_OUTPUT_CONSTRUCTOR and + ASM_OUTPUT_DESTRUCTOR. This is the same for all known svr4 + assemblers, except those in targets that don't use 32-bit pointers. + Those should override INT_ASM_OP. Yes, the name of the macro is + misleading. */ +#ifndef INT_ASM_OP #define INT_ASM_OP "\t.long\t" +#endif /* This is the pseudo-op used to generate a contiguous sequence of byte values from a double-quoted string WITHOUT HAVING A TERMINATING NUL 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 |