|
void | dw2_assemble_integer (int, rtx) |
|
void | dw2_asm_output_data_raw (int, unsigned HOST_WIDE_INT) |
|
void | dw2_asm_output_data (int, unsigned HOST_WIDE_INT, const char *,...) ATTRIBUTE_NULL_PRINTF_3 |
|
void | dw2_asm_output_delta (int, const char *, const char *, const char *,...) ATTRIBUTE_NULL_PRINTF_4 |
|
void | dw2_asm_output_vms_delta (int, const char *, const char *, const char *,...) ATTRIBUTE_NULL_PRINTF_4 |
|
void | dw2_asm_output_offset (int, const char *, section *, const char *,...) ATTRIBUTE_NULL_PRINTF_4 |
|
void | dw2_asm_output_offset (int, const char *, HOST_WIDE_INT, section *, const char *,...) ATTRIBUTE_NULL_PRINTF_5 |
|
void | dw2_asm_output_addr (int, const char *, const char *,...) ATTRIBUTE_NULL_PRINTF_3 |
|
void | dw2_asm_output_addr_rtx (int, rtx, const char *,...) ATTRIBUTE_NULL_PRINTF_3 |
|
void | dw2_asm_output_encoded_addr_rtx (int, rtx, bool, const char *,...) ATTRIBUTE_NULL_PRINTF_4 |
|
void | dw2_asm_output_nstring (const char *, size_t, const char *,...) ATTRIBUTE_NULL_PRINTF_3 |
|
void | dw2_asm_output_data_uleb128_raw (unsigned HOST_WIDE_INT) |
|
void | dw2_asm_output_data_uleb128 (unsigned HOST_WIDE_INT, const char *,...) ATTRIBUTE_NULL_PRINTF_2 |
|
void | dw2_asm_output_data_sleb128_raw (HOST_WIDE_INT) |
|
void | dw2_asm_output_data_sleb128 (HOST_WIDE_INT, const char *,...) ATTRIBUTE_NULL_PRINTF_2 |
|
void | dw2_asm_output_symname_uleb128 (const char *, const char *,...) ATTRIBUTE_NULL_PRINTF_2 |
|
void | dw2_asm_output_delta_uleb128 (const char *, const char *, const char *,...) ATTRIBUTE_NULL_PRINTF_3 |
|
int | size_of_uleb128 (unsigned HOST_WIDE_INT) |
|
int | size_of_sleb128 (HOST_WIDE_INT) |
|
int | size_of_encoded_value (int) |
|
const char * | eh_data_format_name (int) |
|
rtx | dw2_force_const_mem (rtx, bool) |
|
void | dw2_output_indirect_constants (void) |
|
void dw2_asm_output_delta |
( |
int | size, |
|
|
const char * | lab1, |
|
|
const char * | lab2, |
|
|
const char * | comment, |
|
|
| ... ) |
|
extern |
Output the difference between two symbols in a given size.
??? There appear to be assemblers that do not like such
subtraction, but do support ASM_SET_OP. It's unfortunately
impossible to do here, since the ASM_SET_OP for the difference
symbol must appear after both symbols are defined.
References ap, ASM_COMMENT_START, asm_out_file, dw2_assemble_integer(), fputc(), and vfprintf().
Referenced by dw2_output_call_site_table(), output_aranges(), output_call_frame_info(), output_cfi(), output_die(), output_fde(), output_line_info(), output_loc_list(), output_loc_list_offset(), output_loclists_offsets(), output_one_line_info_table(), output_ranges(), output_rnglists(), and output_view_list_offset().
void dw2_asm_output_encoded_addr_rtx |
( |
int | encoding, |
|
|
rtx | addr, |
|
|
bool | is_public, |
|
|
const char * | comment, |
|
|
| ... ) |
|
extern |
Like dw2_asm_output_addr_rtx, but encode the pointer as directed.
If PUBLIC is set and the encoding is DW_EH_PE_indirect, the indirect
reference is shared across the entire application (or DSO).
References ap, ASM_COMMENT_START, asm_out_file, assemble_align(), assemble_integer(), const0_rtx, const1_rtx, dw2_assemble_integer(), dw2_force_const_mem(), fputc(), gcc_assert, gcc_unreachable, GET_CODE, pc_rtx, POINTER_SIZE, size_of_encoded_value(), vfprintf(), and XSTR.
Referenced by output_call_frame_info(), output_cfi(), output_fde(), and output_ttype().
void dw2_asm_output_nstring |
( |
const char * | str, |
|
|
size_t | orig_len, |
|
|
const char * | comment, |
|
|
| ... ) |
|
extern |
Output the first ORIG_LEN characters of STR as a string.
If ORIG_LEN is equal to -1, ignore this parameter and output
the entire STR instead.
If COMMENT is not NULL and comments in the debug information
have been requested by the user, append the given COMMENT
to the generated output.
References ap, ASM_COMMENT_START, asm_out_file, ASM_OUTPUT_ASCII, assemble_integer(), const0_rtx, fputc(), i, vfprintf(), and XCOFF_DEBUGGING_INFO.
Referenced by output_btf_strs(), output_call_frame_info(), output_ctf_strs(), output_die(), output_file_names(), output_line_string(), and output_pubname().
void dw2_asm_output_offset |
( |
int | size, |
|
|
const char * | label, |
|
|
section * | base, |
|
|
const char * | comment, |
|
|
| ... ) |
|
extern |
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.
References ap, ASM_COMMENT_START, asm_out_file, dw2_assemble_integer(), fputc(), and vfprintf().
Referenced by btf_asm_datasec_entry(), output_aranges(), output_compilation_unit_header(), output_die(), output_fde(), output_line_string(), output_loc_list_offset(), output_loc_operands(), output_pubnames(), output_range_list_offset(), output_skeleton_debug_sections(), and output_view_list_offset().
void dw2_assemble_integer |
( |
int | size, |
|
|
rtx | x ) |
|
extern |
Dwarf2 assembler output helper routines.
Copyright (C) 2001-2024 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 3, 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 COPYING3. If not see
<http://www.gnu.org/licenses/>.
Output an unaligned integer with the given value and size. Prefer not
to print a newline, since the caller may want to add a comment.
References asm_out_file, assemble_integer(), const0_rtx, CONST_INT_P, CONST_SCALAR_INT_P, DWARF2_ADDR_SIZE, fprint_whex(), integer_asm_op(), INTVAL, and output_addr_const().
Referenced by dw2_asm_output_addr(), dw2_asm_output_addr_rtx(), dw2_asm_output_delta(), dw2_asm_output_encoded_addr_rtx(), dw2_asm_output_offset(), and dw2_asm_output_offset().
Put X, a SYMBOL_REF, in memory. Return a SYMBOL_REF to the allocated
memory. Differs from force_const_mem in that a single pool is used for
the entire unit of translation, and the memory is not guaranteed to be
"near" the function in any interesting sense. IS_PUBLIC controls whether
the symbol can be shared across the entire application (or DSO).
References hash_map< KeyId, Value, Traits >::create_ggc(), dw2_const_labelno, gcc_assert, GET_CODE, get_identifier(), IDENTIFIER_POINTER, indirect_pool, maybe_get_identifier(), targetm, TREE_PUBLIC, TREE_SYMBOL_REFERENCED, USE_LINKONCE_INDIRECT, and XSTR.
Referenced by dw2_asm_output_encoded_addr_rtx(), and dwarf2out_do_cfi_startproc().