#include "bfd.h"#include "sysdep.h"#include "libiberty.h"#include "safe-ctype.h"#include "obstack.h"#include "bfdlink.h"#include "ld.h"#include "ldmain.h"#include "ldexp.h"#include "ldlang.h"#include <ldgram.h>#include "ldlex.h"#include "ldmisc.h"#include "ldctor.h"#include "ldfile.h"#include "ldemul.h"#include "fnmatch.h"#include "demangle.h"#include "hashtab.h"

Go to the source code of this file.
| #define IGNORE_SECTION | ( | s | ) |
Value:
((s->flags & SEC_NEVER_LOAD) != 0 \ || (s->flags & SEC_ALLOC) == 0 \ || ((s->flags & SEC_THREAD_LOCAL) != 0 \ && (s->flags & SEC_LOAD) == 0))
Definition at line 3473 of file ldlang.c.
Referenced by lang_check_section_addresses(), and lang_size_sections_1().
| #define ldlang_undef_chain_list_head entry_symbol.next |
Definition at line 2556 of file ldlang.c.
Referenced by lang_place_undefineds(), lang_process(), and ldlang_add_undef().
| #define new_stat | ( | x, | |||
| y | ) | (x##_type *) new_statement (x##_enum, sizeof (x##_type), y) |
Definition at line 148 of file ldlang.c.
Referenced by lang_add_assignment(), lang_add_data(), lang_add_fill(), lang_add_reloc(), lang_add_section(), lang_add_target(), lang_add_wild(), lang_enter_group(), lang_final(), lang_output_section_statement_lookup_1(), lang_section_start(), and new_afile().
| #define obstack_chunk_alloc xmalloc |
| #define obstack_chunk_free free |
| #define SECTION_NAME_MAP_LENGTH (16) |
Definition at line 157 of file ldlang.c.
Referenced by print_assignment(), print_data_statement(), print_input_section(), print_one_symbol(), print_output_section_statement(), print_padding_statement(), and print_reloc_statement().
Definition at line 2371 of file ldlang.c.
Referenced by lang_abs_symbol_at_end_of(), lang_check_section_addresses(), lang_do_assignments_1(), lang_set_startof(), lang_size_sections_1(), print_data_statement(), print_input_section(), print_padding_statement(), print_reloc_statement(), and size_input_section().
Definition at line 2372 of file ldlang.c.
Referenced by lang_do_assignments_1(), lang_size_sections_1(), and size_input_section().
Definition at line 146 of file ldlang.c.
Referenced by lang_add_wild(), open_input_bfds(), unique_section_p(), walk_wild(), and walk_wild_section().
| typedef void(* callback_t)(lang_wild_statement_type *, struct wildcard_list *, asection *, lang_input_statement_type *, void *) |
| void add_excluded_libs | ( | const char * | list | ) |
Definition at line 1748 of file ldlang.c.
References filename, bfd::filename, lbasename(), len, excluded_lib::name, excluded_lib::next, bfd::no_export, strcmp(), strlen(), strncmp(), and TRUE.
Referenced by load_symbols().
| static void check_input_sections | ( | lang_statement_union_type * | s, | |
| lang_output_section_statement_type * | output_section_statement | |||
| ) | [static] |
Definition at line 2608 of file ldlang.c.
References lang_output_section_statement_struct::all_input_readonly, check_section_callback(), lang_group_statement_type::children, constructor_list, lang_statement_union::group_statement, statement_list::head, lang_statement_union::header, lang_statement_header_struct::next, NULL, lang_statement_header_struct::type, walk_wild(), and lang_statement_union::wild_statement.
Referenced by map_input_to_output_sections().
| static void check_section_callback | ( | lang_wild_statement_type *ptr | ATTRIBUTE_UNUSED, | |
| struct wildcard_list *sec | ATTRIBUTE_UNUSED, | |||
| asection * | section, | |||
| lang_input_statement_type *file | ATTRIBUTE_UNUSED, | |||
| void * | data | |||
| ) | [static] |
Definition at line 1657 of file ldlang.c.
References FALSE, bfd_section::flags, NULL, bfd_section::output_section, SEC_READONLY, and unique_section_p().
Referenced by check_input_sections().
| static int closest_target_match | ( | const bfd_target * | target, | |
| void * | data | |||
| ) | [static] |
Definition at line 2164 of file ldlang.c.
References BFD_ENDIAN_BIG, BFD_ENDIAN_LITTLE, bfd_target::byteorder, command_line, args_type::endian, ENDIAN_BIG, ENDIAN_LITTLE, bfd_target::flavour, bfd_target::name, name_compare(), and NULL.
Referenced by open_output().
Definition at line 1462 of file ldlang.c.
References abort, bfd_get_section_name, bfd_section_alignment, by_alignment, by_alignment_name, by_name, by_name_alignment, bfd_section::owner, ret, and strcmp().
Referenced by wild_sort().
| void dprint_statement | ( | lang_statement_union_type * | s, | |
| int | n | |||
| ) |
Definition at line 3364 of file ldlang.c.
References config, lang_statement_union::header, ld_config_type::map_file, lang_statement_header_struct::next, print_statement(), and print_statement_list().
| static void exp_init_os | ( | etree_type * | exp | ) | [static] |
Definition at line 1248 of file ldlang.c.
References ADDR, etree_union::assert_s, etree_union::assign, lang_output_section_statement_struct::bfd_section, etree_union::binary, etree_union::child, etree_union::cond, init_os(), lang_output_section_find(), etree_union::lhs, LOADADDR, etree_union::name, node_type::node_class, node_type::node_code, NULL, etree_union::rhs, SIZEOF, etree_union::src, etree_union::trinary, etree_union::type, and etree_union::unary.
Referenced by init_os(), and map_input_to_output_sections().
| static void gc_section_callback | ( | lang_wild_statement_type * | ptr, | |
| struct wildcard_list *sec | ATTRIBUTE_UNUSED, | |||
| asection * | section, | |||
| lang_input_statement_type *file | ATTRIBUTE_UNUSED, | |||
| void *data | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 4814 of file ldlang.c.
References bfd_section::flags, lang_wild_statement_struct::keep_sections, and SEC_KEEP.
Referenced by lang_gc_sections_1().
| static char* get_first_input_target | ( | void | ) | [static] |
Definition at line 2200 of file ldlang.c.
References bfd_check_format(), bfd_get_target, bfd_object, LANG_FOR_EACH_INPUT_STATEMENT, ldfile_open_file(), NULL, s, and target.
Referenced by lang_get_output_target().
| static int get_target | ( | const bfd_target * | target, | |
| void * | data | |||
| ) | [static] |
Definition at line 2078 of file ldlang.c.
References bfd_target::name, and strcmp().
Referenced by open_output().
| static void ignore_bfd_errors | ( | const char *s | ATTRIBUTE_UNUSED, | |
| ... | ||||
| ) | [static] |
Definition at line 1160 of file ldlang.c.
References ASSERT, get_userdata, fat_user_section_struct::map_symbol_def_head, fat_user_section_struct::map_symbol_def_tail, NULL, and stat_alloc().
Referenced by lang_map(), and sort_def_symbol().
Definition at line 2378 of file ldlang.c.
References ASSERT, bfd_arch_mach_octets_per_byte(), ldfile_output_architecture, ldfile_output_machine, and x.
Referenced by lang_process(), print_data_statement(), print_input_section(), print_padding_statement(), and print_reloc_statement().
| static void init_os | ( | lang_output_section_statement_type * | s | ) | [static] |
Definition at line 1207 of file ldlang.c.
References _, lang_output_section_statement_struct::addr_tree, bfd_get_section_by_name(), bfd_make_section(), lang_output_section_statement_struct::bfd_section, DISCARD_SECTION_NAME, einfo(), exp_init_os(), get_userdata, lang_output_section_statement_struct::load_base, memset, bfd_target::name, lang_output_section_statement_struct::name, NULL, output_bfd, bfd_section::output_offset, bfd_section::output_section, SECTION_USERDATA_SIZE, stat_alloc(), strcmp(), and bfd::xvec.
Referenced by exp_init_os(), lang_add_section(), and map_input_to_output_sections().
| static void insert_pad | ( | lang_statement_union_type ** | ptr, | |
| fill_type * | fill, | |||
| unsigned int | alignment_needed, | |||
| asection * | output_section, | |||
| bfd_vma | dot | |||
| ) | [static] |
Definition at line 3385 of file ldlang.c.
References lang_padding_statement_type::fill, statement_list::head, lang_statement_union::header, lang_statement_header_struct::next, NULL, offsetof, lang_padding_statement_type::output_offset, lang_padding_statement_type::output_section, lang_statement_union::padding_statement, lang_padding_statement_type::size, bfd_section::size, stat_alloc(), lang_statement_header_struct::type, and bfd_section::vma.
Referenced by lang_size_sections_1(), and size_input_section().
| static void insert_undefined | ( | const char * | name | ) | [static] |
Definition at line 2576 of file ldlang.c.
References _, bfd_link_add_undef(), bfd_link_hash_lookup(), bfd_link_hash_new, bfd_link_hash_undefined, einfo(), FALSE, h, bfd_link_info::hash, link_info, NULL, TRUE, bfd_link_hash_entry::type, bfd_link_hash_entry::u, and bfd_link_hash_entry::undef.
Referenced by lang_place_undefineds(), and ldlang_add_undef().
| void lang_abs_symbol_at_beginning_of | ( | const char * | secname, | |
| const char * | name | |||
| ) |
Definition at line 5307 of file ldlang.c.
References _, bfd_abs_section_ptr, bfd_get_section_by_name(), bfd_get_section_vma, bfd_link_hash_defined, bfd_link_hash_lookup(), bfd_link_hash_new, bfd_link_hash_undefined, bfd_link_hash_entry::def, einfo(), h, bfd_link_info::hash, link_info, NULL, output_bfd, sec, TRUE, bfd_link_hash_entry::type, and bfd_link_hash_entry::u.
| void lang_abs_symbol_at_end_of | ( | const char * | secname, | |
| const char * | name | |||
| ) |
Definition at line 5338 of file ldlang.c.
References _, bfd_abs_section_ptr, bfd_get_section_by_name(), bfd_get_section_vma, bfd_link_hash_defined, bfd_link_hash_lookup(), bfd_link_hash_new, bfd_link_hash_undefined, bfd_link_hash_entry::def, einfo(), h, bfd_link_info::hash, link_info, NULL, output_bfd, sec, bfd_section::size, TO_ADDR, TRUE, bfd_link_hash_entry::type, and bfd_link_hash_entry::u.
| lang_assignment_statement_type* lang_add_assignment | ( | etree_type * | exp | ) |
Definition at line 5215 of file ldlang.c.
References new_stat.
Referenced by lang_insert_orphan(), lang_leave_overlay_section(), ldctor_build_sets(), mri_public(), and yyparse().
| void lang_add_attribute | ( | enum statement_enum | attribute | ) |
| void lang_add_data | ( | int | type, | |
| union etree_union * | exp | |||
| ) |
Definition at line 5176 of file ldlang.c.
References new_stat, and etree_union::type.
Referenced by ldctor_build_sets(), and yyparse().
| void lang_add_entry | ( | const char * | name, | |
| bfd_boolean | cmdline | |||
| ) |
Definition at line 5130 of file ldlang.c.
References entry_from_cmdline, bfd_sym_chain::name, and NULL.
Referenced by parse_args(), and yyparse().
| lang_input_statement_type* lang_add_input_file | ( | const char * | name, | |
| lang_input_file_enum_type | file_type, | |||
| const char * | target | |||
| ) |
Definition at line 506 of file ldlang.c.
References lang_has_input_file, new_afile(), and TRUE.
Referenced by add_bfd_to_link(), build_filler_bfd(), lang_init(), mri_load(), parse_args(), and yyparse().
| void lang_add_map | ( | const char * | name | ) |
Definition at line 5152 of file ldlang.c.
References map_option_f, and TRUE.
Referenced by yyparse().
| void lang_add_nocrossref | ( | lang_nocrossref_type * | l | ) |
Definition at line 5551 of file ldlang.c.
References link_info, lang_nocrossrefs::list, n, lang_nocrossrefs::next, bfd_link_info::notice_all, TRUE, and xmalloc().
Referenced by lang_leave_overlay(), and yyparse().
| void lang_add_output | ( | const char * | name, | |
| int | from_script | |||
| ) |
Definition at line 4710 of file ldlang.c.
References had_output_filename, output_filename, and TRUE.
Referenced by mri_name(), parse_args(), and yyparse().
| void lang_add_output_format | ( | const char * | format, | |
| const char * | big, | |||
| const char * | little, | |||
| int | from_script | |||
| ) |
Definition at line 5376 of file ldlang.c.
References command_line, args_type::endian, ENDIAN_BIG, ENDIAN_LITTLE, NULL, and output_target.
Referenced by mri_format(), parse_args(), and yyparse().
| void lang_add_reloc | ( | bfd_reloc_code_real_type | reloc, | |
| reloc_howto_type * | howto, | |||
| asection * | section, | |||
| const char * | name, | |||
| union etree_union * | addend | |||
| ) |
Definition at line 5195 of file ldlang.c.
References lang_reloc_statement_type::addend_exp, lang_reloc_statement_type::addend_value, lang_reloc_statement_type::howto, lang_reloc_statement_type::name, new_stat, NULL, lang_reloc_statement_type::output_section, lang_reloc_statement_type::output_vma, p, lang_reloc_statement_type::reloc, and lang_reloc_statement_type::section.
Referenced by ldctor_build_sets().
| void lang_add_section | ( | lang_statement_list_type * | ptr, | |
| asection * | section, | |||
| lang_output_section_statement_type * | output, | |||
| lang_input_statement_type * | file | |||
| ) |
Definition at line 1324 of file ldlang.c.
References bfd_section::alignment_power, bfd_abs_section_ptr, bfd_arch_tic54x, bfd_get_arch(), lang_output_section_statement_struct::bfd_section, lang_output_section_statement_struct::block_value, copy_section, DISCARD_SECTION_NAME, dsect_section, bfd_section::entsize, first, bfd_section::flags, flags, info_section, init_os(), link_info, bfd_section::linker_has_input, lang_output_section_statement_struct::name, new_stat, noload_section, normal_section, NULL, bfd_section::output_section, overlay_section, bfd_section::owner, bfd_link_info::relocatable, SEC_ALLOC, SEC_DEBUGGING, SEC_EXCLUDE, SEC_LINK_DUPLICATES, SEC_LINK_ONCE, SEC_LOAD, SEC_MERGE, SEC_NEVER_LOAD, SEC_READONLY, SEC_SMALL_DATA, SEC_STRINGS, SEC_TIC54X_BLOCK, lang_output_section_statement_struct::section_alignment, lang_output_section_statement_struct::sectype, strcmp(), bfd_link_info::strip, strip_all, strip_debugger, and TRUE.
Referenced by lang_insert_orphan(), lang_place_orphans(), and output_section_callback().
| void lang_add_target | ( | const char * | name | ) |
Definition at line 5142 of file ldlang.c.
References new_stat.
Referenced by parse_args(), and yyparse().
| void lang_add_unique | ( | const char * | name | ) |
Definition at line 6219 of file ldlang.c.
References unique_sections::name, unique_sections::next, strcmp(), xmalloc(), and xstrdup().
Referenced by parse_args().
| struct bfd_elf_version_deps* lang_add_vers_depend | ( | struct bfd_elf_version_deps * | list, | |
| const char * | name | |||
| ) | [read] |
Definition at line 6159 of file ldlang.c.
References _, einfo(), bfd_elf_version_tree::name, bfd_elf_version_deps::next, bfd_elf_version_tree::next, NULL, ret, strcmp(), bfd_elf_version_deps::version_needed, and xmalloc().
Referenced by yyparse().
| void lang_add_wild | ( | struct wildcard_spec * | filespec, | |
| struct wildcard_list * | section_list, | |||
| bfd_boolean | keep_sections | |||
| ) |
Definition at line 5072 of file ldlang.c.
References by_name, FALSE, lang_has_input_file, lang_list_init(), wildcard_spec::name, new_stat, wildcard_list::next, next, NULL, placed_commons, wildcard_spec::sorted, strcmp(), TRUE, and wildcardp.
Referenced by mri_draw_tree(), and yyparse().
Definition at line 4376 of file ldlang.c.
References _, args_type::accept_unknown_input_arch, bfd_arch_get_compatible(), bfd_count_sections, bfd_get_file_flags, bfd_get_flavour, bfd_get_target, bfd_merge_private_bfd_data, bfd_printable_name(), bfd_set_error_handler(), command_line, compatible(), einfo(), bfd_link_info::emitrelocations, HAS_RELOC, statement_list::head, ignore_bfd_errors(), input_bfd, lang_statement_union::input_statement, link_info, lang_input_statement_struct::next, NULL, output_bfd, bfd_link_info::relocatable, lang_input_statement_struct::the_bfd, and args_type::warn_mismatch.
Referenced by lang_process().
Definition at line 3484 of file ldlang.c.
References _, bfd_section_lma, einfo(), IGNORE_SECTION, bfd_section::name, bfd_section::next, NULL, output_bfd, bfd::sections, bfd_section::size, and TO_ADDR.
Referenced by lang_process().
Definition at line 4446 of file ldlang.c.
References bfd_link_hash_traverse(), command_line, config, args_type::force_common_definition, bfd_link_info::hash, args_type::inhibit_common_definition, lang_one_common(), link_info, NULL, bfd_link_info::relocatable, and ld_config_type::sort_common.
Referenced by lang_process().
| static struct bfd_hash_entry* lang_definedness_newfunc | ( | struct bfd_hash_entry * | entry, | |
| struct bfd_hash_table *table | ATTRIBUTE_UNUSED, | |||
| const char *name | ATTRIBUTE_UNUSED | |||
| ) | [static, read] |
Definition at line 2481 of file ldlang.c.
References _, bfd_hash_allocate(), einfo(), lang_definedness_hash_entry::iteration, NULL, ret, and lang_definedness_hash_entry::root.
| static struct bfd_hash_entry* lang_definedness_newfunc | ( | struct bfd_hash_entry * | , | |
| struct bfd_hash_table * | , | |||
| const char * | ||||
| ) | [static, read] |
Referenced by lang_init().
| void lang_do_assignments | ( | lang_statement_union_type * | s, | |
| lang_output_section_statement_type * | output_section_statement, | |||
| fill_type * | fill, | |||
| bfd_vma | dot | |||
| ) |
Definition at line 4225 of file ldlang.c.
References lang_do_assignments_1(), and lang_statement_iteration.
Referenced by lang_process(), pe_dll_fill_sections(), and pe_exe_fill_sections().
| static bfd_vma lang_do_assignments_1 | ( | lang_statement_union_type * | s, | |
| lang_output_section_statement_type * | output_section_statement, | |||
| fill_type * | fill, | |||
| bfd_vma | dot | |||
| ) | [static] |
Definition at line 4069 of file ldlang.c.
References _, abort, lang_reloc_statement_type::addend_exp, lang_reloc_statement_type::addend_value, lang_statement_union::assignment_statement, bfd_get_reloc_size(), lang_output_section_statement_struct::bfd_section, BYTE, BYTE_SIZE, lang_wild_statement_struct::children, lang_output_section_statement_struct::children, lang_group_statement_type::children, constructor_list, lang_statement_union::data_statement, einfo(), lang_assignment_statement_type::exp, lang_data_statement_type::exp, exp_fold_tree(), exp_get_abs_int(), FAIL, lang_fill_statement_type::fill, lang_output_section_statement_struct::fill, lang_statement_union::fill_statement, bfd_section::flags, lang_statement_union::group_statement, statement_list::head, lang_statement_union::header, lang_reloc_statement_type::howto, in, lang_statement_union::input_section, lang_final_phase_enum, link_info, bfd_section::lma, lang_output_section_statement_struct::load_base, LONG, LONG_SIZE, lang_statement_header_struct::next, NULL, lang_statement_union::output_section_statement, lang_statement_union::padding_statement, QUAD_SIZE, lang_statement_union::reloc_statement, bfd_link_info::relocatable, SEC_EXCLUDE, SEC_HAS_CONTENTS, SEC_THREAD_LOCAL, etree_value_type::section, lang_input_section_type::section, SHORT, SHORT_SIZE, lang_padding_statement_type::size, size, bfd_section::size, SQUAD, TO_ADDR, TO_SIZE, lang_data_statement_type::type, lang_statement_header_struct::type, etree_value_type::valid_p, etree_value_type::value, lang_data_statement_type::value, bfd_section::vma, and lang_statement_union::wild_statement.
Referenced by lang_do_assignments().
Definition at line 6182 of file ldlang.c.
References _, bfd_get_section_by_name(), bfd_get_section_contents(), command_line, contents, einfo(), bfd_section::flags, is, LANG_FOR_EACH_INPUT_STATEMENT, lang_new_vers_node(), lang_new_vers_pattern(), lang_register_vers_node(), len, NULL, p, sec, SEC_EXCLUDE, bfd_section::size, strchr, args_type::version_exports_section, and xmalloc().
Referenced by lang_process().
Definition at line 5398 of file ldlang.c.
References lang_group_statement_type::children, g, lang_list_init(), and new_stat.
Referenced by parse_args(), and yyparse().
| lang_output_section_statement_type* lang_enter_output_section_statement | ( | const char * | output_section_statement_name, | |
| etree_type * | address_exp, | |||
| enum section_type | sectype, | |||
| etree_type * | align, | |||
| etree_type * | subalign, | |||
| etree_type * | ebase, | |||
| int | constraint | |||
| ) |
Definition at line 4742 of file ldlang.c.
References lang_output_section_statement_struct::addr_tree, lang_output_section_statement_struct::block_value, lang_output_section_statement_struct::children, exp_get_value_int(), lang_output_section_statement_struct::flags, lang_output_section_statement_lookup_1(), lang_output_section_statement_struct::load_base, noload_section, NULL, SEC_NEVER_LOAD, SEC_NO_FLAGS, lang_output_section_statement_struct::section_alignment, lang_output_section_statement_struct::sectype, lang_output_section_statement_struct::subsection_alignment, and topower().
Referenced by lang_enter_overlay_section(), lang_insert_orphan(), mri_draw_tree(), and yyparse().
| void lang_enter_overlay | ( | etree_type * | vma_expr, | |
| etree_type * | subalign | |||
| ) |
| void lang_enter_overlay_section | ( | const char * | name | ) |
Definition at line 5602 of file ldlang.c.
References ADDR, exp_binop(), exp_nameop(), lang_enter_output_section_statement(), MAX_K, n, overlay_list::next, normal_section, NULL, overlay_list::os, size, SIZEOF, and xmalloc().
Referenced by yyparse().
Definition at line 4781 of file ldlang.c.
References new_stat, and output_filename.
Referenced by main().
| static void lang_finalize_version_expr_head | ( | struct bfd_elf_version_expr_head * | head | ) | [static] |
Definition at line 5976 of file ldlang.c.
References count, free(), bfd_elf_version_expr_head::htab, htab_create(), htab_find_slot(), INSERT, last, bfd_elf_version_expr_head::list, bfd_elf_version_expr::mask, bfd_elf_version_expr_head::mask, bfd_elf_version_expr::next, next, NULL, bfd_elf_version_expr_head::remaining, strcmp(), bfd_elf_version_expr::symbol, version_expr_head_eq(), and version_expr_head_hash().
Referenced by lang_register_vers_node().
Definition at line 4282 of file ldlang.c.
References _, bfd_get_section_by_name(), bfd_get_section_vma, bfd_link_hash_defined, bfd_link_hash_defweak, bfd_link_hash_lookup(), bfd_scan_vma(), bfd_set_start_address(), bfd_link_hash_entry::def, einfo(), entry_section, FALSE, h, bfd_link_info::hash, link_info, bfd_sym_chain::name, NULL, output_bfd, bfd_link_info::relocatable, send(), bfd_link_info::shared, TRUE, bfd_link_hash_entry::type, bfd_link_hash_entry::u, val, and warn().
Referenced by lang_process().
| void lang_float | ( | bfd_boolean | maybe | ) |
| void lang_for_each_file | ( | void(*)(lang_input_statement_type *) | func | ) |
Definition at line 4669 of file ldlang.c.
References f, func, and LANG_FOR_EACH_INPUT_STATEMENT.
Referenced by check_nocrossrefs().
| void lang_for_each_input_file | ( | void(*)(lang_input_statement_type *) | func | ) |
Definition at line 4654 of file ldlang.c.
References f, func, statement_list::head, lang_input_statement_struct::next_real_file, and NULL.
| void lang_for_each_statement | ( | void(*)(lang_statement_union_type *) | func | ) |
Definition at line 377 of file ldlang.c.
References func, statement_list::head, and lang_for_each_statement_worker().
Referenced by lang_process(), and ldwrite().
| static void lang_for_each_statement_worker | ( | void(*)(lang_statement_union_type *) | func, | |
| lang_statement_union_type * | s | |||
| ) | [static] |
Definition at line 333 of file ldlang.c.
References lang_wild_statement_struct::children, lang_output_section_statement_struct::children, lang_group_statement_type::children, constructor_list, FAIL, func, lang_statement_union::group_statement, statement_list::head, lang_statement_union::header, lang_statement_header_struct::next, NULL, lang_statement_union::output_section_statement, lang_statement_header_struct::type, and lang_statement_union::wild_statement.
Referenced by lang_for_each_statement().
Definition at line 4854 of file ldlang.c.
References bfd_gc_sections, bfd_is_abs_section, bfd_link_hash_defined, bfd_link_hash_defweak, bfd_link_hash_lookup(), command_line, bfd_link_hash_entry::def, f, FALSE, bfd_section::flags, args_type::gc_sections, bfd_link_info::gc_sym_list, h, bfd_link_info::hash, statement_list::head, LANG_FOR_EACH_INPUT_STATEMENT, lang_gc_sections_1(), link_info, bfd_sym_chain::name, bfd_section::next, bfd_sym_chain::next, NULL, output_bfd, bfd_link_info::relocatable, sec, SEC_DEBUGGING, SEC_EXCLUDE, SEC_KEEP, bfd_link_hash_entry::type, bfd_link_hash_entry::u, and ulist.
Referenced by lang_process().
| static void lang_gc_sections_1 | ( | lang_statement_union_type * | s | ) | [static] |
Definition at line 4829 of file ldlang.c.
References lang_output_section_statement_struct::children, lang_group_statement_type::children, constructor_list, gc_section_callback(), lang_statement_union::group_statement, statement_list::head, lang_statement_union::header, lang_statement_header_struct::next, NULL, lang_statement_union::output_section_statement, lang_statement_header_struct::type, walk_wild(), and lang_statement_union::wild_statement.
Referenced by lang_gc_sections().
| const char* lang_get_output_target | ( | void | ) |
Definition at line 2226 of file ldlang.c.
References current_target, default_target, get_first_input_target(), NULL, output_target, and target.
Referenced by ldfile_try_open_bfd(), and open_output().
| static void lang_get_regions | ( | lang_memory_region_type ** | region, | |
| lang_memory_region_type ** | lma_region, | |||
| const char * | memspec, | |||
| const char * | lma_memspec, | |||
| bfd_boolean | have_lma, | |||
| bfd_boolean | have_vma | |||
| ) | [static] |
Definition at line 5263 of file ldlang.c.
References _, DEFAULT_MEMORY_REGION, einfo(), FALSE, lang_memory_region_lookup(), NULL, and strcmp().
Referenced by lang_leave_output_section_statement(), and lang_leave_overlay().
Definition at line 517 of file ldlang.c.
References _, BFD_ABS_SECTION_NAME, bfd_abs_section_ptr, bfd_hash_table_init_n(), lang_output_section_statement_struct::bfd_section, einfo(), lang_add_input_file(), lang_definedness_newfunc(), lang_definedness_table, lang_input_file_is_marker_enum, lang_list_init(), lang_output_section_statement_lookup(), lang_statement_iteration, NULL, obstack_begin, and stat_obstack.
Referenced by main().
| lang_output_section_statement_type* lang_insert_orphan | ( | lang_input_statement_type * | file, | |
| asection * | s, | |||
| const char * | secname, | |||
| lang_output_section_statement_type * | after, | |||
| struct orphan_save * | place, | |||
| etree_type * | address, | |||
| lang_statement_list_type * | add_child | |||
| ) |
Definition at line 839 of file ldlang.c.
References ADDR, ALIGN_K, bfd_section::alignment_power, etree_union::assign, bfd_get_symbol_leading_char, lang_output_section_statement_struct::bfd_section, bfd_section_list_insert, bfd_section_list_remove, ld_config_type::build_constructors, lang_output_section_statement_struct::children, config, etree_union::dst, lang_assignment_statement_type::exp, exp_assop(), exp_binop(), exp_intop(), exp_nameop(), exp_unop(), bfd_section::flags, statement_list::head, lang_output_section_statement_struct::header, lang_statement_union::header, ISALNUM, lang_add_assignment(), lang_add_section(), lang_enter_output_section_statement(), lang_leave_output_section_statement(), lang_list_init(), link_info, lang_output_section_statement_struct::load_base, NAME, lang_output_section_statement_struct::name, lang_statement_header_struct::next, bfd_section::next, lang_output_section_statement_struct::next, node_type::node_class, NULL, orphan_save::os_tail, output_bfd, output_prev_sec_find(), lang_statement_union::output_section_statement, bfd_link_info::relocatable, SEC_ALLOC, SEC_LOAD, orphan_save::section, bfd::sections, sprintf(), orphan_save::stmt, statement_list::tail, etree_union::type, where, and xmalloc().
| void lang_leave_output_section_statement | ( | fill_type * | fill, | |
| const char * | memspec, | |||
| lang_output_section_phdr_list * | phdrs, | |||
| const char * | lma_memspec | |||
| ) |
Definition at line 5287 of file ldlang.c.
References lang_output_section_statement_struct::addr_tree, lang_output_section_statement_struct::fill, lang_get_regions(), lang_output_section_statement_struct::lma_region, lang_output_section_statement_struct::load_base, NULL, lang_output_section_statement_struct::phdrs, and lang_output_section_statement_struct::region.
Referenced by lang_insert_orphan(), lang_leave_overlay_section(), mri_draw_tree(), and yyparse().
| void lang_leave_overlay | ( | etree_type * | lma_expr, | |
| int | nocrossrefs, | |||
| fill_type * | fill, | |||
| const char * | memspec, | |||
| lang_output_section_phdr_list * | phdrs, | |||
| const char * | lma_memspec | |||
| ) |
Definition at line 5679 of file ldlang.c.
References exp_assop(), exp_binop(), exp_nameop(), FALSE, lang_output_section_statement_struct::fill, free(), lang_add_nocrossref(), lang_get_regions(), lang_output_section_statement_struct::lma_region, lang_output_section_statement_struct::load_base, LOADADDR, lang_output_section_statement_struct::name, lang_nocrossref::name, overlay_list::next, next, lang_nocrossref::next, NULL, overlay_list::os, lang_output_section_statement_struct::phdrs, lang_output_section_statement_struct::region, region, SIZEOF, lang_output_section_statement_struct::update_dot_tree, and xmalloc().
Referenced by yyparse().
| void lang_leave_overlay_section | ( | fill_type * | fill, | |
| lang_output_section_phdr_list * | phdrs | |||
| ) |
Definition at line 5635 of file ldlang.c.
References buf, clean(), DEFAULT_MEMORY_REGION, exp_assop(), exp_binop(), exp_nameop(), free(), ISALNUM, lang_add_assignment(), lang_leave_output_section_statement(), LOADADDR, lang_output_section_statement_struct::name, s1, s2, SIZEOF, sprintf(), strlen(), and xmalloc().
Referenced by yyparse().
| void lang_list_init | ( | lang_statement_list_type * | list | ) |
Definition at line 385 of file ldlang.c.
References statement_list::head, NULL, and statement_list::tail.
Referenced by lang_add_wild(), lang_enter_group(), lang_init(), lang_insert_orphan(), lang_output_section_statement_lookup_1(), ldctor_build_sets(), open_input_bfds(), and output_section_callback().
Definition at line 1100 of file ldlang.c.
References _, bfd_link_hash_traverse(), bfd_map_over_sections(), buf, command_line, config, memory_region_struct::flags, fprintf(), bfd_link_info::hash, init_map_userdata(), bfd_link_info::input_bfds, lang_map_flags(), len, memory_region_struct::length, link_info, bfd::link_next, ld_config_type::map_file, map_obstack, minfo(), memory_region_struct::name, memory_region_struct::next, memory_region_struct::not_flags, NULL, obstack_begin, memory_region_struct::origin, p, print_nl(), print_space(), print_statements(), args_type::reduce_memory_overheads, sort_def_symbol(), sprintf_vma, and strlen().
Referenced by main().
Definition at line 1081 of file ldlang.c.
References minfo(), SEC_ALLOC, SEC_CODE, SEC_DATA, SEC_LOAD, and SEC_READONLY.
Referenced by lang_map().
| static lang_memory_region_type* lang_memory_default | ( | asection * | section | ) | [static] |
Definition at line 609 of file ldlang.c.
References DEFAULT_MEMORY_REGION, FALSE, memory_region_struct::flags, bfd_section::flags, lang_memory_region_lookup(), memory_region_struct::next, memory_region_struct::not_flags, NULL, p, SEC_ALLOC, SEC_CODE, SEC_DATA, sec_flags, and SEC_READONLY.
Referenced by lang_size_sections_1().
| lang_memory_region_type* lang_memory_region_lookup | ( | const char *const | name, | |
| bfd_boolean | create | |||
| ) |
Definition at line 570 of file ldlang.c.
References _, DEFAULT_MEMORY_REGION, einfo(), FALSE, lang_memory_region_list_tail, memory_region_struct::name, memory_region_struct::next, NULL, memory_region_struct::origin, p, stat_alloc(), strcmp(), and xstrdup().
Referenced by fold_name(), lang_get_regions(), lang_memory_default(), lang_size_sections_1(), and yyparse().
| void lang_new_phdr | ( | const char * | name, | |
| etree_type * | type, | |||
| bfd_boolean | filehdr, | |||
| bfd_boolean | phdrs, | |||
| etree_type * | at, | |||
| etree_type * | flags | |||
| ) |
Definition at line 5422 of file ldlang.c.
References lang_phdr::at, exp_get_value_int(), lang_phdr::filehdr, lang_phdr::flags, lang_final_phase_enum, n, lang_phdr::name, lang_phdr::next, NULL, lang_phdr::phdrs, stat_alloc(), and lang_phdr::type.
Referenced by yyparse().
| struct bfd_elf_version_tree* lang_new_vers_node | ( | struct bfd_elf_version_expr * | globals, | |
| struct bfd_elf_version_expr * | locals | |||
| ) | [read] |
Definition at line 5941 of file ldlang.c.
References bfd_elf_version_tree::globals, int, lang_vers_match(), bfd_elf_version_expr_head::list, bfd_elf_version_tree::locals, bfd_elf_version_tree::match, bfd_elf_version_tree::name_indx, ret, and xcalloc().
Referenced by lang_do_version_exports_section(), and yyparse().
| struct bfd_elf_version_expr* lang_new_vers_pattern | ( | struct bfd_elf_version_expr * | orig, | |
| const char * | new, | |||
| const char * | lang | |||
| ) | [read] |
Definition at line 5908 of file ldlang.c.
References _, BFD_ELF_VERSION_C_TYPE, BFD_ELF_VERSION_CXX_TYPE, BFD_ELF_VERSION_JAVA_TYPE, einfo(), ldemul_new_vers_pattern(), bfd_elf_version_expr::mask, bfd_elf_version_expr::next, NULL, bfd_elf_version_expr::pattern, realsymbol(), ret, bfd_elf_version_expr::script, strcasecmp(), bfd_elf_version_expr::symbol, bfd_elf_version_expr::symver, and xmalloc().
Referenced by lang_do_version_exports_section(), and yyparse().
| static bfd_boolean lang_one_common | ( | struct bfd_link_hash_entry * | h, | |
| void * | info | |||
| ) | [static] |
Definition at line 4468 of file ldlang.c.
References _, bfd_section::alignment_power, bfd_link_hash_common, bfd_link_hash_defined, buf, bfd_link_hash_entry::c, config, bfd_link_hash_entry::def, demangle(), bfd_section::flags, free(), len, ld_config_type::map_file, minfo(), NULL, bfd_section::owner, print_nl(), print_space(), bfd_link_hash_entry::root, SEC_ALLOC, SEC_IS_COMMON, size, bfd_section::size, ld_config_type::sort_common, sprintf(), sprintf_vma, bfd_hash_entry::string, strlen(), TRUE, bfd_link_hash_entry::type, and bfd_link_hash_entry::u.
Referenced by lang_common().
| lang_output_section_statement_type* lang_output_section_find | ( | const char *const | name | ) |
Definition at line 648 of file ldlang.c.
References lang_output_section_find_1().
Referenced by exp_init_os(), and fold_name().
| static lang_output_section_statement_type* lang_output_section_find_1 | ( | const char *const | name, | |
| int | constraint | |||
| ) | [static] |
Definition at line 631 of file ldlang.c.
References lang_output_section_statement_struct::constraint, statement_list::head, lookup(), lang_output_section_statement_struct::name, lang_output_section_statement_struct::next, NULL, lang_statement_union::output_section_statement, and strcmp().
Referenced by lang_output_section_find(), and lang_output_section_statement_lookup_1().
| lang_output_section_statement_type* lang_output_section_find_by_flags | ( | const asection * | sec, | |
| lang_output_section_statement_type ** | exact | |||
| ) |
Definition at line 703 of file ldlang.c.
References lang_output_section_statement_struct::bfd_section, first, lang_output_section_statement_struct::flags, bfd_section::flags, flags, statement_list::head, lang_output_section_statement_struct::next, NULL, lang_statement_union::output_section_statement, SEC_ALLOC, SEC_CODE, SEC_HAS_CONTENTS, SEC_LOAD, SEC_READONLY, SEC_SMALL_DATA, and SEC_THREAD_LOCAL.
| lang_output_section_statement_type* lang_output_section_statement_lookup | ( | const char *const | name | ) |
Definition at line 692 of file ldlang.c.
References lang_output_section_statement_lookup_1().
Referenced by fold_name(), lang_init(), lang_place_orphans(), and map_input_to_output_sections().
| static lang_output_section_statement_type* lang_output_section_statement_lookup_1 | ( | const char *const | name, | |
| int | constraint | |||
| ) | [static] |
Definition at line 654 of file ldlang.c.
References lang_output_section_statement_struct::addr_tree, lang_output_section_statement_struct::bfd_section, lang_output_section_statement_struct::block_value, lang_output_section_statement_struct::children, lang_output_section_statement_struct::constraint, lang_output_section_statement_struct::fill, lang_output_section_statement_struct::flags, lang_list_init(), lang_output_section_find_1(), lang_statement_append(), lang_output_section_statement_struct::lma_region, lang_output_section_statement_struct::load_base, lookup(), lang_output_section_statement_struct::memspec, lang_output_section_statement_struct::name, new_stat, lang_output_section_statement_struct::next, normal_section, NULL, lang_output_section_statement_struct::phdrs, lang_output_section_statement_struct::processed, lang_output_section_statement_struct::region, lang_output_section_statement_struct::section_alignment, lang_output_section_statement_struct::sectype, lang_output_section_statement_struct::subsection_alignment, and lang_output_section_statement_struct::update_dot_tree.
Referenced by lang_enter_output_section_statement(), and lang_output_section_statement_lookup().
Definition at line 4562 of file ldlang.c.
References bfd_abs_section_ptr, bfd_link_just_syms, lang_output_section_statement_struct::children, command_line, bfd_section::flags, args_type::force_common_definition, lang_add_section(), LANG_FOR_EACH_INPUT_STATEMENT, lang_output_section_statement_lookup(), ldemul_place_orphan(), link_info, bfd_section::name, bfd_section::next, NULL, bfd_section::output_section, bfd_link_info::relocatable, SEC_EXCLUDE, and strcmp().
Referenced by lang_process().
Definition at line 2596 of file ldlang.c.
References insert_undefined(), ldlang_undef_chain_list_head, bfd_sym_chain::name, bfd_sym_chain::next, NULL, and ptr.
Referenced by lang_process().
Definition at line 4899 of file ldlang.c.
References _, bfd_get_section_by_name(), bfd_merge_sections, bfd_section_already_linked_table_free(), bfd_section_already_linked_table_init(), args_type::check_section_addresses, command_line, config, current_target, default_target, einfo(), FALSE, bfd_section::flags, bfd_link_info::gc_sym_list, statement_list::head, init_opb(), is_ipa, lang_check(), lang_check_section_addresses(), lang_common(), lang_do_assignments(), lang_do_version_exports_section(), lang_finish(), lang_for_each_statement(), lang_gc_sections(), lang_place_orphans(), lang_place_undefineds(), lang_record_phdrs(), lang_reset_memory_regions(), lang_set_startof(), lang_size_sections(), ldctor_build_sets(), ldemul_after_allocation(), ldemul_after_open(), ldemul_before_allocation(), ldemul_create_output_section_statements(), ldemul_finish(), ldlang_open_output(), ldlang_undef_chain_list_head, link_info, map_input_to_output_sections(), bfd_sym_chain::name, bfd_link_info::need_relax_finalize, NULL, open_input_bfds(), output_bfd, args_type::relax, bfd_link_info::relocatable, SEC_READONLY, strip_excluded_output_sections(), ld_config_type::text_read_only, TRUE, update_wild_statements(), and args_type::version_exports_section.
Referenced by main().
Definition at line 5450 of file ldlang.c.
References _, lang_phdr::at, at(), bfd_record_phdr(), lang_output_section_statement_struct::bfd_section, c, lang_output_section_statement_struct::constraint, einfo(), exp_get_vma(), lang_phdr::filehdr, bfd_section::flags, lang_phdr::flags, flags, free(), statement_list::head, lang_final_phase_enum, last, lang_output_section_phdr_list::name, lang_output_section_statement_struct::name, lang_phdr::name, lang_phdr::next, lang_output_section_phdr_list::next, lang_output_section_statement_struct::next, noload_section, NULL, output_bfd, lang_statement_union::output_section_statement, lang_output_section_statement_struct::phdrs, lang_phdr::phdrs, pl, SEC_ALLOC, lang_output_section_statement_struct::sectype, strcmp(), TRUE, lang_phdr::type, lang_output_section_phdr_list::used, xmalloc(), and xrealloc().
Referenced by lang_process().
| void lang_register_vers_node | ( | const char * | name, | |
| struct bfd_elf_version_tree * | version, | |||
| struct bfd_elf_version_deps * | deps | |||
| ) |
Definition at line 6058 of file ldlang.c.
References _, bfd_elf_version_tree::deps, einfo(), free(), bfd_elf_version_tree::globals, bfd_elf_version_expr_head::htab, htab_find(), lang_finalize_version_expr_head(), bfd_elf_version_expr_head::list, bfd_elf_version_tree::locals, bfd_elf_version_expr::mask, bfd_elf_version_tree::name, bfd_elf_version_tree::next, bfd_elf_version_expr::next, NULL, bfd_elf_version_expr::pattern, bfd_elf_version_expr_head::remaining, strcmp(), bfd_elf_version_expr::symbol, and bfd_elf_version_tree::vernum.
Referenced by lang_do_version_exports_section(), and yyparse().
Definition at line 4792 of file ldlang.c.
References memory_region_struct::current, bfd_section::next, memory_region_struct::next, NULL, o, memory_region_struct::old_length, memory_region_struct::origin, output_bfd, p, bfd_section::rawsize, bfd::sections, and bfd_section::size.
Referenced by lang_process().
| void lang_section_start | ( | const char * | name, | |
| etree_type * | address, | |||
| const segment_type * | segment | |||
| ) |
Definition at line 5113 of file ldlang.c.
References lang_address_statement_struct::address, new_stat, lang_address_statement_struct::section_name, and lang_address_statement_struct::segment.
Referenced by set_section_start(), and set_segment_start().
| void lang_set_flags | ( | lang_memory_region_type * | ptr, | |
| const char * | flags, | |||
| int | invert | |||
| ) |
Definition at line 4612 of file ldlang.c.
References _, einfo(), memory_region_struct::flags, memory_region_struct::not_flags, SEC_ALLOC, SEC_CODE, SEC_DATA, SEC_LOAD, and SEC_READONLY.
Referenced by yyparse().
Definition at line 4243 of file ldlang.c.
References bfd_abs_section_ptr, bfd_get_section_name, bfd_get_section_vma, bfd_link_hash_defined, bfd_link_hash_lookup(), bfd_link_hash_undefined, buf, bfd_link_hash_entry::def, FALSE, free(), h, bfd_link_info::hash, link_info, bfd_section::next, NULL, output_bfd, bfd_link_info::relocatable, bfd::sections, bfd_section::size, sprintf(), strlen(), TO_ADDR, TRUE, bfd_link_hash_entry::type, bfd_link_hash_entry::u, and xmalloc().
Referenced by lang_process().
| bfd_vma lang_size_sections | ( | lang_statement_union_type * | s, | |
| lang_output_section_statement_type * | output_section_statement, | |||
| lang_statement_union_type ** | prev, | |||
| fill_type * | fill, | |||
| bfd_vma | dot, | |||
| bfd_boolean * | relax, | |||
| bfd_boolean | check_regions | |||
| ) |
Definition at line 3974 of file ldlang.c.
References bfd_section::alignment_power, _ffestd_stmt_::end, first, lang_size_sections_1(), lang_statement_iteration, last, link_info, bfd_section::next, output_bfd, bfd_link_info::relro, bfd_link_info::relro_end, bfd_link_info::relro_start, result, sec, bfd::sections, and bfd_section::vma.
Referenced by lang_process(), pe_dll_fill_sections(), and pe_exe_fill_sections().
| static bfd_vma lang_size_sections_1 | ( | lang_statement_union_type * | s, | |
| lang_output_section_statement_type * | output_section_statement, | |||
| lang_statement_union_type ** | prev, | |||
| fill_type * | fill, | |||
| bfd_vma | dot, | |||
| bfd_boolean * | relax, | |||
| bfd_boolean | check_regions | |||
| ) | [static] |
Definition at line 3575 of file ldlang.c.
References _, abort, lang_output_section_statement_struct::addr_tree, after, align_power, bfd_section::alignment_power, ASSERT, lang_statement_union::assignment_statement, bfd_get_flavour, bfd_get_reloc_size(), bfd_get_section_name, bfd_is_abs_section, bfd_relax_section, lang_output_section_statement_struct::bfd_section, bfd_section_vma, bfd_set_section_vma, bfd_target_coff_flavour, bfd_target_ecoff_flavour, lang_output_section_statement_struct::block_value, BYTE, BYTE_SIZE, args_type::check_section_addresses, lang_wild_statement_struct::children, lang_output_section_statement_struct::children, lang_group_statement_type::children, command_line, config, constructor_list, bfd_link_info::create_object_symbols_section, memory_region_struct::current, lang_statement_union::data_statement, DEFAULT_MEMORY_REGION, einfo(), lang_assignment_statement_type::exp, lang_data_statement_type::exp, exp_fold_tree(), exp_intop(), FAIL, FALSE, lang_fill_statement_type::fill, lang_output_section_statement_struct::fill, lang_statement_union::fill_statement, lang_output_section_statement_struct::flags, bfd_section::flags, lang_statement_union::group_statement, statement_list::head, lang_statement_union::header, lang_reloc_statement_type::howto, i, IGNORE_SECTION, lang_statement_union::input_section, insert_pad(), lang_allocating_phase_enum, lang_memory_default(), lang_memory_region_lookup(), link_info, bfd_section::lma, lang_output_section_statement_struct::lma_region, lang_output_section_statement_struct::load_base, LONG, LONG_SIZE, memory_region_struct::name, lang_output_section_statement_struct::name, lang_statement_header_struct::next, memory_region_struct::next, NULL, os_region_check(), output_bfd, lang_padding_statement_type::output_offset, bfd_section::output_offset, lang_reloc_statement_type::output_section, lang_data_statement_type::output_section, lang_fill_statement_type::output_section, lang_statement_union::output_section_statement, lang_reloc_statement_type::output_vma, lang_data_statement_type::output_vma, bfd_section::owner, lang_statement_union::padding_statement, lang_output_section_statement_struct::processed, QUAD_SIZE, r, lang_output_section_statement_struct::region, lang_statement_union::reloc_statement, bfd_link_info::relocatable, SEC_ALLOC, SEC_COFF_SHARED_LIBRARY, SEC_HAS_CONTENTS, SEC_LOAD, SEC_NEVER_LOAD, SEC_THREAD_LOCAL, etree_value_type::section, lang_input_section_type::section, lang_output_section_statement_struct::section_alignment, SHORT, SHORT_SIZE, lang_padding_statement_type::size, size, bfd_section::size, size_input_section(), SQUAD, strcmp(), TO_ADDR, TO_SIZE, TRUE, lang_data_statement_type::type, lang_statement_header_struct::type, lang_output_section_statement_struct::update_dot_tree, etree_value_type::valid_p, etree_value_type::value, bfd_section::vma, ld_config_type::warn_section_align, and lang_statement_union::wild_statement.
Referenced by lang_size_sections().
| void lang_startup | ( | const char * | name | ) |
Definition at line 5231 of file ldlang.c.
References _, einfo(), lang_input_statement_struct::filename, lang_input_statement_struct::local_sym_name, NULL, lang_input_statement_struct::real, startup_file, and TRUE.
Referenced by yyparse().
| void lang_statement_append | ( | lang_statement_list_type * | list, | |
| lang_statement_union_type * | element, | |||
| lang_statement_union_type ** | field | |||
| ) |
Definition at line 5365 of file ldlang.c.
References statement_list::tail.
Referenced by lang_output_section_statement_lookup_1(), ldlang_add_file(), new_afile(), and new_statement().
| int lang_symbol_definition_iteration | ( | const char * | name | ) |
Definition at line 2504 of file ldlang.c.
References bfd_hash_lookup(), FAIL, FALSE, lang_definedness_hash_entry::iteration, lang_definedness_table, and NULL.
Referenced by fold_name().
| void lang_track_definedness | ( | const char * | name | ) |
Definition at line 2472 of file ldlang.c.
References _, bfd_hash_lookup(), einfo(), FALSE, lang_definedness_table, NULL, and TRUE.
Referenced by fold_name().
| void lang_update_definedness | ( | const char * | name, | |
| struct bfd_link_hash_entry * | h | |||
| ) |
Definition at line 2522 of file ldlang.c.
References bfd_hash_lookup(), bfd_link_hash_common, bfd_link_hash_new, bfd_link_hash_undefined, FALSE, lang_definedness_hash_entry::iteration, lang_definedness_table, lang_statement_iteration, NULL, and bfd_link_hash_entry::type.
Referenced by exp_fold_tree().
| static struct bfd_elf_version_expr* lang_vers_match | ( | struct bfd_elf_version_expr_head * | head, | |
| struct bfd_elf_version_expr * | prev, | |||
| const char * | sym | |||
| ) | [static, read] |
Definition at line 5762 of file ldlang.c.
References BFD_ELF_VERSION_C_TYPE, BFD_ELF_VERSION_CXX_TYPE, BFD_ELF_VERSION_JAVA_TYPE, cplus_demangle(), DMGL_ANSI, DMGL_JAVA, DMGL_PARAMS, fnmatch(), free(), bfd_elf_version_expr_head::htab, htab_find(), bfd_elf_version_expr::mask, bfd_elf_version_expr_head::mask, bfd_elf_version_expr::next, NULL, bfd_elf_version_expr::pattern, bfd_elf_version_expr_head::remaining, strcmp(), and bfd_elf_version_expr::symbol.
Referenced by lang_new_vers_node().
| void ldlang_add_file | ( | lang_input_statement_type * | entry | ) |
Definition at line 4678 of file ldlang.c.
References ASSERT, bfd_map_over_sections(), bfd_set_gp_size(), g_switch_value, bfd_link_info::input_bfds, lang_statement_append(), link_info, bfd::link_next, NULL, output_bfd, and section_already_linked().
Referenced by add_archive_element(), add_bfd_to_link(), build_filler_bfd(), and load_symbols().
| void ldlang_add_undef | ( | const char *const | name | ) |
Definition at line 2559 of file ldlang.c.
References insert_undefined(), ldlang_undef_chain_list_head, NULL, output_bfd, stat_alloc(), and xstrdup().
Referenced by parse_args(), and yyparse().
| static void ldlang_open_output | ( | lang_statement_union_type * | statement | ) | [static] |
Definition at line 2338 of file ldlang.c.
References ASSERT, BFD_TRADITIONAL_FORMAT, config, current_target, D_PAGED, bfd::flags, lang_statement_union::header, ldemul_set_output_arch(), link_info, ld_config_type::magic_demand_paged, lang_output_statement_struct::name, NULL, open_output(), output_bfd, lang_statement_union::output_statement, bfd_link_info::relocatable, lang_target_statement_struct::target, lang_statement_union::target_statement, ld_config_type::text_read_only, bfd_link_info::traditional_format, lang_statement_header_struct::type, and WP_TEXT.
Referenced by lang_process().
| static bfd_boolean load_symbols | ( | lang_input_statement_type * | entry, | |
| lang_statement_list_type * | place | |||
| ) | [static] |
Definition at line 1779 of file ldlang.c.
References _, abort, bfd_link_callbacks::add_archive_element, ar_hdr::ar_size, arch_hdr, bfd_alloc(), bfd_archive, bfd_bread(), bfd_check_format(), bfd_check_format_matches(), bfd_close(), bfd_error_file_ambiguously_recognized, bfd_error_file_not_recognized, bfd_get_error(), bfd_get_format, bfd_link_add_symbols, bfd_object, bfd_openr_next_archived_file(), bfd_seek(), buf, bfd_link_info::callbacks, check_excluded_libs(), config, lang_input_statement_struct::dynamic, ld_config_type::dynamic_link, EF_IRIX_ABI64, einfo(), elf_elfheader, err, FALSE, fd, lang_input_statement_struct::filename, bfd::filename, free(), info_msg(), input_script, ipa_is_whirl(), ipa_process_whirl(), is_ipa, ld_set_cur_obj(), ldemul_recognized_file(), ldemul_unrecognized_file(), ldfile_assumed_script, ldfile_open_command_file(), ldfile_open_file(), ldlang_add_file(), ldlang_sysrooted_script, link_info, lang_input_statement_struct::loaded, lang_input_statement_struct::local_sym_name, member(), NULL, O_RDONLY, open, p, p_process_whirl64, parser_input, SEEK_SET, sprintf(), strlen(), strtol(), lang_input_statement_struct::sysrooted, lang_input_statement_struct::the_bfd, trace_file_tries, trace_files, TRUE, bfd::usrdata, lang_input_statement_struct::whole_archive, xmalloc(), and yyparse.
Referenced by lookup_name(), and open_input_bfds().
| static lang_input_statement_type * lookup_name | ( | const char * | name | ) | [static] |
Definition at line 1676 of file ldlang.c.
References default_target, FALSE, filename, lang_input_statement_struct::filename, statement_list::head, lang_input_file_is_search_file_enum, load_symbols(), lang_input_statement_struct::loaded, lang_input_statement_struct::local_sym_name, new_afile(), lang_input_statement_struct::next_real_file, NULL, lang_input_statement_struct::real, and strcmp().
Referenced by build_external_ref(), build_functional_cast(), build_member_call(), build_new(), c_parser_declspecs(), c_parser_omp_variable_list(), darwin_pragma_unused(), declspecs_add_type(), define_label(), do_identifier(), finish_decl(), frob_id(), get_object_reference(), grokdeclarator(), handle_cleanup_attribute(), lookup_and_check_tag(), lookup_template_class(), objc_declare_class(), open_input_bfds(), push_parm_decl(), see_typename(), setup_string_decl(), sparc_encode_asi(), sparc_encode_membar(), sparc_encode_prefetch(), sparc_encode_sparclet_cpreg(), start_class(), tsubst_copy_and_build(), tsubst_friend_class(), walk_wild(), WFE_Add_Weak(), WFE_Assemble_Alias(), WFE_Assemble_Constructor(), WFE_Assemble_Destructor(), WFE_Weak_Finish(), and xref_tag().
| static void map_input_to_output_sections | ( | lang_statement_union_type * | s, | |
| const char * | target, | |||
| lang_output_section_statement_type * | os | |||
| ) | [static] |
Definition at line 2708 of file ldlang.c.
References lang_output_section_statement_struct::addr_tree, lang_address_statement_struct::address, lang_statement_union::address_statement, lang_output_section_statement_struct::all_input_readonly, lang_statement_union::assignment_statement, lang_output_section_statement_struct::bfd_section, check_input_sections(), lang_output_section_statement_struct::children, lang_group_statement_type::children, lang_output_section_statement_struct::constraint, constructor_list, lang_statement_union::data_statement, lang_assignment_statement_type::exp, lang_data_statement_type::exp, exp_init_os(), FAIL, lang_output_section_statement_struct::flags, bfd_section::flags, lang_statement_union::group_statement, statement_list::head, lang_statement_union::header, init_os(), lang_output_section_statement_lookup(), lang_statement_header_struct::next, NULL, ONLY_IF_RO, ONLY_IF_RW, lang_statement_union::output_section_statement, SEC_ALLOC, SEC_HAS_CONTENTS, SEC_LOAD, SEC_NEVER_LOAD, lang_address_statement_struct::section_name, lang_address_statement_struct::segment, lang_target_statement_struct::target, lang_statement_union::target_statement, TRUE, lang_statement_header_struct::type, segment_struct::used, wild(), and lang_statement_union::wild_statement.
Referenced by lang_process().
| static int name_compare | ( | char * | first, | |
| char * | second | |||
| ) | [static] |
| static lang_input_statement_type* new_afile | ( | const char * | name, | |
| lang_input_file_enum_type | file_type, | |||
| const char * | target, | |||
| bfd_boolean | add_to_list | |||
| ) | [static] |
Definition at line 417 of file ldlang.c.
References add_needed, lang_input_statement_struct::add_needed, lang_input_statement_struct::as_needed, as_needed, lang_input_statement_struct::asymbols, concat(), config, lang_input_statement_struct::dynamic, ld_config_type::dynamic_link, FAIL, FALSE, lang_input_statement_struct::filename, lang_input_statement_struct::header, lang_input_statement_struct::is_archive, lang_input_statement_struct::just_syms_flag, lang_has_input_file, lang_input_file_is_fake_enum, lang_input_file_is_file_enum, lang_input_file_is_l_enum, lang_input_file_is_marker_enum, lang_input_file_is_search_file_enum, lang_input_file_is_symbols_only_enum, lang_statement_append(), ldlang_sysrooted_script, lang_input_statement_struct::loaded, lang_input_statement_struct::local_sym_name, new_stat, lang_statement_header_struct::next, lang_input_statement_struct::next, lang_input_statement_struct::next_real_file, NULL, p, lang_input_statement_struct::real, lang_input_statement_struct::search_dirs_flag, stat_alloc(), lang_input_statement_struct::symbol_count, lang_input_statement_struct::sysrooted, lang_input_statement_struct::target, lang_input_statement_struct::the_bfd, TRUE, lang_input_statement_struct::whole_archive, and whole_archive.
Referenced by lang_add_input_file(), and lookup_name().
| static lang_statement_union_type* new_statement | ( | enum statement_enum | type, | |
| size_t | size, | |||
| lang_statement_list_type * | list | |||
| ) | [static] |
Definition at line 394 of file ldlang.c.
References lang_statement_append(), NULL, and stat_alloc().
Referenced by Hoist_Inner_Invar(), lang_add_attribute(), scan_decls(), and Transform_Expression().
| static void open_input_bfds | ( | lang_statement_union_type * | s, | |
| bfd_boolean | force | |||
| ) | [static] |
Definition at line 2395 of file ldlang.c.
References bfd_archive, bfd_check_format(), lang_wild_statement_struct::children, lang_output_section_statement_struct::children, lang_group_statement_type::children, config, constructor_list, current_target, FALSE, lang_wild_statement_struct::filename, lang_statement_union::group_statement, bfd_link_info::hash, statement_list::head, lang_statement_union::header, lang_statement_union::input_statement, lang_list_init(), link_info, load_symbols(), lang_input_statement_struct::loaded, lookup_name(), ld_config_type::make_executable, lang_statement_header_struct::next, NULL, lang_statement_union::output_section_statement, lang_input_statement_struct::real, lang_target_statement_struct::target, lang_input_statement_struct::target, lang_statement_union::target_statement, lang_input_statement_struct::the_bfd, TRUE, lang_statement_header_struct::type, bfd_link_hash_table::undefs_tail, lang_input_statement_struct::whole_archive, lang_statement_union::wild_statement, and wildcardp.
Referenced by lang_process().
| static bfd* open_output | ( | const char * | name | ) | [static] |
Definition at line 2251 of file ldlang.c.
References _, bfd_target::alternative_target, BFD_ENDIAN_BIG, BFD_ENDIAN_LITTLE, bfd_error_invalid_target, bfd_get_error(), bfd_link_hash_table_create, bfd_object, bfd_openw(), bfd_search_for_target(), bfd_set_arch_mach, bfd_set_format(), bfd_set_gp_size(), bfd_target::byteorder, closest_target_match(), command_line, delete_output_file_on_failure, einfo(), args_type::endian, ENDIAN_BIG, g_switch_value, get_target(), bfd_link_info::hash, lang_get_output_target(), ldfile_output_architecture, ldfile_output_machine, link_info, bfd_target::name, NULL, output_target, target, and TRUE.
Referenced by ldlang_open_output().
| static void os_region_check | ( | lang_output_section_statement_type * | os, | |
| lang_memory_region_type * | region, | |||
| etree_type * | tree, | |||
| bfd_vma | base | |||
| ) | [static] |
Definition at line 3540 of file ldlang.c.
References _, lang_output_section_statement_struct::bfd_section, memory_region_struct::current, einfo(), memory_region_struct::length, memory_region_struct::name, bfd_section::name, NULL, memory_region_struct::origin, and bfd_section::owner.
Referenced by lang_size_sections_1().
| static asection* output_prev_sec_find | ( | lang_output_section_statement_type * | os | ) | [static] |
Definition at line 817 of file ldlang.c.
References lang_output_section_statement_struct::bfd_section, lang_output_section_statement_struct::constraint, statement_list::head, lookup(), lang_output_section_statement_struct::next, NULL, lang_statement_union::output_section_statement, bfd_section::owner, and s.
Referenced by lang_insert_orphan().
| static void output_section_callback | ( | lang_wild_statement_type * | ptr, | |
| struct wildcard_list * | sec, | |||
| asection * | section, | |||
| lang_input_statement_type * | file, | |||
| void * | output | |||
| ) | [static] |
Definition at line 1603 of file ldlang.c.
References ASSERT, before, lang_wild_statement_struct::children, statement_list::head, lang_statement_union::header, lang_add_section(), lang_list_init(), lang_statement_header_struct::next, NULL, unique_section_p(), and wild_sort().
Referenced by wild().
| static void print_address_statement | ( | lang_address_statement_type * | address | ) | [static] |
Definition at line 3133 of file ldlang.c.
References _, lang_address_statement_struct::address, exp_print_tree(), minfo(), print_nl(), and lang_address_statement_struct::section_name.
Referenced by print_statement().
Definition at line 2981 of file ldlang.c.
References map_symbol_def::entry, get_userdata, fat_user_section_struct::map_symbol_def_head, fat_user_section_struct::map_symbol_def_tail, map_symbol_def::next, and print_one_symbol().
Referenced by print_input_section().
| static void print_assignment | ( | lang_assignment_statement_type * | assignment, | |
| lang_output_section_statement_type * | output_section | |||
| ) | [static] |
Definition at line 2896 of file ldlang.c.
References etree_union::assert_s, etree_union::assign, lang_output_section_statement_struct::bfd_section, etree_union::child, dst, etree_union::dst, lang_assignment_statement_type::exp, exp_fold_tree(), exp_print_tree(), i, lang_final_phase_enum, minfo(), node_type::node_class, print_dot, print_nl(), print_space(), result, etree_value_type::section, SECTION_NAME_MAP_LENGTH, etree_union::src, etree_union::type, etree_value_type::valid_p, etree_value_type::value, and bfd_section::vma.
Referenced by print_statement().
| static void print_data_statement | ( | lang_data_statement_type * | data | ) | [static] |
Definition at line 3075 of file ldlang.c.
References abort, addr(), BYTE, BYTE_SIZE, lang_data_statement_type::exp, exp_print_tree(), i, init_opb(), LONG, LONG_SIZE, minfo(), node_type::node_class, NULL, lang_data_statement_type::output_section, lang_data_statement_type::output_vma, print_dot, print_nl(), print_space(), QUAD_SIZE, SECTION_NAME_MAP_LENGTH, SHORT, SHORT_SIZE, size, SQUAD, TO_ADDR, lang_data_statement_type::type, etree_union::type, lang_data_statement_type::value, and bfd_section::vma.
Referenced by print_statement().
| static void print_fill_statement | ( | lang_fill_statement_type * | fill | ) | [static] |
Definition at line 3064 of file ldlang.c.
References config, _fill_type::data, lang_fill_statement_type::fill, fprintf(), fputs(), ld_config_type::map_file, p, size, and _fill_type::size.
Referenced by print_statement().
| static void print_group | ( | lang_group_statement_type * | s, | |
| lang_output_section_statement_type * | os | |||
| ) | [static] |
Definition at line 3256 of file ldlang.c.
References lang_group_statement_type::children, config, fprintf(), statement_list::head, ld_config_type::map_file, and print_statement_list().
Referenced by print_statement().
| static void print_input_section | ( | lang_input_section_type * | in | ) | [static] |
Definition at line 2998 of file ldlang.c.
References _, addr(), bfd_link_hash_traverse(), command_line, bfd_section::flags, bfd_link_info::hash, i, init_opb(), len, link_info, minfo(), bfd_section::name, NULL, bfd_section::output_offset, bfd_section::output_section, bfd_section::owner, print_all_symbols(), print_dot, print_nl(), print_one_symbol(), print_space(), bfd_section::rawsize, args_type::reduce_memory_overheads, SEC_EXCLUDE, lang_input_section_type::section, SECTION_NAME_MAP_LENGTH, size, bfd_section::size, strlen(), TO_ADDR, and bfd_section::vma.
Referenced by print_statement().
| static void print_input_statement | ( | lang_input_statement_type * | statm | ) | [static] |
Definition at line 2945 of file ldlang.c.
References config, lang_input_statement_struct::filename, fprintf(), ld_config_type::map_file, and NULL.
Referenced by print_statement().
| static bfd_boolean print_one_symbol | ( | struct bfd_link_hash_entry * | hash_entry, | |
| void * | ptr | |||
| ) | [static] |
Definition at line 2957 of file ldlang.c.
References bfd_link_hash_defined, bfd_link_hash_defweak, bfd_link_hash_entry::def, i, minfo(), print_space(), bfd_link_hash_entry::root, sec, SECTION_NAME_MAP_LENGTH, bfd_hash_entry::string, TRUE, bfd_link_hash_entry::type, and bfd_link_hash_entry::u.
Referenced by print_all_symbols(), and print_input_section().
| static void print_output_section_statement | ( | lang_output_section_statement_type * | output_section_statement | ) | [static] |
Definition at line 2851 of file ldlang.c.
References _, addr(), lang_output_section_statement_struct::bfd_section, lang_output_section_statement_struct::children, exp_get_abs_int(), statement_list::head, lang_final_phase_enum, len, lang_output_section_statement_struct::load_base, minfo(), lang_output_section_statement_struct::name, NULL, print_dot, print_nl(), print_space(), print_statement_list(), SECTION_NAME_MAP_LENGTH, bfd_section::size, strlen(), and bfd_section::vma.
Referenced by print_statement().
| static void print_padding_statement | ( | lang_padding_statement_type * | s | ) | [static] |
Definition at line 3174 of file ldlang.c.
References addr(), config, _fill_type::data, lang_padding_statement_type::fill, fprintf(), init_opb(), len, ld_config_type::map_file, minfo(), NULL, lang_padding_statement_type::output_offset, lang_padding_statement_type::output_section, p, print_dot, print_nl(), print_space(), SECTION_NAME_MAP_LENGTH, lang_padding_statement_type::size, size, _fill_type::size, TO_ADDR, and bfd_section::vma.
Referenced by print_statement().
| static void print_reloc_statement | ( | lang_reloc_statement_type * | reloc | ) | [static] |
Definition at line 3143 of file ldlang.c.
References lang_reloc_statement_type::addend_exp, addr(), bfd_get_reloc_size(), exp_print_tree(), lang_reloc_statement_type::howto, i, init_opb(), minfo(), reloc_howto_struct::name, bfd_section::name, lang_reloc_statement_type::name, NULL, lang_reloc_statement_type::output_section, lang_reloc_statement_type::output_vma, print_dot, print_nl(), print_space(), lang_reloc_statement_type::section, SECTION_NAME_MAP_LENGTH, size, TO_ADDR, and bfd_section::vma.
Referenced by print_statement().
| static void print_statement | ( | lang_statement_union_type * | s, | |
| lang_output_section_statement_type * | os | |||
| ) | [static] |
Definition at line 3282 of file ldlang.c.
References _, lang_statement_union::address_statement, lang_statement_union::assignment_statement, config, constructor_list, constructors_sorted, lang_statement_union::data_statement, FAIL, lang_statement_union::fill_statement, fprintf(), lang_statement_union::group_statement, statement_list::head, lang_statement_union::header, lang_statement_union::input_section, lang_statement_union::input_statement, ld_config_type::map_file, minfo(), lang_output_statement_struct::name, NULL, lang_statement_union::output_section_statement, lang_statement_union::output_statement, output_target, lang_statement_union::padding_statement, print_address_statement(), print_assignment(), print_data_statement(), print_fill_statement(), print_group(), print_input_section(), print_input_statement(), print_output_section_statement(), print_padding_statement(), print_reloc_statement(), print_statement_list(), print_wild_statement(), lang_statement_union::reloc_statement, lang_target_statement_struct::target, lang_statement_union::target_statement, lang_statement_header_struct::type, and lang_statement_union::wild_statement.
Referenced by dprint_statement(), and print_statement_list().
| static void print_statement_list | ( | lang_statement_union_type * | s, | |
| lang_output_section_statement_type * | os | |||
| ) | [static] |
Definition at line 3268 of file ldlang.c.
References lang_statement_union::header, lang_statement_header_struct::next, NULL, and print_statement().
Referenced by dprint_statement(), print_group(), print_output_section_statement(), print_statement(), print_statements(), and print_wild_statement().
Definition at line 3353 of file ldlang.c.
References statement_list::head, and print_statement_list().
Referenced by lang_map().
| static void print_wild_statement | ( | lang_wild_statement_type * | w, | |
| lang_output_section_statement_type * | os | |||
| ) | [static] |
Definition at line 3208 of file ldlang.c.
References lang_wild_statement_struct::children, wildcard_spec::exclude_name_list, lang_wild_statement_struct::filename, lang_wild_statement_struct::filenames_sorted, statement_list::head, minfo(), name_list::name, wildcard_spec::name, wildcard_list::next, name_list::next, NULL, print_nl(), print_space(), print_statement_list(), sec, lang_wild_statement_struct::section_list, wildcard_spec::sorted, wildcard_list::spec, and tmp.
Referenced by print_statement().
| static const char* realsymbol | ( | const char * | pattern | ) | [static] |
Definition at line 1297 of file ldlang.c.
References bfd_link_just_syms, bfd_section_already_linked, DYNAMIC, bfd::flags, lang_input_statement_struct::just_syms_flag, and link_info.
Referenced by ldlang_add_file().
| static bfd_vma size_input_section | ( | lang_statement_union_type ** | this_ptr, | |
| lang_output_section_statement_type * | output_section_statement, | |||
| fill_type * | fill, | |||
| bfd_vma | dot | |||
| ) | [static] |
Definition at line 3424 of file ldlang.c.
References align_power, bfd_section::alignment_power, lang_output_section_statement_struct::bfd_section, bfd_section::flags, i, lang_input_section_type::ifile, insert_pad(), is, lang_input_statement_struct::just_syms_flag, o, bfd_section::output_offset, SEC_EXCLUDE, lang_input_section_type::section, bfd_section::size, lang_output_section_statement_struct::subsection_alignment, TO_ADDR, TO_SIZE, and bfd_section::vma.
Referenced by lang_size_sections_1().
| static bfd_boolean sort_def_symbol | ( | struct bfd_link_hash_entry * | hash_entry, | |
| info | ||||
| ) | [static] |
Definition at line 1175 of file ldlang.c.
References bfd_link_hash_defined, bfd_link_hash_defweak, map_symbol_def::entry, get_userdata, init_map_userdata(), map_obstack, fat_user_section_struct::map_symbol_def_head, fat_user_section_struct::map_symbol_def_tail, map_symbol_def::next, obstack_alloc, and TRUE.
| static bfd_boolean sort_def_symbol | ( | struct bfd_link_hash_entry * | , | |
| void * | ||||
| ) | [static] |
Referenced by lang_map().
Definition at line 160 of file ldlang.c.
References obstack_alloc, and stat_obstack.
Referenced by exp_assert(), exp_assop(), exp_bigintop(), exp_binop(), exp_intop(), exp_nameop(), exp_provide(), exp_relop(), exp_trinop(), exp_unop(), init_map_userdata(), init_os(), insert_pad(), lang_memory_region_lookup(), lang_new_phdr(), ldlang_add_undef(), new_afile(), new_statement(), and set_segment_start().
| static void strcut | ( | char * | haystack, | |
| char * | needle | |||
| ) | [static] |
| static void stricpy | ( | char * | dest, | |
| char * | src | |||
| ) | [static] |
Definition at line 2819 of file ldlang.c.
References lang_output_section_statement_struct::bfd_section, bfd_section_list_remove, lang_output_section_statement_struct::constraint, bfd_section::flags, statement_list::head, bfd_section::next, lang_output_section_statement_struct::next, NULL, output_bfd, lang_statement_union::output_section_statement, p, SEC_EXCLUDE, bfd::section_count, and bfd::sections.
Referenced by lang_process().
| static int topower | ( | int | x | ) | [static] |
Definition at line 4723 of file ldlang.c.
References i.
Referenced by lang_enter_output_section_statement().
| bfd_boolean unique_section_p | ( | const asection * | sec | ) |
Definition at line 166 of file ldlang.c.
References bfd_is_group_section, FALSE, fnmatch(), link_info, unique_sections::name, bfd_section::name, unique_sections::next, NULL, bfd_section::owner, bfd_link_info::relocatable, strcmp(), TRUE, and wildcardp.
Referenced by check_section_callback(), and output_section_callback().
| static void update_wild_statements | ( | lang_statement_union_type * | s | ) | [static] |
Definition at line 2642 of file ldlang.c.
References by_alignment, by_alignment_name, by_name, by_name_alignment, lang_output_section_statement_struct::children, lang_group_statement_type::children, constructor_list, FAIL, lang_statement_union::group_statement, statement_list::head, lang_statement_union::header, lang_statement_header_struct::next, none, NULL, lang_statement_union::output_section_statement, sec, lang_wild_statement_struct::section_list, sort_section, wildcard_spec::sorted, wildcard_list::spec, lang_statement_header_struct::type, and lang_statement_union::wild_statement.
Referenced by lang_process().
Definition at line 5967 of file ldlang.c.
References strcmp(), and bfd_elf_version_expr::symbol.
Referenced by lang_finalize_version_expr_head().
Definition at line 5959 of file ldlang.c.
References htab_hash_string(), and bfd_elf_version_expr::symbol.
Referenced by lang_finalize_version_expr_head().
| static void walk_wild | ( | lang_wild_statement_type * | s, | |
| callback_t | callback, | |||
| void * | data | |||
| ) | [static] |
Definition at line 298 of file ldlang.c.
References f, lang_wild_statement_struct::filename, FNM_FILE_NAME, fnmatch(), LANG_FOR_EACH_INPUT_STATEMENT, lookup_name(), NULL, walk_wild_file(), and wildcardp.
Referenced by check_input_sections(), lang_gc_sections_1(), and wild().
| static void walk_wild_file | ( | lang_wild_statement_type * | s, | |
| lang_input_statement_type * | f, | |||
| callback_t | callback, | |||
| void * | data | |||
| ) | [static] |
Definition at line 265 of file ldlang.c.
References bfd_archive, bfd_check_format(), bfd_openr_next_archived_file(), member(), NULL, lang_input_statement_struct::the_bfd, bfd::usrdata, and walk_wild_section().
Referenced by walk_wild().
| static void walk_wild_section | ( | lang_wild_statement_type * | ptr, | |
| lang_input_statement_type * | file, | |||
| callback_t | callback, | |||
| void * | data | |||
| ) | [static] |
Definition at line 191 of file ldlang.c.
References bfd_get_section_name, FALSE, fnmatch(), lang_input_statement_struct::just_syms_flag, name_list::name, bfd_section::next, name_list::next, NULL, s, sec, lang_wild_statement_struct::section_list, bfd::sections, skip, strcmp(), lang_input_statement_struct::the_bfd, and wildcardp.
Referenced by walk_wild_file().
| static void wild | ( | lang_wild_statement_type * | s, | |
| const char *target | ATTRIBUTE_UNUSED, | |||
| lang_output_section_statement_type * | output | |||
| ) | [static] |
Definition at line 2054 of file ldlang.c.
References wildcard_spec::name, wildcard_list::next, NULL, output_section_callback(), sec, lang_wild_statement_struct::section_list, wildcard_list::spec, strcmp(), and walk_wild().
Referenced by map_input_to_output_sections().
| static lang_statement_union_type* wild_sort | ( | lang_wild_statement_type * | wild, | |
| struct wildcard_list * | sec, | |||
| lang_input_statement_type * | file, | |||
| asection * | section | |||
| ) | [static] |
Definition at line 1505 of file ldlang.c.
References bfd_get_filename, bfd_get_section_name, bfd_my_archive, lang_wild_statement_struct::children, compare_section(), FALSE, lang_input_statement_struct::filename, lang_wild_statement_struct::filenames_sorted, statement_list::head, lang_statement_union::header, i, lang_input_section_type::ifile, lang_statement_union::input_section, lang_statement_header_struct::next, none, NULL, lang_input_section_type::section, wildcard_spec::sorted, wildcard_list::spec, strcmp(), lang_input_statement_struct::the_bfd, TRUE, and lang_statement_header_struct::type.
Referenced by output_section_callback().
Definition at line 123 of file ldlang.c.
Referenced by exp_binop(), exp_fold_tree(), exp_get_abs_int(), exp_get_fill(), exp_get_vma(), exp_unop(), fold_binary(), fold_name(), fold_unary(), make_abs(), new_abs(), pe_dll_fill_sections(), and pe_exe_fill_sections().
Definition at line 139 of file ldlang.c.
Referenced by _ALLOCATE(), _cntig_chk(), _cpp_simplify_pathname(), _cpp_valid_ucn(), _DEALLOC(), _DEALLOCATE(), ANL_LOOP_CONSTRUCT::_First_Loop_Stmt(), ANL_REGION_CONSTRUCT::_First_Region_Stmt(), ANL_LOOP_CONSTRUCT::_Last_Loop_Stmt(), ANL_REGION_CONSTRUCT::_Last_Region_Stmt(), ANL_LOOP_CONSTRUCT::_Loop_Srcpos_Range(), _REALLOC(), _unpack_arry(), access_can_touch_variable(), add_address_candidates(), CODEMAP::Add_expr(), add_fdes(), add_iv_value_candidates(), PF_LOOPNODE::Add_Ref(), add_to_sequence(), add_vcall_offset(), addr_base_offset(), KEY_SCH::Addr_Generation(), adjust_result_of_qualified_name_lookup(), aligned_memory_operand(), alpha_build_builtin_va_list(), alpha_build_va_list(), alpha_gimplify_va_arg(), analyze_addressof_ty_being_split(), Analyze_OP_For_Unwind_Info(), POINTS_TO::Analyze_ST(), annotate_constant_pool_refs(), Append_Distribution(), apply_macro_to_string(), AR_convert_hex_str_to_float(), AR_INTRIN2(), ARA_REF::ARA_REF(), arc_print_operand_address(), arm_gen_rotated_half_load(), arm_legitimize_address(), arm_reload_in_hi(), arm_reload_out_hi(), aux_compute_alignment(), avr_override_options(), Base_Symbol(), Base_Symbol_And_Offset(), Base_Symbol_And_Offset_For_Addressing(), basename(), bfd_elf_final_link(), binary_search_single_encoding_fdes(), bsearch(), build_addr(), build_anon_union_vars(), ARRAY_REF::Build_Array(), Build_Class_Hierarchy(), build_fold_addr_expr_with_type(), build_insn_table(), build_object_call(), TRANSPOSE_DIRECTED_GRAPH16::Build_Snl_Array(), build_static_cast(), build_static_cast_1(), build_unary_op(), c4x_check_legit_addr(), c4x_legitimate_address_p(), c_initialize_diagnostics(), CGTARG_TN_For_Asm_Operand(), Check_range(), choose_temp_base(), choose_tmpdir(), chrec_convert_1(), classify_object_over_fdes(), OPT_STAB::Collect_nested_ref_info(), comp_except_specs(), comp_target_types(), compute_bb_dataflow(), compute_object_offset(), convert_binary_literal(), convert_hex_literal(), Convert_Regs(), convert_to_string(), count_ev_in_wider_type(), cp_parser_base_clause(), cpp_interpret_integer(), cpp_interpret_string(), Create_And_Set_ST_Base(), create_file_names(), create_new_iv(), Create_ST_For_Tree(), create_unique_file(), crx_decompose_address(), cwh_io_ST_base(), cwh_stab_adjust_base_name(), cwh_stab_altentry_TY(), cxx_initialize_diagnostics(), cygwin_gt_pch_get_address(), darwin_emit_unwind_label(), Dead_Store_Eliminate_Arrays(), Delete_Unwanted_Prefetches(), dequeue_and_dump(), desc_frgr_mem(), determine_base_object(), determine_biv_step(), determine_exit_conditions(), determine_iv_cost(), dfs_base_derived_from(), dfs_find_vbase_instance(), Do_Linearize(), do_spill(), double_max_option_seen(), DRA_Make_File_Name(), DST_Create_type(), DST_enter_member_function(), DST_enter_normal_field(), DST_enter_static_data_mem(), DST_enter_struct_union_members(), dw2_asm_output_offset(), EBO_Fold_Load_Duplicate(), EBO_Lea_Insertion(), EBO_Load_Execution(), EETARG_Call_Mcount(), elf_bfd_final_link(), eliminate_regs_in_insn(), emit_notes_in_bb(), emit_restore_regs(), emit_save_or_restore_regs(), emit_save_regs(), STMTREP::Enter_lhs(), EPROP(), Exp_Immediate(), Exp_Immediate_Int(), Expand_32Bit_Int_Less(), Expand_32Bit_Int_Less_Equal(), Expand_Add(), Expand_Int_Less(), Expand_Int_Less_Equal(), Expand_Sub(), expr_iter(), extract_force_align_mem_bit_field(), fde_single_encoding_compare(), fei_exponentiate(), fei_static_base(), fei_task_var(), ffestc_R1227(), final_equivalence_semantics(), find(), find_bivs(), find_givs_in_stmt(), find_interesting_uses_address(), Find_Reduction_Array_Base(), find_reloads_subreg_address(), finish_vtbls(), fix_lexical_addr(), FIX_PROC_HEAD(), Fixup_Common(), Fold_Base(), fold_const_aggregate_ref(), fold_offsetof_1(), fold_rtx(), fold_rtx_mem_1(), fold_unary(), Formal_Sym(), FPROP(), frv_hard_regno_mode_ok(), frv_index_memory(), gather_memory_references_ref(), gen_bypass(), Gen_Post_Incr_Memop(), generate_classfile(), get_address_cost(), get_aligned_mem(), Get_callee(), get_charset_aliases(), Get_element_mtype(), Get_element_ty(), Get_MP_modref(), Get_ST_Base(), Get_TN_Value(), get_unaligned_address(), ggc_allocated_p(), ggc_pch_this_base(), gimplify_omp_atomic_fetch_op(), REGION_BOUND::GRB_formal_ref(), hash_c_test(), hppa_expand_prologue(), hppa_legitimize_address(), i960_address_cost(), i960_va_arg(), i960_va_start(), ia64_split_timode(), ia64_split_tmode(), ia64_split_tmode_move(), Identify_and_delete_incr(), init_alias_analysis(), initialize_argument_information(), instantiate_class_template(), instantiate_element(), BB_LOOP::Invariant_cr_rec(), IP_READ_pu_infos(), IPO_Pad_Arrays(), Is_Allocated(), is_call_clobbered_ref(), Is_Common_Based_Symbol(), Is_Control_Speculation_Gratuitous(), Is_Local_Array_Reference(), ix86_decompose_address(), ix86_split_long_move(), java_get_line_col(), lambda_lattice_compute_base(), lbasename(), legitimate_address_p(), legitimize_address(), legitimize_pic_address(), legitimize_tls_address(), lex_number(), linear_search_fdes(), load_multiple_operation(), look_for_casts(), lookup_page_table_entry(), lower_bit_field_id(), lower_complex_expr(), lower_split_sym_addrs(), POINTS_TO::Lower_to_base(), lower_uplevel_reference(), m32c_print_operand(), m32r_legitimize_pic_address(), m32r_print_operand_address(), m68hc11_reload_operands(), m68hc11_small_indexed_indirect_p(), m68hc11_valid_addressing_p(), m88k_va_arg(), machopic_indirect_data_reference(), machopic_legitimize_pic_address(), main(), make_ii_file_name(), make_rii_file_name(), OPT_STAB::Make_st_group(), make_temp_file(), may_be_unaligned_p(), mcore_print_operand_address(), mdx_epilogue(), MEM_LARGE_BLOCK_realloc(), mem_min_alignment(), memory_address_length(), merge_types(), mf_xform_derefs_1(), mips16_optimize_gp(), mips_cannot_force_const_mem(), mips_expand_epilogue(), mips_legitimize_const_move(), mips_output_function_prologue(), mips_unspec_address(), MIR_Build_Loop_List_Array(), mpw_basename(), mpw_mixed_basename(), mri_base(), mri_draw_tree(), mri_load(), new_buff(), new_class_binding(), New_DACT(), New_Gather_References(), RVI_NODE::New_home_wn(), nlm_sparc_write_import(), nonlocal_mentioned_p_1(), object_analysis(), Offset_From_Base_Symbol(), Op_In_Working_Set(), open_files(), compress_path::operator()(), transfer_attributes_as_needed::operator()(), out_movhi_mr_r(), out_movhi_r_mr(), out_movsi_mr_r(), out_movsi_r_mr(), output_global_address(), output_restore_regs(), output_toc(), Pad_Arrays(), Pad_Local_Arrays_In_Whirl(), parse_identifier(), parse_line_table(), parse_number(), parse_slow(), pe_print_edata(), REGION_STRIDE_PREFETCH::Phased_Multi_Stride_Ins(), ARRAY_DIRECTED_GRAPH16::Print(), Print_Feedback_Info(), print_operand(), print_operand_address(), print_operand_reloc(), print_relative_path(), print_shift_count_operand(), SUMMARIZE< program >::Process_procedure(), process_set(), Process_Stack_Variable(), Promote_Pointer(), COPYPROP::Propagatable(), read_count_file(), read_graph_file(), Read_isr_cg(), Read_Pragma_Data_Affinity(), real_nan(), Record_unknown_memory_op(), register_indirect_p(), reload_combine(), resolve_offset_ref(), rs6000_override_options(), s390_decompose_address(), s390_optimize_prologue(), Scalarize_Arrays(), ACCESS_ARRAY::Set_Array(), set_mem_attributes_minus_bitpos(), set_page_table_entry(), Set_Reduction_Array_Base_is_shared_auto(), sort_mem_initializers(), sparc_nonflat_function_prologue(), sparc_output_addr_diff_vec(), Split_Common_Block(), ST_alignment(), ST_Block_Merge(), St_Block_Union(), ST_is_const_initialized_scalar(), ST_on_stack(), ST_Source_COMMON_Block(), store_killed_in_insn(), store_multiple_operation(), REGION_STRIDE_PREFETCH::Strong_Single_Stride_Ins(), synthesize_exception_spec(), TEST_FOR_FIX_PROC_HEAD(), thumb_load_double_from_address(), tree_could_trap_p(), tree_expr_nonzero_p(), tree_expr_nonzero_warnv_p(), true_dependence(), true_regnum(), tsubst_copy(), unaligned_memory_operand(), update_alias_info(), use_anchored_address(), va_list_counter_struct_op(), vect_analyze_data_refs(), vect_compute_data_ref_alignment(), vect_object_analysis(), vfp_output_fstmx(), vrp_expr_computes_nonzero(), vt_initialize(), walk_rtx(), WFE_Start_Function(), WGEN_Start_Function(), WN2F_String_Argument(), WN_get_global_symtab(), WN_get_PU_Infos(), WN_get_symtab(), write_dependence_p(), write_integer_cst(), xref_basetypes(), xstormy16_expand_builtin_va_arg(), xstormy16_expand_builtin_va_start(), and xt_true_regnum().
Definition at line 4720 of file ldlang.c.
Referenced by GLOBAL_ARRAY_LIST::Find_Global_Array_Info().
const char* current_target [static] |
Definition at line 93 of file ldlang.c.
Referenced by lang_get_output_target(), lang_process(), ldlang_open_output(), and open_input_bfds().
| bfd_boolean delete_output_file_on_failure = FALSE |
| bfd_boolean entry_from_cmdline |
| const char* entry_section = ".text" |
| struct bfd_sym_chain entry_symbol = { NULL, NULL } |
struct excluded_lib* excluded_libs [static] |
| lang_statement_list_type file_chain = { NULL, NULL } |
lang_input_statement_type* first_file [static] |
| bfd_boolean had_output_filename = FALSE |
lang_statement_list_type input_file_chain [static] |
struct bfd_hash_table lang_definedness_table [static] |
Definition at line 97 of file ldlang.c.
Referenced by lang_init(), lang_symbol_definition_iteration(), lang_track_definedness(), and lang_update_definedness().
| bfd_boolean lang_float_flag = FALSE |
| bfd_boolean lang_has_input_file = FALSE |
Definition at line 130 of file ldlang.c.
Referenced by lang_add_input_file(), lang_add_wild(), main(), and new_afile().
struct lang_phdr* lang_phdr_list [static] |
| int lang_statement_iteration = 0 |
Definition at line 137 of file ldlang.c.
Referenced by fold_name(), lang_do_assignments(), lang_init(), lang_size_sections(), and lang_update_definedness().
bfd_boolean ldlang_sysrooted_script = FALSE [static] |
struct obstack map_obstack [static] |
bfd_boolean map_option_f [static] |
Definition at line 134 of file ldlang.c.
Referenced by check_local_sym_xref(), check_nocrossref(), main(), and notice().
const char* output_target [static] |
Definition at line 94 of file ldlang.c.
Referenced by lang_add_output_format(), lang_get_output_target(), open_output(), and print_statement().
struct overlay_list* overlay_list [static] |
etree_type* overlay_max [static] |
etree_type* overlay_subalign [static] |
etree_type* overlay_vma [static] |
bfd_boolean placed_commons = FALSE [static] |
Definition at line 91 of file ldlang.c.
Referenced by print_assignment(), print_data_statement(), print_input_section(), print_output_section_statement(), print_padding_statement(), and print_reloc_statement().
const char* startup_file [static] |
struct obstack stat_obstack [static] |
Definition at line 125 of file ldlang.c.
Referenced by ldctor_build_sets(), pe_dll_fill_sections(), and pe_exe_fill_sections().
lang_statement_list_type statement_list [static] |
int version_index [static] |
Definition at line 5956 of file ldlang.c.
Referenced by _bfd_elf_link_assign_sym_version(), and elf_link_check_versioned_symbol().
const bfd_target* winner [static] |
Definition at line 2157 of file ldlang.c.
Referenced by build_expr_type_conversion(), joust(), more_specialized(), and more_specialized_class().
1.5.6