2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-03-22 15:31:25 +08:00
gcc/gcc/dwarf2asm.h
Geoffrey Keating 192d0f895b 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
2006-03-17 00:35:32 +00:00

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