summaryrefslogtreecommitdiff
path: root/gcc/dwarf2asm.c
diff options
context:
space:
mode:
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2006-03-17 00:35:32 +0000
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2006-03-17 00:35:32 +0000
commitd08d29c0a2f001af35b7c79b5b2e8623add3e83e (patch)
tree359478b0e30ffc64cd80686f3c7f1ec0e630674d /gcc/dwarf2asm.c
parent25406960c6ac042b9d8d9b5aa129250d55090b80 (diff)
downloadgcc-d08d29c0a2f001af35b7c79b5b2e8623add3e83e.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112168 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dwarf2asm.c')
-rw-r--r--gcc/dwarf2asm.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/gcc/dwarf2asm.c b/gcc/dwarf2asm.c
index f4cd52be2d9..70854f5a93e 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