mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-22 15:31:25 +08:00
* 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
79 lines
2.5 KiB
C
79 lines
2.5 KiB
C
/* Dwarf2 assembler output helper routines.
|
|
Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
|
|
|
|
This file is part of GCC.
|
|
|
|
GCC is free software; you can redistribute it and/or modify it under
|
|
the terms of the GNU General Public License as published by the Free
|
|
Software Foundation; either version 2, or (at your option) any later
|
|
version.
|
|
|
|
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with GCC; see the file COPYING. If not, write to the Free
|
|
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
|
|
02110-1301, USA. */
|
|
|
|
|
|
extern void dw2_assemble_integer (int, rtx);
|
|
|
|
extern void dw2_asm_output_data (int, unsigned HOST_WIDE_INT,
|
|
const char *, ...)
|
|
ATTRIBUTE_NULL_PRINTF_3;
|
|
|
|
extern void dw2_asm_output_delta (int, const char *, const char *,
|
|
const char *, ...)
|
|
ATTRIBUTE_NULL_PRINTF_4;
|
|
|
|
extern void dw2_asm_output_offset (int, const char *, section *,
|
|
const char *, ...)
|
|
ATTRIBUTE_NULL_PRINTF_4;
|
|
|
|
extern void dw2_asm_output_addr (int, const char *, const char *, ...)
|
|
ATTRIBUTE_NULL_PRINTF_3;
|
|
|
|
extern void dw2_asm_output_addr_rtx (int, rtx, const char *, ...)
|
|
ATTRIBUTE_NULL_PRINTF_3;
|
|
|
|
extern void dw2_asm_output_encoded_addr_rtx (int, rtx, bool,
|
|
const char *, ...)
|
|
ATTRIBUTE_NULL_PRINTF_4;
|
|
|
|
extern void dw2_asm_output_nstring (const char *, size_t,
|
|
const char *, ...)
|
|
ATTRIBUTE_NULL_PRINTF_3;
|
|
|
|
extern void dw2_asm_output_data_uleb128 (unsigned HOST_WIDE_INT,
|
|
const char *, ...)
|
|
ATTRIBUTE_NULL_PRINTF_2;
|
|
|
|
extern void dw2_asm_output_data_sleb128 (HOST_WIDE_INT,
|
|
const char *, ...)
|
|
ATTRIBUTE_NULL_PRINTF_2;
|
|
|
|
extern void dw2_asm_output_delta_uleb128 (const char *, const char *,
|
|
const char *, ...)
|
|
ATTRIBUTE_NULL_PRINTF_3;
|
|
|
|
extern int size_of_uleb128 (unsigned HOST_WIDE_INT);
|
|
extern int size_of_sleb128 (HOST_WIDE_INT);
|
|
extern int size_of_encoded_value (int);
|
|
extern const char *eh_data_format_name (int);
|
|
|
|
extern void dw2_output_indirect_constants (void);
|
|
|
|
/* These are currently unused. */
|
|
|
|
#if 0
|
|
extern void dw2_asm_output_pcrel (int, const char *, const char *, ...)
|
|
ATTRIBUTE_NULL_PRINTF_3;
|
|
|
|
extern void dw2_asm_output_delta_sleb128 (const char *, const char *,
|
|
const char *, ...)
|
|
ATTRIBUTE_NULL_PRINTF_3;
|
|
#endif
|