aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-03-02 18:17:07 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-03-02 18:17:07 -0800
commit2e4b9b8cc2e588371da3c00b58714b93b67796c9 (patch)
treeab3f6c2c5328b768cf2cdd0f5fc4571ffeaa90b8 /gcc/config
parentdc76f41ca633e9094e1c2d43b58bbab69a10f973 (diff)
downloadgcc-2e4b9b8cc2e588371da3c00b58714b93b67796c9.zip
gcc-2e4b9b8cc2e588371da3c00b58714b93b67796c9.tar.gz
gcc-2e4b9b8cc2e588371da3c00b58714b93b67796c9.tar.bz2
Makefile.in (OBJS): Add dwarf2asm.o.
* Makefile.in (OBJS): Add dwarf2asm.o. * dwarf2asm.c, dwarf2asm.h: New files. * dwarf2out.c (*): Use them. (size_of_uleb128, size_of_sleb128): Remove. (output_uleb128, output_sleb128): Remove. (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove. (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove. (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove. (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New. (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove. (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove. (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove. (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove. (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove. (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove. (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove. (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove. (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove. (dwarf2out_frame_debug): Remove unused variables. (output_loc_operands): Don't abort on 8 byte constants if host integers are wide enough. (output_symbolic_ref): Remove. (size_of_die): Don't assume 4 byte host integers. (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin and end labels. (add_const_value_attribute) [CONST_INT]: Verify we're not doing something stupid with HOST_WIDE_INT to long truncation. [CONST_DOUBLE]: Likewise. * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove. (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove. * config/arm/unknown-elf.h: Likewise. * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New. (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New. (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove. (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove. (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove. (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove. (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove. (ASM_OUTPUT_DWARF_OFFSET): Remove. * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove. * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New. (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove. (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove. From-SVN: r40197
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/arm/conix-elf.h17
-rw-r--r--gcc/config/arm/unknown-elf.h17
-rw-r--r--gcc/config/rs6000/aix.h45
-rw-r--r--gcc/config/rs6000/sysv4.h30
-rw-r--r--gcc/config/sparc/sp64-elf.h33
5 files changed, 6 insertions, 136 deletions
diff --git a/gcc/config/arm/conix-elf.h b/gcc/config/arm/conix-elf.h
index 2d447a5..a626af8 100644
--- a/gcc/config/arm/conix-elf.h
+++ b/gcc/config/arm/conix-elf.h
@@ -99,23 +99,6 @@ func_ptr __DTOR_END__[1] = { (func_ptr) 0 };
} \
while (0)
-/* Don't know how to order these. UNALIGNED_WORD_ASM_OP is in
- dwarf2.out. */
-#define UNALIGNED_WORD_ASM_OP "\t.4byte\t"
-
-#define ASM_OUTPUT_DWARF2_ADDR_CONST(FILE,ADDR) \
- fprintf ((FILE), "%s%s", UNALIGNED_WORD_ASM_OP, ADDR)
-
-#define ASM_OUTPUT_DWARF_ADDR_CONST(FILE,RTX) \
- do \
- { \
- fprintf ((FILE), "%s", UNALIGNED_WORD_ASM_OP); \
- output_addr_const ((FILE), (RTX)); \
- fputc ('\n', (FILE)); \
- } \
- while (0)
-
-
/* The ARM development system defines __main. */
#define NAME__MAIN "__gccmain"
#define SYMBOL__MAIN __gccmain
diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h
index 315baff..fab8155f 100644
--- a/gcc/config/arm/unknown-elf.h
+++ b/gcc/config/arm/unknown-elf.h
@@ -103,23 +103,6 @@ rdata_section () \
} \
while (0)
-/* Don't know how to order these. UNALIGNED_WORD_ASM_OP is in
- dwarf2.out. */
-#define UNALIGNED_WORD_ASM_OP "\t.4byte\t"
-
-#define ASM_OUTPUT_DWARF2_ADDR_CONST(FILE,ADDR) \
- fprintf ((FILE), "%s%s", UNALIGNED_WORD_ASM_OP, ADDR)
-
-#define ASM_OUTPUT_DWARF_ADDR_CONST(FILE,RTX) \
- do \
- { \
- fprintf ((FILE), "%s", UNALIGNED_WORD_ASM_OP); \
- output_addr_const ((FILE), (RTX)); \
- fputc ('\n', (FILE)); \
- } \
- while (0)
-
-
/* The ARM development system defines __main. */
#define NAME__MAIN "__gccmain"
#define SYMBOL__MAIN __gccmain
diff --git a/gcc/config/rs6000/aix.h b/gcc/config/rs6000/aix.h
index a28fe1b..cb5db35 100644
--- a/gcc/config/rs6000/aix.h
+++ b/gcc/config/rs6000/aix.h
@@ -561,48 +561,9 @@ toc_section () \
use '.long' or '.word', but that aligns to a 4-byte boundary which
is not what is required. So we define a million macros... */
-#define ASM_OUTPUT_DWARF_ADDR_VAR(FILE, LABEL, LENGTH) \
- do { fprintf ((FILE), "\t.vbyte\t%d,", LENGTH); \
- assemble_name (FILE, LABEL); \
- } while (0)
-
-#define ASM_OUTPUT_DWARF_DELTA_VAR(FILE, LABEL1, LABEL2, LENGTH) \
- do { fprintf ((FILE), "\t.vbyte\t%d,", LENGTH); \
- assemble_name (FILE, LABEL1); \
- fprintf (FILE, "-"); \
- assemble_name (FILE, LABEL2); \
- } while (0)
-
-#define ASM_OUTPUT_DWARF_DELTA2(FILE, LABEL1, LABEL2) \
- ASM_OUTPUT_DWARF_DELTA_VAR (FILE, LABEL1, LABEL2, 2)
-
-#define ASM_OUTPUT_DWARF_DELTA4(FILE, LABEL1, LABEL2) \
- ASM_OUTPUT_DWARF_DELTA_VAR (FILE, LABEL1, LABEL2, 4)
-
-#define ASM_OUTPUT_DWARF_DELTA(FILE, LABEL1, LABEL2) \
- ASM_OUTPUT_DWARF_DELTA_VAR (FILE, LABEL1, LABEL2, DWARF_OFFSET_SIZE)
-
-#define ASM_OUTPUT_DWARF_ADDR_DELTA(FILE, LABEL1, LABEL2) \
- ASM_OUTPUT_DWARF_DELTA_VAR (FILE, LABEL1, LABEL2, \
- POINTER_SIZE / BITS_PER_UNIT)
-
-#define ASM_OUTPUT_DWARF_ADDR(FILE, LABEL) \
- ASM_OUTPUT_DWARF_ADDR_VAR (FILE, LABEL, POINTER_SIZE / BITS_PER_UNIT)
-
-#define ASM_OUTPUT_DWARF_DATA4(FILE, VALUE) \
- fprintf ((FILE), "\t.vbyte\t4,0x%x", (unsigned) (VALUE))
-
-#define ASM_OUTPUT_DWARF_DATA2(FILE, VALUE) \
- fprintf ((FILE), "\t.vbyte\t2,0x%x", (unsigned) (VALUE))
-
-#define ASM_OUTPUT_DWARF_OFFSET4(FILE, LABEL) \
- ASM_OUTPUT_DWARF_ADDR_VAR (FILE, LABEL, 4)
-
-#define ASM_OUTPUT_DWARF_OFFSET(FILE, LABEL) \
- ASM_OUTPUT_DWARF_ADDR_VAR (FILE, LABEL, DWARF_OFFSET_SIZE)
-
-/* dwarf2out keys off this, but we don't have to have a real definition. */
-#define UNALIGNED_INT_ASM_OP bite_me
+#define UNALIGNED_SHORT_ASM_OP "\t.vbyte\t2,"
+#define UNALIGNED_INT_ASM_OP "\t.vbyte\t4,"
+#define UNALIGNED_DOUBLE_INT_ASM_OP "\t.vbyte\t8,"
/* Output before instructions. */
#define TEXT_SECTION_ASM_OP "\t.csect .text[PR]"
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 5f1f950..6cf6379 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -871,36 +871,6 @@ do { \
} \
} while (0)
-/* This is how to output an assembler line defining an address
- constant for the dwarf call unwinding information.
- For -mrelocatable, we mark all addresses that need to be fixed up
- in the .fixup section. */
-
-#define ASM_OUTPUT_DWARF_ADDR(FILE,LABEL) \
-do { \
- if (TARGET_RELOCATABLE) \
- { \
- char buf[256]; \
- \
- ASM_GENERATE_INTERNAL_LABEL (buf, "LCP", fixuplabelno); \
- fixuplabelno++; \
- ASM_OUTPUT_LABEL (FILE, buf); \
- fprintf (FILE, "\t.%dbyte\t", POINTER_SIZE / BITS_PER_UNIT); \
- assemble_name (FILE, LABEL); \
- fprintf (FILE, "\n"); \
- fprintf (FILE, "\t.section \".fixup\",\"aw\"\n"); \
- ASM_OUTPUT_ALIGN (FILE, 2); \
- fprintf (FILE, "\t.long\t"); \
- assemble_name (FILE, buf); \
- fprintf (FILE, "\n\t.previous\n"); \
- } \
- else \
- { \
- fprintf (FILE, "\t.%dbyte\t", POINTER_SIZE / BITS_PER_UNIT); \
- assemble_name (FILE, LABEL); \
- } \
-} while (0)
-
/* This is the end of what might become sysv4.h. */
/* Allow stabs and dwarf, for now, make stabs the default debugging type,
diff --git a/gcc/config/sparc/sp64-elf.h b/gcc/config/sparc/sp64-elf.h
index b314899..1a7623b 100644
--- a/gcc/config/sparc/sp64-elf.h
+++ b/gcc/config/sparc/sp64-elf.h
@@ -124,33 +124,6 @@ crtbegin.o%s \
#undef ASM_IDENTIFY_GCC
#define ASM_IDENTIFY_GCC(FILE)
-/* Define the names of various pseudo-ops used by the Sparc/svr4 assembler.
- ??? If ints are 64 bits then UNALIGNED_INT_ASM_OP (defined elsewhere) is
- misnamed. These should all refer to explicit sizes (half/word/xword?),
- anything other than short/int/long/etc. */
-
-#define UNALIGNED_LONGLONG_ASM_OP "\t.uaxword\t"
-
-/* DWARF stuff. */
-
-#define ASM_OUTPUT_DWARF_ADDR(FILE, LABEL) \
-do { \
- fprintf ((FILE), "%s", UNALIGNED_LONGLONG_ASM_OP); \
- assemble_name ((FILE), (LABEL)); \
- fprintf ((FILE), "\n"); \
-} while (0)
-
-#define ASM_OUTPUT_DWARF_ADDR_CONST(FILE, RTX) \
-do { \
- fprintf ((FILE), "%s", UNALIGNED_LONGLONG_ASM_OP); \
- output_addr_const ((FILE), (RTX)); \
- fputc ('\n', (FILE)); \
-} while (0)
-
-/* ??? Not sure if this should be 4 or 8 bytes. 4 works for now. */
-#define ASM_OUTPUT_DWARF_REF(FILE, LABEL) \
-do { \
- fprintf ((FILE), "%s", UNALIGNED_INT_ASM_OP); \
- assemble_name ((FILE), (LABEL)); \
- fprintf ((FILE), "\n"); \
-} while (0)
+/* Define the names of various pseudo-ops used by the Sparc/svr4 assembler. */
+
+#define UNALIGNED_DOUBLE_INT_ASM_OP "\t.uaxword\t"