diff options
author | Geoffrey Keating <geoffk@apple.com> | 2006-03-17 00:35:32 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@gcc.gnu.org> | 2006-03-17 00:35:32 +0000 |
commit | 192d0f895b931ae17d477ea07046980f15dc0ec5 (patch) | |
tree | 359478b0e30ffc64cd80686f3c7f1ec0e630674d /gcc/dwarf2asm.c | |
parent | 8e9103166d10c2e69fd9d7474a8d34171c2fcb70 (diff) | |
download | gcc-192d0f895b931ae17d477ea07046980f15dc0ec5.zip gcc-192d0f895b931ae17d477ea07046980f15dc0ec5.tar.gz gcc-192d0f895b931ae17d477ea07046980f15dc0ec5.tar.bz2 |
tm.texi (SDB and DWARF): Add extra parameter to ASM_OUTPUT_DWARF_OFFSET.
* doc/tm.texi (SDB and DWARF): Add extra parameter to
ASM_OUTPUT_DWARF_OFFSET. Use @var to indicate metavariables.
* dwarf2asm.h (dw2_asm_output_offset): Add section parameter.
* dwarf2asm.c (dw2_asm_output_offset): Add base section parameter.
Pass to ASM_OUTPUT_DWARF_OFFSET.
* dwarf2out.c (debug_frame_section): New.
(output_call_frame_info): Use debug_frame_section. Pass it to
dw2_asm_output_offset.
(output_die): Pass appropriate section to dw2_asm_output_offset.
(output_compilation_unit_header): Likewise.
(output_pubnames): Likewise.
(output_aranges): Likewise.
(enum dw_val_class): Break dw_val_class_lbl_offset into
dw_val_class_lineptr and dw_val_class_macptr.
(add_AT_lbl_offset): Delete.
(add_AT_lineptr): New.
(add_AT_macptr): New.
(AT_lbl): Expect a lineptr or macptr.
(print_die): Handle dw_val_class_lineptr and dw_val_class_macptr.
(attr_checksum): Likewise.
(same_dw_val_p): Likewise.
(size_of_die): Likewise.
(value_format): Likewise.
(output_die): Likewise.
(dwarf2out_finish): Call add_AT_lineptr and add_AT_macptr instead of
add_AT_lbl_offset.
* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
* config/i386/i386.c (x86_file_start): Call darwin_file_start.
* config/darwin-protos.h (darwin_file_start): New.
(darwin_asm_output_dwarf_offset): New.
* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
* config/rs6000/rs6000.c (rs6000_darwin_file_start): Call
darwin_file_start.
* config/darwin.c (darwin_emit_unwind_label): Don't output label
if not EH section; simplify.
(darwin_file_start): New.
(darwin_asm_output_dwarf_offset): New.
* config/darwin.h (DEBUG_FRAME_SECTION): In __DWARF segment,
mark as 'debug'.
(DEBUG_INFO_SECTION): Likewise.
(DEBUG_ABBREV_SECTION): Likewise.
(DEBUG_ARANGES_SECTION): Likewise.
(DEBUG_MACINFO_SECTION): Likewise.
(DEBUG_LINE_SECTION): Likewise.
(DEBUG_LOC_SECTION): Likewise.
(DEBUG_PUBNAMES_SECTION): Likewise.
(DEBUG_STR_SECTION): Likewise.
(DEBUG_RANGES_SECTION): Likewise.
(FRAME_BEGIN_LABEL): Must start with 'L' in debug section.
(ASM_OUTPUT_DWARF_OFFSET): New.
From-SVN: r112168
Diffstat (limited to 'gcc/dwarf2asm.c')
-rw-r--r-- | gcc/dwarf2asm.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/gcc/dwarf2asm.c b/gcc/dwarf2asm.c index f4cd52b..70854f5 100644 --- a/gcc/dwarf2asm.c +++ b/gcc/dwarf2asm.c @@ -119,14 +119,15 @@ dw2_asm_output_delta (int size, const char *lab1, const char *lab2, va_end (ap); } -/* Output a section-relative reference to a label. In general this - can only be done for debugging symbols. E.g. on most targets with - the GNU linker, this is accomplished with a direct reference and - the knowledge that the debugging section will be placed at VMA 0. - Some targets have special relocations for this that we must use. */ +/* Output a section-relative reference to a LABEL, which was placed in + BASE. In general this can only be done for debugging symbols. + E.g. on most targets with the GNU linker, this is accomplished with + a direct reference and the knowledge that the debugging section + will be placed at VMA 0. Some targets have special relocations for + this that we must use. */ void -dw2_asm_output_offset (int size, const char *label, +dw2_asm_output_offset (int size, const char *label, section * base, const char *comment, ...) { va_list ap; @@ -134,7 +135,7 @@ dw2_asm_output_offset (int size, const char *label, va_start (ap, comment); #ifdef ASM_OUTPUT_DWARF_OFFSET - ASM_OUTPUT_DWARF_OFFSET (asm_out_file, size, label); + ASM_OUTPUT_DWARF_OFFSET (asm_out_file, size, label, base); #else dw2_assemble_integer (size, gen_rtx_SYMBOL_REF (Pmode, label)); #endif |