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
This commit is contained in:
Alexandre Oliva 2001-02-07 05:43:59 +00:00 committed by Alexandre Oliva
parent 64c8ea244c
commit 3dbd113495
3 changed files with 45 additions and 8 deletions

View File

@ -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.

View File

@ -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

View File

@ -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