diff options
author | Richard Henderson <rth@redhat.com> | 2001-03-02 18:17:07 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-03-02 18:17:07 -0800 |
commit | 2e4b9b8cc2e588371da3c00b58714b93b67796c9 (patch) | |
tree | ab3f6c2c5328b768cf2cdd0f5fc4571ffeaa90b8 /gcc/config | |
parent | dc76f41ca633e9094e1c2d43b58bbab69a10f973 (diff) | |
download | gcc-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.h | 17 | ||||
-rw-r--r-- | gcc/config/arm/unknown-elf.h | 17 | ||||
-rw-r--r-- | gcc/config/rs6000/aix.h | 45 | ||||
-rw-r--r-- | gcc/config/rs6000/sysv4.h | 30 | ||||
-rw-r--r-- | gcc/config/sparc/sp64-elf.h | 33 |
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" |