GCC Middle and Back End API Reference
|
Go to the source code of this file.
Functions | |
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_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_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_pcrel (int, const char *, const char *,...) ATTRIBUTE_NULL_PRINTF_3 |
void | dw2_asm_output_delta_sleb128 (const char *, const char *, const char *,...) ATTRIBUTE_NULL_PRINTF_3 |
void dw2_asm_output_addr | ( | int | size, |
const char * | label, | ||
const char * | comment, | ||
... | |||
) |
Output an absolute reference to a label.
References asm_out_file, and dw2_assemble_integer().
Referenced by output_addr_table_entry(), output_aranges(), output_attr_index_or_value(), output_cfi(), output_fde(), output_loc_list(), output_one_line_info_table(), and output_ranges().
void dw2_asm_output_addr_rtx | ( | int | size, |
rtx | addr, | ||
const char * | comment, | ||
... | |||
) |
Similar, but use an RTX expression instead of a text label.
References asm_out_file, and dw2_assemble_integer().
Referenced by output_addr_table_entry(), output_attr_index_or_value(), and output_loc_operands().
void dw2_asm_output_data | ( | int | size, |
unsigned HOST_WIDE_INT | value, | ||
const char * | comment, | ||
... | |||
) |
Output an immediate constant in a given SIZE in bytes.
References asm_out_file, assemble_integer(), fprint_whex(), HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT, and integer_asm_op().
Referenced by dw2_output_call_site_table(), dwarf2out_finish(), output_abbrev_section(), output_aranges(), output_call_frame_info(), output_cfa_loc(), output_cfi(), output_comdat_type_unit(), output_compilation_unit_header(), output_die(), output_die_abbrevs(), output_fde(), output_file_names(), output_index_string_offset(), output_line_info(), output_loc_list(), output_loc_operands(), output_loc_sequence(), output_macinfo(), output_macinfo_op(), output_one_function_exception_table(), output_one_line_info_table(), output_pubnames(), output_range_list_offset(), output_ranges(), output_signature(), and output_skeleton_debug_sections().
void dw2_asm_output_data_raw | ( | int | , |
unsigned | HOST_WIDE_INT | ||
) |
void dw2_asm_output_data_sleb128 | ( | HOST_WIDE_INT | value, |
const char * | comment, | ||
... | |||
) |
Output a signed LEB128 quantity.
References asm_out_file, assemble_integer(), HOST_WIDE_INT, HOST_WIDE_INT_PRINT_DEC, and targetm.
Referenced by output_call_frame_info(), output_cfi(), output_die(), output_loc_operands(), and output_one_line_info_table().
void dw2_asm_output_data_sleb128_raw | ( | HOST_WIDE_INT | ) |
void dw2_asm_output_data_uleb128 | ( | unsigned HOST_WIDE_INT | value, |
const char * | comment, | ||
... | |||
) |
Output an unsigned LEB128 quantity.
References asm_out_file, assemble_integer(), fprint_whex(), HOST_WIDE_INT, HOST_WIDE_INT_PRINT_HEX, and targetm.
Referenced by dw2_output_call_site_table(), output_attr_index_or_value(), output_call_frame_info(), output_cfa_loc(), output_cfi(), output_die(), output_die_abbrevs(), output_fde(), output_file_names(), output_loc_list(), output_loc_operands(), output_macinfo_op(), output_one_function_exception_table(), output_one_line_info_table(), output_value_format(), and sjlj_output_call_site_table().
void dw2_asm_output_data_uleb128_raw | ( | unsigned | HOST_WIDE_INT | ) |
void dw2_asm_output_delta | ( | int | size, |
const char * | lab1, | ||
const char * | lab2, | ||
const char * | comment, | ||
... | |||
) |
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 asm_out_file, and dw2_assemble_integer().
Referenced by dw2_asm_output_vms_delta(), 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(), and output_ranges().
void dw2_asm_output_delta_sleb128 | ( | const char * | , |
const char * | , | ||
const char * | , | ||
... | |||
) |
References asm_out_file, and assemble_name().
void dw2_asm_output_delta_uleb128 | ( | const char * | , |
const char * | , | ||
const char * | , | ||
... | |||
) |
References asm_out_file, and assemble_name().
Referenced by dw2_output_call_site_table(), and output_one_function_exception_table().
void dw2_asm_output_encoded_addr_rtx | ( | int | encoding, |
rtx | addr, | ||
bool | is_public, | ||
const char * | comment, | ||
... | |||
) |
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 asm_out_file, assemble_align(), assemble_integer(), dw2_assemble_integer(), dw2_force_const_mem(), pc_rtx, and size_of_encoded_value().
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, | ||
... | |||
) |
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 asm_out_file, assemble_integer(), len, and strlen().
Referenced by output_call_frame_info(), output_die(), output_file_names(), output_macinfo_op(), and output_pubnames().
void dw2_asm_output_offset | ( | int | size, |
const char * | label, | ||
section * | base, | ||
const char * | comment, | ||
... | |||
) |
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 asm_out_file, and dw2_assemble_integer().
Referenced by output_aranges(), output_comdat_type_unit(), output_compilation_unit_header(), output_die(), output_fde(), output_loc_list_offset(), output_loc_operands(), output_macinfo(), output_macinfo_op(), output_pubnames(), output_range_list_offset(), and output_skeleton_debug_sections().
void dw2_asm_output_pcrel | ( | int | size, |
const char * | label, | ||
const char * | comment, | ||
... | |||
) |
These are currently unused.
Output a self-relative reference to a label, possibly in a different section or object file.
References asm_out_file, dw2_assemble_integer(), and pc_rtx.
void dw2_asm_output_vms_delta | ( | int | size, |
const char * | lab1, | ||
const char * | lab2, | ||
const char * | comment, | ||
... | |||
) |
Output the difference between two symbols in instruction units in a given size.
References asm_out_file, and dw2_asm_output_delta().
Referenced by output_die().
void dw2_assemble_integer | ( | int | , |
rtx | |||
) |
@verbatim Dwarf2 assembler output helper routines.
Copyright (C) 2001-2013 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/.
void dw2_output_indirect_constants | ( | void | ) |
Emit the constants queued through dw2_force_const_mem.
References dw2_output_indirect_constant_1().
Referenced by compile_file().
const char* eh_data_format_name | ( | int | ) |
int size_of_encoded_value | ( | int | ) |
int size_of_sleb128 | ( | HOST_WIDE_INT | ) |
int size_of_uleb128 | ( | unsigned | HOST_WIDE_INT | ) |