005b70d3484b3af4777f6ab2435edc2d27cd5431
[binutils-gdb.git] / bfd / ChangeLog
1 2011-12-10 David Daney <david.daney@cavium.com>
2
3 * elfxx-mips.c (mips_elf_link_hash_table.rld_value): Remove.
4 (mips_elf_link_hash_table.rld_symbol): New field;
5 (MIPS_ELF_RLD_MAP_SIZE): New macro.
6 (_bfd_mips_elf_add_symbol_hook): Remember __rld_obj_head symbol
7 in rld_symbol.
8 (_bfd_mips_elf_create_dynamic_sections): Remember __rld_map symbol
9 in rld_symbol.
10 (_bfd_mips_elf_size_dynamic_sections): Set correct size for .rld_map.
11 (_bfd_mips_elf_finish_dynamic_symbol): Remove .rld_map handling.
12 (_bfd_mips_elf_finish_dynamic_sections): Use rld_symbol to
13 calculate DT_MIPS_RLD_MAP value.
14 (_bfd_mips_elf_link_hash_table_create): Initialize rld_symbol,
15 quit initializing rld_value.
16
17 2011-12-08 Andrew Pinski <apinski@cavium.com>
18 Adam Nemet <anemet@caviumnetworks.com>
19
20 * archures.c (bfd_mach_mips_octeon2): New macro
21 * bfd-in2.h: Regenerate.
22 * cpu-mips.c (I_mipsocteon2): New enum value.
23 (arch_info_struct): Add bfd_mach_mips_octeon2.
24 * elfxx-mips.c (_bfd_elf_mips_mach): Support E_MIPS_MACH_OCTEON2.
25 (mips_set_isa_flags): Add bfd_mach_mips_octeon2.
26 (mips_mach_extensions): Add bfd_mach_mips_octeon2.
27
28 2011-12-07 Alan Modra <amodra@gmail.com>
29
30 PR ld/12772
31 * elflink.c (elf_gc_sweep_symbol): Discard unmarked symbols
32 defined in shared libraries.
33
34 2011-12-07 Tristan Gingold <gingold@adacore.com>
35
36 * mach-o.c (bfd_mach_o_canonicalize_symtab): Fix indentation.
37 Adjust the condition.
38 (bfd_mach_o_read_symtab_symbol): Now returns a bfd_boolean.
39 Adjust return statements.
40 (bfd_mach_o_read_symtab_strtab): Likewise.
41 (bfd_mach_o_read_symtab_symbols): Likewise.
42 (bfd_mach_o_scan_start_address): Likewise. Make it static.
43 (bfd_mach_o_scan): Likewise.
44 (bfd_mach_o_read_dysymtab_symbol): Remove unused function.
45 (bfd_mach_o_header_p): Adjust call.
46 (bfd_mach_o_cpu_name): Make it const.
47 (bfd_mach_o_filetype_name): Likewise.
48 (bfd_mach_o_header_flags_name): Likewise.
49 (bfd_mach_o_section_type_name): Likewise.
50 (bfd_mach_o_section_attribute_name): Likewise.
51 (bfd_mach_o_load_command_name): Likewise.
52 (bfd_mach_o_get_section_type_from_name): Add a const qualifier
53 after above change.
54 (bfd_mach_o_get_section_attribute_from_name): Likewise.
55 * mach-o.h (bfd_mach_o_read_dysymtab_symbol)
56 (bfd_mach_o_scan_start_address, bfd_mach_o_scan): Remove.
57
58 2011-12-06 Ulrich Weigand <uweigand@de.ibm.com>
59
60 * elf-bfd.h (elfcore_write_s390_last_break): Add prototype.
61 (elfcore_write_s390_system_call): Likewise.
62 * elf.c (elfcore_write_s390_last_break): New function.
63 (elfcore_write_s390_system_call): Likewise.
64 (elfcore_write_register_note): Call them.
65 (elfcore_grok_s390_last_break): New function.
66 (elfcore_grok_s390_system_call): Likewise.
67 (elfcore_grok_note): Call them.
68
69 2011-12-05 Tristan Gingold <gingold@adacore.com>
70
71 * mach-o.c (bfd_mach_o_read_symtab_symbol): Accept indirect symbols.
72
73 2011-12-05 Tristan Gingold <gingold@adacore.com>
74
75 * mach-o.c (bfd_mach_o_write_contents): Handle LC_LOAD_UPWARD_DYLIB.
76 (bfd_mach_o_read_dylib): Likewise.
77 (bfd_mach_o_read_command): Likewise.
78 (bfd_mach_o_bfd_print_private_bfd_data): Likewise.
79
80 2011-12-05 Tristan Gingold <gingold@adacore.com>
81
82 * mach-o.c (bfd_mach_o_read_command): Add the bfd in the error
83 message.
84 (bfd_mach_o_openr_next_archived_file): Use arch name as member name.
85 (bfd_mach_o_fat_extract): Ditto.
86
87 2011-12-03 Alan Modra <amodra@gmail.com>
88
89 PR ld/13468
90 * elflink.c (bfd_elf_final_link): Don't segfault when checking
91 for DT_TEXTREL and .dynamic does not exist.
92
93 2011-12-03 Alan Modra <amodra@gmail.com>
94
95 PR ld/13470
96 * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Revert substantive
97 change in 2011-07-01 commit. Comment.
98 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
99
100 2011-12-01 Mikael Pettersson <mikpe@it.uu.se>
101
102 * elf32-m68k.c (elf_m68k_check_relocs) <R_68K_8, R68K_16, R_68K_32>: For
103 non-SEC_ALLOC sections break before GOT and PLT accounting.
104
105 2011-12-01 Hans-Peter Nilsson <hp@axis.com>
106
107 * elf32-cris.c (cris_elf_check_relocs) <plt accounting for
108 R_CRIS_8, R_CRIS_16, and R_CRIS_32>: Move early break for
109 non-SEC_ALLOC sections before GOT and PLT accounting.
110
111 2011-11-29 Andrew Pinski <apinski@cavium.com>
112
113 * archures.c (bfd_mach_mips_octeonp): New macro.
114 * bfd-in2.h: Regenerate.
115 * bfd/cpu-mips.c (I_mipsocteonp): New enum value.
116 (arch_info_struct): Add bfd_mach_mips_octeonp.
117 * elfxx-mips.c (mips_set_isa_flags): Add bfd_mach_mips_octeonp.
118 (mips_mach_extensions): Add bfd_mach_mips_octeonp.
119
120 2011-11-23 Tristan Gingold <gingold@adacore.com>
121
122 * vms-lib.c (get_idxlen): Add comments. Fix type in sizeof.
123 (vms_write_index): Add comments.
124
125 2011-11-22 DJ Delorie <dj@redhat.com>
126
127 * elf32-rx.c (rx_elf_object_p): Add more checks for "scanning" to
128 avoid using the special non-swapping target when not explicitly
129 requested.
130
131 2011-11-22 Daniel Calcoen <Daniel.Calcoen@cern.ch>
132
133 * elf32-rx.c (rx_elf_object_p): Correct typo: lma->vma.
134
135 2011-11-22 Tristan Gingold <gingold@adacore.com>
136
137 * mach-o.c (bfd_mach_o_print_symbol): Display COM for common
138 symbols. Print section name in brackets.
139
140 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
141
142 * config.bfd: Add vectors for powerpc and powerpc64-freebsd.
143 * configure.in (TDEFINES): Add rules for powerpc*-freebsd.
144 * configure: Regenerate.
145 * elf32-ppc.c: Add powerpc-freebsd definitions.
146 * elf64-ppc.c: Add powerpc64-freebsd definitions.
147 * targets.c: Add bits for powerpc and powerpc64-freebsd.
148
149 2011-11-17 Philipp Thomas <philipp@thogro.org>
150
151 * elf32-arm.c (elf32_thumb_to_arm_stub): Sync message so that it
152 needs to be translated only once.
153
154 2011-11-16 Maciej W. Rozycki <macro@codesourcery.com>
155
156 * elf64-mips.c (mips_elf64_howto_table_rela): Set src_mask to
157 zero throughout.
158 (mips16_elf64_howto_table_rela): Likewise.
159 (micromips_elf64_howto_table_rela): Likewise.
160 * elfn32-mips.c (elf_mips_howto_table_rela): Likewise.
161 (elf_mips16_howto_table_rela): Likewise.
162 (elf_micromips_howto_table_rela): Likewise.
163
164 2011-11-15 Alan Modra <amodra@gmail.com>
165 Andreas Tobler <andreast@fgznet.ch>
166
167 * elflink.c (_bfd_elf_create_got_section): Replace
168 bfd_make_section_with_flags with bfd_make_section_anyway_with_flags.
169 (_bfd_elf_link_create_dynamic_sections): Likewise.
170 * elf32-ppc.c (ppc_elf_create_glink): Likewise.
171 (ppc_elf_create_dynamic_sections): Likewise.
172
173 2011-11-14 Maxim Kuvyrkov <maxim@codesourcery.com>
174
175 * elfxx-mips.c (mips_n64_exec_plt0_entry): Use 64-bit move.
176
177 2011-11-08 Nick Clifton <nickc@redhat.com>
178
179 * elf-m10300.c (mn10300_elf_relax_section): Fix check for an
180 immediate move into an address register.
181
182 2011-11-09 Alan Modra <amodra@gmail.com>
183
184 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark syms in
185 executables when export_dynamic.
186
187 2011-11-08 Alan Modra <amodra@gmail.com>
188
189 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Rename
190 ha_relocs_not_using_r2 to unexpected_toc_insn.
191 (ok_lo_toc_insn): New function.
192 (ppc64_elf_edit_toc): Check insn on lo toc reloc. Emit warning.
193 (ppc64_elf_relocate_section): Don't check insn on lo toc reloc here.
194 Handle addic on lo toc reloc.
195
196 2011-11-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
197
198 PR ld/13387
199 * elf32-hppa.c (elf32_hppa_hide_symbol): Make STT_GNU_IFUNC symbol
200 go through PLT. Reset plt field with init_plt_offset.
201 (elf32_hppa_adjust_dynamic_symbol): Ensure that a PLT slot is
202 allocated for symbols referenced by a plabel.
203
204 2011-11-02 DJ Delorie <dj@redhat.com>
205
206 * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Delete unused
207 variable.
208
209 2011-11-02 Jan Beulich <jbeulich@suse.com>
210
211 * coffgen.c (coff_write_alien_symbol): Make public. Add 'struct
212 internal_syment *' parameter. Extend 'dummy' to an array with two
213 elements. Set n_numaux early. Handle BSF_FILE.
214 (coff_write_symbols): Pass NULL as new third argument to
215 coff_write_alien_symbol().
216 * cofflink.c (_bfd_coff_final_link): Don't use COFF-specific
217 obj_raw_syment_count() on non-COFF input BFD. Insert local symbols
218 from non-COFF input BFDs.
219 * libcoff-in.h (coff_write_alien_symbol): Declare.
220 * libcoff.h (coff_write_alien_symbol): Re-generate.
221
222 2011-11-01 DJ Delorie <dj@redhat.com>
223
224 * Makefile.am (ALL_MACHINES): Add cpu-rl78.lo.
225 (ALL_MACHINES_CFILES): Add cpu-rl78.c.
226 (BFD32_BACKENDS): Add elf32-rl78.lo.
227 (BFD32_BACKENDS_CFILES): Add elf32-rl78.c.
228 (Makefile.in): Regenerate.
229 * archures.c (bfd_architecture): Define bfd_arch_rl78.
230 (bfd_archures_list): Add bfd_rl78_arch.
231 * config.bfd: Add rl78-*-elf.
232 * configure.in: Add bfd_elf32_rl78_vec.
233 * reloc.c (bfd_reloc_code_type): Add BFD_RELOC_RL78_* relocations.
234 * targets.c (bfd_target_vector): Add bfd_elf32_rl78_vec.
235 * Makefile.in: Regenerate.
236 * bfd-in2.h: Regenerate.
237 * configure: Regenerate.
238 * libbfd.h: Regenerate.
239 * cpu-rl78.c: New file.
240 * elf32-rl78.c: New file.
241
242 2011-10-26 Nick Clifton <nickc@redhat.com>
243
244 PR ld/13049
245 * elf64-ppc.c (STUB_SUFFIX): Revert previous delta.
246 * elf32-hppa.c (STUB_SUFFIX): Likewise.
247
248 2011-10-25 Joern Rennecke <joern.rennecke@embecosm.com>
249
250 * Makefile.am (ALL_MACHINES): Add cpu-epiphany.lo.
251 (ALL_MACHINES_CFILES): Add cpu-epiphany.c.
252 (BFD32_BACKENDS): Add elf32-epiphany.lo.
253 (BFD32_BACKENDS_CFILES): Add elf32-epiphany.c.
254 * archures.c (bfd_arch_epiphany): Add.
255 (bfd_mach_epiphany16, bfd_mach_epiphany32): Define.
256 (bfd_epiphany_arch): Declare.
257 (bfd_archures_list): Add &bfd_epiphany_arch.
258 * config.bfd (epiphany-*-elf): New target case.
259 * configure.in (bfd_elf32_epiphany_vec): New target vector case.
260 * reloc.c (BFD_RELOC_EPIPHANY_SIMM8): New relocation.
261 (BFD_RELOC_EPIPHANY_SIMM24, BFD_RELOC_EPIPHANY_HIGH): Likewise.
262 (BFD_RELOC_EPIPHANY_LOW, BFD_RELOC_EPIPHANY_SIMM11): Likewise.
263 (BFD_RELOC_EPIPHANY_IMM11, BFD_RELOC_EPIPHANY_IMM8): Likewise.
264 * targets.c (bfd_elf32_epiphany_vec): Declare.
265 (_bfd_target_vector): Add bfd_elf32_epiphany_vec.
266 * Makefile.in: Regenerate.
267 * bfd-in2.h: Regenerate.
268 * configure: Regenerate.
269 * libbfd.h: Regenerate.
270 * po/SRC-POTFILES.in: Regenerate.
271 * po/bfd.pot: Regenerate.
272 * cpu-epiphany.c: New file.
273 * elf32-epiphany.c: New file.
274
275 2011-10-24 Maciej W. Rozycki <macro@codesourcery.com>
276
277 * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Remove
278 assertions.
279
280 2011-10-24 Eugeniy Meshcheryakov <eugen@debian.org>
281
282 PR ld/13273
283 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Do not warn about
284 identical TAG_PCS_config attributes.
285
286 2011-10-24 Nick Clifton <nickc@redhat.com>
287
288 * po/ja.po: Updated Japanese translation.
289
290 2011-10-24 Pau Garcia i Quiles <pgquiles@elpauer.org>
291
292 PR binutils/13292
293 * bfd-in.h: Include <sys/stat.h> rather than forward defining
294 struct stat.
295 * bfd-in2.h: Regenerate.
296
297 2011-10-21 H.J. Lu <hongjiu.lu@intel.com>
298
299 PR ld/13302
300 * elf32-i386.c (elf_i386_relocate_section): Replace
301 R_386_IRELATIVE with R_386_RELATIVE.
302
303 * elf64-x86-64.c (elf_x86_64_relocate_section): Replace
304 R_X86_64_IRELATIVE with R_X86_64_RELATIVE.
305
306 2011-10-21 H.J. Lu <hongjiu.lu@intel.com>.
307
308 * elf32-i386.c (elf_i386_relocate_section): Fix a typo in
309 comments.
310 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
311
312 2011-10-21 H.J. Lu <hongjiu.lu@intel.com>
313
314 PR ld/13302
315 * elf32-i386.c (elf_i386_link_hash_table): Add next_jump_slot_index
316 and next_irelative_index.
317 (elf_i386_link_hash_table_create): Initialize next_jump_slot_index
318 and next_irelative_index.
319 (elf_i386_allocate_dynrelocs): Increment reloc_count instead of
320 next_tls_desc_index.
321 (elf_i386_size_dynamic_sections): Set next_tls_desc_index and
322 next_irelative_index from reloc_count.
323 (elf_i386_finish_dynamic_symbol): Put R_386_IRELATIVE after
324 R_386_JUMP_SLOT.
325
326 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
327 next_jump_slot_index and next_irelative_index.
328 (elf_x86_64_link_hash_table_create): Initialize
329 next_jump_slot_index and next_irelative_index.
330 (elf_x86_64_size_dynamic_sections): Set next_irelative_index
331 from reloc_count.
332 (elf_x86_64_finish_dynamic_symbol): Put R_X86_64_IRELATIVE after
333 R_X86_64_JUMP_SLOT.
334
335 2011-10-20 Nick Clifton <nickc@redhat.com>
336
337 PR ld/13049
338 * elf32-arm.c (STUB_SUFFIX): Avoid collision with user namespace
339 symbol names.
340 * elf64-ppc.c (STUB_SUFFIX): Likewise.
341 * elf32-hppa.c (STUB_SUFFIX): Likewise.
342
343 2011-10-20 Alan Modra <amodra@gmail.com>
344
345 * elf32-i386.c (i386_opcode16): Delete.
346 (elf_i386_check_tls_transition): Use memcmp to compare contents.
347 * elf64-x86-64.c (x86_64_opcode16, x86_64_opcode32): Delete.
348 (elf_x86_64_check_tls_transition): Use memcmp to compare contents.
349
350 2011-10-19 Alan Modra <amodra@gmail.com>
351
352 PR ld/13177
353 * elflink.c (_bfd_elf_gc_mark_rsec): Set symbol "mark".
354 (elf_gc_sweep_symbol): Don't test plt/got refcounts, instead test
355 "mark". Hide undefweak too. Clear def_regular and ref_regular.
356 * elf-m10300.c (mn10300_elf_relocate_section): Ignore unresolved
357 reloc errors from garbage-collected code.
358 * elf32-arm.c (elf32_arm_relocate_section): Likewise.
359 * elf32-bfin.c (bfin_relocate_section): Likewise.
360 (bfinfdpic_relocate_section): Likewise.
361 * elf32-cris.c (cris_elf_relocate_section): Likewise.
362 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
363 * elf32-i386.c (elf_i386_relocate_section): Likewise.
364 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
365 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
366 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
367 * elf32-s390.c (elf_s390_relocate_section): Likewise.
368 * elf32-sh.c (sh_elf_relocate_section): Likewise.
369 * elf32-spu.c (spu_elf_relocate_section): Likewise.
370 * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
371 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
372 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
373 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
374 * elf64-s390.c (elf_s390_relocate_section): Likewise.
375 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
376 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
377 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
378 * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
379
380 2011-10-19 Alan Modra <amodra@gmail.com>
381
382 PR ld/13311
383 * elflink.c (elf_link_output_extsym): Correct test for warning when
384 forced local executable syms are referenced from shared libraries.
385
386 2011-10-19 Alan Modra <amodra@gmail.com>
387
388 PR ld/13254
389 * elflink.c (bfd_elf_final_link): Emit error_textrel error.
390
391 2011-10-18 David S. Miller <davem@davemloft.net>
392
393 PR binutils/13301
394 * elfxx-sparc.c (sparc_elf_find_reloc_at_ofs): New function.
395 (_bfd_sparc_elf_relocate_section): Always move the __tls_get_addr
396 call delay slot instruction forward 4 bytes when performing
397 relaxation.
398
399 2011-10-17 Alan Modra <amodra@gmail.com>
400
401 PR ld/12975
402 PR ld/13195
403 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Apply 2011-09-15
404 and 2011-09-29 bfd_elf_gc_mark_dynamic_ref_symbol changes here too.
405
406 2011-10-14 Hans-Peter Nilsson <hp@axis.com>
407
408 * elf32-cris.c (cris_elf_gc_sweep_hook) <R_CRIS_16_GOTPLT>
409 <R_CRIS_32_GOTPLT>: Fix missing update of gotplt refcount for
410 global symbols.
411 <R_CRIS_8, R_CRIS_16, R_CRIS_32>: New cases for similar missing
412 updates of the plt refcount.
413 (elf_cris_adjust_gotplt_to_got): Assert integrity of the gotplt
414 refcount in relation to the plt refcount.
415
416 2011-10-13 Richard Sandiford <richard.sandiford@linaro.org>
417
418 * elf32-arm.c (elf32_arm_final_link_relocate): Mark PLT calls via
419 stubs as resolved.
420
421 2011-10-11 Alan Modra <amodra@gmail.com>
422
423 PR binutils/13278
424 * archive.c (bfd_generic_archive_p): Only check first element
425 when target_defaulted.
426 (_bfd_construct_extended_name_table): Use ar_maxnamelen.
427 (_bfd_archive_bsd44_construct_extended_name_table): Likewise.
428
429 2011-10-11 Alan Modra <amodra@gmail.com>
430
431 PR binutils/13257
432 * archive.c (_bfd_find_nested_archive, _bfd_get_elt_at_filepos): Open
433 thin archive element using container target if not defaulted.
434
435 2011-10-10 Nick Clifton <nickc@redhat.com>
436
437 * po/es.po: Updated Spanish translation.
438 * po/fi.po: Updated Finnish translation.
439 * po/fr.po: Updated French translation.
440 * po/ru.po: Updated Russian translation.
441
442 2011-10-10 Alan Modra <amodra@gmail.com>
443
444 * elf64-ppc.c (ppc64_elf_howto_table): Add R_PPC64_TOCSAVE entry.
445 (struct ppc_link_hash_table): Add tocsave_htab.
446 (struct tocsave_entry): New.
447 (tocsave_htab_hash, tocsave_htab_eq, tocsave_find): New functions.
448 (ppc64_elf_link_hash_table_create): Create tocsave_htab..
449 (ppc64_elf_link_hash_table_free): ..and delete it.
450 (build_plt_stub): Always put STD_R2_40R1 first.
451 (ppc64_elf_size_stubs): Check for R_PPC64_TOCSAVE following reloc
452 on plt call. If present add prologue nop location to tocsave_htab.
453 (ppc64_elf_relocate_section): Convert prologue nop to std. Skip
454 first insn of plt call stub when R_PPC64_TOCSAVE present.
455
456 2011-10-08 H.J. Lu <hongjiu.lu@intel.com>
457
458 PR ld/13250
459 * elflink.c (elf_link_add_object_symbols): Preserve the maximum
460 alignment and size for common symbols.
461
462 2011-10-08 Alan Modra <amodra@gmail.com>
463
464 PR ld/13229
465 PR ld/13244
466 * elflink.c (elf_link_add_object_symbols): Don't make IR symbols
467 dynamic.
468
469 2011-10-08 Alan Modra <amodra@gmail.com>
470
471 PR ld/13229
472 * elflink.c (elf_link_output_extsym): Strip defined plugin symbols
473 even when strip_discarded is false.
474
475 2011-10-05 Kai Tietz <ktietz@redhat.com>
476
477 * coffgen.c (coff_write_alien_symbol): Don't write
478 symbol for discarded sections, if strip_discarded isn't
479 explicit set to false.
480 (coff_write_native_symbol): Likewise.
481
482 2011-10-05 DJ Delorie <dj@redhat.com>
483 Nick Clifton <nickc@redhat.com>
484
485 * elf32-rx.c: Add support for PID mode.
486 (rx_elf_relocate_section): Add checks for unsafe PID relocations.
487 Include addend in R_RX_SYM relocations.
488
489 2011-09-30 Tristan Gingold <gingold@adacore.com>
490
491 * dwarf2.c (struct dwarf2_debug): Add field debug_sections.
492 (read_section): Add sec argument. Adjust the code to get section
493 names from it.
494 (read_indirect_string): Adjust call to read_section.
495 (read_abbrevs): Ditto.
496 (decode_line_info): Ditto.
497 (read_debug_ranges): Ditto.
498 (DWARF2_DEBUG_INFO, DWARF2_COMPRESSED_DEBUG_INFO): Remove.
499 (find_debug_info): Add debug_sections parameter. Use it instead
500 the above macros.
501 (place_sections): Get section names from stash.
502 (find_line): Add debug_sections argument. Initialize
503 debug_sections field of stash from it.
504 Adjust calls to find_debug_info.
505 (_bfd_dwarf2_find_nearest_line): Add debug_sections argument.
506 Adjust call to find_line.
507 (_bfd_dwarf2_find_line): Adjust call to find_line.
508 * libcoff-in.h (struct dwarf_debug_section): New declaration.
509 (coff_find_nearest_line_with_names): Likewise.
510 * libcoff.h: Regenerate.
511 * libbfd-in.h (struct dwarf_debug_section): Move declaration.
512 (dwarf_debug_sections): Likewise.
513 (_bfd_dwarf2_find_nearest_line): Add debug_sections argument.
514 * libbfd.h: Regenerate.
515 * elf.c (_bfd_elf_find_nearest_line): Adjust call to
516 _bfd_dwarf2_find_nearest_line.
517 * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Ditto.
518 * elf64-alpha.c (elf64_alpha_find_nearest_line): Ditto.
519 * elf32-arm.c (elf32_arm_find_nearest_line): Ditto.
520 * coffgen.c (coff_find_nearest_line_with_names): New function.
521 (coff_find_nearest_line): Calls coff_find_nearest_line_with_names.
522 * coff-rs6000.c (xcoff_debug_sections): New constant.
523 (xcoff_find_nearest_line): New function.
524 (rs6000coff_vec): Use xcoff_find_nearest_line.
525 (pmac_xcoff_vec): Ditto.
526
527 2011-09-30 Alan Modra <amodra@gmail.com>
528
529 PR ld/13235
530 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add ha_relocs_not_using_r2.
531 (ppc64_elf_edit_toc): Check HA relocs.
532 (ha_reloc_match): Delete function.
533 (ppc64_elf_relocate_section): Remove delayed HA nop optimization.
534 Instead do it and low part optimization based on
535 ha_relocs_not_using_r2.
536
537 2011-09-29 Alan Modra <amodra@gmail.com>
538
539 PR ld/13233
540 * elflink.c (_bfd_elf_gc_mark_extra_sections): Mark single member
541 debug and special section groups.
542
543 2011-09-29 H.J. Lu <hongjiu.lu@intel.com>
544
545 PR ld/13195
546 * elflink.c (_bfd_elf_merge_symbol): Don't set dynamic_def when
547 clearing def_dynamic.
548 (elf_link_add_object_symbols): Likewise. Set dynamic_def when
549 setting def_dynamic.
550 (bfd_elf_gc_mark_dynamic_ref_symbol): Check if a symbol is
551 versioned.
552
553 2011-09-27 Kai Tietz <ktietz@redhat.com>
554
555 * coffcode.h (sec_to_styp_flags): Handle
556 SEC_LINK_DUPLICATES_SAME_CONTENTS, and
557 SEC_LINK_DUPLICATES_SAME_SIZE.
558
559 2011-09-22 Tristan Gingold <gingold@adacore.com>
560
561 * configure.in: Bump version to 2.22.51
562 * configure: Regenerate.
563
564 2011-09-21 David S. Miller <davem@davemloft.net>
565
566 * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): New.
567 * elfxx-sparc.h: Declare it.
568 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Call it.
569 * elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
570
571 2011-09-21 Tristan Gingold <gingold@adacore.com>
572
573 * mach-o.c (bfd_mach_o_convert_section_name_to_bfd): Add comment.
574 Deals with size limited strings.
575 (bfd_mach_o_build_commands): Initialize more fields.
576
577 2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
578
579 PR ld/13177
580 * elflink.c (elf_gc_sweep_symbol): Also hide symbols without PLT
581 nor GOT references.
582
583 2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
584
585 PR ld/12975
586 * bfd-in.h (bfd_elf_size_dynamic_sections): Remove pointer
587 to struct bfd_elf_version_tree.
588
589 * elflink.c (elf_info_failed): Remove verdefs.
590 (_bfd_elf_export_symbol): Updated.
591 _bfd_elf_link_assign_sym_version): Likewise.
592 (bfd_elf_size_dynamic_sections): Remove pointer to struct
593 bfd_elf_version_tree. Updated.
594 (bfd_elf_gc_mark_dynamic_ref_symbol): Check if a symbol is hidden
595 by linker script.
596
597 * linker.c (bfd_hide_sym_by_version): New.
598
599 * bfd-in2.h: Regenerated.
600
601 2011-09-12 H.J. Lu <hongjiu.lu@intel.com>
602
603 PR ld/13178
604 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Use .got.plt
605 if there are no GOT relocations.
606
607 2011-09-09 Kai Tietz <ktietz@redhat.com>
608
609 * peicode.h (pe_ILF_build_a_bfd): Don't remove leading underscore
610 for targets without symbol_leading_char.
611
612 2011-09-08 Bernd Jendrissek <bernd.jendrissek@gmail.com>
613
614 * bfdwin.c (bfd_get_file_window): Fix memory leak.
615
616 2011-09-07 Alan Modra <amodra@gmail.com>
617
618 PR ld/13131
619 * bfd/elf64-ppc.c (adjust_toc_syms): Ensure ppc64_elf_howto_table
620 is initialized.
621
622 2011-09-06 Alan Modra <amodra@gmail.com>
623
624 PR ld/13131
625 * elf64-ppc.c (adjust_toc_syms): Delete redundant code.
626 (ppc64_elf_edit_toc): Fix style nit. Report some details
627 on linker failure due to reference in debug or non-alloc
628 sections to optimized away toc entry, and don't abort.
629
630 2011-09-01 Christophe Lyon <christophe.lyon@st.com>
631
632 * elf32-arm.c (elf32_arm_output_arch_local_syms): Skip excluded
633 sections.
634
635 2011-08-26 Nick Clifton <nickc@redhat.com>
636
637 * po/es.po: Updated Spanish translation.
638
639 2011-08-19 Alan Modra <amodra@gmail.com>
640
641 * elf64-ppc.c (ppc64_elf_edit_toc): Ignore can_optimize bit if
642 we haven't seen expected -mcmodel=medium/large code relocs.
643
644 2011-08-18 Tristan Gingold <gingold@adacore.com>
645
646 * mach-o.c (bfd_mach_o_read_segment): Initialize list.
647
648 2011-08-17 Tristan Gingold <gingold@adacore.com>
649
650 * mach-o.c (bfd_mach_o_write_section_32): Fix typo.
651
652 2011-08-17 Alan Modra <amodra@gmail.com>
653
654 PR ld/12762
655 * bfd-in.h (struct bfd_section_already_linked): Forward declare.
656 (_bfd_handle_already_linked): Declare.
657 * coff-alpha.c (_bfd_ecoff_section_already_linked): Define as
658 _bfd_coff_section_already_linked.
659 * coff-mips.c (_bfd_ecoff_section_already_linked): Likewise.
660 * coffcode.h (coff_section_already_linked): Likewise.
661 * cofflink.c (coff_link_add_symbols): Revert 2011-07-09 changes.
662 * elf-bfd.h: Likewise.
663 * libbfd-in.h: Likewise.
664 * targets.c: Likewise.
665 * linker.c (bfd_section_already_linked): Likewise.
666 (bfd_section_already_linked_table_lookup): Likewise.
667 (bfd_section_already_linked_table_insert): Likewise.
668 (_bfd_generic_section_already_linked): Likewise. Call
669 _bfd_handle_already_linked.
670 (_bfd_handle_already_linked): New function, split out from..
671 * elflink.c (_bfd_elf_section_already_linked): ..here. Revert
672 2011-07-09 changes. Avoid unnecessary strcmp when matching
673 already_linked_list entries. Match plugin linkonce section.
674 (section_signature): Delete.
675 * coffgen.c (_bfd_coff_section_already_linked): New function.
676 * libcoff-in.h (_bfd_coff_section_already_linked): Declare.
677 * libbfd.h: Regenerate.
678 * libcoff.h: Regenerate.
679 * bfd-in2.h: Regenerate.
680
681 2011-08-14 Alan Modra <amodra@gmail.com>
682
683 * elf32-ppc.c (ppc_elf_select_plt_layout): Force bss-plt when
684 shared and call to _mcount will go via plt.
685
686 2011-08-14 Alan Modra <amodra@gmail.com>
687
688 * elf64-ppc.c: Prefix all einfo error strings with "%P: ".
689 * elf32-ppc.c: Likewise.
690 (ppc_elf_select_plt_layout): Use einfo rather than info to report
691 forced bss-plt.
692
693 2011-08-12 H.J. Lu <hongjiu.lu@intel.com>
694
695 PR ld/13082
696 * elf64-x86-64.c (x86_64_elf_howto_table): Add R_X86_64_RELATIVE64.
697 (elf_x86_64_relocate_section): Treat R_X86_64_64 like R_X86_64_32
698 and zero-extend it to 64bit if addend is zero for x32. Generate
699 R_X86_64_RELATIVE64 for x32.
700
701 2011-08-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
702
703 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
704 * bfd-in2.h (bfd_elf32_arm_set_target_relocs): Likewise.
705 * elf32-arm.c (elf32_arm_link_hash_table): New field.
706 (elf232_arm_link_hash_table_create): Initialise new field.
707 (check_use_blx): Change test depending on fix_arm1176.
708 (bfd_elf32_arm_set_target_relocs): Set fix_arm1176 from
709 command line options.
710
711 2011-08-08 Tristan Gingold <gingold@adacore.com>
712
713 * mach-o.c (struct mach_o_segment_name_xlat): Add comments.
714 (segsec_names_xlat): Reorder elements.
715 (bfd_mach_o_read_section_32): Fix typo.
716 (bfd_mach_o_read_section_64): Fix typo.
717
718 2011-08-08 Tristan Gingold <gingold@adacore.com>
719
720 * mach-o.h (BFD_MACH_O_SEGNAME_SIZE): New macro.
721 (BFD_MACH_O_SECTNAME_SIZE): Ditto.
722 (bfd_mach_o_section): Use them. Add next field.
723 (bfd_mach_o_segment_command): Replace sections array by
724 sect_head and sect_tail.
725 (bfd_mach_o_get_mach_o_section): New macro.
726 (bfd_mach_o_lookup_section): Remove.
727 (bfd_mach_o_new_section_hook): New function.
728 * mach-o.c (bfd_mach_o_normalize_section_name): Use strncmp
729 instead of strcmp.
730 (bfd_mach_o_convert_section_name_to_bfd): Replaces section
731 parameter with segname and sectname parameters. Adjust.
732 (bfd_mach_o_append_section_to_segment): New function. Use a
733 linked list for Mach-O sections.
734 (bfd_mach_o_write_segment_32): Adjust.
735 (bfd_mach_o_write_segment_64): Ditto.
736 (bfd_mach_o_build_commands): Fix comment. Adjust.
737 (bfd_mach_o_flatten_sections): Adjust.
738 (bfd_mach_o_print_section_map): Adjust.
739 (bfd_mach_o_set_section_flags_from_bfd): Ditto.
740 (bfd_mach_o_new_section_hook): New function.
741 (bfd_mach_o_init_section_from_mach_o): Ditto.
742 (bfd_mach_o_read_section_32): Remove section parameter.
743 Return a section instead.
744 (bfd_mach_o_read_section_64): Ditto.
745 (bfd_mach_o_read_section): Ditto.
746 (bfd_mach_o_make_bfd_section): Adjust.
747 (bfd_mach_o_read_segment): Adjust for new profile of
748 bfd_mach_o_read_section.
749 (bfd_mach_o_lookup_section): Remove.
750 * mach-o-target.c (bfd_mach_o_new_section_hook): Remove.
751
752 2011-08-08 Tristan Gingold <gingold@adacore.com>
753
754 * mach-o.h (bfd_mach_o_version_min_command): New structure.
755 (bfd_mach_o_load_command): Add version_min.
756 (mach_o_data_struct): Fix comment.
757 * mach-o.c (bfd_mach_o_read_version_min): New function.
758 (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_FUNCTION_STARTS,
759 BFD_MACH_O_LC_VERSION_MIN_MACOSX and
760 BFD_MACH_O_LC_VERSION_MIN_IPHONEOS.
761 (bfd_mach_o_get_name_or_null): New function.
762 (bfd_mach_o_get_name): Use the above new one.
763 (bfd_mach_o_load_command_name): Add the above new commands.
764 (bfd_mach_o_bfd_print_private_bfd_data): Display numerically
765 unknown commands. Handle BFD_MACH_O_LC_FUNCTION_STARTS,
766 BFD_MACH_O_LC_VERSION_MIN_MACOSX and
767 BFD_MACH_O_LC_VERSION_MIN_IPHONEOS.
768
769 2011-08-08 Tristan Gingold <gingold@adacore.com>
770
771 * mach-o.h: Move size macros to external.h
772 Move reloc macros to reloc.h and x86-64.h.
773 * mach-o-i386.c: Includes mach-o/reloc.h
774 * mach-o-x86-64.c: Ditto and includes mach-o/x86-64.h
775 * mach-o.c: Add includes.
776 (bfd_mach_o_write_header): Use structure from external.h to convert.
777 (bfd_mach_o_write_thread): Ditto.
778 (bfd_mach_o_write_relocs): Ditto.
779 (bfd_mach_o_write_section_32): Ditto.
780 (bfd_mach_o_write_section_64): Ditto.
781 (bfd_mach_o_write_segment_32): Ditto.
782 (bfd_mach_o_write_segment_64): Ditto.
783 (bfd_mach_o_write_symtab): Ditto.
784 (bfd_mach_o_write_contents): Ditto.
785 (bfd_mach_o_read_header): Ditto.
786 (bfd_mach_o_read_section_32): Ditto.
787 (bfd_mach_o_read_section_64): Ditto.
788 (bfd_mach_o_read_symtab_symbol): Ditto.
789 (bfd_mach_o_read_dylinker): Ditto.
790 (bfd_mach_o_read_dylib): Ditto.
791 (bfd_mach_o_read_dysymtab): Ditto.
792 (bfd_mach_o_read_symtab): Ditto.
793 (bfd_mach_o_read_linkedit): Ditto.
794 (bfd_mach_o_read_str): Ditto.
795 (bfd_mach_o_read_dyld_info): Ditto.
796 (bfd_mach_o_read_segment): Ditto.
797 (bfd_mach_o_read_command): Ditto.
798 (bfd_mach_o_archive_p): Ditto.
799 (bfd_mach_o_canonicalize_one_reloc): Ditto. Change the BUF parameter.
800 (bfd_mach_o_canonicalize_relocs): Adjust to call the above function.
801 (bfd_mach_o_read_dysymtab_symbol): Rename BUF variable.
802 (bfd_mach_o_read_uuid): Remove useless cast. Use a macro instead
803 of an hard-coded value.
804
805 2011-08-08 Tristan Gingold <gingold@adacore.com>
806
807 * mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Fix cut-and-past typos.
808 (bfd_mach_o_x86_64_swap_reloc_out): Handle BFD_RELOC_32_PCREL,
809 BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64 and
810 BFD_RELOC_MACH_O_X86_64_GOT_LOAD. Share common code.
811
812 2011-08-08 Tristan Gingold <gingold@adacore.com>
813
814 * mach-o.c (bfd_mach_o_normalize_section_name): New function.
815 (bfd_mach_o_convert_section_name_to_bfd): Use it.
816 (bfd_mach_o_get_section_type_from_name): New function.
817 (bfd_mach_o_get_section_attribute_from_name): Ditto.
818 * mach-o.h (bfd_mach_o_section): Move bfdsection field at the end.
819 Add comments. Add prototypes for the above new functions.
820
821 2011-08-05 Mark Kettenis <kettenis@gnu.org>
822
823 * netbsd-core.c (netbsd_core_vec): Init match_priority field.
824
825 2011-08-05 Alan Modra <amodra@gmail.com>
826
827 * elf64-ppc.c (maybe_strip_output): New function.
828 (ppc64_elf_size_stubs): Use it to strip .branch_lt and .eh_frame.
829
830 2011-08-05 Alan Modra <amodra@gmail.com>
831
832 PR ld/12762
833 * elflink.c (_bfd_elf_section_already_linked): Return matched
834 status. Remove COFF comdat section handling.
835 * linker.c (_bfd_generic_section_already_linked): Return matched
836 status. Don't set SEC_GROUP in l_flags for plugin entries.
837 (bfd_section_already_linked): Update prototype.
838 * targets.c (_section_already_linked): Likewise.
839 * elf-bfd.h (_bfd_elf_section_already_linked): Likewise.
840 * libbfd-in.h (_bfd_generic_section_already_linked): Likewise.
841 (_bfd_nolink_section_already_linked): Update.
842 * libbfd.h: Regenerate.
843 * bfd-in2.h: Regenerate.
844
845 2011-08-05 Alan Modra <amodra@gmail.com>
846
847 * elf32-ppc.c: Include dwarf2.h.
848 (struct ppc_elf_link_hash_table): Add glink_eh_frame.
849 (ppc_elf_create_glink): Create .eh_frame section.
850 (glink_eh_frame_cie): New array.
851 (ppc_elf_size_dynamic_sections): Size glink_eh_frame.
852 (ppc_elf_finish_dynamic_sections): Write glink_eh_frame.
853
854 2011-08-04 Tristan Gingold <gingold@adacore.com>
855
856 * vms-alpha.c (_bfd_vms_write_eeom): Round vms_linkage_index.
857 (_bfd_vms_write_etir): Initialize vms_linkage_index to 0.
858
859 2011-08-03 Tristan Gingold <gingold@adacore.com>
860
861 * mach-o.c (bfd_mach_o_canonicalize_symtab): Handle no symbols case.
862 (bfd_mach_o_read_symtab_symbols): Return if no symbols.
863
864 2011-08-02 Maciej W. Rozycki <macro@codesourcery.com>
865
866 * elfxx-mips.c (check_4byte_branch): Remove function.
867 (check_relocated_bzc): New function.
868 (_bfd_mips_elf_relax_section): Permit the relaxation of LUI
869 instructions that immediately follow a compact branch
870 instruction.
871
872 2011-08-02 Alan Modra <amodra@gmail.com>
873
874 * elf64-ppc.c (build_plt_stub): Correct emitted relocs when no
875 plt_static_chain.
876 (ppc_build_one_stub): Adjust get_relocs call to suit..
877 (ppc_size_one_stub): ..and reloc sizing. Correct plt size corner case.
878
879 2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
880
881 PR ld/13048
882 * archures.c (bfd_mach_i386_intel_syntax): New.
883 (bfd_mach_i386_i8086): Updated.
884 (bfd_mach_i386_i386): Likewise.
885 (bfd_mach_x86_64): Likewise.
886 (bfd_mach_x64_32): Likewise.
887 (bfd_mach_i386_i386_intel_syntax): Likewise.
888 (bfd_mach_x86_64_intel_syntax): Likewise.
889 (bfd_mach_x64_32_intel_syntax): Likewise.
890 (bfd_mach_l1om): Likewise.
891 (bfd_mach_l1om_intel_syntax): Likewise.
892 (bfd_mach_k1om): Likewise.
893 (bfd_mach_k1om_intel_syntax): Likewise.
894
895 * bfd-in2.h: Regenerated.
896
897 * cpu-i386.c (bfd_i386_compatible): Check mach instead of
898 bits_per_address.
899 (bfd_x64_32_arch_intel_syntax): Set bits_per_address to 64.
900 (bfd_x64_32_arch): Likewise.
901
902 * elf64-x86-64.c: Include "libiberty.h".
903 (x86_64_elf_howto_table): Append x32 R_X86_64_32.
904 (elf_x86_64_rtype_to_howto): Support x32 R_X86_64_32.
905 (elf_x86_64_reloc_type_lookup): Likewise.
906 (elf_x86_64_reloc_name_lookup): Likewise.
907 (elf_x86_64_relocate_section): Likewise.
908 (elf_x86_64_check_relocs): Allow R_X86_64_64 relocations for x32.
909
910 2011-07-29 Maciej W. Rozycki <macro@codesourcery.com>
911
912 * elfxx-mips.c (check_br32): Fix return type.
913
914 2011-07-29 Maciej W. Rozycki <macro@codesourcery.com>
915
916 * elfxx-mips.c (bz_insn_16): Correct opcode mask.
917
918 2011-07-29 Maciej W. Rozycki <macro@codesourcery.com>
919
920 * elfxx-mips.c: Adjust comments throughout.
921 (mips_elf_relax_delete_bytes): Reshape code.
922 (_bfd_mips_elf_relax_section): Remove check for
923 R_MICROMIPS_GPREL16 relocations. Reshape code.
924
925 2011-07-28 Roland McGrath <mcgrathr@google.com>
926
927 * elf32-i386.c (NACL_PLT_ENTRY_SIZE, NACLMASK): New macros.
928 (elf_i386_nacl_plt0_entry): New variable.
929 (elf_i386_plt_entry): New variable.
930 (elf_i386_nacl_pic_plt0_entry): New variable.
931 (elf_i386_nacl_pic_plt_entry): New variable.
932 (elf_i386_nacl_plt, elf_i386_nacl_arch_bed): New variables.
933 (elf_backend_arch_data): New macro setting for elf_i386_nacl_vec stanza.
934 (elf_backend_plt_alignment): Likewise.
935
936 * config.bfd: Handle i[3-7]86-*-nacl*.
937 * elf32-i386.c (bfd_elf32_i386_nacl_vec): New backend vector stanza.
938 * targets.c: Support bfd_elf32_i386_nacl_vec.
939 * configure.in: Likewise.
940 * configure: Regenerated.
941
942 * elf32-i386.c (struct elf_i386_plt_layout): New type.
943 (GET_PLT_ENTRY_SIZE): New macro.
944 (elf_i386_plt): New variable.
945 (struct elf_i386_backend_data): New member `plt'.
946 (elf_i386_arch_bed): Add initializer for it.
947 (elf_i386_vxworks_arch_bed): Likewise.
948 (elf_i386_allocate_dynrelocs): Use GET_PLT_ENTRY_SIZE.
949 (elf_i386_plt_sym_val): Likewise.
950 (elf_i386_relocate_section): Likewise.
951 (elf_i386_finish_dynamic_symbol): Likewise.
952 Also use other elf_i386_plt_layout members for PLT details.
953 (elf_i386_finish_dynamic_sections): Likewise.
954
955 * elf32-i386.c (struct elf_i386_backend_data): New type.
956 (get_elf_i386_backend_data): New macro.
957 (elf_i386_arch_bed): New variable.
958 (elf_backend_arch_data): New macro.
959 (struct elf_i386_link_hash_table): Remove plt0_pad_byte and is_vxworks.
960 (elf_i386_link_hash_table_create): Don't initialize them.
961 (elf_i386_create_dynamic_sections): Find is_vxworks flags in
962 elf_i386_backend_data, not elf_i386_link_hash_table.
963 (elf_i386_adjust_dynamic_symbol): Likewise.
964 (elf_i386_allocate_dynrelocs): Likewise.
965 (elf_i386_readonly_dynrelocs): Likewise.
966 (elf_i386_size_dynamic_sections): Likewise.
967 (elf_i386_relocate_section): Likewise.
968 (elf_i386_finish_dynamic_symbol): Likewise.
969 (elf_i386_finish_dynamic_sections): Likewise. Same for plt0_pad_byte.
970 (elf_i386_vxworks_link_hash_table_create): Function removed.
971 (elf_i386_vxworks_arch_bed): New variable.
972 (elf_backend_arch_data): New macro in elf32-i386-vxworks stanza.
973
974 * elf-bfd.h (elf_backend_data): New member arch_backend_data.
975 * elfxx-target.h (elf_backend_arch_data): New macro.
976 (elfNN_bed): Use it as initializer for the new member.
977
978 2011-07-28 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
979
980 * elf64-hppa.c (elf_hppa_final_link_relocate): Fix handling of out
981 of range branches.
982
983 2011-07-26 Jakub Jelinek <jakub@redhat.com>
984
985 * dwarf2.c (dwarf_debug_sections): Add .debug_macro
986 and .zdebug_macro entry.
987 (dwarf_debug_section_enum): Add debug_macro.
988
989 2011-07-26 Alan Modra <amodra@gmail.com>
990
991 * elf64-ppc.c: Include dwarf2.h.
992 (struct ppc_link_hash_table): Add glink_eh_frame.
993 (create_linkage_sections): Create .eh_frame section.
994 (ppc64_elf_size_dynamic_sections): Arrange to drop unneeded
995 glink_eh_frame.
996 (glink_eh_frame_cie): New array.
997 (ppc64_elf_size_stubs): Size glink_eh_frame.
998 (ppc64_elf_build_stubs): Init glink_eh_frame contents.
999 (ppc64_elf_finish_dynamic_sections): Write glink_eh_frame.
1000
1001 2011-07-25 Hans-Peter Nilsson <hp@bitrange.com>
1002
1003 PR ld/12815
1004 * elf64-mmix.c (struct _mmix_elf_section_data): New members
1005 has_warned_bpo and has_warned_pushj.
1006 (mmix_final_link_relocate): Remove PARAMS and PTR macros,
1007 converting to ISO C. Add new parameter error_message. All
1008 callers changed.
1009 (mmix_elf_perform_relocation): Ditto.
1010 <case R_MMIX_PUSHJ_STUBBABLE, case R_MMIX_BASE_PLUS_OFFSET>:
1011 Handle the case where mmix_elf_check_common_relocs has not been
1012 called, missing preparations for relocs of the respective type.
1013
1014 2011-07-24 Chao-ying Fu <fu@mips.com>
1015 Ilie Garbacea <ilie@mips.com>
1016 Maciej W. Rozycki <macro@codesourcery.com>
1017 Joseph Myers <joseph@codesourcery.com>
1018 Catherine Moore <clm@codesourcery.com>
1019 Richard Sandiford <rdsandiford@googlemail.com>
1020
1021 * archures.c (bfd_mach_mips_micromips): New macro.
1022 * cpu-mips.c (I_micromips): New enum value.
1023 (arch_info_struct): Add bfd_mach_mips_micromips.
1024 * elfxx-mips.h (_bfd_mips_elf_is_target_special_symbol): New
1025 prototype.
1026 (_bfd_mips_elf_relax_section): Likewise.
1027 (_bfd_mips16_elf_reloc_unshuffle): Rename to...
1028 (_bfd_mips_elf_reloc_unshuffle): ... this. Handle microMIPS
1029 ASE.
1030 (_bfd_mips16_elf_reloc_shuffle): Rename to...
1031 (_bfd_mips_elf_reloc_shuffle): ... this. Handle microMIPS ASE.
1032 (gprel16_reloc_p): Handle microMIPS ASE.
1033 (literal_reloc_p): New function.
1034 * elf32-mips.c (elf_micromips_howto_table_rel): New variable.
1035 (_bfd_mips_elf32_gprel16_reloc): Handle microMIPS ASE.
1036 (mips16_gprel_reloc): Update for _bfd_mips_elf_reloc_unshuffle
1037 and _bfd_mips_elf_reloc_shuffle changes.
1038 (mips_elf_gprel32_reloc): Update comment.
1039 (micromips_reloc_map): New variable.
1040 (bfd_elf32_bfd_reloc_type_lookup): Handle microMIPS ASE.
1041 (mips_elf32_rtype_to_howto): Likewise.
1042 (mips_info_to_howto_rel): Likewise.
1043 (bfd_elf32_bfd_is_target_special_symbol): Define.
1044 (bfd_elf32_bfd_relax_section): Likewise.
1045 * elf64-mips.c (micromips_elf64_howto_table_rel): New variable.
1046 (micromips_elf64_howto_table_rela): Likewise.
1047 (mips16_gprel_reloc): Update for _bfd_mips_elf_reloc_unshuffle
1048 and _bfd_mips_elf_reloc_shuffle changes.
1049 (micromips_reloc_map): Likewise.
1050 (bfd_elf64_bfd_reloc_type_lookup): Handle microMIPS ASE.
1051 (bfd_elf64_bfd_reloc_name_lookup): Likewise.
1052 (mips_elf64_rtype_to_howto): Likewise.
1053 (bfd_elf64_bfd_is_target_special_symbol): Define.
1054 * elfn32-mips.c (elf_micromips_howto_table_rel): New variable.
1055 (elf_micromips_howto_table_rela): Likewise.
1056 (mips16_gprel_reloc): Update for _bfd_mips_elf_reloc_unshuffle
1057 and _bfd_mips_elf_reloc_shuffle changes.
1058 (micromips_reloc_map): Likewise.
1059 (bfd_elf32_bfd_reloc_type_lookup): Handle microMIPS ASE.
1060 (bfd_elf32_bfd_reloc_name_lookup): Likewise.
1061 (mips_elf_n32_rtype_to_howto): Likewise.
1062 (bfd_elf32_bfd_is_target_special_symbol): Define.
1063 * elfxx-mips.c (LA25_LUI_MICROMIPS_1): New macro.
1064 (LA25_LUI_MICROMIPS_2): Likewise.
1065 (LA25_J_MICROMIPS_1, LA25_J_MICROMIPS_2): Likewise.
1066 (LA25_ADDIU_MICROMIPS_1, LA25_ADDIU_MICROMIPS_2): Likewise.
1067 (TLS_RELOC_P): Handle microMIPS ASE.
1068 (mips_elf_create_stub_symbol): Adjust value of stub symbol if
1069 target is a microMIPS function.
1070 (micromips_reloc_p): New function.
1071 (micromips_reloc_shuffle_p): Likewise.
1072 (got16_reloc_p, call16_reloc_p): Handle microMIPS ASE.
1073 (got_disp_reloc_p, got_page_reloc_p): New functions.
1074 (got_ofst_reloc_p): Likewise.
1075 (got_hi16_reloc_p, got_lo16_reloc_p): Likewise.
1076 (call_hi16_reloc_p, call_lo16_reloc_p): Likewise.
1077 (hi16_reloc_p, lo16_reloc_p, jal_reloc_p): Handle microMIPS ASE.
1078 (micromips_branch_reloc_p): New function.
1079 (tls_gd_reloc_p, tls_ldm_reloc_p): Likewise.
1080 (tls_gottprel_reloc_p): Likewise.
1081 (_bfd_mips16_elf_reloc_unshuffle): Rename to...
1082 (_bfd_mips_elf_reloc_unshuffle): ... this. Handle microMIPS
1083 ASE.
1084 (_bfd_mips16_elf_reloc_shuffle): Rename to...
1085 (_bfd_mips_elf_reloc_shuffle): ... this. Handle microMIPS ASE.
1086 (_bfd_mips_elf_lo16_reloc): Handle microMIPS ASE.
1087 (mips_tls_got_index, mips_elf_got_page): Likewise.
1088 (mips_elf_create_local_got_entry): Likewise.
1089 (mips_elf_relocation_needs_la25_stub): Likewise.
1090 (mips_elf_calculate_relocation): Likewise.
1091 (mips_elf_perform_relocation): Likewise.
1092 (_bfd_mips_elf_symbol_processing): Likewise.
1093 (_bfd_mips_elf_add_symbol_hook): Likewise.
1094 (_bfd_mips_elf_link_output_symbol_hook): Likewise.
1095 (mips_elf_add_lo16_rel_addend): Likewise.
1096 (_bfd_mips_elf_check_relocs): Likewise.
1097 (mips_elf_adjust_addend): Likewise.
1098 (_bfd_mips_elf_relocate_section): Likewise.
1099 (mips_elf_create_la25_stub): Likewise.
1100 (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
1101 (_bfd_mips_elf_gc_sweep_hook): Likewise.
1102 (_bfd_mips_elf_is_target_special_symbol): New function.
1103 (mips_elf_relax_delete_bytes): Likewise.
1104 (opcode_descriptor): New structure.
1105 (RA): New macro.
1106 (OP32_SREG, OP32_TREG, OP16_VALID_REG): Likewise.
1107 (b_insns_32, bc_insn_32, bz_insn_32, bzal_insn_32): New variables.
1108 (beq_insn_32): Likewise.
1109 (b_insn_16, bz_insn_16): New variables.
1110 (BZC32_REG_FIELD): New macro.
1111 (bz_rs_insns_32, bz_rt_insns_32): New variables.
1112 (bzc_insns_32, bz_insns_16):Likewise.
1113 (BZ16_REG, BZ16_REG_FIELD): New macros.
1114 (jal_insn_32_bd16, jal_insn_32_bd32): New variables.
1115 (jal_x_insn_32_bd32): Likewise.
1116 (j_insn_32, jalr_insn_32): Likewise.
1117 (ds_insns_32_bd16, ds_insns_32_bd32): Likewise.
1118 (jalr_insn_16_bd16, jalr_insn_16_bd32, jr_insn_16): Likewise.
1119 (JR16_REG): New macro.
1120 (ds_insns_16_bd16): New variable.
1121 (lui_insn): Likewise.
1122 (addiu_insn, addiupc_insn): Likewise.
1123 (ADDIUPC_REG_FIELD): New macro.
1124 (MOVE32_RD, MOVE32_RS): Likewise.
1125 (MOVE16_RD_FIELD, MOVE16_RS_FIELD): Likewise.
1126 (move_insns_32, move_insns_16): New variables.
1127 (nop_insn_32, nop_insn_16): Likewise.
1128 (MATCH): New macro.
1129 (find_match): New function.
1130 (check_br16_dslot, check_br32_dslot): Likewise.
1131 (check_br16, check_br32): Likewise.
1132 (IS_BITSIZE): New macro.
1133 (check_4byte_branch): New function.
1134 (_bfd_mips_elf_relax_section): Likewise.
1135 (_bfd_mips_elf_merge_private_bfd_data): Disallow linking MIPS16
1136 and microMIPS modules together.
1137 (_bfd_mips_elf_print_private_bfd_data): Handle microMIPS ASE.
1138 * reloc.c (BFD_RELOC_MICROMIPS_7_PCREL_S1): New relocation.
1139 (BFD_RELOC_MICROMIPS_10_PCREL_S1): Likewise.
1140 (BFD_RELOC_MICROMIPS_16_PCREL_S1): Likewise.
1141 (BFD_RELOC_MICROMIPS_GPREL16): Likewise.
1142 (BFD_RELOC_MICROMIPS_JMP, BFD_RELOC_MICROMIPS_HI16): Likewise.
1143 (BFD_RELOC_MICROMIPS_HI16_S): Likewise.
1144 (BFD_RELOC_MICROMIPS_LO16): Likewise.
1145 (BFD_RELOC_MICROMIPS_LITERAL): Likewise.
1146 (BFD_RELOC_MICROMIPS_GOT16): Likewise.
1147 (BFD_RELOC_MICROMIPS_CALL16): Likewise.
1148 (BFD_RELOC_MICROMIPS_GOT_HI16): Likewise.
1149 (BFD_RELOC_MICROMIPS_GOT_LO16): Likewise.
1150 (BFD_RELOC_MICROMIPS_CALL_HI16): Likewise.
1151 (BFD_RELOC_MICROMIPS_CALL_LO16): Likewise.
1152 (BFD_RELOC_MICROMIPS_SUB): Likewise.
1153 (BFD_RELOC_MICROMIPS_GOT_PAGE): Likewise.
1154 (BFD_RELOC_MICROMIPS_GOT_OFST): Likewise.
1155 (BFD_RELOC_MICROMIPS_GOT_DISP): Likewise.
1156 (BFD_RELOC_MICROMIPS_HIGHEST): Likewise.
1157 (BFD_RELOC_MICROMIPS_HIGHER): Likewise.
1158 (BFD_RELOC_MICROMIPS_SCN_DISP): Likewise.
1159 (BFD_RELOC_MICROMIPS_JALR): Likewise.
1160 (BFD_RELOC_MICROMIPS_TLS_GD): Likewise.
1161 (BFD_RELOC_MICROMIPS_TLS_LDM): Likewise.
1162 (BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16): Likewise.
1163 (BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16): Likewise.
1164 (BFD_RELOC_MICROMIPS_TLS_GOTTPREL): Likewise.
1165 (BFD_RELOC_MICROMIPS_TLS_TPREL_HI16): Likewise.
1166 (BFD_RELOC_MICROMIPS_TLS_TPREL_LO16): Likewise.
1167 * bfd-in2.h: Regenerate.
1168 * libbfd.h: Regenerate.
1169
1170 2011-07-22 H.J. Lu <hongjiu.lu@intel.com>
1171
1172 * Makefile.am (ALL_MACHINES): Add cpu-k1om.lo.
1173 (ALL_MACHINES_CFILES): Add cpu-k1om.c.
1174 * Makefile.in: Regenerated.
1175
1176 * archures.c (bfd_architecture): Add bfd_arch_k1om.
1177 (bfd_k1om_arch): New.
1178 (bfd_archures_list): Add &bfd_k1om_arch.
1179 * bfd-in2.h: Regenerated.
1180
1181 * config.bfd (targ64_selvecs): Add bfd_elf64_k1om_vec if
1182 bfd_elf64_x86_64_vec is supported. Add bfd_elf64_k1om_freebsd_vec
1183 if bfd_elf64_x86_64_freebsd_vec is supported.
1184 (targ_selvecs): Likewise.
1185
1186 * configure.in: Support bfd_elf64_k1om_vec and
1187 bfd_elf64_k1om_freebsd_vec.
1188 * configure: Regenerated.
1189
1190 * cpu-k1om.c: New.
1191
1192 * elf64-x86-64.c (elf64_k1om_elf_object_p): New.
1193 (bfd_elf64_k1om_vec): Likewise.
1194 (bfd_elf64_k1om_freebsd_vec): Likewise.
1195
1196 * targets.c (bfd_elf64_k1om_vec): New.
1197 (bfd_elf64_k1om_freebsd_vec): Likewise.
1198 (_bfd_target_vector): Add bfd_elf64_k1om_vec and
1199 bfd_elf64_k1om_freebsd_vec.
1200
1201 2011-07-20 Jan Kratochvil <jan.kratochvil@redhat.com>
1202
1203 Fix false coff-go32-exe matches.
1204 * coff-i386.c (TARGET_SYM) <_bfd_check_format>: Conditionally use
1205 COFF_CHECK_FORMAT.
1206 * coff-stgo32.c (go32_check_format): New forward declaration.
1207 (COFF_CHECK_FORMAT): New defintion.
1208 (go32_check_format): New function.
1209
1210 2011-07-15 Alan Modra <amodra@gmail.com>
1211
1212 * configure.in: Bump version.
1213 * configure: Regenerate.
1214
1215 2011-07-14 Alan Modra <amodra@gmail.com>
1216
1217 * linker.c (_bfd_generic_section_already_linked): Set l_flags.
1218 * elf-bfd.h (struct already_linked): Forward declare.
1219
1220 2011-07-14 Alan Modra <amodra@gmail.com>
1221
1222 * elflink.c (_bfd_elf_fix_symbol_flags): Loop on indirect syms.
1223 (_bfd_elf_adjust_dynamic_symbol): Remove FIXME.
1224
1225 2011-07-14 Alan Modra <amodra@gmail.com>
1226
1227 * elf64-ppc.c (struct ppc_link_hash_table): Add plt_static_chain.
1228 (build_plt_stub): Add plt_static_chain param, don't load r11 if false.
1229 (build_tls_get_addr_stub): Likewise.
1230 (ppc_build_one_stub): Update calls to above.
1231 (ppc_size_one_stub): Adjust stub size.
1232 (ppc64_elf_size_stubs): Add plt_static_chain param, save to htab.
1233 * elf64-ppc.h (ppc64_elf_size_stubs): Update prototype.
1234
1235 2011-07-12 Nick Clifton <nickc@redhat.com>
1236
1237 * elf32-arm.c (elf32_arm_section_flags): Delete.
1238 (elf_backend_section_flags): Remove.
1239
1240 2011-07-11 H.J. Lu <hongjiu.lu@intel.com>
1241
1242 PR ld/12982
1243 * elflink.c (bfd_elf_size_dynamic_sections): Also skip BFD_PLUGIN
1244 when setting stack_flags.
1245
1246 2011-07-11 Catherine Moore <clm@codesourcery.com>
1247
1248 * aout-adobe.c (aout_32_bfd_lookup_section_flags): New definition.
1249 * aout-target.h (MY_bfd_lookup_section_flags): New definition.
1250 * aout-tic30.c (MY_bfd_lookup_section_flags): New definition.
1251 * bfd-in2.h: Regenerated.
1252 * bfd.c (bfd_lookup_section_flags): New definition.
1253 * binary.c (binary_bfd_lookup_section_flags): New definition.
1254 * bout.c (b_out_bfd_lookup_section_flags): New definition.
1255 * coff-alpha.c (_bfd_ecoff_bfd_lookup_section_flags): New definition.
1256 * coff-mips.c (_bfd_ecoff_bfd_lookup_section_flags): New definition.
1257 * coff-rs6000.c (rs6000coff_vec): Include
1258 bfd_generic_lookup_section_flags.
1259 (pmac_xcoff_vec): Likewise.
1260 * coffcode.h (coff_bfd_lookup_section_flags): New definition.
1261 * coff64-rs6000.c (rs6000coff64_vec): Include
1262 bfd_generic_lookup_section_flags.
1263 (aix5coff64_vec): Likewise.
1264 * ecoff.c (bfd_debug_section): Initialize flag_info field.
1265 * elf-bfd.h (elf_backend_lookup_section_flags_hook): Declare.
1266 (bfd_elf_lookup_section_flags): Declare.
1267 * elflink.c (bfd_elf_lookup_section_flags): New function.
1268 * elfxx-target.h (bfd_elfNN_bfd_lookup_section_flags): Define.
1269 (elf_backend_lookup_section_flags_hook): Define.
1270 (elf_backend_data): Add elf_backend_lookup_section_flags_hook.
1271 * i386msdos.c (msdos_bfd_lookup_section_flags): New define.
1272 * i386os9k.c (os9k_bfd_lookup_section_flags): New define.
1273 * ieee.c (ieee_bfd_lookup_section_flags): New define.
1274 * ihex.c (ihex_bfd_lookup_section_flags): New define.
1275 * libbfd-in.h (_bfd_nolink_bfd_lookup_section_flags): Declare.
1276 (bfd_generic_lookup_section_flags): Declare.
1277 * libbfd.h: Regenerated.
1278 * mach-o-target.c (bfd_mach_o_bfd_lookup_section_flags): New.
1279 * mmo.c (mmo_bfd_lookup_section_flags): New definition.
1280 * nlm-target.h (nlm_bfd_lookup_section_flags): New definition.
1281 * oasys.c (oasys_bfd_lookup_section_flags): New definition.
1282 * pef.c (bfd_pef_bfd_lookup_section_flags): New definition.
1283 * plugin.c (bfd_plugin_bfd_lookup_section_flags): New definition.
1284 * ppcboot.c (ppcboot_bfd_lookup_section_flags): New definition.
1285 * reloc.c (bfd_generic_lookup_section_flags): New function.
1286 * som.c (som_bfd_lookup_section_flags): New definition.
1287 * srec.c (srec_bfd_lookup_section_flags): New definition.
1288 * targets.c (flag_info): Declare.
1289 (NAME##_bfd_lookup_section_flags): Add to LINK jump table.
1290 (_bfd_lookup_section_flags): New.
1291 * tekhex.c (tekhex_bfd_lookup_section_flags): New definition.
1292 * versados.c (versados_bfd_lookup_section_flags): New definition.
1293 * vms-alpha.c (alpha_vms_bfd_lookup_section_flag): New definition.
1294 * xsym.c (bfd_sym_bfd_lookup_section_flags): New definition.
1295
1296 2011-07-11 H.J. Lu <hongjiu.lu@intel.com>
1297
1298 PR ld/12978
1299 * elfnn-ia64.c (count_dyn_reloc): Fix a typo.
1300
1301 2011-07-09 Alan Modra <amodra@gmail.com>
1302
1303 PR ld/12942
1304 * elflink.c (elf_link_add_object_symbols): Use elf_discarded_section
1305 rather than kept_section to determine whether a symbol is from
1306 a discarded section.
1307 * cofflink.c (coff_link_add_symbols): Make symbols from discarded
1308 sections appear undefined.
1309
1310 2011-07-09 H.J. Lu <hongjiu.lu@intel.com>
1311
1312 PR ld/12942
1313 * elf-bfd.h (_bfd_elf_section_already_linked): Replace
1314 "asection *" with "struct already_linked *".
1315 * libbfd-in.h (_bfd_nolink_section_already_linked): Likewise.
1316 (_bfd_generic_section_already_linked): Likewise.
1317 (bfd_section_already_linked_table_insert): Likewise.
1318 (struct already_linked): New.
1319 (struct bfd_section_already_linked): Use it.
1320 * elflink.c (_bfd_elf_section_already_linked): Replace.
1321 "asection *" with "struct already_linked *". Replace the plugin
1322 dummy with the LTO output.
1323 * linker.c (_bfd_generic_section_already_linked): Likewise.
1324 * targets.c (struct already_linked): Add forward declaration.
1325 (bfd_target): Replace "struct bfd_section *" with
1326 "struct already_linked *" in _section_already_linked.
1327 * bfd-in2.h: Regenerate.
1328 * libbfd.h: Regenerate.
1329
1330 2011-07-06 Tristan Gingold <gingold@adacore.com>
1331
1332 * mach-o.h: Move loader related definitions to
1333 include/mach-o/loader.h. Include it.
1334
1335 2011-07-05 H.J. Lu <hongjiu.lu@intel.com>
1336
1337 * elf64-x86-64.c (elf_backend_post_process_headers): Always
1338 define to _bfd_elf_set_osabi.
1339
1340 2011-07-03 Samuel Thibault <samuel.thibault@gnu.org>
1341 Thomas Schwinge <thomas@schwinge.name>
1342
1343 PR binutils/12913
1344 * elf.c (_bfd_elf_set_osabi): Use ELFOSABI_GNU name instead of
1345 ELFOSABI_LINUX alias.
1346 * elf32-hppa.c: Likewise.
1347 * elf32-i370.c: Likewise.
1348 * elf64-hppa.c: Likewise.
1349
1350 2011-07-01 Ian Lance Taylor <iant@google.com>
1351
1352 * elf32-i386.c (elf_i386_eh_frame_plt): Correct expression: change
1353 DW_OP_lit3 to DW_OP_lit2.
1354
1355 2011-07-01 Alan Modra <amodra@gmail.com>
1356
1357 * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Don't look at
1358 dyn relocs when called to copy flags for a weak sym.
1359 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
1360 (ppc64_elf_merge_private_bfd_data): Delete.
1361 (bfd_elf64_bfd_merge_private_bfd_data): Define as
1362 _bfd_generic_verify_endian_match.
1363
1364 2011-06-30 Bernd Schmidt <bernds@codesourcery.com>
1365
1366 * bfd/elf32-tic6x.c (elf32_tic6x_set_osabi): Also set it if
1367 link_info is NULL.
1368
1369 2011-06-28 Tristan Gingold <gingold@adacore.com>
1370
1371 * vms-alpha.c (vms_private_data_struct): Make vms_linkage_index
1372 unsigned int.
1373 (_bfd_vms_write_etir): Write linkage index from reloc.
1374
1375 2011-06-28 Fawzi Mohamed <fawzi.mohamed@nokia.com>
1376
1377 * mach-o.c (bfd_mach_o_read_command): Also ignore
1378 BFD_MACH_O_LC_ROUTINES_64.
1379
1380 2011-06-27 Tristan Gingold <gingold@adacore.com>
1381
1382 * vms-alpha.c (_bfd_vms_write_etir): Use 'section' to get current
1383 section target index.
1384
1385 2011-06-27 Nick Clifton <nickc@redhat.com>
1386
1387 * cisco-core.c (cisco_core_little_vec): Add initialization of
1388 match_priority field.
1389
1390 2011-06-27 Tristan Gingold <gingold@adacore.com>
1391
1392 * cache.c: Include bfd_stdint.h.
1393 (cache_bmmap): Change profile. Return region start and size.
1394 * bfdio.c (struct bfd_iovec): Change bmmap profile.
1395 (bfd_mmap): Change profile and adjust. Update comment.
1396 (memory_bmmap): Change profile.
1397 * opncls.c (opncls_bmmap): Change profile.
1398 * vms-lib.c (vms_lib_bmmap): Likewise.
1399 * libbfd.h: Regenerate.
1400 * bfd-in2.h: Regenerate.
1401
1402 2011-06-27 Tristan Gingold <gingold@adacore.com>
1403
1404 * vms-misc.c (vms_time_to_time_t): Adjust overflow detection.
1405 Add comment.
1406
1407 2011-06-25 H.J. Lu <hongjiu.lu@intel.com>
1408
1409 * elf64-x86-64.c (elf_backend_post_process_headers): Don't
1410 define for FreeBSD/x86-64 nor FreeBSD/L1OM. Define for L1OM.
1411
1412 2011-06-25 Jan Kratochvil <jan.kratochvil@redhat.com>
1413
1414 * elf64-x86-64.c (elf_x86_64_link_hash_table_create): Initialize
1415 PLT_EH_FRAME.
1416 * elf32-i386.c (elf_i386_link_hash_table): Likewise.
1417
1418 2011-06-24 Richard Henderson <rth@redhat.com>
1419
1420 PR ld/12928
1421 * elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Recover the
1422 tlsgd insn before swapping adjacent insns.
1423
1424 2011-06-24 Tristan Gingold <gingold@adacore.com>
1425
1426 * vms-alpha.c (alpha_vms_slurp_relocs): Add a guard for relocs in the
1427 absolute section.
1428
1429 2011-06-24 Alan Modra <amodra@gmail.com>
1430
1431 PR ld/12921
1432 * elf.c (assign_file_positions_for_load_sections): Don't align
1433 sh_offset for all SHT_NOBITS sections here, just .tbss sections
1434 that don't get a PT_LOAD.
1435
1436 2011-06-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1437
1438 * elf32-sh.c (sh_elf_relocate_section): Allow R_SH_TLS_LE_32 for PIE.
1439 (sh_elf_check_relocs): Likewise.
1440
1441 2011-06-22 Richard Henderson <rth@redhat.com>
1442
1443 * elf64-alpha.c (elf64_alpha_check_relocs): No dynamic reloc for
1444 TPREL in a PIE image.
1445 (alpha_dynamic_entries_for_reloc): Likewise.
1446 (elf64_alpha_relocate_section): Allow TPREL in PIE images.
1447 (elf64_alpha_relax_got_load): Likewise.
1448
1449 2011-06-22 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
1450
1451 * elf32-arm.c (elf32_arm_final_link_relocate): Allow R_ARM_TLS_LE32
1452 for PIE.
1453
1454 2011-06-22 Alan Modra <amodra@gmail.com>
1455
1456 * elflink.c (_bfd_elf_merge_symbol): Allow type changes for
1457 plugin symbols. Fix segfault on linker scrip defined syms.
1458
1459 2011-06-20 Jakub Jelinek <jakub@redhat.com>
1460
1461 PR ld/12570
1462 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Allow no relocations
1463 at all for linker created .eh_frame sections.
1464 (_bfd_elf_discard_section_eh_frame): Handle linker created
1465 .eh_frame sections with no relocations.
1466 * elf64-x86-64.c: Include dwarf2.h.
1467 (elf_x86_64_eh_frame_plt): New variable.
1468 (PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET,
1469 PLT_FDE_LEN_OFFSET): Define.
1470 (struct elf_x86_64_link_hash_table): Add plt_eh_frame field.
1471 (elf_x86_64_create_dynamic_sections): Create and fill in
1472 .eh_frame section for .plt section.
1473 (elf_x86_64_size_dynamic_sections): Write .plt section size
1474 into .eh_frame FDE covering .plt section.
1475 (elf_x86_64_finish_dynamic_sections): Write .plt section
1476 start into .eh_frame FDE covering .plt section. Call
1477 _bfd_elf_write_section_eh_frame on htab->plt_eh_frame section.
1478 (elf_backend_plt_alignment): Define to 4.
1479 * elf32-i386.c: Include dwarf2.h.
1480 (elf_i386_eh_frame_plt): New variable.
1481 (PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET,
1482 PLT_FDE_LEN_OFFSET): Define.
1483 (struct elf_i386_link_hash_table): Add plt_eh_frame field.
1484 (elf_i386_create_dynamic_sections): Create and fill in
1485 .eh_frame section for .plt section.
1486 (elf_i386_size_dynamic_sections): Write .plt section size
1487 into .eh_frame FDE covering .plt section.
1488 (elf_i386_finish_dynamic_sections): Write .plt section
1489 start into .eh_frame FDE covering .plt section. Call
1490 _bfd_elf_write_section_eh_frame on htab->plt_eh_frame section.
1491 (elf_backend_plt_alignment): Define to 4.
1492
1493 2011-06-19 H.J. Lu <hongjiu.lu@intel.com>
1494
1495 * elf64-x86-64.c (elf_backend_post_process_headers): Defined
1496 for x32.
1497
1498 2011-06-16 H.J. Lu <hongjiu.lu@intel.com>
1499
1500 * elf64-x86-64.c: Include <stdarg.h> and CORE_HEADER if
1501 CORE_HEADER is defined.
1502 (elf_x86_64_write_core_note): New.
1503 (elf_backend_write_core_note): Likewise.
1504
1505 * hosts/x86-64linux.h (uint64_t): New.
1506 (user_regsx32_struct): Likewise.
1507 (elf_gregx32_t): Likewise.
1508 (ELF_NGREGX32): Likewise.
1509 (elf_gregsetx32_t): Likewise.
1510 (elf_prstatusx32): Likewise.
1511 (prstatusx32_t): Likewise.
1512 (user_fpregs32_struct): Removed.
1513 (user_fpxregs32_struct): Likewise.
1514 (user32): Likewise.
1515 (elf_fpregset32_t): Likewise.
1516 (elf_fpxregset32_t): Likewise.
1517 (prgregset32_t): Likewise.
1518 (prfpregset32_t): Likewise.
1519
1520 2011-06-16 H.J. Lu <hongjiu.lu@intel.com>
1521
1522 * elf64-x86-64.c (elf_x86_64_grok_prstatus): Support x32.
1523 (elf_x86_64_grok_psinfo): Likewise.
1524
1525 2011-06-16 Nick Clifton <nickc@redhat.com>
1526
1527 * elf.c (elf_find_function): Fail if not provided with a symbol
1528 table.
1529
1530 2011-06-15 Ulrich Weigand <ulrich.weigand@linaro.org>
1531
1532 * elf-bfd.h (elfcore_write_arm_vfp): Add prototype.
1533 * elf.c (elfcore_grok_arm_vfp): New function.
1534 (elfcore_grok_note): Call it to handle NT_ARM_VFP notes.
1535 (elfcore_write_arm_vfp): New function.
1536 (elfcore_write_register_note): Call it to handle .reg-arm-vfp.
1537
1538 2011-06-14 Richard Henderson <rth@redhat.com>
1539
1540 * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Rename from
1541 elf64_alpha_merge_ind_symbols; adjust for the generic interface.
1542 (elf64_alpha_always_size_sections): Don't call
1543 elf64_alpha_merge_ind_symbols.
1544 (elf_backend_copy_indirect_symbol): New.
1545
1546 2011-06-14 Alan Modra <amodra@gmail.com>
1547
1548 PR ld/12887
1549 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Check sec_info_type
1550 before doing anything.
1551 (_bfd_elf_discard_section_eh_frame): Likewise.
1552
1553 2011-06-14 Alan Modra <amodra@gmail.com>
1554
1555 * Makefile.am: Formatting.
1556 * Makefile.in: Regenerate.
1557 * configure.in (bfd_elf64_tilegx_vec): Add elfxx-tilegx.lo.
1558 * po/SRC-POTFILES.in: Regnerate.
1559
1560 2011-06-14 Alan Modra <amodra@gmail.com>
1561
1562 * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Don't use PTR.
1563 (allocate_dynrelocs, readonly_dynrelocs): Replace PTR with void *.
1564 Don't handle warning symbols here.
1565 * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): As above.
1566 (allocate_dynrelocs, readonly_dynrelocs): As above.
1567
1568 2011-06-14 Alan Modra <amodra@gmail.com>
1569
1570 PR ld/12851
1571 * elflink.c (_bfd_elf_gc_mark_extra_sections): New function.
1572 (elf_gc_sweep): Don't treat debug and sections like .comment
1573 specially here.
1574 (bfd_elf_gc_sections): Treat note sections as gc roots only when
1575 not part of a group. Always call gc_mark_extra_sections.
1576 * elf-bfd.h (_bfd_elf_gc_mark_extra_sections): Declare.
1577 * elfxx-target.h (elf_backend_gc_mark_extra_sections): Default to
1578 _bfd_elf_gc_mark_extra_sections.
1579 * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Call
1580 _bfd_elf_gc_mark_extra_sections.
1581 * elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): Likewise.
1582
1583 2011-06-13 Nick Clifton <nickc@redhat.com>
1584
1585 * elf32-tilepro.c (tilepro_elf_check_relocs): Delete unused local
1586 variable 'local_got_offsets'.
1587 * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
1588 (tilegx_finish_dyn): Delete unused local variable 'abi_64_p'.
1589
1590 2011-06-13 Walter Lee <walt@tilera.com>
1591
1592 * Makefile.am (ALL_MACHINES): Add cpu-tilegx.lo and cpu-tilepro.lo.
1593 (ALL_MACHINE_CFILES): Add cpu-tilegx.c and cpu-tilepro.c.
1594 (BFD32_BACKENDS): Add elf32-tilegx.lo, elf32-tilepro.lo,
1595 and elfxx-tilegx.lo.
1596 (BFD32_BACKENDS_CFILES): Add elf32-tilegx.c elf32-tilepro.c, and
1597 elfxx-tilegx.c.
1598 (BFD64_BACKENDS): Add elf64-tilegx.lo.
1599 (BFD64_BACKENDS_CFILES): Add elf64-tilegx.c.
1600 * Makefile.in: Regenerate.
1601 * arctures.c (bfd_architecture): Define bfd_arch_tilepro,
1602 bfd_arch_tilegx, bfd_mach_tilepro, bfd_mach_tilegx.
1603 (bfd_arch_info): Add bfd_tilegx_arch, bfd_tilepro_arch.
1604 (bfd_archures_list): Add bfd_tilegx_arch, bfd_tilepro_arch.
1605 bfd-in2.h: Regenerate.
1606 * config.bfd: Handle tilegx-*-* and tilepro-*-*.
1607 * configure.in: Handle bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
1608 and bfd_elf64_tilegx_vec.
1609 * configure: Regenerate.
1610 * elf-bfd.h (enum elf_target_id): Define TILEGX_ELF_DATA and
1611 TILEPRO_ELF_DATA.
1612 * libbfd.h: Regenerate.
1613 * reloc.c: Add BFD_RELOC_TILEPRO_{COPY, GLOB_DAT, JMP_SLOT,
1614 RELATIVE, BROFF_X1, JOFFLONG_X1, JOFFLONG_X1_PLT, IMM8_X0,
1615 IMM8_Y0, IMM8_X1, IMM8_Y1, DEST_IMM8_X1, MT_IMM15_X1, MF_IMM15_X1,
1616 IMM16_X0, IMM16_X1, IMM16_X0_LO, IMM16_X1_LO, IMM16_X0_HI,
1617 IMM16_X1_HI, IMM16_X0_HA, IMM16_X1_HA, IMM16_X0_PCREL,
1618 IMM16_X1_PCREL, IMM16_X0_LO_PCREL, IMM16_X1_LO_PCREL,
1619 IMM16_X0_HI_PCREL, IMM16_X1_HI_PCREL, IMM16_X0_HA_PCREL,
1620 IMM16_X1_HA_PCREL, IMM16_X0_GOT, IMM16_X1_GOT, IMM16_X0_GOT_LO,
1621 IMM16_X1_GOT_LO, IMM16_X0_GOT_HI, IMM16_X1_GOT_HI,
1622 IMM16_X0_GOT_HA, IMM16_X1_GOT_HA, MMSTART_X0, MMEND_X0,
1623 MMSTART_X1, MMEND_X1, SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1,
1624 IMM16_X0_TLS_GD, IMM16_X1_TLS_GD, IMM16_X0_TLS_GD_LO,
1625 IMM16_X1_TLS_GD_LO, IMM16_X0_TLS_GD_HI, IMM16_X1_TLS_GD_HI,
1626 IMM16_X0_TLS_GD_HA, IMM16_X1_TLS_GD_HA, IMM16_X0_TLS_IE,
1627 IMM16_X1_TLS_IE, IMM16_X0_TLS_IE_LO, IMM16_X1_TLS_IE_LO,
1628 IMM16_X0_TLS_IE_HI, IMM16_X1_TLS_IE_HI, IMM16_X0_TLS_IE_HA,
1629 IMM16_X1_TLS_IE_HA, TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
1630 Add BFD_RELOC_TILEGX_{HW0, HW1, HW2, HW3, HW0_LAST, HW1_LAST,
1631 HW2_LAST, COPY, GLOB_DAT, JMP_SLOT, RELATIVE, BROFF_X1,
1632 JUMPOFF_X1, JUMPOFF_X1_PLT, IMM8_X0, IMM8_Y0, IMM8_X1, IMM8_Y1,
1633 DEST_IMM8_X1, MT_IMM14_X1, MF_IMM14_X1, MMSTART_X0, MMEND_X0,
1634 SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1, IMM16_X0_HW0,
1635 IMM16_X1_HW0, IMM16_X0_HW1, IMM16_X1_HW1, IMM16_X0_HW2,
1636 IMM16_X1_HW2, IMM16_X0_HW3, IMM16_X1_HW3, IMM16_X0_HW0_LAST,
1637 IMM16_X1_HW0_LAST, IMM16_X0_HW1_LAST, IMM16_X1_HW1_LAST,
1638 IMM16_X0_HW2_LAST, IMM16_X1_HW2_LAST, IMM16_X0_HW0_PCREL,
1639 IMM16_X1_HW0_PCREL, IMM16_X0_HW1_PCREL, IMM16_X1_HW1_PCREL,
1640 IMM16_X0_HW2_PCREL, IMM16_X1_HW2_PCREL, IMM16_X0_HW3_PCREL,
1641 IMM16_X1_HW3_PCREL, IMM16_X0_HW0_LAST_PCREL,
1642 IMM16_X1_HW0_LAST_PCREL, IMM16_X0_HW1_LAST_PCREL,
1643 IMM16_X1_HW1_LAST_PCREL, IMM16_X0_HW2_LAST_PCREL,
1644 IMM16_X1_HW2_LAST_PCREL, IMM16_X0_HW0_GOT, IMM16_X1_HW0_GOT,
1645 IMM16_X0_HW1_GOT, IMM16_X1_HW1_GOT, IMM16_X0_HW2_GOT,
1646 IMM16_X1_HW2_GOT, IMM16_X0_HW3_GOT, IMM16_X1_HW3_GOT,
1647 IMM16_X0_HW0_LAST_GOT, IMM16_X1_HW0_LAST_GOT,
1648 IMM16_X0_HW1_LAST_GOT, IMM16_X1_HW1_LAST_GOT,
1649 IMM16_X0_HW2_LAST_GOT, IMM16_X1_HW2_LAST_GOT, IMM16_X0_HW0_TLS_GD,
1650 IMM16_X1_HW0_TLS_GD, IMM16_X0_HW1_TLS_GD, IMM16_X1_HW1_TLS_GD,
1651 IMM16_X0_HW2_TLS_GD, IMM16_X1_HW2_TLS_GD, IMM16_X0_HW3_TLS_GD,
1652 IMM16_X1_HW3_TLS_GD, IMM16_X0_HW0_LAST_TLS_GD,
1653 IMM16_X1_HW0_LAST_TLS_GD, IMM16_X0_HW1_LAST_TLS_GD,
1654 IMM16_X1_HW1_LAST_TLS_GD, IMM16_X0_HW2_LAST_TLS_GD,
1655 IMM16_X1_HW2_LAST_TLS_GD, IMM16_X0_HW0_TLS_IE,
1656 IMM16_X1_HW0_TLS_IE, IMM16_X0_HW1_TLS_IE, IMM16_X1_HW1_TLS_IE,
1657 IMM16_X0_HW2_TLS_IE, IMM16_X1_HW2_TLS_IE, IMM16_X0_HW3_TLS_IE,
1658 IMM16_X1_HW3_TLS_IE, IMM16_X0_HW0_LAST_TLS_IE,
1659 IMM16_X1_HW0_LAST_TLS_IE, IMM16_X0_HW1_LAST_TLS_IE,
1660 IMM16_X1_HW1_LAST_TLS_IE, IMM16_X0_HW2_LAST_TLS_IE,
1661 IMM16_X1_HW2_LAST_TLS_IE, TLS_DTPMOD64, TLS_DTPOFF64, TLS_TPOFF64,
1662 TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
1663 * targets.c (bfd_elf32_tilegx_vec): Declare.
1664 (bfd_elf32_tilepro_vec): Declare.
1665 (bfd_elf64_tilegx_vec): Declare.
1666 (bfd_target_vector): Add bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
1667 and bfd_elf64_tilegx_vec.
1668 * cpu-tilegx.c: New file.
1669 * cpu-tilepro.c: New file.
1670 * elf32-tilepro.h: New file.
1671 * elf32-tilepro.c: New file.
1672 * elf32-tilegx.c: New file.
1673 * elf32-tilegx.h: New file.
1674 * elf64-tilegx.c: New file.
1675 * elf64-tilegx.h: New file.
1676 * elfxx-tilegx.c: New file.
1677 * elfxx-tilegx.h: New file.
1678
1679 2011-06-13 Alan Modra <amodra@gmail.com>
1680
1681 * linker.c (bfd_link_hash_traverse): Follow warning symbol link.
1682 (_bfd_generic_link_write_global_symbol, fix_syms): Don't handle
1683 warning symbols here.
1684 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
1685 * elf32-arm.c (allocate_dynrelocs_for_symbol,
1686 elf32_arm_readonly_dynrelocs): Likewise.
1687 * elf32-bfin.c (bfin_discard_copies): Likewise.
1688 * elf32-cris.c (elf_cris_adjust_gotplt_to_got,
1689 elf_cris_discard_excess_dso_dynamics,
1690 elf_cris_discard_excess_program_dynamics): Likewise.
1691 * elf32-hppa.c (allocate_plt_static, allocate_dynrelocs,
1692 clobber_millicode_symbols, readonly_dynrelocs): Likewise.
1693 * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
1694 * elf32-i386.c (elf_i386_allocate_dynrelocs,
1695 elf_i386_readonly_dynrelocs): Likewise.
1696 * elf32-lm32.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
1697 * elf32-m32c.c (m32c_relax_plt_check, m32c_relax_plt_realloc): Likewise.
1698 * elf32-m32r.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
1699 * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
1700 * elf32-microblaze.c (allocate_dynrelocs): Likewise.
1701 * elf32-ppc.c (allocate_dynrelocs, maybe_set_textrel): Likewise.
1702 * elf32-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
1703 * elf32-score.c (score_elf_sort_hash_table_f): Likewise.
1704 * elf32-score7.c (score_elf_sort_hash_table_f): Likewise.
1705 * elf32-sh.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
1706 * elf32-tic6x.c (elf32_tic6x_allocate_dynrelocs,
1707 elf32_tic6x_readonly_dynrelocs): Likewise.
1708 * elf32-vax.c (elf_vax_discard_copies): Likewise.
1709 * elf32-xstormy16.c (xstormy16_relax_plt_check,
1710 xstormy16_relax_plt_realloc): Likewise.
1711 * elf32-xtensa.c (elf_xtensa_allocate_dynrelocs): Likewise.
1712 * elf64-alpha.c (elf64_alpha_output_extsym,
1713 elf64_alpha_calc_got_offsets_for_symbol,
1714 elf64_alpha_calc_dynrel_sizes, elf64_alpha_size_rela_got_1): Likewise.
1715 * elf64-hppa.c (elf64_hppa_mark_exported_functions,
1716 allocate_global_data_opd, elf64_hppa_mark_milli_and_exported_functions,
1717 elf_hppa_unmark_useless_dynamic_symbols,
1718 elf_hppa_remark_useless_dynamic_symbols): Likewise.
1719 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref, func_desc_adjust,
1720 adjust_opd_syms, adjust_toc_syms, allocate_dynrelocs,
1721 readonly_dynrelocs, merge_global_got, reallocate_got,
1722 undo_symbol_twiddle): Likewise.
1723 * elf64-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
1724 * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
1725 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs,
1726 elf_x86_64_readonly_dynrelocs): Likewise.
1727 * elflink.c (elf_link_renumber_hash_table_dynsyms,
1728 elf_link_renumber_local_hash_table_dynsyms, _bfd_elf_export_symbol,
1729 _bfd_elf_link_find_version_dependencies,
1730 _bfd_elf_link_assign_sym_version, _bfd_elf_adjust_dynamic_symbol,
1731 _bfd_elf_link_sec_merge_syms, elf_adjust_dynstr_offsets,
1732 elf_collect_hash_codes, elf_collect_gnu_hash_codes,
1733 elf_renumber_gnu_hash_syms, elf_gc_sweep_symbol,
1734 elf_gc_propagate_vtable_entries_used,
1735 elf_gc_smash_unused_vtentry_relocs, bfd_elf_gc_mark_dynamic_ref_symbol,
1736 elf_gc_allocate_got_offsets): Likewise.
1737 * elfnn-ia64.c (elfNN_ia64_global_dyn_info_free,
1738 elfNN_ia64_global_dyn_sym_thunk): Likewise.
1739 * elfxx-mips.c (mips_elf_check_symbols, mips_elf_output_extsym,
1740 mips_elf_sort_hash_table_f, allocate_dynrelocs): Likewise.
1741 * elfxx-sparc.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
1742 * i386linux.c (linux_tally_symbols): Likewise.
1743 * m68klinux.c (linux_tally_symbols): Likewise.
1744 * sparclinux.c (linux_tally_symbols): Likewise.
1745 * sunos.c (sunos_scan_dynamic_symbol): Likewise.
1746 * xcofflink.c (xcoff_post_gc_symbol): Likewise.
1747
1748 * elflink.c (elf_link_output_extsym): Make it a bfd_hash_traverse
1749 function. Update all callers.
1750 * aoutx.h (aout_link_write_other_symbol): Likewise.
1751 * pdp11.c (aout_link_write_other_symbol): Likewise.
1752 * cofflink.c (_bfd_coff_write_global_sym): Likewise.
1753 * ecoff.c (ecoff_link_write_external): Likewise.
1754 * xcofflink.c (xcoff_write_global_symbol): Likewise.
1755 * vms-alpha.c (alpha_vms_link_output_symbol): Likewise. Handle
1756 warning symbols.
1757 * ecoff.c (ecoff_link_hash_traverse): Delete.
1758 * coff-ppc.c (ppc_bfd_coff_final_link): Use bfd_hash_traverse for
1759 _bfd_coff_write_global_sym.
1760 * libcoff-in.h (_bfd_coff_write_global_sym): Update prototype.
1761 * libcoff.h: Regenerate.
1762
1763 2011-06-10 Nick Clifton <nickc@redhat.com>
1764
1765 * elflink.c (_bfd_elf_link_create_dynamic_sections): If the
1766 backend does not provide a function for creating dynamic sections
1767 then fail.
1768 (bfd_elf_final_link): Issue a warning message if a dynamic section
1769 has the SHT_NOTE type.
1770 (bfd_elf_final_link): Do not look for dynamic strings in a section
1771 that does not have the SHT_STRTAB type or the name .dynstr.
1772 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Fail if the got
1773 section is not in the output binary.
1774 * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Likewise.
1775
1776 2011-06-09 Tristan Gingold <gingold@adacore.com>
1777
1778 * elfnn-ia64.c (elfNN_ia64_relax_section, elfNN_ia64_choose_gp)
1779 (elfNN_ia64_relocate_section, elfNN_vms_object_p): Remove trailing
1780 spaces.
1781
1782 2011-06-09 Tristan Gingold <gingold@adacore.com>
1783
1784 * bfd.c (bfd_get_sign_extend_vma): Handle aixcoff.
1785
1786 2011-06-09 Nick Clifton <nickc@redhat.com>
1787
1788 PR ld/12845
1789 * elf.c (_bfd_elf_init_private_section_data): Add an assertion
1790 that the output section has an allocated bfd_elf_section_data
1791 structure.
1792 * elfxx-mips.c (mips_elf_check_symbols): Do not create a stub for
1793 symbols in sections that have been removed by garbage collection.
1794
1795 2011-06-08 H.J. Lu <hongjiu.lu@intel.com>
1796
1797 * elf64-x86-64.c (elf_x86_64_check_relocs): Allow R_X86_64_64
1798 relocations in SEC_DEBUGGING sections when building shared
1799 libraries.
1800
1801 2011-06-08 H.J. Lu <hongjiu.lu@intel.com>
1802
1803 PR ld/12851
1804 * elflink.c (elf_gc_sweep): Don't check SHT_NOTE sections here.
1805 (bfd_elf_gc_sections): Also check SHT_NOTE sections.
1806
1807 2011-06-08 Tristan Gingold <gingold@adacore.com>
1808
1809 * makefile.vms (OBJS): Add elfxx-ia64.obj
1810 Remove vax case.
1811
1812 2011-06-08 Alan Modra <amodra@gmail.com>
1813
1814 * aix386-core.c, * cisco-core.c, * hpux-core.c, * osf-core.c,
1815 * sco5-core.c: Init match_priority field.
1816
1817 2011-06-08 Alan Modra <amodra@gmail.com>
1818
1819 * elflink.c (_bfd_elf_archive_symbol_lookup): Follow warning and
1820 indirect links here.
1821
1822 2011-06-07 Joel Brobecker <brobecker@adacore.com>
1823
1824 * irix-core.c (irix_core_vec): Add match_priority field.
1825
1826 2011-06-06 Alan Modra <amodra@gmail.com>
1827
1828 * targets.c (bfd_target): Make ar_max_namelen an unsigned char.
1829 Add match_priority.
1830 * configure.in: Bump bfd version.
1831 * elfcode.h (elf_object_p): Delete hacks preventing match of
1832 EM_NONE and ELFOSABI_NONE targets when a better match exists.
1833 * elfxx-target.h (elf_match_priority): Define and use.
1834 * format.c (bfd_check_format_matches): Use target match_priority
1835 to choose best of multiple matching targets. In cases with multiple
1836 matches rerun _bfd_check_format if we don't choose the last match.
1837 * aout-adobe.c, * aout-arm.c, * aout-target.h, * aout-tic30.c,
1838 * binary.c, * bout.c, * coff-alpha.c, * coff-i386.c, * coff-i860.c,
1839 * coff-i960.c, * coff-ia64.c, * coff-mips.c, * coff-or32.c,
1840 * coff-ppc.c, * coff-rs6000.c, * coff-sh.c, * coff-tic30.c,
1841 * coff-tic54x.c, * coff-x86_64.c, * coff64-rs6000.c, * coffcode.h,
1842 * i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c, * mach-o-target.c,
1843 * mipsbsd.c, * mmo.c, * nlm-target.h, * oasys.c, * pdp11.c,
1844 * pe-mips.c, * pef.c, * plugin.c, * ppcboot.c, * som.c, * srec.c,
1845 * tekhex.c, * trad-core.c, * verilog.c, * versados.c, * vms-alpha.c,
1846 * vms-lib.c, * xsym.c: Init match_priority field.
1847 * configure: Regenerate.
1848 * bfd-in2.h: Regenerate.
1849
1850 2011-06-04 H.J. Lu <hongjiu.lu@intel.com>
1851
1852 PR ld/12842
1853 * elfcode.h (elf_object_p): Revert the last change.
1854
1855 2011-06-04 Alan Modra <amodra@gmail.com>
1856
1857 * archures.c (bfd_arch_get_compatible): If one arch is unknown,
1858 return the other arch.
1859 * elfcode.h (elf_object_p): Allow explicit match to generic ELF
1860 target.
1861
1862 2011-06-03 Bertram Felgenhauer <bertram.felgenhauer@gmail.com>
1863
1864 PR ld/12682
1865 * hash.c (higher_primer_number): Add more, small, prime numbers.
1866 (bfd_hash_set_default_size): Likewise.
1867
1868 2011-06-02 Nick Clifton <nickc@redhat.com>
1869
1870 * coff-mcore.c: Fix spelling typo.
1871 * coff-stgo32.c: Likewise.
1872 * elf32-arm.c: Likewise.
1873 * elf32-avr.c: Likewise.
1874 * elf-m68hc1x.c: Likewise.
1875 * elf32-mcore.c: Likewise.
1876 * elf32-mep.c: Likewise.
1877 * elf32-mt.c: Likewise.
1878 * elf32-ppc.c: Likewise.
1879 * elf32-xtensa.c: Likewise.
1880 * elf64-ppc.c: Likewise.
1881 * elfxx-mips.c: Likewise.
1882 * netbsd.h: Likewise.
1883 * nlmcode.h: Likewise.
1884 * vms-alpha.c: Likewise.
1885 * po/bfd.pot: Regenerate.
1886 * po/SRC-POTFILES.in: Regenerate.
1887
1888 2011-06-01 DJ Delorie <dj@redhat.com>
1889
1890 * config.bfd: Add bfd_elf32_rx_be_ns_vec.
1891 * target.c: Likewise.
1892 * configure.in: Likewise.
1893 * configure.in: Regenerate.
1894 * elf32-rx.c: Add elf32-rx-be-ns target.
1895 (rx_elf_object_p): Never allow the be-ns target by default,
1896 only allow it if the user requests it.
1897
1898 2011-06-01 H.J. Lu <hongjiu.lu@intel.com>
1899
1900 * elf32-i386.c (elf_i386_size_dynamic_sections): Properly warn
1901 relocation in readonly section in a shared object.
1902 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
1903
1904 2011-05-31 Nick Clifton <nickc@redhat.com>
1905
1906 * archive.c (adjust_relative_path): Fix comment to prevent it
1907 corrupting the auto-generated bfd.h.
1908
1909 2011-05-31 Paul Brook <paul@codesourcery.com>
1910
1911 * elf32-arm.c (elf32_arm_final_link_relocate): Only do bl conversion
1912 for known functions.
1913 (elf32_arm_swap_symbol_in): Only set ST_BRANCH_TO_ARM for function
1914 symbols.
1915
1916 2011-05-31 Paul Brook <paul@codesourcery.com>
1917
1918 * elf32-arm.c (arm_stub_is_thumb): Add
1919 arm_stub_long_branch_v4t_thumb_tls_pic.
1920 (elf32_arm_final_link_relocate): TLS stubs are always ARM.
1921 Handle Thumb stubs.
1922
1923 2011-05-27 Nick Clifton <nickc@redhat.com>
1924
1925 PR binutils/12710
1926 * archive.c (_bfd_get_elt_at_filepos): Set correct error value if
1927 unable to read a file pointed to by an entry in a thin archive.
1928 (adjust_relative_path): Use lrealpath to canonicalize paths.
1929 Handle the case where the reference path is above the current
1930 path in the directory tree.
1931
1932 2011-05-26 H.J. Lu <hongjiu.lu@intel.com>
1933
1934 PR ld/12809
1935 * elf64-x86-64.c (elf_x86_64_relocate_section): Handle
1936 R_X86_64_TPOFF64 in executable.
1937
1938 2011-05-26 Alan Modra <amodra@gmail.com>
1939
1940 * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Remove most of comment.
1941 * elflink.c (_bfd_elf_symbol_refs_local_p): Expand
1942 local_protected comment.
1943
1944 2011-05-25 Tristan Gingold <gingold@adacore.com>
1945
1946 * configure.in (bfd_elf32_ia64_big_vec, bfd_elf32_ia64_hpux_big_vec)
1947 (bfd_elf64_ia64_big_vec, bfd_elf64_ia64_hpux_big_vec)
1948 (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_vms_vec): Add elfxx-ia64.lo
1949 * Makefile.am (BFD64_BACKENDS): Add elfxx-ia64.lo
1950 (BFD64_BACKENDS_CFILES): Add elfxx-ia64.c
1951 (elf32-ia64.c): Created from elfnn-ia64.c
1952 (elf64-ia64.c): Likewise.
1953 * elfxx-ia64.h: New file.
1954 * elfxx-ia64.c: Split with elfnn-ia64.c. Keep only the following
1955 functions.Includes elfxx-ia64.h.
1956 (elfNN_ia64_reloc): Renames to ia64_elf_reloc. Adjust error message.
1957 (IA64_HOWTO): Adjust.
1958 (lookup_howto): Renames to ia64_elf_lookup_howto. Make it public.
1959 (elfNN_ia64_reloc_type_lookup): Renames to
1960 ia64_elf_reloc_type_lookup. Make it public. Adjust calls.
1961 (elfNN_ia64_reloc_name_lookup): Renames to
1962 ia64_elf_reloc_name_lookup. Make it public.
1963 (elfNN_ia64_relax_br): Renames to ia64_elf_relax_br. Make it public.
1964 (elfNN_ia64_relax_brl): Renames to ia64_elf_relax_brl. Make it
1965 public.
1966 (elfNN_ia64_relax_ldxmov): Renames to ia64_elf_relax_ldxmov.
1967 Move it and make it public. Move prototype to elfxx-ia64.h
1968 (elfNN_ia64_install_value): Renames to ia64_elf_install_value.
1969 Move prototype to elfxx-ia64.h
1970 * elfnn-ia64.c: New file, split from elfxx-ia64.c.
1971 (elfNN_ia64_info_to_howto): Adjust calls.
1972 (elfNN_ia64_relax_section): Adjust calls.
1973 (count_dyn_reloc): Fix typo.
1974 (elfNN_ia64_relocate_section): Adjust calls.
1975 (elfNN_ia64_finish_dynamic_symbol): Likewise.
1976 (bfd_elfNN_bfd_reloc_type_lookup)
1977 (bfd_elfNN_bfd_reloc_name_lookup): Adjust macros.
1978 * configure: Regenerate.
1979 * Makefile.in: Regenerate.
1980
1981 2011-05-23 DJ Delorie <dj@redhat.com>
1982
1983 * elf32-rx.c (rx_elf_object_p): When reading an RX object in, undo
1984 the vma/lma swapping done in elf32_rx_modify_program_headers.
1985
1986 2011-05-23 Nick Clifton <nickc@redhat.com>
1987
1988 * elf-m10300.c (mn10300_elf_mkobject): New function.
1989 (bfd_elf32_mkobject): Define.
1990
1991 2011-05-23 Alan Modra <amodra@gmail.com>
1992
1993 * elf-bfd.h: Comment typo fix.
1994 * elf32-ppc.c (struct ppc_elf_dyn_relocs): Delete. Replace with
1995 struct elf_dyn_relocs throughout.
1996 * elf64-ppc.c (struct ppc_dyn_relocs): Likewise.
1997
1998 2011-05-23 Alan Modra <amodra@gmail.com>
1999
2000 * elf32-frv.c: Use info->callbacks->einfo throughout file in linker
2001 functions rather than warning callback or _bfd_error_handler.
2002 * elf32-ppc.c: Likewise.
2003 * elf64-ppc.c: Likewise.
2004 * elf32-ppc.c (ppc_elf_tls_optimize): Use %H in __tls_get_addr lost
2005 arg error.
2006 * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
2007
2008 2011-05-23 Alan Modra <amodra@gmail.com>
2009
2010 PR 12763
2011 * elf.c (assign_file_positions_for_load_sections): Set sh_offset for
2012 .tbss, and page align same for all SHT_NOBITS sections.
2013
2014 2011-05-21 Alan Modra <amodra@gmail.com>
2015
2016 PR 12763
2017 * elf.c (_bfd_elf_make_section_from_shdr): Set up TLS section LMAs
2018 from PT_TLS header.
2019 (_bfd_elf_map_sections_to_segments): Don't create a final PT_LOAD
2020 segment if just for .tbss.
2021 (assign_file_positions_for_load_sections): Don't report "can't
2022 allocate in segment" errors for .tbss.
2023 (assign_file_positions_for_non_load_sections): Don't set p_filesz
2024 from SHT_NOBITS section filepos.
2025
2026 2011-05-20 Bernd Schmidt <bernds@codesourcery.com>
2027
2028 * elf32-tic6x.c (elf32_tic6x_howto_table): Add entries for
2029 R_C6000_PCR_H16 and R_C6000_PCR_L16.
2030 (elf32_tic6x_relocate_section): Handle them.
2031
2032 2011-05-18 Nick Clifton <nickc@redhat.com>
2033
2034 PR ld/12761
2035 * elflink.c (elf_link_add_object_symbols): Process .gnu.warning
2036 sections when building shared libraries.
2037
2038 2011-05-18 Rafał Krypa <r.krypa@samsung.com>
2039
2040 PR ld/12778
2041 * elf32-arm.c (elf32_arm_gc_sweep_hook): Use the computed dynamic
2042 reloc pointer.
2043
2044 2011-05-18 Tristan Gingold <gingold@adacore.com>
2045
2046 * xcofflink.c (xcoff_link_add_symbols): Handle C_DWARF symbols.
2047 (xcoff_sweep): Always keep dwarf sections.
2048 (xcoff_link_input_bfd): Handle dwarf symbols and sections.
2049
2050 2011-05-18 Tristan Gingold <gingold@adacore.com>
2051
2052 * libxcoff.h (struct xcoff_dwsect_name): New type.
2053 (XCOFF_DWSECT_NBR_NAMES): New macro.
2054 (xcoff_dwsect_names): Declare.
2055 * coffcode.h (sec_to_styp_flags): Handle xcoff dwarf sections.
2056 (styp_to_sec_flags): Ditto.
2057 (coff_new_section_hook): Ditto.
2058 (coff_slurp_symbol_table): Handle C_DWARF and C_INFO.
2059 * coff-rs6000.c (xcoff_dwsect_name): New variable.
2060
2061 2011-05-17 Tomohiro Kashiwada <kikairoya@gmail.com>
2062
2063 PR ld/12759
2064 * elf32-rx.c (ignore_lma): New variable.
2065 (bfd_elf32_rx_set_target_flags): Add ignore_lma parameter.
2066 (rx_modify_program_headers): Only copy the LMA into the VMA if
2067 ignore_lma is true.
2068
2069 2011-05-17 Alan Modra <amodra@gmail.com>
2070
2071 PR ld/12760
2072 * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Adjust "notice" call.
2073 * elflink.c (elf_link_add_object_symbols): Likewise.
2074 * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
2075
2076 2011-05-16 Alan Modra <amodra@gmail.com>
2077
2078 * linker.c (_bfd_generic_link_add_one_symbol): Don't init u.undef.weak.
2079
2080 2011-05-15 Richard Sandiford <rdsandiford@googlemail.com>
2081
2082 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Record both local and
2083 global GOT entries for GOT_PAGE relocations against global symbols.
2084
2085 2011-05-13 Bernd Schmidt <bernds@codesourcery.com>
2086
2087 * config.bfd (tic6x-*-elf, tic6x-*-uclinux): New.
2088 (tic6x-*-*): Replaced by these.
2089 * elf32-tic6x.c (elf32_tic6x_set_osabi): New static function.
2090 (elf32_tic6x_check_relocs): Create dynamic sections if -shared.
2091 (elf_backend_relocs_compatible, elf_backend_post_process_headers):
2092 Define.
2093 (elf32_bed, TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, TARGET_BIG_SYM,
2094 TARGET_BIG_NAME, ELF_OSABI): Redefine twice, and include
2095 "elf32-target.h" two more times.
2096 * configure.in: Handle bfd_elf32_tic6x_linux_be_vec,
2097 bfd_elf32_tic6x_linux_le_vec, bfd_elf32_tic6x_elf_be_vec and
2098 bfd_elf32_tic6x_elf_le_vec.
2099 * configure: Regenerate.
2100
2101 2011-05-13 Jan Beulich <jbeulich@novell.com>
2102
2103 * config.bfd: Add targets x86_64-*-pe and x86_64-*-pep.
2104
2105 2011-05-12 Jan Kratochvil <jan.kratochvil@redhat.com>
2106
2107 * config.in: Regenerated.
2108 * configure: Regenerated.
2109 * configure.in: New tests for HAVE_PRPSINFO_T_PR_PID,
2110 HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID and
2111 HAVE_PSINFO32_T_PR_PID.
2112 * elf.c (elfcore_grok_psinfo): Protect reading psinfo.pr_pid by
2113 HAVE_PRPSINFO_T_PR_PID, HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID
2114 and HAVE_PSINFO32_T_PR_PID.
2115 * hosts/x86-64linux.h (HAVE_PRPSINFO32_T_PR_PID): New redefinition.
2116
2117 2011-05-10 Jan Kratochvil <jan.kratochvil@redhat.com>
2118
2119 * elf.c (elfcore_grok_psinfo): Initialize CORE_PID for both native and
2120 32bit psinfo.
2121 * elf32-ppc.c (ppc_elf_grok_psinfo): Initialize core_pid.
2122 * elf64-ppc.c (ppc64_elf_grok_psinfo): Likewise.
2123
2124 2011-05-09 Paul Brook <paul@codesourcery.com>
2125
2126 * bfd-in.h (elf32_tic6x_fix_exidx_coverage): Add prototype.
2127 * bfd-in2.h: Regenerate.
2128 * elf32-tic6x.c: Include limits.h.
2129 (tic6x_unwind_edit_type, tic6x_unwind_table_edit,
2130 _tic6x_elf_section_data): New.
2131 (elf32_tic6x_section_data): Define.
2132 (elf32_tic6x_new_section_hook): Allocate target specific data.
2133 (elf32_tic6x_add_unwind_table_edit): New function.
2134 (get_tic6x_elf_section_data, elf32_tic6x_adjust_exidx_size,
2135 elf32_tic6x_insert_cantunwind_after, elf32_tic6x_add_low31,
2136 elf32_tic6x_copy_exidx_entry): New functions.
2137 (elf_backend_write_section): Define.
2138
2139 2011-05-09 Paul Brook <paul@codesourcery.com>
2140
2141 * elf32-tic6x.c (is_tic6x_elf_unwind_section_name,
2142 elf32_tic6x_fake_sections): New functions.
2143 (elf_backend_fake_sections): Define.
2144
2145 2011-05-09 Paul Brook <paul@codesourcery.com>
2146
2147 * elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): New function.
2148 (elf_backend_gc_mark_extra_sections): Define.
2149
2150 2011-05-07 Dave Korn <dave.korn.cygwin@gmail.com>
2151
2152 PR ld/12365
2153 * cofflink.c (bfd_coff_link_input_bfd): Check for and warn about
2154 references to symbols defined in discarded sections.
2155
2156 2011-05-07 Dave Korn <dave.korn.cygwin@gmail.com>
2157
2158 PR ld/12365
2159 * coffgen.c (coff_write_symbol): Assume input section is its own
2160 output section if output_section member not set.
2161 (coff_write_alien_symbol): Likewise.
2162
2163 2011-05-07 H.J. Lu <hongjiu.lu@intel.com>
2164
2165 PR ld/12730
2166 * elf.c (_bfd_elf_section_offset): Check SEC_ELF_REVERSE_COPY.
2167
2168 * elflink.c (elf_link_input_bfd): Reverse copy .ctors/.dtors
2169 sections if needed.
2170
2171 * section.c (SEC_ELF_REVERSE_COPY): New.
2172 * bfd-in2.h: Regenerated.
2173
2174 2011-05-07 Anders Kaseorg <andersk@ksplice.com>
2175
2176 PR 12739
2177 * libbfd.c (bfd_get_8, bfd_get_signed_8): Use const cast.
2178 * bfd-in2.h: Regenerate.
2179
2180 2011-05-06 Tristan Gingold <gingold@adacore.com>
2181
2182 * vms-alpha.c (evax_section_flags): Remove SEC_IN_MEMORY.
2183 (_bfd_vms_slurp_egsd): Rename old_flags to vms_flags. Handle
2184 any code section. Add comments.
2185 (alpha_vms_object_p): Use void * instead of PTR.
2186 (alpha_vms_create_eisd_for_section): Fix test for setting DZRO.
2187 (build_module_list): Guard against no DST section. Add comments.
2188 (alpha_vms_link_output_symbol): Discard undefined symbols.
2189 (alpha_vms_get_section_contents): Simply memcpy if the section was
2190 already loaded. Fix typo.
2191 (vms_new_section_hook): Use void * instead of PTR.
2192 (vms_alpha_vec): Ditto.
2193
2194 2011-05-06 Richard Sandiford <richard.sandiford@linaro.org>
2195
2196 * elf32-arm.c (cortex_a8_erratum_scan): If the stub is a Thumb
2197 branch to a PLT entry, redirect it to the PLT's Thumb entry point.
2198
2199 2011-05-05 Bernd Schmidt <bernds@codesourcery.com>
2200
2201 * elf32-tic6x.c (elf32_tic6x_final_link): New function.
2202 (elf32_tic6x_merge_attributes): Do not warn for PID or PIC
2203 mismatch. Choose the lower of the two values.
2204 (bfd_elf32_bfd_final_link): New macro.
2205
2206 2011-04-28 Tristan Gingold <gingold@adacore.com>
2207
2208 * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Adjust for x_file.
2209 (bfd_xcoff_swap_aux_out): Ditto.
2210 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Ditto.
2211 (bfd_xcoff64_swap_aux_out): Ditto.
2212
2213 2011-05-04 Alan Modra <amodra@gmail.com>
2214
2215 PR ld/12727
2216 * elf64-ppc.c (ppc_build_one_stub <ppc_sub_plt_call>): Clear
2217 was_undefined on dot-symbols.
2218
2219 2011-05-03 Paul Brook <paul@codesourcery.com>
2220
2221
2222 * elf32-tic6x.c (elf32_tic6x_howto_table,
2223 elf32_tic6x_howto_table_rel, (elf32_tic6x_gc_sweep_hook,
2224 elf32_tic6x_relocate_section, elf32_tic6x_check_relocs):
2225 Add R_C6000_EHTYPE.
2226
2227 2011-05-01 Alan Modra <amodra@gmail.com>
2228
2229 PR ld/12718
2230 * elf32-i386.c (elf_i386_check_relocs): Ensure dynobj set before
2231 creating ifunc sections.
2232 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2233
2234 2011-04-30 H.J. Lu <hongjiu.lu@intel.com>
2235
2236 * elf64-x86-64.c (elf_x86_64_merge_symbol): Correct parameter
2237 names.
2238
2239 2011-04-28 Tom Tromey <tromey@redhat.com>
2240
2241 * bfdio.c (memory_bstat): Pass correct size to memset.
2242
2243 2011-04-28 Mike Frysinger <vapier@gentoo.org>
2244
2245 * dwarf2.c (dwarf_debug_sections): Mark const.
2246 * elf.c (special_sections): Likewise.
2247 * libbfd-in.h (dwarf_debug_sections): Likewise.
2248 * libbfd.h: Regenerate.
2249
2250 2011-04-26 Kai Tietz <ktietz@redhat.com>
2251
2252 * coffcode.h (sec_to_styp_flags): Allow linkonce for
2253 debugging sections.
2254
2255 2011-04-26 Tristan Gingold <gingold@adacore.com>
2256
2257 * coff64-rs6000.c: Convert to ISO-C. Remove PARAMS and PTR macros.
2258
2259 2011-04-24 Alan Modra <amodra@gmail.com>
2260
2261 PR ld/12365
2262 PR ld/12696
2263 * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Update "notice" call.
2264 * linker.c (_bfd_link_hash_newfunc): Clear bitfields.
2265 (_bfd_generic_link_add_one_symbol): Update "notice" call.
2266 * elflink.c (_bfd_elf_merge_symbol): Don't skip weak redefs when
2267 it is a redef of an IR symbol in a real BFD.
2268
2269 2011-04-22 H.J. Lu <hongjiu.lu@intel.com>
2270
2271 * elf32-i386.c (elf_i386_readonly_dynrelocs): Warn relocation
2272 in readonly section in a shared object.
2273 (elf_i386_size_dynamic_sections): Likewise.
2274 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
2275 (elf_x86_64_size_dynamic_sections): Likewise.
2276
2277 2011-04-21 H.J. Lu <hongjiu.lu@intel.com>
2278
2279 PR ld/12694
2280 * elf32-i386.c (elf_i386_readonly_dynrelocs): Skip local IFUNC
2281 symbols.
2282 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
2283
2284 2011-04-21 H.J. Lu <hongjiu.lu@intel.com>
2285
2286 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Return false
2287 on dynamic symbol error.
2288 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
2289
2290 2011-04-20 Tristan Gingold <gingold@adacore.com>
2291
2292 * config.bfd (alpha*-*-*vms*, ia64*-*-*vms*): Define targ_selvecs.
2293
2294 2011-04-20 Alan Modra <amodra@gmail.com>
2295
2296 * hash.c (bfd_default_hash_table_size): Make it an unsigned long.
2297 (bfd_hash_table_init_n): Overflow checking.
2298 (bfd_hash_set_default_size): Return current size. Take unsigned long
2299 arg. Add 65537 to hash_size primes.
2300 * bfd-in.h (bfd_hash_set_default_size): Update prototype.
2301 * bfd-in2.h: Regenerate.
2302
2303 2011-04-20 Jan Kratochvil <jan.kratochvil@redhat.com>
2304
2305 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Fix +1 overrun of
2306 memmove elements.
2307
2308 2011-04-20 Alan Modra <amodra@gmail.com>
2309
2310 * libbfd.c (bfd_log2): Do return rounded up value.
2311 * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Replace bfd_log2
2312 call with expanded old round down version of the function.
2313
2314 * archive.c (_bfd_get_elt_at_filepos): Don't release n_nfd.
2315 * elflink.c (elf_link_add_object_symbols): Delete redundant code.
2316
2317 2011-04-20 Alan Modra <amodra@gmail.com>
2318
2319 PR ld/12365
2320 * elfcode.h (elf_slurp_symbol_table): Put common plugin IR symbols
2321 in their own common section.
2322 * elflink.c (elf_link_add_object_symbols): Likewise.
2323 * linker.c (generic_link_check_archive_element): Don't lose flags
2324 if common section is pre-existing.
2325 (_bfd_generic_link_add_one_symbol): Likewise.
2326
2327 2011-04-20 Alan Modra <amodra@gmail.com>
2328
2329 PR ld/12365
2330 * elflink.c (_bfd_elf_merge_symbol): Update multiple_common calls.
2331 * linker.c (_bfd_generic_link_add_one_symbol): Likewise. Call
2332 multiple_definition regardless of allow_multiple_definition.
2333 * simple.c (simple_dummy_multiple_definition): Update.
2334 * xcofflink.c (xcoff_link_add_symbols): Update multiple_definition
2335 calls.
2336
2337 2011-04-18 Tristan Gingold <gingold@adacore.com>
2338
2339 * coff-rs6000.c: Convert to ISO-C. Remove PARAMS macro.
2340
2341 2011-04-18 Alan Modra <amodra@gmail.com>
2342
2343 PR ld/12365
2344 PR ld/12672
2345 * bfd.c (BFD_PLUGIN): Define.
2346 (BFD_FLAGS_SAVED, BFD_FLAGS_FOR_BFD_USE_MASK): Add BFD_PLUGIN.
2347 * bfd-in2.h: Regenerate.
2348 * elflink.c (elf_link_output_extsym): Strip undefined plugin syms.
2349 * opncls.c (bfd_make_readable): Don't lose original bfd flags.
2350
2351 2011-04-17 Jan Kratochvil <jan.kratochvil@redhat.com>
2352
2353 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Do not check for
2354 SEC_LOAD.
2355
2356 2011-04-15 Sergio Durigan Junior <sergiodj@redhat.com>
2357
2358 * elf-bfd.h (struct sdt_note): New struct.
2359 (struct elf_obj_tdata) <sdt_note_head>: New field.
2360 * elf.c (elfobj_grok_stapsdt_note_1): New function.
2361 (elfobj_grok_stapsdt_note): Likewise.
2362 (elf_parse_notes): Added code to treat SystemTap note
2363 sections.
2364
2365 2011-04-12 Richard Henderson <rth@redhat.com>
2366
2367 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Do not
2368 exclude empty .got sections.
2369
2370 2011-04-11 H.J. Lu <hongjiu.lu@intel.com>
2371
2372 * elf32-i386.c (elf_i386_reloc_type_lookup): Fix the out of bound
2373 array access for BFD_RELOC_386_IRELATIVE.
2374
2375 2011-04-11 Bernd Schmidt <bernds@codesourcery.com>
2376
2377 * elf32-tic6x.c (elf32_tic6x_check_relocs): Initialize pc_count field.
2378
2379 2011-04-11 Mark Wielaard <mjw@redhat.com>
2380
2381 PR 10549
2382 * elf-bfd.h (has_ifunc_symbols): Renamed to has_gnu_symbols.
2383 (has_gnu_symbols): Renamed from has_ifunc_symbols.
2384 * elf.c (_bfd_elf_set_osabi): Use new has_gnu_symbols name.
2385 * elf32-arm.c (elf32_arm_add_symbol_hook): Set has_gnu_symbols
2386 also if STB_GNU_UNIQUE symbol binding was seen.
2387 * elf32-i386.c (elf_i386_add_symbol_hook): Likewise.
2388 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
2389 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
2390 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
2391 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
2392 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
2393
2394 2011-04-11 Alan Modra <amodra@gmail.com>
2395
2396 * bfd-in.h (bfd_get_section_limit): Don't use rawsize with output
2397 sections.
2398 * libbfd.c (_bfd_generic_get_section_contents): Likewise.
2399 (_bfd_generic_get_section_contents_in_window): Likewise.
2400 * section.c (bfd_get_section_contents): Likewise.
2401 * compress.c (bfd_get_full_section_contents): Likewise.
2402 * elf32-rx.c (rx_final_link): Ignore rawsize.
2403 * elf32-microblaze.c (microblaze_elf_relocate_section): Use correct
2404 bfd with bfd_get_section_limit.
2405 * elfxx-ia64.c (elfNN_ia64_choose_gp): Add "final" parameter. Use
2406 os->size during final link. Update callers.
2407 * bfd-in2.h: Regenerate.
2408
2409 2011-04-10 Richard Sandiford <rdsandiford@googlemail.com>
2410
2411 PR ld/12637
2412 * elfxx-mips.c (mips_elf_merge_got_with): Use arg->global_count
2413 as the number of global entries when merging with the primary GOT.
2414
2415 2011-04-09 H.J. Lu <hongjiu.lu@intel.com>
2416
2417 * elf32-i386.c: Update copyright year.
2418 * elf64-x86-64.c: Likewise.
2419
2420 2011-04-09 Kai Tietz <ktietz@redhat.com>
2421
2422 * peXXigen.c (_bfd_XXi_final_link_postscripte): Sort pdata in temporary
2423 buffer and use rawsize for sorting.
2424 * coffcode.h (coff_compute_section_file_positions): Set rawsize
2425 before doing alignment.
2426
2427 2011-04-09 H.J. Lu <hongjiu.lu@intel.com>
2428
2429 * elf32-i386.c (elf_i386_relocate_section): Return relocation
2430 error on unsupported relocation.
2431 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
2432
2433 2011-04-09 H.J. Lu <hongjiu.lu@intel.com>
2434
2435 PR binutils/12657
2436 * hosts/x86-64linux.h (elf_prstatus32): Replace __pid_t with
2437 pid_t.
2438
2439 2011-04-08 H.J. Lu <hongjiu.lu@intel.com>
2440
2441 PR ld/12654
2442 * elf32-i386.c (elf_i386_relocate_section): Check !executable
2443 instead of shared for R_386_TLS_LDO_32.
2444
2445 2011-04-08 Tristan Gingold <gingold@adacore.com>
2446
2447 * Makefile.am (SOURCE_HFILES): Remove xcoff-target.h
2448 * coff-pmac: Remove
2449 * xcoff-target.h: Remove
2450 * Makefile.in: Regenerate.
2451
2452 2011-04-07 Cary Coutant <ccoutant@google.com>
2453
2454 * dwarf2.c (scan_unit_for_symbols): Check for DW_AT_specification.
2455
2456 2011-04-07 Paul Brook <paul@codesourcery.com>
2457
2458 * elf32-tic6x.c (elf32_tic6x_howto_table): R_C6000_PREL31 is
2459 pc-relative.
2460 (elf32_tic6x_howto_table_rel): Ditto.
2461 (elf32_tic6x_relocate_section): Implement R_C6000_PREL31.
2462 (elf32_tic6x_check_relocs): Ditto.
2463
2464 2011-04-06 Joseph Myers <joseph@codesourcery.com>
2465
2466 * config.bfd (thumb-*-oabi): Don't handle in list of obsolete
2467 targets.
2468 (strongarm*, thumb*, xscale*): Remove architectures.
2469 (strongarm-*-kaos*, thumb-*-coff, thumb-*-elf, thumb-epoc-pe*,
2470 thumb-*-pe*, strongarm-*-elf, strongarm-*-coff, xscale-*-elf,
2471 xscale-*-coff): Remove targets.
2472
2473 2011-04-01 Tristan Gingold <gingold@adacore.com>
2474
2475 * elfxx-ia64.c: include bfd_stdint.h
2476
2477 2011-03-31 Jan Kratochvil <jan.kratochvil@redhat.com>
2478
2479 * elf32-tic6x.c (elf32_tic6x_relocate_section): Remove unused variable
2480 dynobj and its initialization.
2481
2482 2011-03-31 Tristan Gingold <gingold@adacore.com>
2483
2484 * makefile.vms (DEFS): Add HAVE_bfd_elf64_ia64_vms_vec.
2485 * configure.com: Set BFD_HOST_64BIT_LONG_LONG and
2486 BFD_HOST_LONG_LONG to 1.
2487
2488 2011-03-31 Tristan Gingold <gingold@adacore.com>
2489
2490 * vms-alpha.c (vms_get_remaining_object_record): Fix dec-c warning.
2491 (_bfd_vms_write_etir): Ditto.
2492 (_bfd_vms_slurp_etir): Avoid to use intptr_t
2493 * configure.com: Generate bfd_stdint.h
2494
2495 2011-03-31 Bernd Schmidt <bernds@codesourcery.com>
2496
2497 * elf32-tic6x.h (struct elf32_tic6x_params): New.
2498 (elf32_tic6x_setup): Declare.
2499 * elf32-tic6x.c: Include <limits.h>.
2500 (ELF_DYNAMIC_LINKER, DEFAULT_STACK_SIZE, PLT_ENTRY_SIZE): Define.
2501 (struct elf32_tic6x_link_hash_table, struct elf32_link_hash_entry):
2502 New structures.
2503 (elf32_tic6x_link_hash_table, is_tic6x_elf): New macros.
2504 (tic6x_elf_scom_section, tic6x_elf_scom_symbol,
2505 tic6x_elf_scom_symbol_ptr): New static variables.
2506 (elf32_tic6x_howto_table, elf32_tic6x_howto_table_rel,
2507 elf32_tic6x_reloc_map): Add R_C6000_JUMP_SLOT, R_C6000_EHTYPE,
2508 R_C6000_PCR_H16 and R_C6000_PCR_L16.
2509 (elf32_tic6x_link_hash_newfunc, elf32_tic6x_link_hash_table_create,
2510 elf32_tic6x_link_hash_table_free, elf32_tic6x_setup,
2511 elf32_tic6x_using_dsbt, elf32_tic6x_install_rela,
2512 elf32_tic6x_create_dynamic_sections, elf32_tic6x_make_got_dynreloc,
2513 elf32_tic6x_finish_dynamic_symbol, elf32_tic6x_gc_sweep_hook,
2514 elf32_tic6x_adjust_dynamic_symbol): New static functions.
2515 (elf32_tic6x_relocate_section): For R_C6000_PCR_S21, convert branches
2516 to weak symbols as required by the ABI.
2517 Handle GOT and DSBT_INDEX relocs, and copy relocs to the output file
2518 as needed when generating DSBT output.
2519 (elf32_tic6x_check_relocs, elf32_tic6x_add_symbol_hook,
2520 elf32_tic6x_symbol_processing, elf32_tic6x_section_from_bfd_section,
2521 elf32_tic6x_allocate_dynrelocs, elf32_tic6x_size_dynamic_sections,
2522 elf32_tic6x_always_size_sections, elf32_tic6x_modify_program_headers,
2523 elf32_tic6x_finish_dynamic_sections, elf32_tic6x_plt_sym_val,
2524 elf32_tic6x_copy_private_data, elf32_tic6x_link_omit_section_dynsym):
2525 New static functions.
2526 (ELF_MAXPAGESIZE): Define to 0x1000.
2527 (bfd_elf32_bfd_copy_private_bfd_data,
2528 bfd_elf32_bfd_link_hash_table_create,
2529 bfd_elf32_bfd_link_hash_table_free, elf_backend_can_refcount,
2530 elf_backend_want_got_plt, elf_backend_want_dynbss,
2531 elf_backend_plt_readonly, elf_backend_got_header_size,
2532 elf_backend_gc_sweep_hook, elf_backend_modify_program_headers,
2533 elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol,
2534 elf_backend_check_relocs, elf_backend_add_symbol_hook,
2535 elf_backend_symbol_processing, elf_backend_link_output_symbol_hook,
2536 elf_backend_section_from_bfd_section,
2537 elf_backend_finish_dynamic_symbol, elf_backend_always_size_sections,
2538 elf32_tic6x_size_dynamic_sections, elf_backend_finish_dynamic_sections,
2539 elf_backend_omit_section_dynsym, elf_backend_plt_sym_val): Define.
2540
2541 * bfd/reloc.c (BFD_RELOC_C6000_JUMP_SLOT, BFD_RELOC_C6000_EHTYPE,
2542 BFD_RELOC_C6000_PCR_H16, BFD_RELOC_C6000_PCR_S16): Add.
2543 * bfd/bfd-in2.h: Regenerate.
2544 * bfd/libbfd.h: Regenerate.
2545 * config.bfd: Accept tic6x-*-* instead of tic6x-*-elf.
2546
2547 2011-03-31 Tristan Gingold <gingold@adacore.com>
2548
2549 * coffcode.h (coff_slurp_symbol_table): Silently discard C_NULL
2550 entry on xcoff when value is C_NULL_VALUE.
2551
2552 2011-03-31 Tristan Gingold <gingold@adacore.com>
2553
2554 * libcoff-in.h (exec_hdr): Remove.
2555 * libcoff.h: Regenerate.
2556
2557 2011-03-30 Nick Clifton <nickc@redhat.com>
2558
2559 * po/da.po: Updated Danish translation.
2560
2561 2011-03-29 Richard Henderson <rth@redhat.com>
2562
2563 * elf64-alpha.c (elf64_alpha_gc_mark_hook): New.
2564 (elf64_alpha_gc_sweep_hook): New.
2565 (elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): New.
2566 (elf_backend_can_gc_sections): New.
2567
2568 2011-03-26 John Marino <binutils@marino.st>
2569
2570 * config.bfd: Add x86_64-*-dragonfly*, fix i386-*-dragonfly*.
2571 * configure.in: Delete unused bfd_elf32_i386_dragonfly_vec.
2572 * configure: Regenerate.
2573
2574 2011-03-25 Michael Snyder <msnyder@vmware.com>
2575
2576 * coffcode.h (coff_set_alignment_hook): Check return of bfd_seek.
2577
2578 2011-03-25 Tristan Gingold <gingold@adacore.com>
2579
2580 * vms-alpha.c (_bfd_vms_find_nearest_dst_line): Allow the use
2581 of find_nearest_line on object files.
2582
2583 2011-03-25 Tristan Gingold <gingold@adacore.com>
2584
2585 * vms-alpha.c (evax_section_flags): Make $CODE$ section read-only.
2586 Minor reordering.
2587 (alpha_vms_create_eisd_for_section): Make code sections read-only.
2588
2589 2011-03-24 Alan Modra <amodra@gmail.com>
2590
2591 * elf32-ppc.c (ppc_elf_tls_optimize): Catch more cases where
2592 old-style __tls_get_addr calls without marker relocs don't match
2593 their arg setup insn one for one. If such mismatches are found
2594 report the reloc and don't do any tls optimization.
2595 * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
2596
2597 2011-03-22 Eric B. Weddington <eric.weddington@atmel.com>
2598
2599 * bfd-in2.h: Regenerate.
2600
2601 2011-03-22 Eric B. Weddington <eric.weddington@atmel.com>
2602
2603 * archures.c: Add AVR XMEGA architecture information.
2604 * cpu-avr.c (arch_info_struct): Likewise.
2605 * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
2606 (elf32_avr_object_p): Likewise.
2607
2608 2011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
2609
2610 * reloc.c (BFD_RELOC_ARM_IRELATIVE): New relocation.
2611 * bfd-in2.h: Regenerate.
2612 * elf32-arm.c (elf32_arm_howto_table_2): Rename existing definition
2613 to elf32_arm_howto_table_3 and replace with a single R_ARM_IRELATIVE
2614 entry.
2615 (elf32_arm_howto_from_type): Update accordingly.
2616 (elf32_arm_reloc_map): Map BFD_RELOC_ARM_IRELATIVE to R_ARM_IRELATIVE.
2617 (elf32_arm_reloc_name_lookup): Handle elf32_arm_howto_table_3.
2618 (arm_plt_info): New structure, split out from elf32_arm_link_hash_entry
2619 with an extra noncall_refcount field.
2620 (arm_local_iplt_info): New structure.
2621 (elf_arm_obj_tdata): Add local_iplt.
2622 (elf32_arm_local_iplt): New accessor macro.
2623 (elf32_arm_link_hash_entry): Replace plt_thumb_refcount,
2624 plt_maybe_thumb_refcount and plt_got_offset with an arm_plt_info.
2625 Change tls_type to a bitfield and add is_iplt.
2626 (elf32_arm_link_hash_newfunc): Update accordingly.
2627 (elf32_arm_allocate_local_sym_info): New function.
2628 (elf32_arm_create_local_iplt): Likewise.
2629 (elf32_arm_get_plt_info): Likewise.
2630 (elf32_arm_plt_needs_thumb_stub_p): Likewise.
2631 (elf32_arm_get_local_dynreloc_list): Likewise.
2632 (create_ifunc_sections): Likewise.
2633 (elf32_arm_copy_indirect_symbol): Update after the changes to
2634 elf32_arm_link_hash_entry. Assert the is_iplt has not yet been set.
2635 (arm_type_of_stub): Add an st_type argument. Use elf32_arm_get_plt_info
2636 to get PLT information. Assert that all STT_GNU_IFUNC references
2637 are turned into PLT references.
2638 (arm_build_one_stub): Pass the symbol type to
2639 elf32_arm_final_link_relocate.
2640 (elf32_arm_size_stubs): Pass the symbol type to arm_type_of_stub.
2641 (elf32_arm_allocate_irelocs): New function.
2642 (elf32_arm_add_dynreloc): In static objects, use .rel.iplt for
2643 all R_ARM_IRELATIVE.
2644 (elf32_arm_allocate_plt_entry): New function.
2645 (elf32_arm_populate_plt_entry): Likewise.
2646 (elf32_arm_final_link_relocate): Add an st_type parameter.
2647 Set srelgot to null for static objects. Use separate variables
2648 to record which st_value and st_type should be used when generating
2649 a dynamic relocation. Use elf32_arm_get_plt_info to find the
2650 symbol's PLT information, setting has_iplt_entry, splt,
2651 plt_offset and gotplt_offset accordingly. Check whether
2652 STT_GNU_IFUNC symbols should resolve to an .iplt entry, and change
2653 the relocation target accordingly. Broaden assert to include
2654 .iplts. Don't set sreloc for static relocations. Assert that
2655 we only generate dynamic R_ARM_RELATIVE relocations for R_ARM_ABS32
2656 and R_ARM_ABS32_NOI. Generate R_ARM_IRELATIVE relocations instead
2657 of R_ARM_RELATIVE relocations if the target is an STT_GNU_IFUNC
2658 symbol. Pass the symbol type to arm_type_of_stub. Conditionally
2659 resolve GOT references to the .igot.plt entry.
2660 (elf32_arm_relocate_section): Update the call to
2661 elf32_arm_final_link_relocate.
2662 (elf32_arm_gc_sweep_hook): Use elf32_arm_get_plt_info to get PLT
2663 information. Treat R_ARM_REL32 and R_ARM_REL32_NOI as call
2664 relocations in shared libraries and relocatable executables.
2665 Count non-call PLT references. Use elf32_arm_get_local_dynreloc_list
2666 to get the list of dynamic relocations for a local symbol.
2667 (elf32_arm_check_relocs): Always create ifunc sections. Set isym
2668 at the same time as setting h. Use elf32_arm_allocate_local_sym_info
2669 to allocate local symbol information. Treat R_ARM_REL32 and
2670 R_ARM_REL32_NOI as call relocations in shared libraries and
2671 relocatable executables. Record PLT information for local
2672 STT_GNU_IFUNC functions as well as global functions. Count
2673 non-call PLT references. Use elf32_arm_get_local_dynreloc_list
2674 to get the list of dynamic relocations for a local symbol.
2675 (elf32_arm_adjust_dynamic_symbol): Handle STT_GNU_IFUNC symbols.
2676 Don't remove STT_GNU_IFUNC PLTs unless all references have been
2677 removed. Update after the changes to elf32_arm_link_hash_entry.
2678 (allocate_dynrelocs_for_symbol): Decide whether STT_GNU_IFUNC PLT
2679 entries should live in .plt or .iplt. Check whether the .igot.plt
2680 and .got entries can be combined. Use elf32_arm_allocate_plt_entry
2681 to allocate .plt and .(i)got.plt entries. Detect which .got
2682 entries will need R_ARM_IRELATIVE relocations and use
2683 elf32_arm_allocate_irelocs to allocate them. Likewise other
2684 non-.got dynamic relocations.
2685 (elf32_arm_size_dynamic_sections): Allocate .iplt, .igot.plt
2686 and dynamic relocations for local STT_GNU_IFUNC symbols.
2687 Check whether the .igot.plt and .got entries can be combined.
2688 Detect which .got entries will need R_ARM_IRELATIVE relocations
2689 and use elf32_arm_allocate_irelocs to allocate them. Use stashed
2690 section pointers intead of strcmp checks. Handle iplt and igotplt.
2691 (elf32_arm_finish_dynamic_symbol): Use elf32_arm_populate_plt_entry
2692 to fill in .plt, .got.plt and .rel(a).plt entries. Point
2693 STT_GNU_IFUNC symbols at an .iplt entry if non-call relocations
2694 resolve to it.
2695 (elf32_arm_output_plt_map_1): New function, split out from
2696 elf32_arm_output_plt_map. Handle .iplt entries. Use
2697 elf32_arm_plt_needs_thumb_stub_p.
2698 (elf32_arm_output_plt_map): Call it.
2699 (elf32_arm_output_arch_local_syms): Add mapping symbols for
2700 local .iplt entries.
2701 (elf32_arm_swap_symbol_in): Handle Thumb STT_GNU_IFUNC symbols.
2702 (elf32_arm_swap_symbol_out): Likewise.
2703 (elf32_arm_add_symbol_hook): New function.
2704 (elf_backend_add_symbol_hook): Define for all targets.
2705
2706 2011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
2707
2708 * elf-bfd.h (elf_link_hash_entry): Add target_internal.
2709 * elf.c (swap_out_syms): Set st_target_internal for each
2710 Elf_Internal_Sym.
2711 * elfcode.h (elf_swap_symbol_in): Likewise.
2712 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
2713 * elf32-sh-symbian.c (sh_symbian_relocate_section): Likewise.
2714 * elf64-sparc.c (elf64_sparc_output_arch_syms): Likewise.
2715 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
2716 * elflink.c (elf_link_output_extsym): Likewise.
2717 (bfd_elf_final_link): Likewise.
2718 (elf_link_add_object_symbols): Copy st_target_internal
2719 to the hash table if we see a definition.
2720 (_bfd_elf_copy_link_hash_symbol_type): Copy target_internal.
2721 * elf32-arm.c (elf32_arm_stub_hash_entry): Replace st_type with
2722 a branch_type field.
2723 (a8_erratum_fix, a8_erratum_reloc): Likewise.
2724 (arm_type_of_stub): Replace actual_st_type with an
2725 actual_branch_type parameter.
2726 (arm_build_one_stub): Use branch types rather than st_types to
2727 determine the type of branch.
2728 (cortex_a8_erratum_scan): Likewise.
2729 (elf32_arm_size_stubs): Likewise.
2730 (bfd_elf32_arm_process_before_allocation): Likewise.
2731 (allocate_dynrelocs_for_symbol): Likewise.
2732 (elf32_arm_finish_dynamic_sections): Likewise.
2733 (elf32_arm_final_link_relocate): Replace sym_flags parameter with
2734 a branch_type parameter.
2735 (elf32_arm_relocate_section): Update call accordingly.
2736 (elf32_arm_adjust_dynamic_symbol): Don't check STT_ARM_TFUNC.
2737 (elf32_arm_output_map_sym): Initialize st_target_internal.
2738 (elf32_arm_output_stub_sym): Likewise.
2739 (elf32_arm_symbol_processing): Delete.
2740 (elf32_arm_swap_symbol_in): Convert STT_ARM_TFUNCs into STT_FUNCs.
2741 Use st_target_internal to record the branch type.
2742 (elf32_arm_swap_symbol_out): Use st_target_internal to test for
2743 Thumb functions.
2744 (elf32_arm_is_function_type): Delete.
2745 (elf_backend_symbol_processing): Likewise.
2746 (elf_backend_is_function_type): Likewise.
2747
2748 2011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
2749
2750 * elf32-arm.c (elf32_arm_check_relocs): Always assign a dynobj.
2751 (elf32_arm_finish_dynamic_sections): Move sgot != NULL assertion
2752 into the PLT block.
2753
2754 2011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
2755
2756 * elf32-arm.c (elf32_arm_check_relocs): Use call_reloc_p,
2757 may_need_local_target_p and may_become_dynamic_p to classify
2758 the relocation type. Don't check info->symbolic or h->def_regular
2759 when deciding whether to record a potential dynamic reloc.
2760 Don't treat potential dynamic relocs as PLT references.
2761 (elf32_arm_gc_sweep_hook): Update to match. Assert that we don't
2762 try to make the PLT reference count go negative.
2763
2764 2011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
2765
2766 * elf32-arm.c (elf32_arm_final_link_relocate): Always fill in the
2767 GOT entry here, rather than leaving it to finish_dynamic_symbol.
2768 Only create a dynamic relocation for local references if
2769 info->shared.
2770 (allocate_dynrelocs_for_symbol): Update dynamic relocation
2771 allocation accordingly.
2772 (elf32_arm_finish_dynamic_symbol): Don't initialise the GOT entry here.
2773
2774 2011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
2775
2776 * elf32-arm.c (elf32_arm_allocate_dynrelocs): New function.
2777 (elf32_arm_add_dynreloc): Likewise.
2778 (elf32_arm_adjust_dynamic_symbol): Use elf32_arm_allocate_dynrelocs
2779 to allocate dynamic relocations.
2780 (elf32_arm_size_dynamic_sections): Likewise.
2781 (allocate_dynrelocs): Likewise. Rename to
2782 allocate_dynrelocs_for_symbol.
2783 (elf32_arm_final_link_relocate): Use elf32_arm_add_dynreloc to
2784 create dynamic relocations.
2785 (elf32_arm_finish_dynamic_symbol): Likewise.
2786
2787 2011-03-12 H.J. Lu <hongjiu.lu@intel.com>
2788
2789 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Supprt TLS
2790 x32 GD->IE and GD->LE transitions.
2791 (elf_x86_64_relocate_section): Supprt TLS x32 GD->IE, GD->LE
2792 and LD->LE transitions.
2793
2794 2011-03-10 Alan Modra <amodra@gmail.com>
2795
2796 * elf64-ppc.c (ppc64_elf_relocate_section): Provide section/offset
2797 for LO_DS error message and correct multiple.
2798
2799 2011-03-10 Alan Modra <amodra@gmail.com>
2800
2801 * elf64-ppc.c (bfd_elf64_bfd_link_just_syms): Define.
2802 (ppc64_elf_link_just_syms): New function.
2803 (opd_entry_value): Don't assume big-endian host.
2804 (get_r2off): New function.
2805 (ppc_build_one_stub, ppc_size_one_stub): Use it here.
2806
2807 2011-03-06 Michael Snyder <msnyder@vmware.com>
2808
2809 * compress.c (bfd_compress_section_contents): Check for out of mem.
2810
2811 * elf64-x86-64.c (elf_x86_64_relocate_section): Document
2812 that case statement falls through intentionally.
2813
2814 * elf32-i386.c (elf_i386_relocate_section): Document fall through.
2815
2816 2011-03-04 Alan Modra <amodra@gmail.com>
2817
2818 * archive.c (bsd_write_armap): Don't call stat in deterministic
2819 mode, and don't use st_mtime if stat returns error.
2820
2821 2011-03-03 Michael Snyder <msnyder@vmware.com>
2822
2823 * elf64-x86-64.c (elf_x86_64_relocate_section): Remove dead code.
2824
2825 * coff-x86_64.c (coff_amd64_rtype_to_howto): Fencepost error.
2826
2827 * aoutx.h (aout_final_link): Use sizeof int not sizeof int*.
2828 (aout_link_write_other_symbol): Missing break statement.
2829
2830 * dwarf2.c (scan_unit_for_symbols): Stop memory leak.
2831
2832 * archive.c (_bfd_slurp_extended_name_table): Fail if bfd_seek fails.
2833
2834 2011-03-03 H.J. Lu <hongjiu.lu@intel.com>
2835
2836 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Supprt TLS
2837 x32 IE->LE transition.
2838 (elf_x86_64_relocate_section): Likewise.
2839
2840 2011-03-02 Bernd Schmidt <bernds@codesourcery.com>
2841
2842 * elflink.c (is_reloc_section): Remove function.
2843 (get_dynamic_reloc_section_name): Construct string manually.
2844
2845 2011-02-28 Kai Tietz <kai.tietz@onevision.com>
2846
2847 * archive.c (_bfd_find_nested_archive): Use filename_(n)cmp.
2848 (adjust_relative_path): Likewise.
2849 (_bfd_construct_extended_name_table): Likewise.
2850 * corefile.c (generic_core_file_matches_executable_p): Likewise.
2851 * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
2852 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
2853 * elf32-spu.c (sort_bfds): Likewise.
2854 (spu_elf_auto_overlay): Likewise.
2855 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
2856 * xcofflink.c (xcoff_set_import_path): Likewise.
2857 * xtensa-isa.c (xtensa_regfile_lookup): Likewise.
2858 (xtensa_regfile_lookup_shortname): Likewise.
2859
2860 2011-02-28 Alan Modra <amodra@gmail.com>
2861
2862 PR 12513
2863 * archive.c (bfd_slurp_bsd_armap_f2): Sanity check parsed_size and
2864 stringsize. Properly sanity check symdef_count. Remove redundant
2865 bfd_release.
2866
2867 2011-02-25 Rafael Ávila de Espíndola <respindola@mozilla.com>
2868
2869 * plugin.c (bfd_plugin_object_p): Correctly set the filesize
2870 and handle claim_file seeking. Only try to load the plugin once.
2871
2872 2011-02-22 Andreas Schwab <schwab@redhat.com>
2873
2874 * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): For a TLS_GD
2875 relocation read the value from the second GOT slot.
2876
2877 2011-02-15 Tristan Gingold <gingold@adacore.com>
2878
2879 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Add a comment.
2880
2881 2011-02-15 Alan Modra <amodra@gmail.com>
2882
2883 * elf64-ppc.c (ppc64_elf_edit_toc): Reinstate second read of
2884 toc relocs. Fuss over free(NULL).
2885
2886 2011-02-14 Mike Frysinger <vapier@gentoo.org>
2887
2888 * elflink.c (bfd_elf_size_dynamic_sections): Add
2889 bfd_get_symbol_leading_char to the start of newname.
2890
2891 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2892
2893 * configure: Regenerate.
2894
2895 2011-02-09 Alan Modra <amodra@gmail.com>
2896
2897 * elf64-ppc.c (ppc64_elf_edit_toc): Don't free toc relocs until
2898 we are done. When optimising large toc, check that a global
2899 symbol on a toc reloc is defined in a kept section.
2900
2901 2011-02-08 Nick Clifton <nickc@redhat.com>
2902
2903 PR binutils/12467
2904 * elf.c (assign_file_positions_for_load_sections): Set the program
2905 header offset and entry size to zero if there are no program
2906 headers.
2907
2908 2011-02-08 Alan Modra <amodra@gmail.com>
2909
2910 * elf64-ppc.c (ppc64_elf_edit_toc): Don't segfault on NULL
2911 local_syms when looking for local symbols in .toc.
2912
2913 2011-02-01 Alan Modra <amodra@gmail.com>
2914
2915 * elf64-ppc.c (ppc64_elf_next_input_section): Use elf_gp value
2916 for toc pointer on any section having makes_toc_func_call set.
2917 (check_pasted_section): Ensure pasted .init/.fini fragments use
2918 the same toc if any has makes_toc_func_call set.
2919
2920 2011-01-28 Joseph Myers <joseph@codesourcery.com>
2921
2922 * elf32-ppc.c (ppc_elf_link_hash_newfunc): Initialize has_sda_refs
2923 field.
2924
2925 2011-01-22 Richard Sandiford <rdsandiford@googlemail.com>
2926
2927 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Ignore
2928 common sections too.
2929
2930 2011-01-18 H.J. Lu <hongjiu.lu@intel.com>
2931
2932 * elf64-x86-64.c (elf_backend_want_plt_sym): Redefine to 0 after
2933 Solaris target.
2934
2935 2011-01-18 Pierre Muller <muller@ics.u-strasbg.fr>
2936
2937 Fix compilation for mingw64.
2938 * coffcode.h (coff_slurp_symbol_table): Add intptr_t intermediate
2939 typecast to avoid warning.
2940 * elf32-rx.c: Add "bfd_stdint.h" include required for int32_t type
2941 usage.
2942 * elfxx-ia64.c (elfNN_ia64_relax_br): Use intptr_t typeacast instead
2943 of long for pointer to avoid warning.
2944 (elfNN_ia64_relax_brl): Idem.
2945 (elfNN_ia64_install_value): Idem.
2946 * vms-alpha.c (_bfd_vms_slurp_etir): Idem.
2947
2948 2011-01-17 Richard Sandiford <richard.sandiford@linaro.org>
2949
2950 * elf32-arm.c (elf32_arm_check_relocs): Check needs_plt rather than
2951 h->needs_plt when deciding whether to record a possible dynamic reloc.
2952
2953 2011-01-17 Richard Sandiford <richard.sandiford@linaro.org>
2954
2955 * elf32-arm.c (elf32_arm_gc_sweep_hook): Remove all registered
2956 dynamic relocs for the removed section.
2957
2958 2011-01-15 H.J. Lu <hongjiu.lu@intel.com>
2959
2960 * elf64-x86-64.c (elf_x86_64_check_relocs): Check invalid x32
2961 relocations.
2962
2963 2011-01-14 H.J. Lu <hongjiu.lu@intel.com>
2964
2965 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add pointer_r_type.
2966 (elf_x86_64_link_hash_table_create): Set pointer_r_type.
2967 (elf_x86_64_check_relocs): Handle R_X86_64_32 like R_X86_64_64
2968 for ILP32. Remove ABI_64_P PIC check for R_X86_64_8,
2969 R_X86_64_16, R_X86_64_32 and R_X86_64_32S.
2970 (elf_x86_64_relocate_section): Handle R_X86_64_32 like R_X86_64_64
2971 for ILP32.
2972
2973 2011-01-14 Alan Modra <amodra@gmail.com>
2974
2975 * bfd.c (bfd_perror): Flush stdout before and stderr after printing
2976 error.
2977 (_bfd_default_error_handler): Likewise.
2978 * elf.c (print_segment_map): Likewise.
2979 * libbfd.c (warn_deprecated): Likewise.
2980 * som.c (som_sizeof_headers): No need to do so here.
2981 * coff-i860.c: Replace use of printf for error messages with
2982 _bfd_error_handler.
2983 * coff-ppc.c: Likewise.
2984 * coff-sh.c: Likewise.
2985 * elf32-bfin.c: Likewise.
2986 * elf32-dlx.c: Likewise.
2987 * elf32-mep.c: Likewise.
2988 * elf32-v850.c: Likewise.
2989 * mach-o.c: Likewise.
2990 * pef.c: Likewise.
2991
2992 2011-01-13 H.J. Lu <hongjiu.lu@intel.com>
2993
2994 * elf64-x86-64.c (elf_x86_64_link_hash_table): Remove
2995 swap_reloca_out.
2996 (elf_x86_64_link_hash_table_create): Don't set swap_reloca_out.
2997 (elf_x86_64_check_relocs): Align relocation section to 4 byte
2998 for 32bit.
2999 (elf_x86_64_gc_sweep_hook): Replace ELF64_ST_TYPE with
3000 ELF_ST_TYPE.
3001 (elf_x86_64_finish_dynamic_symbol): Updated.
3002 (elf_x86_64_finish_dynamic_sections): Don't use
3003 Elf64_External_Dyn, bfd_elf64_swap_dyn_in, nor
3004 bfd_elf64_swap_dyn_out.
3005
3006 2011-01-14 J. Park <grassman@gmail.com>
3007
3008 PR ld/12339
3009 * elf32-arm.c (allocate_dynrelocs): Don't set up eh before
3010 following bfd_link_hash_warning symbol link.
3011
3012 2011-01-10 Nathan Sidwell <nathan@codesourcery.com>
3013 Glauber de Oliveira Costa <glommer@gmail.com>
3014
3015 * reloc.c (BFD_RELOC_ARM_TLS_GOTDESC, BFD_RELOC_ARM_TLS_CALL,
3016 BFD_RELOC_ARM_THM_TLS_CALL, BFD_RELOC_ARM_TLS_DESCSEQ,
3017 BFD_RELOC_ARM_THM_TLS_DESCSEQ, BFD_RELOC_ARM_TLS_DESC): New
3018 relocations.
3019 * libbfd.h: Rebuilt.
3020 * bfd-in2.h: Rebuilt.
3021 * elf32-arm.c (elf32_arm_howto_table_1): Add new relocations.
3022 (elf32_arm_reloc_map): Likewise.
3023 (tls_trampoline, dl_tlsdesc_lazy_trampoline): New PLT templates.
3024 (elf32_arm_stub_long_branch_any_tls_pic,
3025 elf32_arm_stub_long_branch_v4t_thumb_tls_pic): New stub templates.
3026 (DEF_STUBS): Add new stubs.
3027 (struct_elf_arm_obj_data): Add local_tlsdesc_gotent field.
3028 (elf32_arm_local_tlsdesc_gotent): New.
3029 (GOT_TLS_GDESC): New mask.
3030 (GOT_TLS_GD_ANY): Define.
3031 (struct elf32_arm_link_hash_entry): Add tlsdesc_got field.
3032 (elf32_arm_compute_jump_table_size): New.
3033 (struct elf32_arm_link_hash_table): Add next_tls_desc_index,
3034 num_tls_desc, dt_tlsdesc_plt, dt_tlsdesc_got, tls_trampoline,
3035 sgotplt_jump_table_size fields.
3036 (elf32_arm_link_hash_newfunc): Initialize tlsdesc_got field.
3037 (elf32_arm_link_hash_table_create): Initialize new fields.
3038 (arm_type_of_stub): Check TLS desc relocs too.
3039 (elf32_arm_stub_name): TLS desc relocs can be shared.
3040 (elf32_arm_tls_transition): Determine relaxation.
3041 (arm_stub_required_alignment): Add tls stubs.
3042 (elf32_arm_size_stubs): Likewise.
3043 (elf32_arm_tls_relax): Perform TLS relaxing.
3044 (elf32_arm_final_link_relocate): Process TLS DESC relocations.
3045 (IS_ARM_TLS_GNU_RELOC): New.
3046 (IS_ARM_TLS_RELOC): Use it.
3047 (elf32_arm_relocate_section): Perform TLS relaxing.
3048 (elf32_arm_check_relocs): Anticipate TLS relaxing, process tls
3049 desc relocations.
3050 (allocate_dynrelocs): Allocate tls desc relcoations.
3051 (elf32_arm_output_arch_local_syms): Emit tls trampoline mapping
3052 symbols.
3053 (elf32_arm_size_dynamic_sections): Allocate tls trampolines and
3054 got slots.
3055 (elf32_arm_always_size_sections): New. Create _TLS_MODULE_BASE
3056 symbol.
3057 (elf32_arm_finish_dynamic_symbol): Adjust.
3058 (arm_put_trampoline): New.
3059 (elf32_arm_finish_dynamic_sections): Emit new dynamic tags and tls
3060 trampolines.
3061 (elf_backend_always_size_sections): Define.
3062
3063 2011-01-06 H.J. Lu <hongjiu.lu@intel.com>
3064
3065 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Optimized.
3066
3067 2011-01-06 H.J. Lu <hongjiu.lu@intel.com>
3068
3069 PR ld/12366
3070 PR ld/12371
3071 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Properly
3072 handle symbols marked with regular reference, but not non-GOT
3073 reference when building shared library.
3074
3075 * elf32-i386.c (elf_i386_gc_sweep_hook): Properly handle
3076 local and global STT_GNU_IFUNC symols when building shared
3077 library.
3078 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
3079
3080 2011-01-05 DJ Delorie <dj@redhat.com>
3081
3082 * reloc.c: Add BFD_RELOC_RX_OP_NEG.
3083 * libbfd.h: Regenerate.
3084 * bfd-in2.h: Regenerate.
3085 * elf32-rx.c: Add it to the list, corresponding to R_RX_OPneg.
3086
3087 2011-01-03 H.J. Lu <hongjiu.lu@intel.com>
3088
3089 * cpu-i386.c (bfd_i386_compatible): New.
3090 (bfd_x64_32_arch_intel_syntax): Replace bfd_default_compatible
3091 with bfd_i386_compatible.
3092 (bfd_x86_64_arch_intel_syntax): Likewise.
3093 (bfd_i386_arch_intel_syntax): Likewise.
3094 (i8086_arch): Likewise.
3095 (bfd_x64_32_arch): Likewise.
3096 (bfd_x86_64_arch): Likewise.
3097 (bfd_i386_arch): Likewise.
3098
3099 For older changes see ChangeLog-2010
3100 \f
3101 Local Variables:
3102 mode: change-log
3103 left-margin: 8
3104 fill-column: 74
3105 version-control: never
3106 End: