#include "bfd.h"#include "sysdep.h"#include "libbfd.h"#include "coff/arm.h"#include "coff/internal.h"#include "libcoff.h"#include "coffcode.h"#include "coff/pe.h"


Go to the source code of this file.
Definition at line 43 of file coff-arm.c.
Referenced by _bfd_coff_arm_set_private_flags(), coff_arm_copy_private_bfd_data(), coff_arm_merge_private_bfd_data(), and coff_arm_print_private_bfd_data().
Definition at line 46 of file coff-arm.c.
Referenced by _bfd_coff_arm_set_private_flags(), coff_arm_copy_private_bfd_data(), coff_arm_merge_private_bfd_data(), and coff_arm_print_private_bfd_data().
Definition at line 52 of file coff-arm.c.
Referenced by _bfd_coff_arm_set_private_flags(), coff_arm_copy_private_bfd_data(), coff_arm_merge_private_bfd_data(), and coff_arm_print_private_bfd_data().
| #define ARM 1 |
Definition at line 911 of file coff-arm.c.
| #define ARM2THUMB_GLUE_ENTRY_NAME "__%s_from_arm" |
Definition at line 158 of file coff-arm.c.
Referenced by find_arm_glue(), and record_arm_to_thumb_glue().
| #define ARM2THUMB_GLUE_SECTION_NAME ".glue_7" |
Definition at line 157 of file coff-arm.c.
Referenced by bfd_arm_allocate_interworking_sections(), bfd_arm_get_bfd_for_interworking(), coff_arm_relocate_section(), and record_arm_to_thumb_glue().
| #define ARM2THUMB_GLUE_SIZE 12 |
| #define ARM_16 1 |
| #define ARM_26 3 |
Definition at line 239 of file coff-arm.c.
Referenced by bfd_arm_process_before_allocation(), coff_arm_adjust_symndx(), coff_arm_reloc_type_lookup(), and coff_arm_relocate_section().
| #define ARM_26D 7 |
Definition at line 243 of file coff-arm.c.
Referenced by aoutarm_fix_pcrel_26(), coff_arm_adjust_symndx(), and coff_thumb_pcrel_common().
| #define ARM_32 2 |
Definition at line 238 of file coff-arm.c.
Referenced by coff_arm_reloc_type_lookup(), and coff_arm_relocate_section().
| #define ARM_8 0 |
| #define ARM_DISP16 5 |
| #define ARM_DISP32 6 |
| #define ARM_DISP8 4 |
| #define ARM_NEG16 9 |
Definition at line 245 of file coff-arm.c.
| #define ARM_NEG32 10 |
Definition at line 246 of file coff-arm.c.
| #define ARM_RVA32 11 |
Definition at line 247 of file coff-arm.c.
Referenced by coff_arm_reloc_type_lookup(), coff_arm_relocate_section(), and coff_arm_rtype_to_howto().
| #define ARM_THUMB12 13 |
| #define ARM_THUMB23 14 |
Definition at line 250 of file coff-arm.c.
Referenced by bfd_arm_process_before_allocation(), coff_arm_reloc_type_lookup(), and coff_arm_relocate_section().
| #define ARM_THUMB9 12 |
| #define ASTD | ( | i, | |||
| j | ) | case i: return aoutarm_std_reloc_howto + j |
| #define BACK_FROM_ARM "__%s_back_from_arm" |
Referenced by record_thumb_to_arm_glue().
| #define BADMAG | ( | x | ) | ARMBADMAG(x) |
Definition at line 910 of file coff-arm.c.
| #define CHANGE_TO_ARM "__%s_change_to_arm" |
Referenced by record_thumb_to_arm_glue().
| #define coff_adjust_symndx coff_arm_adjust_symndx |
Definition at line 2174 of file coff-arm.c.
| #define coff_arm_hash_table | ( | info | ) | ((struct coff_arm_link_hash_table *) ((info)->hash)) |
Definition at line 942 of file coff-arm.c.
Referenced by bfd_arm_allocate_interworking_sections(), bfd_arm_get_bfd_for_interworking(), bfd_arm_process_before_allocation(), coff_arm_final_link_postscript(), coff_arm_link_output_has_begun(), coff_arm_relocate_section(), record_arm_to_thumb_glue(), and record_thumb_to_arm_glue().
| #define coff_bfd_copy_private_bfd_data coff_arm_copy_private_bfd_data |
Definition at line 2180 of file coff-arm.c.
| #define coff_bfd_is_local_label_name coff_arm_is_local_label_name |
Definition at line 2173 of file coff-arm.c.
| #define coff_bfd_link_hash_table_create coff_arm_link_hash_table_create |
Definition at line 2181 of file coff-arm.c.
| #define coff_bfd_merge_private_bfd_data coff_arm_merge_private_bfd_data |
Definition at line 2177 of file coff-arm.c.
| #define coff_bfd_print_private_bfd_data coff_arm_print_private_bfd_data |
Definition at line 2178 of file coff-arm.c.
| #define coff_bfd_reloc_type_lookup coff_arm_reloc_type_lookup |
Definition at line 2171 of file coff-arm.c.
| #define coff_bfd_set_private_flags _bfd_coff_arm_set_private_flags |
Definition at line 2179 of file coff-arm.c.
| #define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (2) |
Definition at line 905 of file coff-arm.c.
| #define coff_final_link_postscript coff_arm_final_link_postscript |
Definition at line 2176 of file coff-arm.c.
| #define coff_link_output_has_begun coff_arm_link_output_has_begun |
Definition at line 2175 of file coff-arm.c.
| #define COFF_PAGE_SIZE 0x1000 |
Definition at line 906 of file coff-arm.c.
| #define coff_relocate_section coff_arm_relocate_section |
Definition at line 2172 of file coff-arm.c.
| #define coff_rtype_to_howto coff_arm_rtype_to_howto |
| #define DOIT | ( | x | ) |
| #define EXTRA_S_FLAGS SEC_CODE |
Definition at line 2599 of file coff-arm.c.
| #define HI_LOW_ORDER 0xF000F800 |
Definition at line 63 of file coff-arm.c.
Referenced by _bfd_coff_arm_set_private_flags(), coff_arm_copy_private_bfd_data(), coff_arm_merge_private_bfd_data(), coff_arm_print_private_bfd_data(), and coff_arm_relocate_section().
Definition at line 66 of file coff-arm.c.
Referenced by _bfd_coff_arm_set_private_flags(), coff_arm_copy_private_bfd_data(), coff_arm_merge_private_bfd_data(), coff_arm_print_private_bfd_data(), and coff_arm_relocate_section().
| #define LOCAL_LABEL_PREFIX "" |
Definition at line 2493 of file coff-arm.c.
Referenced by asm_fprintf(), bfin_internal_label(), coff_arm_is_local_label_name(), gen_movdi(), gen_movsi(), m16_usym5_4(), m16_usym8_4(), mips16_constant(), mips_move_1word(), mips_move_2words(), mips_output_lineno(), print_operand(), and VPARAMS().
| #define LOW_HI_ORDER 0xF800F000 |
Definition at line 78 of file coff-arm.c.
Referenced by coff_mcore_rtype_to_howto(), elf32_arm_info_to_howto(), elf32_arm_reloc_type_lookup(), find_howto(), and mcore_elf_howto_init().
| #define NUM_RELOCS NUM_ELEM (aoutarm_std_reloc_howto) |
| #define PCRELOFFSET TRUE |
Definition at line 231 of file coff-arm.c.
Definition at line 49 of file coff-arm.c.
Referenced by _bfd_coff_arm_set_private_flags(), coff_arm_copy_private_bfd_data(), coff_arm_merge_private_bfd_data(), and coff_arm_print_private_bfd_data().
Value:
(cache_ptr)->howto = \ (dst)->r_type < NUM_RELOCS \ ? aoutarm_std_reloc_howto + (dst)->r_type \ : NULL
Definition at line 575 of file coff-arm.c.
| #define SELECT_RELOC | ( | x, | |||
| howto | ) | { x.r_type = howto->type; } |
Definition at line 909 of file coff-arm.c.
| #define SET_APCS_FLAGS | ( | abfd, | |||
| flgs | ) |
Value:
do \ { \ coff_data (abfd)->flags &= ~(F_APCS_26 | F_APCS_FLOAT | F_PIC); \ coff_data (abfd)->flags |= (flgs) | F_APCS_SET; \ } \ while (0)
Definition at line 55 of file coff-arm.c.
Referenced by _bfd_coff_arm_set_private_flags(), coff_arm_copy_private_bfd_data(), and coff_arm_merge_private_bfd_data().
| #define SET_INTERWORK_FLAG | ( | abfd, | |||
| flg | ) |
Value:
do \ { \ coff_data (abfd)->flags &= ~F_INTERWORK; \ coff_data (abfd)->flags |= (flg) | F_INTERWORK_SET; \ } \ while (0)
Definition at line 69 of file coff-arm.c.
Referenced by _bfd_coff_arm_set_private_flags(), coff_arm_copy_private_bfd_data(), and coff_arm_merge_private_bfd_data().
| #define SWAP_IN_RELOC_OFFSET H_GET_32 |
Definition at line 916 of file coff-arm.c.
| #define SWAP_OUT_RELOC_OFFSET H_PUT_32 |
Definition at line 917 of file coff-arm.c.
| #define TARGET_BIG_NAME "coff-arm-big" |
Definition at line 2588 of file coff-arm.c.
| #define TARGET_BIG_SYM armcoff_big_vec |
Definition at line 2585 of file coff-arm.c.
| #define TARGET_LITTLE_NAME "coff-arm-little" |
Definition at line 2582 of file coff-arm.c.
| #define TARGET_LITTLE_SYM armcoff_little_vec |
Definition at line 2579 of file coff-arm.c.
| #define TARGET_UNDERSCORE '_' |
Definition at line 227 of file coff-arm.c.
| #define THUMB2ARM_GLUE_ENTRY_NAME "__%s_from_thumb" |
Definition at line 155 of file coff-arm.c.
Referenced by find_thumb_glue(), and record_thumb_to_arm_glue().
| #define THUMB2ARM_GLUE_SECTION_NAME ".glue_7t" |
Definition at line 154 of file coff-arm.c.
Referenced by bfd_arm_allocate_interworking_sections(), bfd_arm_get_bfd_for_interworking(), coff_arm_relocate_section(), and record_thumb_to_arm_glue().
| #define THUMB2ARM_GLUE_SIZE (globals->support_old_code ? 20 : 8) |
| #define USER_LABEL_PREFIX "_" |
Definition at line 2495 of file coff-arm.c.
Referenced by coff_arm_is_local_label_name(), dump_file(), i386_pe_output_labelref(), main(), print_operand_address(), print_reg(), process_options(), and scan_linker_output().
| typedef unsigned short int insn16 |
Definition at line 84 of file coff-arm.c.
Definition at line 83 of file coff-arm.c.
Definition at line 2378 of file coff-arm.c.
References _, _bfd_error_handler, APCS_26_FLAG, APCS_FLOAT_FLAG, APCS_SET, BFD_ASSERT, F_APCS26, F_APCS_26, F_APCS_FLOAT, F_INTERWORK, F_PIC, FALSE, INTERWORK_FLAG, INTERWORK_SET, NULL, PIC_FLAG, SET_APCS_FLAGS, SET_INTERWORK_FLAG, and TRUE.
| static bfd_reloc_status_type aoutarm_fix_pcrel_26 | ( | bfd * | abfd, | |
| arelent * | reloc_entry, | |||
| asymbol * | symbol, | |||
| PTR | data, | |||
| asection * | input_section, | |||
| bfd * | output_bfd, | |||
| error_message | ||||
| ) | [static] |
Definition at line 625 of file coff-arm.c.
References reloc_cache_entry::addend, addr(), reloc_cache_entry::address, ARM_26D, bfd_get_32, bfd_put_32, bfd_reloc_continue, bfd_reloc_ok, bfd_reloc_overflow, bfd_reloc_undefined, bfd_und_section, BSF_WEAK, bfd_symbol::flags, reloc_cache_entry::howto, bfd_section::name, NULL, bfd_section::output_offset, bfd_section::output_section, bfd_symbol::section, target, bfd_symbol::value, and bfd_section::vma.
Referenced by coff_arm_relocate_section().
| static bfd_reloc_status_type aoutarm_fix_pcrel_26_done | ( | abfd | , | |
| reloc_entry | , | |||
| symbol | , | |||
| data | , | |||
| input_section | , | |||
| output_bfd | , | |||
| error_message | ||||
| ) | [static] |
| static void arm_emit_base_file_entry | ( | struct bfd_link_info * | info, | |
| bfd * | output_bfd, | |||
| asection * | input_section, | |||
| bfd_vma | reloc_offset | |||
| ) | [static] |
Definition at line 973 of file coff-arm.c.
References addr(), coff_data, fwrite, bfd_section::output_offset, bfd_section::output_section, pe, pe_data, and bfd_section::vma.
Referenced by coff_arm_relocate_section().
| bfd_boolean bfd_arm_allocate_interworking_sections | ( | struct bfd_link_info * | info | ) |
Definition at line 1814 of file coff-arm.c.
References ARM2THUMB_GLUE_SECTION_NAME, coff_arm_link_hash_table::arm_glue_size, bfd_alloc(), BFD_ASSERT, bfd_get_section_by_name(), coff_arm_link_hash_table::bfd_of_glue_owner, coff_arm_hash_table, bfd_section::contents, NULL, s, bfd_section::size, THUMB2ARM_GLUE_SECTION_NAME, coff_arm_link_hash_table::thumb_glue_size, and TRUE.
| bfd_boolean bfd_arm_get_bfd_for_interworking | ( | bfd * | abfd, | |
| struct bfd_link_info * | info | |||
| ) |
Definition at line 1998 of file coff-arm.c.
References ARM2THUMB_GLUE_SECTION_NAME, BFD_ASSERT, bfd_get_section_by_name(), bfd_make_section(), coff_arm_link_hash_table::bfd_of_glue_owner, bfd_set_section_alignment, bfd_set_section_flags(), coff_arm_hash_table, FALSE, flags, NULL, bfd_link_info::relocatable, sec, SEC_ALLOC, SEC_CODE, SEC_HAS_CONTENTS, SEC_IN_MEMORY, SEC_LOAD, SEC_READONLY, THUMB2ARM_GLUE_SECTION_NAME, and TRUE.
| bfd_boolean bfd_arm_process_before_allocation | ( | bfd * | abfd, | |
| struct bfd_link_info * | info, | |||
| int | support_old_code | |||
| ) |
Definition at line 2053 of file coff-arm.c.
References _, _bfd_coff_get_external_symbols(), _bfd_coff_read_internal_relocs(), _bfd_error_handler, ARM_26, ARM_THUMB23, BFD_ASSERT, coff_arm_link_hash_table::bfd_of_glue_owner, C_EXT, C_LABEL, C_STAT, C_THUMBEXTFUNC, coff_link_hash_entry::class, coff_arm_hash_table, h, i, bfd_section::next, NULL, obj_coff_sym_hashes, obj_conv_table_size, internal_reloc::r_symndx, internal_reloc::r_type, record_arm_to_thumb_glue(), record_thumb_to_arm_glue(), rel, bfd_section::reloc_count, bfd_link_info::relocatable, sec, coff_arm_link_hash_table::support_old_code, and TRUE.
| static bfd_boolean coff_arm_adjust_symndx | ( | obfd | , | |
| info | , | |||
| bfd * | ibfd, | |||
| asection * | sec, | |||
| struct internal_reloc * | irel, | |||
| bfd_boolean * | adjustedp | |||
| ) | [static] |
Definition at line 2187 of file coff-arm.c.
References ARM_26, ARM_26D, bfd_link_hash_defined, bfd_link_hash_defweak, bfd_link_hash_entry::def, FALSE, h, NULL, obj_coff_sym_hashes, bfd_section::output_section, internal_reloc::r_symndx, internal_reloc::r_type, coff_link_hash_entry::root, TRUE, bfd_link_hash_entry::type, and bfd_link_hash_entry::u.
Definition at line 2429 of file coff-arm.c.
References _bfd_error_handler, APCS_26_FLAG, APCS_FLOAT_FLAG, APCS_SET, BFD_ASSERT, FALSE, INTERWORK_FLAG, INTERWORK_SET, NULL, PIC_FLAG, SET_APCS_FLAGS, SET_INTERWORK_FLAG, TRUE, and bfd::xvec.
| static bfd_boolean coff_arm_final_link_postscript | ( | abfd | , | |
| struct coff_final_link_info * | pfinfo | |||
| ) | [static] |
Definition at line 2555 of file coff-arm.c.
References _bfd_coff_link_input_bfd(), abfd, ARM_NOTE_SECTION, bfd_arm_update_notes(), BFD_ASSERT, coff_arm_link_hash_table::bfd_of_glue_owner, coff_arm_hash_table, FALSE, coff_final_link_info::info, NULL, bfd::output_has_begun, and TRUE.
| static bfd_boolean coff_arm_is_local_label_name | ( | abfd | , | |
| const char * | name | |||
| ) | [static] |
Definition at line 2504 of file coff-arm.c.
References FALSE, len, LOCAL_LABEL_PREFIX, strlen(), strncmp(), and USER_LABEL_PREFIX.
| static struct bfd_link_hash_table* coff_arm_link_hash_table_create | ( | bfd * | abfd | ) | [static, read] |
Definition at line 948 of file coff-arm.c.
References _bfd_coff_link_hash_newfunc(), _bfd_coff_link_hash_table_init(), coff_arm_link_hash_table::arm_glue_size, bfd_malloc(), coff_arm_link_hash_table::bfd_of_glue_owner, free(), NULL, ret, coff_link_hash_table::root, coff_arm_link_hash_table::root, and coff_arm_link_hash_table::thumb_glue_size.
| static bfd_boolean coff_arm_link_output_has_begun | ( | bfd * | sub, | |
| struct coff_final_link_info * | info | |||
| ) | [static] |
Definition at line 2546 of file coff-arm.c.
References coff_arm_hash_table, and coff_final_link_info::info.
Definition at line 2216 of file coff-arm.c.
References _, _bfd_error_handler, APCS_26_FLAG, APCS_FLOAT_FLAG, APCS_SET, bfd_arm_merge_machines(), BFD_ASSERT, bfd_error_wrong_format, bfd_get_arch(), bfd_get_mach(), bfd_set_arch_mach, bfd_set_error(), bfd_target_coff_flavour, FALSE, bfd_target::flavour, INTERWORK_FLAG, INTERWORK_SET, msg, NULL, PIC_FLAG, SET_APCS_FLAGS, SET_INTERWORK_FLAG, TRUE, and bfd::xvec.
Definition at line 2331 of file coff-arm.c.
References _, APCS_26_FLAG, APCS_FLOAT_FLAG, APCS_SET, BFD_ASSERT, coff_data, flags, fprintf(), fputc(), INTERWORK_FLAG, INTERWORK_SET, NULL, PIC_FLAG, and TRUE.
| static bfd_reloc_status_type coff_arm_reloc | ( | bfd * | abfd, | |
| arelent * | reloc_entry, | |||
| symbol | , | |||
| PTR | data, | |||
| input_section | , | |||
| bfd * | output_bfd, | |||
| error_message | ||||
| ) | [static] |
Definition at line 163 of file coff-arm.c.
References abort, reloc_cache_entry::addend, addr(), reloc_cache_entry::address, bfd_get_16, bfd_get_32, bfd_get_8, bfd_put_16, bfd_put_32, bfd_put_8, bfd_reloc_continue, DOIT, reloc_cache_entry::howto, NULL, reloc_howto_struct::size, and x.
| static struct reloc_howto_struct* coff_arm_reloc_type_lookup | ( | bfd * | abfd, | |
| bfd_reloc_code_real_type | code | |||
| ) | [static, read] |
Definition at line 863 of file coff-arm.c.
References ARM_16, ARM_26, ARM_32, ARM_8, ARM_DISP16, ARM_DISP32, ARM_DISP8, ARM_RVA32, ARM_THUMB12, ARM_THUMB23, ARM_THUMB9, ASTD, bfd_get_arch_info(), BFD_RELOC_16, BFD_RELOC_16_PCREL, BFD_RELOC_32, BFD_RELOC_32_PCREL, BFD_RELOC_8, BFD_RELOC_8_PCREL, BFD_RELOC_ARM_PCREL_BLX, BFD_RELOC_ARM_PCREL_BRANCH, BFD_RELOC_CTOR, BFD_RELOC_RVA, BFD_RELOC_THUMB_PCREL_BLX, BFD_RELOC_THUMB_PCREL_BRANCH12, BFD_RELOC_THUMB_PCREL_BRANCH23, and BFD_RELOC_THUMB_PCREL_BRANCH9.
| static bfd_boolean coff_arm_relocate_section | ( | bfd * | output_bfd, | |
| struct bfd_link_info * | info, | |||
| bfd * | input_bfd, | |||
| asection * | input_section, | |||
| bfd_byte * | contents, | |||
| struct internal_reloc * | relocs, | |||
| struct internal_syment * | syms, | |||
| asection ** | sections | |||
| ) | [static] |
Definition at line 1196 of file coff-arm.c.
References _, _bfd_coff_internal_syment_name(), _bfd_error_handler, _bfd_final_link_relocate(), abort, addend, address, aoutarm_fix_pcrel_26(), ARM2THUMB_GLUE_SECTION_NAME, ARM_26, ARM_32, arm_emit_base_file_entry(), coff_arm_link_hash_table::arm_glue_size, ARM_RVA32, ARM_THUMB23, bfd_link_info::base_file, bfd_abs_section_ptr, BFD_ASSERT, bfd_big_endian, bfd_get_32, bfd_get_reloc_size(), bfd_get_section_by_name(), bfd_get_section_limit, bfd_link_hash_defined, bfd_link_hash_defweak, coff_arm_link_hash_table::bfd_of_glue_owner, bfd_put_16, bfd_put_32, bfd_reloc_ok, bfd_reloc_outofrange, bfd_reloc_overflow, reloc_howto_struct::bitsize, buf, C_EXT, C_LABEL, C_STAT, C_THUMBEXTFUNC, C_THUMBSTATFUNC, bfd_link_info::callbacks, check, coff_link_hash_entry::class, coff_arm_hash_table, coff_rtype_to_howto, reloc_howto_struct::complain_on_overflow, complain_overflow_signed, bfd_section::contents, bfd_link_hash_entry::def, reloc_howto_struct::dst_mask, FALSE, find_arm_glue(), find_thumb_glue(), h, HOWTO, insert_thumb_branch(), INTERWORK_FLAG, INTERWORK_SET, location, long, internal_syment::n_sclass, internal_syment::n_scnum, N_UNDEF, internal_syment::n_value, reloc_howto_struct::name, NULL, obj_coff_sym_hashes, bfd_section::output_offset, bfd_section::output_section, overflow, bfd_section::owner, reloc_howto_struct::partial_inplace, reloc_howto_struct::pc_relative, reloc_howto_struct::pcrel_offset, pe_data, internal_reloc::r_symndx, internal_reloc::r_type, internal_reloc::r_vaddr, rel, bfd_section::reloc_count, bfd_link_callbacks::reloc_overflow, bfd_link_info::relocatable, reloc_howto_struct::rightshift, coff_link_hash_entry::root, bfd_link_hash_entry::root, s, sec, size, bfd_hash_entry::string, coff_arm_link_hash_table::support_old_code, sym, SYMNMLEN, THUMB2ARM_GLUE_SECTION_NAME, coff_arm_link_hash_table::thumb_glue_size, tmp, TRUE, bfd_link_hash_entry::type, reloc_howto_struct::type, bfd_link_hash_entry::u, bfd_link_callbacks::undefined_symbol, val, bfd_section::vma, and x.
| static reloc_howto_type* coff_arm_rtype_to_howto | ( | abfd | , | |
| asection * | sec, | |||
| struct internal_reloc * | rel, | |||
| h | , | |||
| sym | , | |||
| bfd_vma * | addendp | |||
| ) | [static] |
Definition at line 584 of file coff-arm.c.
References ARM_RVA32, NULL, NUM_RELOCS, bfd_section::output_section, bfd_section::owner, pe_data, and internal_reloc::r_type.
| static bfd_reloc_status_type coff_thumb_pcrel_common | ( | bfd * | abfd, | |
| arelent * | reloc_entry, | |||
| asymbol * | symbol, | |||
| PTR | data, | |||
| asection * | input_section, | |||
| bfd * | output_bfd, | |||
| error_message | , | |||
| thumb_pcrel_branchtype | btype | |||
| ) | [static] |
Definition at line 685 of file coff-arm.c.
References abort, reloc_cache_entry::addend, addr(), reloc_cache_entry::address, ARM_26D, b12, b23, b9, bfd_big_endian, bfd_get_32, bfd_put_32, bfd_reloc_continue, bfd_reloc_ok, bfd_reloc_overflow, bfd_reloc_undefined, bfd_und_section, BSF_WEAK, bfd_symbol::flags, reloc_cache_entry::howto, bfd_section::name, NULL, bfd_section::output_offset, bfd_section::output_section, bfd_symbol::section, target, bfd_symbol::value, and bfd_section::vma.
Referenced by coff_thumb_pcrel_12(), coff_thumb_pcrel_23(), and coff_thumb_pcrel_9().
| static struct coff_link_hash_entry* find_arm_glue | ( | struct bfd_link_info * | info, | |
| const char * | name, | |||
| bfd * | input_bfd | |||
| ) | [static, read] |
Definition at line 1080 of file coff-arm.c.
References _, _bfd_error_handler, ARM2THUMB_GLUE_ENTRY_NAME, BFD_ASSERT, bfd_malloc(), coff_hash_table, coff_link_hash_lookup, FALSE, free(), NULL, sprintf(), strlen(), and TRUE.
Referenced by coff_arm_relocate_section().
| static struct coff_link_hash_entry* find_thumb_glue | ( | struct bfd_link_info * | info, | |
| const char * | name, | |||
| bfd * | input_bfd | |||
| ) | [static, read] |
Definition at line 1050 of file coff-arm.c.
References _, _bfd_error_handler, BFD_ASSERT, bfd_malloc(), coff_hash_table, coff_link_hash_lookup, FALSE, free(), NULL, sprintf(), strlen(), THUMB2ARM_GLUE_ENTRY_NAME, and TRUE.
Referenced by coff_arm_relocate_section().
Definition at line 1023 of file coff-arm.c.
References abort, BFD_ASSERT, HI_LOW_ORDER, and LOW_HI_ORDER.
Referenced by coff_arm_relocate_section().
| static void arm_emit_base_file_entry PARAMS | ( | (struct bfd_link_info *, bfd *, asection *, bfd_vma) | ) | [static] |
| static bfd_boolean coff_arm_link_output_has_begun PARAMS | ( | (bfd *, struct coff_final_link_info *) | ) | [static] |
| static bfd_boolean coff_arm_is_local_label_name PARAMS | ( | (bfd *, const char *) | ) | [static] |
| static void record_arm_to_thumb_glue PARAMS | ( | (struct bfd_link_info *, struct coff_link_hash_entry *) | ) | [static] |
| static struct coff_link_hash_entry* find_thumb_glue PARAMS | ( | (struct bfd_link_info *, const char *, bfd *) | ) | [static, read] |
| static struct bfd_link_hash_table* coff_arm_link_hash_table_create PARAMS | ( | (bfd *) | ) | [static, read] |
| static struct reloc_howto_struct* coff_arm_reloc_type_lookup PARAMS | ( | (bfd *, bfd_reloc_code_real_type) | ) | [static, read] |
| static bfd_reloc_status_type coff_thumb_pcrel_common PARAMS | ( | (bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **, thumb_pcrel_branchtype) | ) | [static] |
| static reloc_howto_type* coff_arm_rtype_to_howto PARAMS | ( | (bfd *, asection *, struct internal_reloc *, struct coff_link_hash_entry *, struct internal_syment *, bfd_vma *) | ) | [static] |
| static bfd_boolean coff_arm_adjust_symndx PARAMS | ( | (bfd *, struct bfd_link_info *, bfd *, asection *, struct internal_reloc *, bfd_boolean *) | ) | [static] |
| static bfd_reloc_status_type aoutarm_fix_pcrel_26_done PARAMS | ( | (bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **) | ) | [static] |
| static bfd_boolean coff_arm_relocate_section PARAMS | ( | (bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, struct internal_reloc *, struct internal_syment *, asection **) | ) | [static] |
| static void record_arm_to_thumb_glue | ( | struct bfd_link_info * | info, | |
| struct coff_link_hash_entry * | h | |||
| ) | [static] |
Definition at line 1861 of file coff-arm.c.
References ARM2THUMB_GLUE_ENTRY_NAME, ARM2THUMB_GLUE_SECTION_NAME, ARM2THUMB_GLUE_SIZE, coff_arm_link_hash_table::arm_glue_size, BFD_ASSERT, bfd_coff_link_add_one_symbol, bfd_get_section_by_name(), bfd_malloc(), coff_arm_link_hash_table::bfd_of_glue_owner, BSF_GLOBAL, coff_arm_hash_table, coff_hash_table, coff_link_hash_lookup, FALSE, free(), NULL, coff_link_hash_entry::root, bfd_link_hash_entry::root, s, sprintf(), bfd_hash_entry::string, strlen(), TRUE, and val.
Referenced by bfd_arm_process_before_allocation().
| static void record_thumb_to_arm_glue | ( | struct bfd_link_info * | info, | |
| struct coff_link_hash_entry * | h | |||
| ) | [static] |
Definition at line 1918 of file coff-arm.c.
References BACK_FROM_ARM, BFD_ASSERT, bfd_coff_link_add_one_symbol, bfd_get_section_by_name(), bfd_malloc(), coff_arm_link_hash_table::bfd_of_glue_owner, BSF_GLOBAL, BSF_LOCAL, C_THUMBEXTFUNC, CHANGE_TO_ARM, coff_link_hash_entry::class, coff_arm_hash_table, coff_hash_table, coff_link_hash_lookup, FALSE, free(), NULL, coff_link_hash_entry::root, bfd_link_hash_entry::root, s, sprintf(), bfd_hash_entry::string, strlen(), coff_arm_link_hash_table::support_old_code, THUMB2ARM_GLUE_ENTRY_NAME, THUMB2ARM_GLUE_SECTION_NAME, THUMB2ARM_GLUE_SIZE, coff_arm_link_hash_table::thumb_glue_size, TRUE, and val.
Referenced by bfd_arm_process_before_allocation().
const insn32 a2t1_ldr_insn = 0xe59fc000 [static] |
Definition at line 1120 of file coff-arm.c.
const insn32 a2t2_bx_r12_insn = 0xe12fff1c [static] |
Definition at line 1121 of file coff-arm.c.
const insn32 a2t3_func_addr_insn = 0x00000001 [static] |
Definition at line 1122 of file coff-arm.c.
reloc_howto_type aoutarm_std_reloc_howto[] [static] |
Definition at line 268 of file coff-arm.c.
const insn16 t2a1_bx_pc_insn = 0x4778 [static] |
Definition at line 1143 of file coff-arm.c.
const insn16 t2a1_push_insn = 0xb540 [static] |
Definition at line 1147 of file coff-arm.c.
const insn16 t2a2_ldr_insn = 0x4e03 [static] |
Definition at line 1148 of file coff-arm.c.
const insn16 t2a2_noop_insn = 0x46c0 [static] |
Definition at line 1144 of file coff-arm.c.
const insn32 t2a3_b_insn = 0xea000000 [static] |
Definition at line 1145 of file coff-arm.c.
const insn16 t2a3_mov_insn = 0x46fe [static] |
Definition at line 1149 of file coff-arm.c.
const insn16 t2a4_bx_insn = 0x4730 [static] |
Definition at line 1150 of file coff-arm.c.
const insn32 t2a5_pop_insn = 0xe8bd4040 [static] |
Definition at line 1151 of file coff-arm.c.
const insn32 t2a6_bx_insn = 0xe12fff1e [static] |
Definition at line 1152 of file coff-arm.c.
| const bfd_target TARGET_BIG_SYM |
Definition at line 566 of file coff-mcore.c.
1.5.6