2012-01-16 16:30:18 +08:00
|
|
|
|
2012-01-16 Daniel Green <venix1@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR ld/13491
|
|
|
|
|
* coff-i386.c (coff_i386_rtype_to_howto <R_SECREL32>): Test
|
|
|
|
|
h->root.type not h->type.
|
|
|
|
|
* coff-x86_64.c (coff_amd64_rtype_to_howto <R_AMD64_SECREL>): Likewise.
|
|
|
|
|
|
2012-01-13 20:08:23 +08:00
|
|
|
|
2012-01-13 Iain Sandoe <idsandoe@googlemail.com>
|
|
|
|
|
|
2012-01-16 16:30:18 +08:00
|
|
|
|
* mach-o.c (bfd_mach_o_build_dysymtab_command): Handle absolute
|
|
|
|
|
indirect symbols.
|
2012-01-13 20:59:30 +08:00
|
|
|
|
|
|
|
|
|
2012-01-13 Iain Sandoe <idsandoe@googlemail.com>
|
|
|
|
|
|
|
|
|
|
* mach-o.c (bfd_mach_o_write_relocs): Move computation of relocs file
|
2012-01-13 20:08:23 +08:00
|
|
|
|
position from here... to (bfd_mach_o_build_seg_command): Here.
|
|
|
|
|
|
2012-01-12 22:03:12 +08:00
|
|
|
|
2012-01-12 Iain Sandoe <idsandoe@googlemail.com>
|
|
|
|
|
|
|
|
|
|
* mach-o.c (bfd_mach_o_count_indirect_symbols): New.
|
|
|
|
|
(bfd_mach_o_build_dysymtab_command): Populate indirect symbol table.
|
|
|
|
|
* mach-o.h (bfd_mach_o_asymbol): Move declaration to start of the
|
|
|
|
|
file. (bfd_mach_o_section): Add indirect_syms field.
|
|
|
|
|
|
2012-01-11 23:24:10 +08:00
|
|
|
|
2012-01-11 Iain Sandoe <idsandoe@googlemail.com>
|
|
|
|
|
|
|
|
|
|
* mach-o.c (bfd_mach_o_build_seg_command): Separate computation of
|
|
|
|
|
vmsize from filesize. Don't compute offsets or file sizes for
|
|
|
|
|
zerofill sections.
|
|
|
|
|
|
2012-01-11 23:06:36 +08:00
|
|
|
|
2012-01-11 Iain Sandoe <idsandoe@googlemail.com>
|
|
|
|
|
|
|
|
|
|
* mach-o.c (bfd_mach_o_build_commands): Make the building of each
|
|
|
|
|
command type independent.
|
|
|
|
|
|
2012-01-11 17:28:45 +08:00
|
|
|
|
2012-01-11 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* elf64-ppc.c: Define more insns used in plt call stubs.
|
|
|
|
|
(ppc64_elf_brtaken_reloc): Assume isa version 2 or above.
|
|
|
|
|
(ppc64_elf_relocate_section): Likewise.
|
|
|
|
|
(enum ppc_stub_type): Add ppc_stub_plt_call_r2save.
|
|
|
|
|
(struct ppc_link_hash_table): Increase size of stub_count array.
|
|
|
|
|
Add plt_stub_align and plt_thread_safe.
|
|
|
|
|
(ALWAYS_USE_FAKE_DEP, ALWAYS_EMIT_R2SAVE): Define.
|
|
|
|
|
(plt_stub_size, plt_stub_pad): New functions.
|
|
|
|
|
(build_plt_stub): Emit barriers for power7 thread safety. Don't
|
|
|
|
|
emit needless save of r2.
|
|
|
|
|
(build_tls_get_addr_stub): Adjust params.
|
|
|
|
|
(ppc_build_one_stub): Handle ppc_stub_plt_call_r2save and aligning
|
|
|
|
|
plt stubs. Adjust build_*plt_stub calls.
|
|
|
|
|
(ppc_size_one_stub): Similarly.
|
|
|
|
|
(ppc64_elf_size_stubs): Accept plt_thread_safe and plt_stub_align
|
|
|
|
|
params. Choose default for plt_thread_safe based on existence of
|
|
|
|
|
calls to thread creation functions. Modify plt_call to
|
|
|
|
|
plt_call_r2save when no tocsave reloc found. Align tail of stub
|
|
|
|
|
sections.
|
|
|
|
|
(ppc64_elf_build_stubs): Align tail of stub sections. Adjust
|
|
|
|
|
output of stub statistics.
|
|
|
|
|
(ppc64_elf_relocate_section): Handle ppc_stub_plt_call_r2save.
|
|
|
|
|
* elf64-ppc.h (ppc64_elf_size_stubs): Update prototype.
|
|
|
|
|
|
2012-01-11 04:18:18 +08:00
|
|
|
|
2012-01-10 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/13581
|
|
|
|
|
* elf64-x86-64.c (elf_x86_64_relocate_section): Remove ABI_64_P
|
|
|
|
|
check on R_X86_64_PCXX.
|
|
|
|
|
|
2012-01-10 19:59:28 +08:00
|
|
|
|
2012-01-10 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* mach-o.c (bfd_mach_o_build_commands): Avoid uninitialized false
|
|
|
|
|
warning.
|
|
|
|
|
|
2012-01-10 19:51:09 +08:00
|
|
|
|
2012-01-10 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* bfdio.c (bfd_tell): Handle nested archives.
|
|
|
|
|
(bfd_seek): Ditto.
|
|
|
|
|
* cache.c (bfd_cache_lookup_worker): Ditto.
|
|
|
|
|
* archive.c (_bfd_get_elt_at_filepos): Remove code dealing with
|
|
|
|
|
nested archives.
|
|
|
|
|
(bfd_generic_openr_next_archived_file): Likewise.
|
|
|
|
|
|
2012-01-09 18:47:50 +08:00
|
|
|
|
2012-01-09 Iain Sandoe <idsandoe@googlemail.com>
|
|
|
|
|
|
|
|
|
|
* mach-o.c (bfd_mach_o_bfd_copy_private_symbol_data): Implement.
|
|
|
|
|
(bfd_mach_o_write_symtab): Remove handling for indirect syms.
|
|
|
|
|
(bfd_mach_o_primary_symbol_sort_key): Likewise.
|
|
|
|
|
(bfd_mach_o_cf_symbols): Likewise.
|
|
|
|
|
(bfd_mach_o_sort_symbol_table): Remove.
|
|
|
|
|
(bfd_mach_o_mangle_symbols): Adjust arguments, remove handling
|
|
|
|
|
for indirect and dysymtab counts. Do the symbol sorting here.
|
|
|
|
|
(bfd_mach_o_build_dysymtab_command): Count the symbol types here.
|
|
|
|
|
Make the indirect symbols a TODO.
|
|
|
|
|
(bfd_mach_o_build_commands): Adjust call to bfd_mach_o_mangle_symbols.
|
|
|
|
|
(bfd_mach_o_make_empty_symbol): Specifically flag unset symbols with
|
|
|
|
|
a non-zero value.
|
|
|
|
|
(bfd_mach_o_read_symtab_symbol): Record the symbol index.
|
|
|
|
|
(bfd_mach_o_read_symtab_symbol): Adjust recording of global status.
|
|
|
|
|
* mach-o.h (mach_o_data_struct): Remove indirect and dysymtab entries.
|
|
|
|
|
(IS_MACHO_INDIRECT): Remove.
|
|
|
|
|
(SYM_MACHO_FIELDS_UNSET, SYM_MACHO_FIELDS_NOT_VALIDATED): New.
|
|
|
|
|
|
2012-01-06 23:44:30 +08:00
|
|
|
|
2012-01-06 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/13121
|
|
|
|
|
* reloc.c (bfd_generic_lookup_section_flags): Rename 'finfo' to
|
|
|
|
|
'flaginfo' to avoid conflicts with AIX system headers.
|
|
|
|
|
|
2012-01-06 19:43:51 +08:00
|
|
|
|
2012-01-06 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* bfdio.c (bfd_bread): Use arelt_size macro.
|
|
|
|
|
|
2012-01-06 19:41:28 +08:00
|
|
|
|
2012-01-06 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* config.bfd (i[3-7]86-*-darwin*): Define targ64_selvecs.
|
|
|
|
|
|
2012-01-05 17:57:18 +08:00
|
|
|
|
2012-01-05 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR ld/12161
|
|
|
|
|
* elf32-avr.c (elf32_avr_relax_delete_bytes): Read in relocs if
|
|
|
|
|
necessary.
|
|
|
|
|
|
2012-01-05 15:50:44 +08:00
|
|
|
|
2012-01-05 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Fix zero registers core files when built by gcc-4.7.
|
|
|
|
|
* elf64-x86-64.c (elf_x86_64_write_core_note): Remove variables p and
|
|
|
|
|
size. Call elfcore_write_note for the local variables. Remove the
|
|
|
|
|
final elfcore_write_note call. Add NOTREACHED comments.
|
|
|
|
|
|
2012-01-04 21:31:27 +08:00
|
|
|
|
2012-01-04 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* mach-o.c (bfd_mach_o_fat_stat_arch_elt): New function.
|
|
|
|
|
(bfd_mach_o_generic_stat_arch_elt): Adjust.
|
|
|
|
|
|
2012-01-04 21:22:21 +08:00
|
|
|
|
2012-01-04 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* mach-o.c (bfd_mach_o_fat_member_init): New function.
|
|
|
|
|
(bfd_mach_o_openr_next_archived_file): Reindent.
|
|
|
|
|
Adjust to call bfd_mach_o_fat_member_init.
|
|
|
|
|
(bfd_mach_o_fat_extract): Adjust to call bfd_mach_o_fat_member_init.
|
|
|
|
|
|
2012-01-04 20:59:23 +08:00
|
|
|
|
2012-01-04 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Handle
|
|
|
|
|
BFD_RELOC_32, BFD_RELOC_MACH_O_X86_64_PCREL32_1,
|
|
|
|
|
BFD_RELOC_MACH_O_X86_64_PCREL32_2,
|
|
|
|
|
BFD_RELOC_MACH_O_X86_64_PCREL32_4,
|
|
|
|
|
BFD_RELOC_MACH_O_X86_64_BRANCH32,
|
|
|
|
|
BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32,
|
|
|
|
|
BFD_RELOC_MACH_O_X86_64_GOT.
|
|
|
|
|
|
2012-01-04 18:37:36 +08:00
|
|
|
|
2012-01-04 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* mach-o.h (bfd_mach_o_fvmlib_command): New structure.
|
|
|
|
|
(bfd_mach_o_load_command): Add fvmlib field.
|
|
|
|
|
|
|
|
|
|
* mach-o.c (bfd_mach_o_read_fvmlib): New function.
|
|
|
|
|
(bfd_mach_o_read_command): Handle fvmlib.
|
|
|
|
|
|
2012-01-04 18:25:14 +08:00
|
|
|
|
2012-01-04 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* mach-o.c (bfd_mach_o_convert_architecture): Reindent.
|
|
|
|
|
Decode msubtype for ARM.
|
|
|
|
|
|
2012-01-04 18:14:25 +08:00
|
|
|
|
2012-01-04 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* mach-o.c (bfd_mach_o_get_synthetic_symtab): Add comments.
|
|
|
|
|
|
2012-01-04 17:58:55 +08:00
|
|
|
|
2012-01-04 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* mach-o.h: Reindent header.
|
|
|
|
|
(bfd_mach_o_encryption_info_command): New structure.
|
|
|
|
|
(bfd_mach_o_load_command): Add encryption_info field.
|
|
|
|
|
|
|
|
|
|
* mach-o.c (bfd_mach_o_read_encryption_info): New function.
|
|
|
|
|
(bfd_mach_o_read_command): Handle BFD_MACH_O_LC_ENCRYPTION_INFO.
|
|
|
|
|
(bfd_mach_o_read_command): Adjust error message.
|
|
|
|
|
|
2012-01-04 16:44:04 +08:00
|
|
|
|
2012-01-04 Shinichiro Hamaji <shinichiro.hamaji@gmail.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2.c (_bfd_dwarf2_slurp_debug_info): Factor out the part
|
|
|
|
|
which reads DWARF2 and stores in stash from find_line.
|
|
|
|
|
(find_line) Call _bfd_dwarf2_slurp_debug_info.
|
|
|
|
|
* libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Add declaration.
|
|
|
|
|
* libbfd.h (_bfd_dwarf2_slurp_debug_info): Regenerate.
|
|
|
|
|
* mach-o.c (dsym_subdir): The name of subdir where debug
|
|
|
|
|
information may be stored.
|
|
|
|
|
(bfd_mach_o_lookup_uuid_command): New. Lookup a load command whose
|
|
|
|
|
type is UUID.
|
|
|
|
|
(bfd_mach_o_dsym_for_uuid_p): New. Check if the specified BFD is
|
|
|
|
|
corresponding to the executable.
|
|
|
|
|
(bfd_mach_o_find_dsym): New. Find a debug information BFD in the
|
|
|
|
|
specified binary file.
|
|
|
|
|
(bfd_mach_o_follow_dsym): New. Find a debug information BFD for
|
|
|
|
|
the original BFD.
|
|
|
|
|
(bfd_mach_o_find_nearest_line): Check dSYM files for Mach-O
|
|
|
|
|
executables, dylibs, and bundles.
|
|
|
|
|
(bfd_mach_o_close_and_cleanup): Clean up BFDs for the dSYM file.
|
|
|
|
|
* mach-o.h (dsym_bfd): The BFD of the dSYM file.
|
|
|
|
|
|
2012-01-03 21:18:48 +08:00
|
|
|
|
2012-01-03 Iain Sandoe <idsandoe@googlemail.com>
|
|
|
|
|
|
|
|
|
|
* mach-o.c (bfd_mach_o_mangle_symbols): Put in the section index
|
|
|
|
|
for stabd symbols.
|
|
|
|
|
(bfd_mach_o_primary_symbol_sort_key): Adjust for stabs.
|
|
|
|
|
(bfd_mach_o_cf_symbols): Likewise.
|
|
|
|
|
|
2012-01-03 20:03:10 +08:00
|
|
|
|
2012-01-03 Iain Sandoe <idsandoe@googlemail.com>
|
|
|
|
|
|
|
|
|
|
* mach-o.c (bfd_mach_o_mangle_symbols): Correct typo.
|
|
|
|
|
|
2012-01-03 18:54:01 +08:00
|
|
|
|
2012-01-03 Iain Sandoe <idsandoe@googlemail.com>
|
|
|
|
|
|
|
|
|
|
* mach-o.c (bfd_mach_o_write_symtab): Fill in the string table index
|
|
|
|
|
as the value of an indirect symbol. Keep the string table index in
|
|
|
|
|
non-indirect syms for reference.
|
|
|
|
|
(bfd_mach_o_write_dysymtab): New.
|
|
|
|
|
(bfd_mach_o_primary_symbol_sort_key): New.
|
|
|
|
|
(bfd_mach_o_cf_symbols): New.
|
|
|
|
|
(bfd_mach_o_sort_symbol_table): New.
|
|
|
|
|
(bfd_mach_o_mangle_symbols): Return early if no symbols. Sort symbols.
|
|
|
|
|
If we are emitting a dysymtab, process indirect symbols and count the
|
|
|
|
|
number of each other kind.
|
|
|
|
|
(bfd_mach_o_mangle_sections): New.
|
|
|
|
|
(bfd_mach_o_write_contents): Split out some pre-requisite code into
|
|
|
|
|
the command builder. Write dysymtab if the command is present.
|
|
|
|
|
(bfd_mach_o_count_sections_for_seg): New.
|
|
|
|
|
(bfd_mach_o_build_seg_command): New.
|
|
|
|
|
(bfd_mach_o_build_dysymtab_command): New.
|
|
|
|
|
(bfd_mach_o_build_commands): Reorganize to support the fact that some
|
|
|
|
|
commands are optional and should not be emitted if there are no
|
|
|
|
|
sections or symbols.
|
|
|
|
|
(bfd_mach_o_set_section_contents): Amend comment.
|
2012-01-05 18:09:39 +08:00
|
|
|
|
* mach-o.h: Amend and add to comments.
|
2012-01-03 18:54:01 +08:00
|
|
|
|
(mach_o_data_struct): Add fields for dysymtab symbols counts and a
|
|
|
|
|
pointer to the indirects, when present.
|
|
|
|
|
(bfd_mach_o_should_emit_dysymtab): New macro.
|
|
|
|
|
(IS_MACHO_INDIRECT): Likewise.
|
|
|
|
|
|
2012-01-05 18:09:39 +08:00
|
|
|
|
For older changes see ChangeLog-2011
|
2001-09-08 13:47:01 +08:00
|
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
|
mode: change-log
|
|
|
|
|
left-margin: 8
|
|
|
|
|
fill-column: 74
|
|
|
|
|
version-control: never
|
|
|
|
|
End:
|