summaryrefslogtreecommitdiff
path: root/gcc/config/mips/elf.h
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2003-07-14 20:23:38 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2003-07-14 20:23:38 +0000
commit592ea28a8ea424ef8022fff605d1e1bc75f357c3 (patch)
treed8fcce325648b50082ca7959a14505993fc8914f /gcc/config/mips/elf.h
parent4527e774a0c03b05d80d01c237597db280969d24 (diff)
downloadgcc-592ea28a8ea424ef8022fff605d1e1bc75f357c3.tar.gz
* config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
mips_declare_object_name. (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object. * config/mips/elf64.h: As for elf.h. * config/mips/iris6.h: Likewise. * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h. * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary do...while (0) block. * config/mips/mips-protos.h (mips_declare_object_name): Declare. (mips_finish_declare_object): Declare. * config/mips/mips.c (mips_declare_object_name): New function. (mips_finish_declare_object): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69352 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/mips/elf.h')
-rw-r--r--gcc/config/mips/elf.h49
1 files changed, 5 insertions, 44 deletions
diff --git a/gcc/config/mips/elf.h b/gcc/config/mips/elf.h
index f8015258c00..a13c864a729 100644
--- a/gcc/config/mips/elf.h
+++ b/gcc/config/mips/elf.h
@@ -95,50 +95,11 @@ do { \
} while (0)
#endif
-/* These macros generate the special .type and .size directives which
- are used to set the corresponding fields of the linker symbol table
- entries in an ELF object file under SVR4. These macros also output
- the starting labels for the relevant functions/objects. */
-
-/* Write the extra assembler code needed to declare an object properly. */
-
-#undef ASM_DECLARE_OBJECT_NAME
-#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \
- do { \
- HOST_WIDE_INT size; \
- ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object"); \
- size_directive_output = 0; \
- if (!flag_inhibit_size_directive && DECL_SIZE (DECL)) \
- { \
- size_directive_output = 1; \
- size = int_size_in_bytes (TREE_TYPE (DECL)); \
- ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, size); \
- } \
- mips_declare_object (FILE, NAME, "", ":\n", 0); \
- } while (0)
-
-/* Output the size directive for a decl in rest_of_decl_compilation
- in the case where we did not do so before the initializer.
- Once we find the error_mark_node, we know that the value of
- size_directive_output was set
- by ASM_DECLARE_OBJECT_NAME when it was run for the same decl. */
-
-#undef ASM_FINISH_DECLARE_OBJECT
-#define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END) \
-do { \
- const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \
- HOST_WIDE_INT size; \
- \
- if (!flag_inhibit_size_directive && DECL_SIZE (DECL) \
- && ! AT_END && TOP_LEVEL \
- && DECL_INITIAL (DECL) == error_mark_node \
- && !size_directive_output) \
- { \
- size_directive_output = 1; \
- size = int_size_in_bytes (TREE_TYPE (DECL)); \
- ASM_OUTPUT_SIZE_DIRECTIVE (FILE, name, size); \
- } \
- } while (0)
+#undef ASM_DECLARE_OBJECT_NAME
+#define ASM_DECLARE_OBJECT_NAME mips_declare_object_name
+
+#undef ASM_FINISH_DECLARE_OBJECT
+#define ASM_FINISH_DECLARE_OBJECT mips_finish_declare_object
#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \
do { fputc ( '\t', FILE); \