b22161d698
bfd: * 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. gas: * config/obj-macho.c (obj_mach_o_weak): Remove. (obj_mach_o_common_parse): Set symbol qualifiers. (LAZY, REFE): New macros. (obj_mach_o_symbol_type): New enum. (obj_mach_o_set_symbol_qualifier): New. (obj_mach_o_sym_qual): New. (mach_o_pseudo_table): Add symbol qualifiers, set indirect_symbol to a dummy function. (obj_mach_o_type_for_symbol): New. (obj_macho_frob_label): New. (obj_macho_frob_symbol): New. * config/obj-macho.h (S_SET_ALIGN): Amend temorary var name. (obj_frob_label, obj_macho_frob_label): Declare. (obj_frob_symbol, obj_macho_frob_symbol): Declare. gas/testsuite: * gas/mach-o/err-syms-1.s: New. * gas/mach-o/err-syms-2.s: New. * gas/mach-o/err-syms-3.s: New. * gas/mach-o/symbols-2.d: New. * gas/mach-o/symbols-2.s: New. * gas/mach-o/symbols-3.s: New. * gas/mach-o/symbols-4.s: New. * gas/mach-o/symbols-5.d: New. * gas/mach-o/symbols-5.s: New.
165 lines
6.1 KiB
Text
165 lines
6.1 KiB
Text
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 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 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* bfdio.c (bfd_bread): Use arelt_size macro.
|
||
|
||
2012-01-06 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* config.bfd (i[3-7]86-*-darwin*): Define targ64_selvecs.
|
||
|
||
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 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 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 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 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 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 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* mach-o.c (bfd_mach_o_convert_architecture): Reindent.
|
||
Decode msubtype for ARM.
|
||
|
||
2012-01-04 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* mach-o.c (bfd_mach_o_get_synthetic_symtab): Add comments.
|
||
|
||
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 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 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 Iain Sandoe <idsandoe@googlemail.com>
|
||
|
||
* mach-o.c (bfd_mach_o_mangle_symbols): Correct typo.
|
||
|
||
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.
|
||
* mach-o.h: Amend and add to comments.
|
||
(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.
|
||
|
||
For older changes see ChangeLog-2011
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
End:
|