| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
"m32c" returns the m32c arch_info_struct and not the m16c
arch_info_struct.
(arch_info_struct): Use the new scan function.
(bfd_m32c_arch): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
warning message if a new section is created without setting any
attributes for it.
(md_pseudo_table): Intercept section creation pseudos.
(md_pcrel_from): Replace abort with an error message.
* config/obj-elf.c (obj_elf_section_name): Export this function.
* config/obj-elf.h (obj_elf_section_name): Prototype.
* gas/elf/section0.d: Skip this test for the h8300.
* gas/elf/section1.d: Likewise.
* gas/elf/section6.d: Likewise.
* gas/elf/elf.exp: Skip section2 and section5 tests when the
target is the h8300.
* ld-scrips/sort.exp: Skip these tests when the target is the
h8300.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* config.bfd: Remove duplicated target vector for i386-*-darwin.
Appends new arch instead of overriding.
Use mach_o_x86_64_vec for x86_64-*-darwin.
* configure.in: Add mach_o_x86_64_vec.
* configure: Regenerate.
* targets.c: Declare mach_o_x86_64_vec, add it to _bfd_target_vector.
* Makefile.am (BFD64_BACKENDS): Add mach-o-x86-64.lo
(BFD64_BACKENDS_CFILES): Add mach-o-x86-64.c
* Makefile.in: Regenerate.
* mach-o-x86-64.c: New file.
|
|
|
|
|
|
| |
* reloc.c: Add MACH_O_X86_64 relocations.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
|
|
|
|
|
|
| |
* ar.c (main): Use lbasename.
(normalize): Ditto.
* objdump.c (update_source_path): Ditto.
|
|
|
|
| |
* dwarf2.h (dwarf_attribute): Add DW_AT_use_GNAT_descriptive_type.
|
|
|
|
|
|
| |
* archive.c (normalize): Use lbasename.
(bfd_bsd_truncate_arname): Ditto.
(bfd_gnu_truncate_arname): Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* arm.cc (Cortex_a8_reloc): New class.
(Target_arm::Target_arm): Initialize new data members fix_cortex_a8_
and cortex_a8_relocs_info_.
(Target_arm::fix_cortex_a8): New method definition.
(Target_arm::Cortex_a8_relocs_info): New type.
(Target_arm::fix_cortex_a8_, Target_arm::cortex_a8_relocs_info_):
New data member declarations.
(Target_arm::scan_reloc_for_stub): Record information about
relocations for THUMB branches that might be exempted from the
Cortex-A8 workaround.
(Target_arm::do_relax): Clear all Cortex-A8 relocation information
at the beginning of a relaxation pass.
|
|
|
|
|
|
|
|
| |
2010-01-12 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (rex_original): Removed.
(ckprefix): Remove rex_original.
(print_insn): Update comments.
|
|
|
|
|
|
|
|
|
|
| |
* arm.cc (Arm_relobj::mapping_symbols_info_): New data member.
(Arm_relobj::Mapping_symbol_position,
Arm_reloj::Mapping_symbol_position_less,
Arm_relobj::Mapping_symbols_info): New types.
(Target_arm::is_mapping_symbol_name): New method definition.
(Arm_relobj::do_count_local_symbols): Save information about mapping
symbols.
|
| |
|
|
|
|
|
|
|
|
| |
(relocate_section): Call visibility_error.
* testsuite/Makefile.am (check_DATA): Add protected_3.err.
(MOSTLYCLEANFILES): Likewise.
(protected_4_pic.o, protected_3.err): New targets.
* testsuite/protected_4.cc: New file.
|
|
|
|
|
|
|
|
|
|
|
| |
2010-01-12 Tristan Gingold <gingold@adacore.com>
* makefile.vms (CFLAGS): Turns warnings into informational messages.
binutils/
2010-01-12 Tristan Gingold <gingold@adacore.com>
* makefile.vms (CFLAGS): Turns warnings into informational messages.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* arm.cc (Arm_relocate_functions::thumb32_branch_offset,
Arm_relocate_functions::thumb32_branch_upper,
Arm_relocate_functions::thumb32_branch_lower,
Arm_relocate_functions::thumb32_cond_branch_offset,
Arm_relocate_functions::thumb32_cond_branch_upper,
Arm_relocate_functions::thumb32_cond_branch_lower,
Arm_relocate_functions::thm_jump19): New methods to handle THUMB
branch offset encoding.
(Arm_relocate_functions::thumb_branch_common): Use new branch
offset encoding methods to avoid code duplication.
(Stub_template::Stub_template) Handle THUMB16_SPECIAL_TYPE.
(Stub_addend_reader::operator()): Use new branch encoding method
to avoid code duplication.
|
|
|
|
|
|
|
|
|
| |
* arm.cc (Arm_relobj::do_gc_process_relocs): New method.
(Target_arm::do_finalize_sections): Define special EXIDX section
symbols only if referenced.
* gc.h (Garbage_collection::add_reference): New method.
(gc_process_relocs): Use Garbage_collection::add_reference to avoid
code duplication.
|
|
|
|
|
| |
Change complaing about duplicate wildcard match from error to
warning.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of 2009-12-30.
(Version_script_info::Version_script_info): Initialize globs_,
default_version_, default_is_global_, and exact_. Don't
initialize globals_ or locals_.
(Version_script_info::build_lookup_tables): Build local symbols
first.
(Version_script_info::unquote): New function.
(Version_script_info::add_exact_match): New function.
(Version_script_info::build_expression_list_lookup): Remove lookup
parameter. Add is_global parameter. Change all callers. Handle
wildcard pattern specially. Unquote pattern. Call
add_exact_match.
(Version_script_info::get_name_to_match): New function.
(Version_script_info::get_symbol_version): New function.
(Version_script_info::get_symbol_version_helper): Remove.
(Version_script_info::check_unmatched_names): Call unquote.
* script.h (class Version_script_info): Change get_symbol_version
to be non-inline and add is_global parameter; change all callers.
Rewrite symbol_is_local. Update declarations. Define struct
Version_tree_match, Exact, Globs. Don't define struct Lookup.
Remove globals_ and locals_ members. Add exact_, globs_,
default_version_, is_global_.
(Version_script_info::Glob): Remove pattern, add expression and
is_global. Update constructor. Change all callers.
* dynobj.cc (Versions::finalize): Mark the version symbol as the
default version.
(Versions::symbol_section_contents): If a symbol is undefined, or
defined in a dynamic object, set the version index to
VER_NDX_LOCAL.
* symtab.cc (Symbol_table::add_from_relobj): Don't call
symbol_is_local.
(Symbol_table::add_from_pluginobj): Likewise.
* testsuite/ver_matching_test.sh: blaza1 and blaza go into V2.
|
|
|
|
| |
* listing.c (print_source): Add one to line number.
|
| |
|
|
|
|
|
|
| |
* Makefile.am (incremental_dump_DEPENDENCIES): Add libintl dependency.
(incremental_dump_LDADD): Add linking option for libintl.
* Makefile.in: Regenerate.
|
| |
|
|
|
|
|
|
|
|
|
| |
2010-01-11 H.J. Lu <hongjiu.lu@intel.com>
PR gold/11144
* testsuite/Makefile.am (dynamic_list.stdout): Use --dyn-syms
instead of -Ds.
* testsuite/Makefile.in: Regenerated.
|
|
|
|
| |
* mach-o.h: Add x86-64 relocation types.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* mach-o.h (bfd_mach_o_backend_data): Add arch field.
(bfd_mach_o_set_arch_mach): New prototype.
* mach-o.c (bfd_mach_o_mkobject): Define with bfd_mach_o_gen_mkobject.
(bfd_mach_o_set_arch_mach): New function.
(bfd_mach_o_gen_mkobject): New function.
Set TARGET_ARCHITECTURE for the generic back-ends.
* mach-o-target.c (bfd_mach_o_set_arch_mach): Remove define.
Check that TARGET_ARCHITECTURE is defined.
Add TARGET_ARCHITECTURE in TARGET_NAME_BACKEND structure.
* mach-o-i386.c (TARGET_ARCHITECTURE): Define.
|
|
|
|
| |
* archive.c (bfd_slurp_armap): Also check for Mach-O sorted armap.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
binutils/
2010-01-11 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11146
* NEWS: Mention --dyn-syms for readelf.
* readelf.c (do_dyn_syms): New.
(OPTION_DYN_SYMS): Likewise.
(options): Add "dyn-syms".
(usage): Add --dyn-syms.
(parse_args): Handle OPTION_DYN_SYMS.
(process_symbol_table): Handle do_dyn_syms.
(process_object): Likewise.
(process_archive): Likewise.
* doc/binutils.texi: Document --dyn-syms for readelf. Mention
symbol hash tables for -D.
ld/testsuite/
2010-01-11 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11146
* ld-elf/dynsym1.d: New.
|
|
|
|
| |
handling of R_V850_HI16_S relocation.
|
| |
|
| |
|
|
|
|
| |
* dwarf1.c (parse_die): Correct FORM_STRING data pointer increment.
|
| |
|
|
|
|
|
|
| |
* dwarf2.c (struct comp_unit): Add sec_info_ptr.
(find_abstract_instance_name): Use it.
(parse_comp_unit): Set it.
|
|
|
|
|
| |
* options.h (DEFINE_var): Use parentheses around argument varname__
in macro body to avoid any unintended subsequent substitutions.
|
|
|
|
| |
candidates before doing symbol resolution.
|
|
|
|
| |
ODR candidates if only one is weak.
|
| |
|
|
|
|
|
|
|
| |
2010-01-09 Ian Lance Taylor <iant@google.com>
PR other/42230
* cp-demangle.c (d_demangle): Return dgs.alc on success.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
/:
* libtool.m4: Sync from git Libtool.
* ltmain.sh: Likewise.
* ltoptions.m4: Likewise.
* ltversion.m4: Likewise.
* lt~obsolete.m4: Likewise.
sim/iq2000/:
* configure: Regenerate.
sim/d10v/:
* configure: Regenerate.
sim/m32r/:
* configure: Regenerate.
sim/frv/:
* configure: Regenerate.
sim/:
* avr/configure: Regenerate.
* cris/configure: Regenerate.
* microblaze/configure: Regenerate.
sim/h8300/:
* configure: Regenerate.
sim/mn10300/:
* configure: Regenerate.
sim/erc32/:
* configure: Regenerate.
sim/arm/:
* configure: Regenerate.
sim/m68hc11/:
* configure: Regenerate.
sim/lm32/:
* configure: Regenerate.
sim/sh64/:
* configure: Regenerate.
sim/v850/:
* configure: Regenerate.
sim/cr16/:
* configure: Regenerate.
sim/moxie/:
* configure: Regenerate.
sim/m32c/:
* configure: Regenerate.
sim/mips/:
* configure: Regenerate.
sim/mcore/:
* configure: Regenerate.
sim/sh/:
* configure: Regenerate.
gprof/:
* Makefile.in: Regenerate.
* configure: Regenerate.
opcodes/:
* Makefile.in: Regenerate.
* configure: Regenerate.
gas/:
* Makefile.in: Regenerate.
* configure: Regenerate.
* doc/Makefile.in: Regenerate.
ld/:
* configure: Regenerate.
gdb/testsuite/:
* gdb.cell/configure: Regenerate.
binutils/:
* Makefile.in: Regenerate.
* configure: Regenerate.
* doc/Makefile.in: Regenerate.
bfd/:
* Makefile.in: Regenerate.
* configure: Regenerate.
bfd/doc/:
* Makefile.in: Regenerate.
|
|
|
|
|
|
| |
Don't warn about ambiguous version, just record the ambiguity.
(Version_script_info::get_symbol_version_helper): Give error if
version is ambiguous.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* arm.cc (Stub_table::Stub_table): Initalize cortex_a8_stubs_,
prev_data_size_ and prev_addralign_. Remove initializer for
deleted data member has_been_changed_.
(Stub_table::empty): Look at both reloc_stubs_ and cortex_a8_stubs_
to determine if the table is empty.
(Stub_table::has_been_changed, Stub_table_set_has_been_changed):
Remove.
(Stub_table::add_reloc_stub): Define method in class definition
instead of just declaring it there.
(Stub_table::add_cortex_a8_stub): New method definition.
(Stub_table::update_data_size_and_addralign): Ditto.
(Stub_table::finalize_stubs): Ditto.
(Stub_table::apply_cortex_a8_workaround_to_address_range): Ditto.
(Stub_table::do_addralign_): Return address alignment in the
(Stub_table::do_reset_address_and_file_offset): Define method in
class definition instead of declaring it there. Set current data
size to be the data size of the previous pass.
(Stub_table::set_final_data_size): Use current data size as the
final data size.
(Stub_table::relocate_stub): Change parameter type of stub from
Reloc_stub pointer to Stub pointer.
(Stub_table::addralign_, Stub_table::has_been_changed_): Remove.
(Stub_table::Cortex_a8_stub_list): New typedef.
(Stub_table::cortex_a8_stubs_, Stub_table::prev_data_size_,
Stub_table::prev_addralign_): New data member.
(Arm_relobj::Arm_relobj): Initialize data member
section_has_cortex_a8_workaround_.
(Arm_relobj::section_has_cortex_a8_workaround,
Arm_relobj::mark_section_for_cortex_a8_workaround): New method
definitions.
(Arm_relobj::section_has_cortex_a8_workaround_): New data member
declarations.
(Target_arm::relocate_stub): Change parameter type of stub from
Reloc_stub pointer to Stub pointer.
(Insn_template::size, Insn_template::alignment): Handle
THUMB16_SPECIAL_TYPE.
(Stub_table::remove_all_cortex_a8_stubs, Stub_table::finalize_stubs,
Stub_table::update_data_size_and_addralign,
Stub_table::apply_cortex_a8_workaround_to_address_range): New method
definitions.
(Stub_table::relocate_stubs): Handle Cortex-A8 stubs.
(Stub_table::do_write): Ditto.
(Target_arm::do_relax): Adjust code for changes in Stub_table.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* symtab.h (class Symbol): Remove fields is_target_special_ and
has_plt_offset_. Add field is_defined_in_discarded_section_.
(Symbol::is_defined_in_discarded_section): New function.
(Symbol::set_is_defined_in_discarded_section): New function.
(Symbol::has_plt_offset): Rewrite.
(Symbol::set_plt_offset): Verify that new offset is not -1U.
* symtab.cc (Symbol::init_fields): Initialize plt_offset_ to -1U.
Don't initialize is_target_special_ or has_plt_offset_.
Initialize is_defined_in_discarded_section_.
(Symbol_table::add_from_relobj): If appropriate, set
is_defined_in_discarded_section.
* resolve.cc (Symbol::override_base_with_special): Don't test
is_target_special_. Change has_plt_offset_ to has_plt_offset().
* target-reloc.h (relocate_section): Do special handling for
symbols defined in discarded sections for global symbols as well
as local symbols.
|
|
|
|
| |
the SHT_SYMTAB case.
|
| |
|
|
|
|
| |
layout_eh_frame returns NULL.
|
|
|
|
|
|
|
| |
* dynobj.cc (Sized_dynobj::find_dynsym_sections): If there is no
dynamic symbol table, use the normal symbol table.
(Sized_dynobj::do_read_symbols): Remove assertion about type of
symbol table.
|
|
|
|
|
| |
* layout.cc (Layout::include_section): Remove .gnu_debuglink
sections.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 11063
* i386.cc (class Target_i386): Change return type of plt_section
to be non-const.
(class Output_data_plt_i386): Add tls_desc_rel_ field.
(Output_data_plt_i386::Output_data_plt_i386): Initialize
tls_desc_rel_ field.
(Output_data_plt_i386::rel_tls_desc): New function.
(Target_i386::rel_tls_desc_section): New function.
(Target_i386::Scan::local): Rewrite R_386_TLS_GOTDESC handling.
(Target_i386::Scan::global): For R_386_TLS_GOTDESC put
R_386_TLS_DESC reloc in rel_tls_desc_section.
* x86_64.cc (class Target_x86_64): Add tlsdesc_reloc_info_ field.
Define struct Tlsdesc_info.
(Target_x86_64::Target_x86_64): Initialize tlsdesc_reloc_info_.
(Target_x86_64::do_reloc_symbol_index): New function.
(Target_x86_64::add_tlsdesc_info): New function.
(class Output_data_plt_x86_64): Add tlsdesc_rel_ field.
(Output_data_plt_x86_64::Output_data_plt_x86_64): Initialize
tlsdesc_rel_ field.
(Output_data_plt_x86_64::rela_plt): Rename from rel_plt. Change
all callers.
(Output_data_plt_x86_64::rela_tlsdesc): New function.
(Target_x86_64::rela_tlsdesc_section): New function.
(Target_x86_64::Scan::local): Rewrite R_X86_64_GOTPC32_TLSDESC
handling.
(Target_x86_64::Scan::global): For R_X86_64_GOTPC32_TLSDESC put
(Target_x86_64::do_reloc_addend): New function.
R_X86_64_TLSDESC reloc in rela_tlsdesc_section.
* output.h (class Output_reloc) [SHT_REL]: Add new constructor
declarations. Define TARGET_CODE. Add arg field to u1_ union.
(Output_reloc::type): New function.
(Output_reloc::is_local_section_symbol): Check for TARGET_CODE.
(Output_reloc::is_target_specific): New function.
(Output_reloc::target_arg): New function.
(class Output_reloc) [SHT_RELA]: Add four new constructors for
absolute relocs and target specific relocs.
(class Output_data_reloc) [SHT_REL]: Add add_absolute and
add_target_specific.
(class Output_data_reloc) [SHT_RELA]: Likewise.
* output.cc (Output_reloc::Output_reloc): Add four new versions
for absolute relocs and target specific relocs.
(Output_reloc::set_needs_dynsym_index): Add TARGET_CODE case.
(Output_reloc::get_symbol_index): Likewise.
(Output_reloc::local_section_offset): Check that local_sym_index_
is not TARGET_CODE or 0.
(Output_reloc::symbol_value): Likewise.
(Output_reloc::write) [SHT_RELA]: Call target for target specific
reloc.
* target.h (class Target): Add reloc_symbol_index and reloc_addend
functions. Add do_reloc_symbol_index and do_reloc_addend virtual
functions.
* layout.cc (add_target_dynamic_tags): Use output section for
DT_PLTRELSZ and DT_JMPREL.
|