order relocs after segments for mach-o
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
bb76d940
IS
12012-01-13 Iain Sandoe <idsandoe@googlemail.com>
2
3 * mach-o.c (bfd_mach_o_write_relocs): Move compuation of relocs file
4 position from here... to (bfd_mach_o_build_seg_command): Here.
5
50d10658
IS
62012-01-12 Iain Sandoe <idsandoe@googlemail.com>
7
8 * mach-o.c (bfd_mach_o_count_indirect_symbols): New.
9 (bfd_mach_o_build_dysymtab_command): Populate indirect symbol table.
10 * mach-o.h (bfd_mach_o_asymbol): Move declaration to start of the
11 file. (bfd_mach_o_section): Add indirect_syms field.
12
e5081f2f
IS
132012-01-11 Iain Sandoe <idsandoe@googlemail.com>
14
15 * mach-o.c (bfd_mach_o_build_seg_command): Separate computation of
16 vmsize from filesize. Don't compute offsets or file sizes for
17 zerofill sections.
18
bbd56171
IS
192012-01-11 Iain Sandoe <idsandoe@googlemail.com>
20
21 * mach-o.c (bfd_mach_o_build_commands): Make the building of each
22 command type independent.
23
794e51c0
AM
242012-01-11 Alan Modra <amodra@gmail.com>
25
26 * elf64-ppc.c: Define more insns used in plt call stubs.
27 (ppc64_elf_brtaken_reloc): Assume isa version 2 or above.
28 (ppc64_elf_relocate_section): Likewise.
29 (enum ppc_stub_type): Add ppc_stub_plt_call_r2save.
30 (struct ppc_link_hash_table): Increase size of stub_count array.
31 Add plt_stub_align and plt_thread_safe.
32 (ALWAYS_USE_FAKE_DEP, ALWAYS_EMIT_R2SAVE): Define.
33 (plt_stub_size, plt_stub_pad): New functions.
34 (build_plt_stub): Emit barriers for power7 thread safety. Don't
35 emit needless save of r2.
36 (build_tls_get_addr_stub): Adjust params.
37 (ppc_build_one_stub): Handle ppc_stub_plt_call_r2save and aligning
38 plt stubs. Adjust build_*plt_stub calls.
39 (ppc_size_one_stub): Similarly.
40 (ppc64_elf_size_stubs): Accept plt_thread_safe and plt_stub_align
41 params. Choose default for plt_thread_safe based on existence of
42 calls to thread creation functions. Modify plt_call to
43 plt_call_r2save when no tocsave reloc found. Align tail of stub
44 sections.
45 (ppc64_elf_build_stubs): Align tail of stub sections. Adjust
46 output of stub statistics.
47 (ppc64_elf_relocate_section): Handle ppc_stub_plt_call_r2save.
48 * elf64-ppc.h (ppc64_elf_size_stubs): Update prototype.
49
df4f9443
L
502012-01-10 H.J. Lu <hongjiu.lu@intel.com>
51
52 PR ld/13581
53 * elf64-x86-64.c (elf_x86_64_relocate_section): Remove ABI_64_P
54 check on R_X86_64_PCXX.
55
2a65a88e
TG
562012-01-10 Tristan Gingold <gingold@adacore.com>
57
58 * mach-o.c (bfd_mach_o_build_commands): Avoid uninitialized false
59 warning.
60
660722b0
TG
612012-01-10 Tristan Gingold <gingold@adacore.com>
62
63 * bfdio.c (bfd_tell): Handle nested archives.
64 (bfd_seek): Ditto.
65 * cache.c (bfd_cache_lookup_worker): Ditto.
66 * archive.c (_bfd_get_elt_at_filepos): Remove code dealing with
67 nested archives.
68 (bfd_generic_openr_next_archived_file): Likewise.
69
b22161d6
IS
702012-01-09 Iain Sandoe <idsandoe@googlemail.com>
71
72 * mach-o.c (bfd_mach_o_bfd_copy_private_symbol_data): Implement.
73 (bfd_mach_o_write_symtab): Remove handling for indirect syms.
74 (bfd_mach_o_primary_symbol_sort_key): Likewise.
75 (bfd_mach_o_cf_symbols): Likewise.
76 (bfd_mach_o_sort_symbol_table): Remove.
77 (bfd_mach_o_mangle_symbols): Adjust arguments, remove handling
78 for indirect and dysymtab counts. Do the symbol sorting here.
79 (bfd_mach_o_build_dysymtab_command): Count the symbol types here.
80 Make the indirect symbols a TODO.
81 (bfd_mach_o_build_commands): Adjust call to bfd_mach_o_mangle_symbols.
82 (bfd_mach_o_make_empty_symbol): Specifically flag unset symbols with
83 a non-zero value.
84 (bfd_mach_o_read_symtab_symbol): Record the symbol index.
85 (bfd_mach_o_read_symtab_symbol): Adjust recording of global status.
86 * mach-o.h (mach_o_data_struct): Remove indirect and dysymtab entries.
87 (IS_MACHO_INDIRECT): Remove.
88 (SYM_MACHO_FIELDS_UNSET, SYM_MACHO_FIELDS_NOT_VALIDATED): New.
89
28a1b4f8
NC
902012-01-06 Nick Clifton <nickc@redhat.com>
91
92 PR binutils/13121
93 * reloc.c (bfd_generic_lookup_section_flags): Rename 'finfo' to
94 'flaginfo' to avoid conflicts with AIX system headers.
95
36f0a48f
TG
962012-01-06 Tristan Gingold <gingold@adacore.com>
97
98 * bfdio.c (bfd_bread): Use arelt_size macro.
99
76d4c1cb
TG
1002012-01-06 Tristan Gingold <gingold@adacore.com>
101
102 * config.bfd (i[3-7]86-*-darwin*): Define targ64_selvecs.
103
a1c7aafb
NC
1042012-01-05 Nick Clifton <nickc@redhat.com>
105
106 PR ld/12161
107 * elf32-avr.c (elf32_avr_relax_delete_bytes): Read in relocs if
108 necessary.
109
e85c6a70
JK
1102012-01-05 Jan Kratochvil <jan.kratochvil@redhat.com>
111
112 Fix zero registers core files when built by gcc-4.7.
113 * elf64-x86-64.c (elf_x86_64_write_core_note): Remove variables p and
114 size. Call elfcore_write_note for the local variables. Remove the
115 final elfcore_write_note call. Add NOTREACHED comments.
116
15bbba8d
TG
1172012-01-04 Tristan Gingold <gingold@adacore.com>
118
119 * mach-o.c (bfd_mach_o_fat_stat_arch_elt): New function.
120 (bfd_mach_o_generic_stat_arch_elt): Adjust.
121
a4e241ca
TG
1222012-01-04 Tristan Gingold <gingold@adacore.com>
123
124 * mach-o.c (bfd_mach_o_fat_member_init): New function.
125 (bfd_mach_o_openr_next_archived_file): Reindent.
126 Adjust to call bfd_mach_o_fat_member_init.
127 (bfd_mach_o_fat_extract): Adjust to call bfd_mach_o_fat_member_init.
128
71141310
TG
1292012-01-04 Tristan Gingold <gingold@adacore.com>
130
131 * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Handle
132 BFD_RELOC_32, BFD_RELOC_MACH_O_X86_64_PCREL32_1,
133 BFD_RELOC_MACH_O_X86_64_PCREL32_2,
134 BFD_RELOC_MACH_O_X86_64_PCREL32_4,
135 BFD_RELOC_MACH_O_X86_64_BRANCH32,
136 BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32,
137 BFD_RELOC_MACH_O_X86_64_GOT.
138
9f4a5bd1
TG
1392012-01-04 Tristan Gingold <gingold@adacore.com>
140
141 * mach-o.h (bfd_mach_o_fvmlib_command): New structure.
142 (bfd_mach_o_load_command): Add fvmlib field.
143
144 * mach-o.c (bfd_mach_o_read_fvmlib): New function.
145 (bfd_mach_o_read_command): Handle fvmlib.
146
0b2de107
TG
1472012-01-04 Tristan Gingold <gingold@adacore.com>
148
149 * mach-o.c (bfd_mach_o_convert_architecture): Reindent.
150 Decode msubtype for ARM.
151
aeefa1c9
TG
1522012-01-04 Tristan Gingold <gingold@adacore.com>
153
154 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add comments.
155
fc55a902
TG
1562012-01-04 Tristan Gingold <gingold@adacore.com>
157
158 * mach-o.h: Reindent header.
159 (bfd_mach_o_encryption_info_command): New structure.
160 (bfd_mach_o_load_command): Add encryption_info field.
161
162 * mach-o.c (bfd_mach_o_read_encryption_info): New function.
163 (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_ENCRYPTION_INFO.
164 (bfd_mach_o_read_command): Adjust error message.
165
2ca7691a
TG
1662012-01-04 Shinichiro Hamaji <shinichiro.hamaji@gmail.com>
167
168 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Factor out the part
169 which reads DWARF2 and stores in stash from find_line.
170 (find_line) Call _bfd_dwarf2_slurp_debug_info.
171 * libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Add declaration.
172 * libbfd.h (_bfd_dwarf2_slurp_debug_info): Regenerate.
173 * mach-o.c (dsym_subdir): The name of subdir where debug
174 information may be stored.
175 (bfd_mach_o_lookup_uuid_command): New. Lookup a load command whose
176 type is UUID.
177 (bfd_mach_o_dsym_for_uuid_p): New. Check if the specified BFD is
178 corresponding to the executable.
179 (bfd_mach_o_find_dsym): New. Find a debug information BFD in the
180 specified binary file.
181 (bfd_mach_o_follow_dsym): New. Find a debug information BFD for
182 the original BFD.
183 (bfd_mach_o_find_nearest_line): Check dSYM files for Mach-O
184 executables, dylibs, and bundles.
185 (bfd_mach_o_close_and_cleanup): Clean up BFDs for the dSYM file.
186 * mach-o.h (dsym_bfd): The BFD of the dSYM file.
187
68588f95
IS
1882012-01-03 Iain Sandoe <idsandoe@googlemail.com>
189
190 * mach-o.c (bfd_mach_o_mangle_symbols): Put in the section index
191 for stabd symbols.
192 (bfd_mach_o_primary_symbol_sort_key): Adjust for stabs.
193 (bfd_mach_o_cf_symbols): Likewise.
194
f2b324f1
IS
1952012-01-03 Iain Sandoe <idsandoe@googlemail.com>
196
197 * mach-o.c (bfd_mach_o_mangle_symbols): Correct typo.
198
7f307238
IS
1992012-01-03 Iain Sandoe <idsandoe@googlemail.com>
200
201 * mach-o.c (bfd_mach_o_write_symtab): Fill in the string table index
202 as the value of an indirect symbol. Keep the string table index in
203 non-indirect syms for reference.
204 (bfd_mach_o_write_dysymtab): New.
205 (bfd_mach_o_primary_symbol_sort_key): New.
206 (bfd_mach_o_cf_symbols): New.
207 (bfd_mach_o_sort_symbol_table): New.
208 (bfd_mach_o_mangle_symbols): Return early if no symbols. Sort symbols.
209 If we are emitting a dysymtab, process indirect symbols and count the
210 number of each other kind.
211 (bfd_mach_o_mangle_sections): New.
212 (bfd_mach_o_write_contents): Split out some pre-requisite code into
213 the command builder. Write dysymtab if the command is present.
214 (bfd_mach_o_count_sections_for_seg): New.
215 (bfd_mach_o_build_seg_command): New.
216 (bfd_mach_o_build_dysymtab_command): New.
217 (bfd_mach_o_build_commands): Reorganize to support the fact that some
218 commands are optional and should not be emitted if there are no
219 sections or symbols.
220 (bfd_mach_o_set_section_contents): Amend comment.
23e1d329 221 * mach-o.h: Amend and add to comments.
7f307238
IS
222 (mach_o_data_struct): Add fields for dysymtab symbols counts and a
223 pointer to the indirects, when present.
224 (bfd_mach_o_should_emit_dysymtab): New macro.
225 (IS_MACHO_INDIRECT): Likewise.
226
23e1d329 227For older changes see ChangeLog-2011
56882138
AM
228\f
229Local Variables:
230mode: change-log
231left-margin: 8
232fill-column: 74
233version-control: never
234End:
This page took 0.606931 seconds and 4 git commands to generate.