]> rtime.felk.cvut.cz Git - fpga/lx-cpu1/binutils-tumbl.git/blob - bfd/ChangeLog
PR binutils/15106
[fpga/lx-cpu1/binutils-tumbl.git] / bfd / ChangeLog
1 2013-02-08  Alan Modra  <amodra@gmail.com>
2
3         PR binutils/15106
4         * elf-bfd.h (struct elf_obj_tdata): Add elf_find_function_cache.
5         * elf.c (elf_find_function): Revert last change.  Use new
6         tdata field rather than static vars for cache.
7
8 2013-02-07  Roberto Agostino Vitillo  <ra.vitillo@gmail.com>
9
10         PR binutils/15106
11         * elf.c (elf_find_function): Don't cache if symbols change.
12
13 2013-02-07  Alan Modra  <amodra@gmail.com>
14
15         PR binutils/14873
16         * elf-attrs.c (_bfd_elf_copy_obj_attributes): Don't attempt to
17         copy attributes from or to non-ELF.
18
19 2013-02-01  Alan Modra  <amodra@gmail.com>
20
21         * elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
22         clears def_regular.
23
24 2013-01-31  Alan Modra  <amodra@gmail.com>
25             David S. Miller  <davem@davemloft.net>
26
27         PR ld/15056
28         * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Handle implicit
29         references to __tls_get_addr.
30         * elf32-tilpro.c (tilepro_elf_gc_mark_hook): Likewise.  Correct
31         vtinherit and vtentry reloc handling too.
32         * elfxx-tilegx.c (tilegx_elf_gc_mark_hook): As for tilepro.
33
34 2013-01-31  Alan Modra  <amodra@gmail.com>
35
36         * elf64-ppc.c (build_plt_stub): Correct plt stub branch to glink.
37
38         2013-01-28  Alan Modra  <amodra@gmail.com>
39         * elf64-ppc.c: Use %T to print symbols names and remove redundant
40         "relocation" in error messages throughout file.
41         (ppc64_elf_relocate_section): Remove sibling call error message,
42         replace with "call lacks nop".  Specially report errors for
43         branches to function entry points via OPD lookup and branches
44         to stubs.  Remove NULL symbol handling now done by %T.
45
46 2013-01-22  Alan Modra  <amodra@gmail.com>
47
48         Apply mainline patches
49         2013-01-15  Alan Modra  <amodra@gmail.com>
50         * elf64-ppc.c (ppc64_elf_size_stubs): Default shared libs to
51         plt-thread-safe.
52
53         2013-01-14  Alan Modra  <amodra@gmail.com>
54         PR binutils/14813
55         * bfdio.c (struct bfd_iovec <bclose>): Revert 2012-11-06.
56         (memory_bclose): Likewise.  Return 0 on success.
57         * cache.c (cache_bclose): Likewise.
58         * opncls.c (opncls_bclose, bfd_close): Likewise.
59         * vms-lib.c (vms_lib_bclose): Likewise.
60         * libbfd.h: Regenerate.
61
62         2013-01-13  Alan Modra  <amodra@gmail.com>
63         * elf-bfd.h (struct elf_link_hash_entry): Delete dynamic_weak.
64         Add ref_dynamic_nonweak.
65         * elflink.c (_bfd_elf_mark_dynamic_def_weak): Delete.
66         (_bfd_elf_merge_symbol): Don't call above function.  Move
67         setting of ref_dynamic_nonweak and dynamic_def earlier.  Don't
68         clear dynamic_def.
69         (elf_link_add_object_symbols): Delete redundant "override" test.
70         Don't set dynamic_def here.
71         (elf_link_output_extsym): Update.
72
73         2013-01-12  Alan Modra  <amodra@gmail.com>
74         * elf-bfd.h (_bfd_elf_strtab_refcount): Declare.
75         * elf-strtab.c (_bfd_elf_strtab_refcount): New function.
76         * elflink.c (elf_add_dt_needed_tag): Use _bfd_elf_strtab_refcount.
77
78         2013-01-12  Alan Modra  <amodra@gmail.com>
79         PR ld/12549
80         * elf-bfd.h (_bfd_elf_strtab_clear_refs): Declare.
81         (_bfd_elf_strtab_clear_all_refs): Define.
82         * elf-strtab.c (_bfd_elf_strtab_clear_refs): New function.
83         (_bfd_elf_strtab_clear_all_refs): Delete.
84         * elflink.c (elf_link_add_object_symbols): Clear out added
85         strtab refs.  Correct handling of warning common symbols.
86
87         2012-12-19  H.J. Lu  <hongjiu.lu@intel.com>
88         * elf32-i386.c (elf_i386_relocate_section): Replace
89         bfd_elf32_swap_reloc_out with elf_append_rel.
90         (elf_i386_finish_dynamic_symbol): Likewise.
91         * elflink.c (elf_append_rel): Call swap_reloc_out instead of
92         swap_reloca_out.
93
94         2012-12-18  Alan Modra  <amodra@gmail.com>
95         * elf.c (swap_out_syms): Set shndx to SHN_ABS when not one of
96         the special MAP_* values.
97
98         2012-12-07  Alan Modra  <amodra@gmail.com>
99         PR ld/14926
100         * elf.c (_bfd_elf_map_sections_to_segments): Include elf header
101         size when determining phdr_in_segment.
102
103         2012-12-05  Alan Modra  <amodra@gmail.com>
104         * elf64-ppc.c (build_plt_stub): Fix off by one error in branch
105         to glink.
106
107         2012-11-21  H.J. Lu  <hongjiu.lu@intel.com>
108         PR binutils/14493
109         * elf.c (copy_elf_program_header): When rewriting program
110         header, set the output maxpagesize to the maximum alignment
111         of input PT_LOAD segments.
112
113         2012-11-13  Joe Seymour  <jseymour@codesourcery.com>
114         * elf.c (rewrite_elf_program_header): Allocate elf_segment_map
115         with bfd_zalloc, instead of bfd_alloc.
116
117         2012-11-06  H.J. Lu  <hongjiu.lu@intel.com>
118         PR binutils/14813
119         * bfdio.c (bfd_iovec): Change return type of bclose to
120         bfd_boolean.
121         (memory_bclose): Change return type to bfd_boolean.
122         * cache.c (cache_bclose): Likewise.
123         * opncls.c (opncls_bclose): Likewise.  Return TRUE on success.
124         * vms-lib.c (vms_lib_bclose): Likewise.  Return TRUE.
125         * libbfd.h: Regenerated.
126
127         2012-11-06  Alan Modra  <amodra@gmail.com>
128         PR binutils/14567
129         * opncls.c (opncls_iovec): Forward declare.
130         (_bfd_new_bfd_contained_in): If using opncls_iovec, copy iostream
131         to new bfd.
132
133         2012-11-06  Alan Modra  <amodra@gmail.com>
134         * elf64-ppc.c (maybe_strip_output): Heed SEC_KEEP.
135
136         2012-11-05  Alan Modra  <amodra@gmail.com>
137         * elf64-ppc.c (ppc64_elf_edit_toc): Clear "repeat" inside
138         loop.  Really mark toc entry referring to another toc entry
139         only if the first is used.
140
141         2012-10-29  Alan Modra  <amodra@gmail.com>
142         * elf32-ppc.c (ppc_elf_howto_raw): Correct dst_mask in
143         R_PPC_VLE_LO16A, R_PPC_VLE_HI16A, R_PPC_VLE_HA16A,
144         R_PPC_VLE_SDAREL_LO16A, R_PPC_VLE_SDAREL_HI16A,
145         R_PPC_VLE_SDAREL_HA16A reloc howtos.
146
147         2012-10-26  Alan Modra  <amodra@gmail.com>
148         PR gas/14758
149         * elf32-ppc.c (ppc_elf_reloc_type_lookup): Decode ppc64 _DS
150         bfd_reloc values.  Map to corresponding D-form relocs.
151         (is_insn_ds_form, is_insn_qs_form): New functions.
152         (ppc_elf_relocate_section): Validate insn with DS-form or DQ-form
153         fields using D-form reloc.
154
155         2012-10-21  Hans-Peter Nilsson  <hp@bitrange.com>
156         * linker.c (_bfd_generic_link_output_symbols): Handle a
157         no-longer-global symbol entered as a BFD_PLUGIN.
158
159         2012-10-08  Alan Modra  <amodra@gmail.com>
160         PR binutils/14662
161         * elf.c (_bfd_elf_make_section_from_shdr): Treat .gdb_index as
162         SEC_DEBUGGING.
163
164         2012-09-04  H.J. Lu  <hongjiu.lu@intel.com>
165         PR binutils/14493
166         * elf.c (ignore_section_sym): Also ignore section symbols without
167         a BFD section.
168
169 2012-12-21  H.J. Lu  <hongjiu.lu@intel.com>
170
171         * elf64-x86-64.c (elf_x86_64_relocate_section): Check
172         R_X86_64_standard instead of R_X86_64_max for unrecognized
173         relocation.
174
175 2012-12-21  H.J. Lu  <hongjiu.lu@intel.com>
176
177         PR ld/14980
178         * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Properly
179         adjust h->plt.refcount.
180         * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
181
182 2012-12-20  H.J. Lu  <hongjiu.lu@intel.com>
183
184         PR ld/14968
185         * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Also check
186         local IFUNC references.
187         * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
188
189 2012-12-20  H.J. Lu  <hongjiu.lu@intel.com>
190
191         PR ld/14956
192         * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Check local
193         IFUNC calls.
194         * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
195
196 2012-12-17  Roland McGrath  <mcgrathr@google.com>
197             Alan Modra  <amodra@gmail.com>
198
199         * elf32-arm.c (elf32_arm_size_stubs): Skip input BFDs that are
200         not ARM ELF.
201
202 2012-12-09  H.J. Lu  <hongjiu.lu@intel.com>
203
204         PR binutils/14933
205         * archive.c (bsd_write_armap): Properly check indicies bigger than
206         4Gb.
207
208 2012-11-29  Roland McGrath  <mcgrathr@google.com>
209
210         * elf-nacl.c (segment_eligible_for_headers): Disallow writable segments.
211
212 2012-11-26  Roland McGrath  <mcgrathr@google.com>
213
214         * elf-nacl.c (nacl_modify_segment_map): Don't crash when INFO is null.
215
216 2012-11-21  Roland McGrath  <mcgrathr@google.com>
217
218         * elf-nacl.c (segment_nonexecutable_and_has_contents): Renamed to ...
219         (segment_eligible_for_headers): ... this.  Take new arguments
220         MAXPAGESIZE and SIZEOF_HEADERS.  Return false if the first section's
221         start address doesn't leave space for the headers.
222         (nacl_modify_segment_map): Update caller.
223
224 2012-11-19  Joey Ye  <joey.ye@arm.com>
225
226         * elf32-arm.c (elf32_arm_final_link_relocate, 
227         case R_ARM_THM_ALU_PREL_11_0, case R_ARM_THM_PC12): Align address of
228         the place being relocated.
229         (elf32_arm_final_link_relocate, case R_ARM_THM_PC8): Align address
230         of the place being relocated and truncate addend.
231         (Pa): New macro.
232
233 2012-11-14  Roland McGrath  <mcgrathr@google.com>
234
235         * elf32-arm.c (elf32_arm_nacl_plt0_entry): Use bic rather than bfc
236         instruction for data sandboxing.
237
238 2012-11-13  Tristan Gingold  <gingold@adacore.com>
239
240         * Makefile.am (RELEASE): Unset.
241         * Makefile.in: Regenerate.
242
243 2012-11-13  Tristan Gingold  <gingold@adacore.com>
244
245         * configure.in: Bump version to 2.23.1
246         * Makefile.am (RELEASE): Set.
247         * configure, Makefile.in: Regenerate.
248
249 2012-11-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
250
251         PR target/14788
252         * elf32-s390.c (elf_s390_relocate_section): Set elf.dynobj for
253         local ifunc symbols.
254         * elf64-s390.c (elf_s390_relocate_section): Likewise.
255
256 2012-11-05  Alan Modra  <amodra@gmail.com>
257
258         * configure.in: Apply 2012-09-10 change to config.in here.
259
260 2012-10-29  Sean Keys <skeys@ipdatasys.com>
261
262         * elf32-xgate.c(elf_xgate_howto_table): Fix src and dest mask for
263         R_XGATE_16
264
265 2012-10-22  Tristan Gingold  <gingold@adacore.com>
266
267         * configure.in: Bump version to 2.23.0
268         * Makefile.am (RELEASE): Unset.
269         * configure, Makefile.in: Regenerate.
270
271 2012-10-22  Tristan Gingold  <gingold@adacore.com>
272
273         * configure.in: Bump version to 2.23
274         * Makefile.am (RELEASE): Set.
275         * configure, Makefile.in: Regenerate.
276
277 2012-10-16  Sofiane Naci  <sofiane.naci@arm.com>
278
279         * elf64-aarch64.c (elf64_aarch64_tls_howto_table): Fix shift value for
280         R_AARCH64_TLSIE_LD_GOTTPREL_PREL19, R_AARCH64_TLSLE_MOVW_TPREL_G2,
281         R_AARCH64_TLSLE_MOVW_TPREL_G1, R_AARCH64_TLSLE_MOVW_TPREL_G1_NC,
282         R_AARCH64_TLSLE_ADD_TPREL_HI12.
283         (elf64_aarch64_tlsdesc_howto_table): Fix shift value for
284         R_AARCH64_TLSDESC_LD64_PREL19 and R_AARCH64_TLSDESC_OFF_G1.
285         (elf64_aarch64_final_link_relocate): Add signed_addend when resolving
286         AARCH64_TLSLE_*_TPREL_* relocations.
287
288 2012-09-20  Walter Lee  <walt@tilera.com>
289
290         * elf32-tilepro.c (tilepro_elf_relocate_section): Adjust got
291         relocations with value of hgot.
292         * elfxx-tilegx.c (tilegx_elf_relocate_section): Ditto.
293
294 2012-09-18  H.J. Lu  <hongjiu.lu@intel.com>
295
296         PR ld/14591
297         * elf-bfd.h (_bfd_elf_merge_symbol): Add an argument to return
298         if the old symbol is weak.
299
300         * elf32-sh-symbian.c (sh_symbian_relocate_section): Update
301         _bfd_elf_merge_symbol call.
302
303         * elflink.c (_bfd_elf_merge_symbol): Add an argument to return
304         if the old symbol is weak.
305         (_bfd_elf_add_default_symbol): Update _bfd_elf_merge_symbol
306         call.
307         (elf_link_add_object_symbols): Don't update symbol type from a
308         weak definition.  Update symbol type from a common symbol when
309         overriding a weak symbol.
310
311 2012-09-17  Walter Lee  <walt@tilera.com>
312
313         * elf32-tilepro.c (tilepro_elf_relocate_section): Remove unused
314         got_base variable.
315         * elfxx-tilegx.c (tilegx_elf_relocate_section): Ditto.
316
317 2012-09-17  Walter Lee  <walt@tilera.com>
318
319         * elf32-tilepro.c (tilepro_elf_relocate_section): Fix computation
320         of got relocations for when .got.plt section is merged with .got.
321         * elfxx-tilegx.c (tilegx_elf_relocate_section): Ditto.
322
323 2012-09-13  Doug Kwan  <dougkwan@google.com>
324
325         * elf64-ppc.c (ppc64_elf_relocate_section): Use pre-adjusted
326         relocation for stub lookup.
327
328 2012-09-10  Matthias Klose  <doko@ubuntu.com>
329
330         * config.in: Disable sanity check for kfreebsd.
331
332 2012-09-07  Alan Modra  <amodra@gmail.com>
333
334         PR ld/14464
335         * elf64-ppc.c (ppc64_elf_relocate_section): Map symbols defined
336         by a linker script in .opd to corresponding input .opd section.
337
338 2012-08-09  Maciej W. Rozycki  <macro@codesourcery.com>
339
340         * elfxx-mips.c (LA25_LUI_MICROMIPS_1, LA25_LUI_MICROMIPS_2):
341         Remove macros, folding them into...
342         (LA25_LUI_MICROMIPS): ... this new macro.
343         (LA25_J_MICROMIPS_1, LA25_J_MICROMIPS_2): Likewise into...
344         (LA25_J_MICROMIPS): ... this new macro.
345         (LA25_ADDIU_MICROMIPS_1, LA25_ADDIU_MICROMIPS_2): Likewise
346         into...
347         (LA25_ADDIU_MICROMIPS): ... this new macro.
348         (bfd_put_micromips_32, bfd_get_micromips_32): New functions.
349         (mips_elf_create_la25_stub): Use them.
350         (check_br32_dslot, check_br32, check_relocated_bzc): Likewise.
351         (_bfd_mips_elf_relax_section): Likewise.
352
353         * elf32-ppc.c (ppc_elf_relocate_section): Assert that dynindx is
354         not minus one.
355         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
356
357 2012-08-28  Maciej W. Rozycki  <macro@codesourcery.com>
358
359         * elflink.c (_bfd_elf_merge_symbol): Also override the version
360         a dynamic symbol defaulted to if preempted with a hidden or
361         internal definition.
362
363         * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Look up
364         the options section in the output rather than input BFD to
365         decide if to add a DT_MIPS_OPTIONS tag.
366
367 2012-08-13  Maciej W. Rozycki  <macro@codesourcery.com>
368
369         * config.bfd: Wrap mips*el-*-linux* and mips*-*-linux* into
370         #ifdef BFD64.
371
372 2012-08-13  Maciej W. Rozycki  <macro@codesourcery.com>
373
374         * elfxx-mips.c (mips_elf_calculate_relocation): Fix the handling
375         of protected symbols.
376
377 2012-08-06  Maciej W. Rozycki  <macro@codesourcery.com>
378
379         * elflink.c (bfd_elf_record_link_assignment): Remove --defsym
380         symbols special case.
381
382         * elf64-mips.c (mips16_elf64_howto_table_rela): Correct src_mask
383         field initializers throughout.
384         * elfn32-mips.c (elf_mips16_howto_table_rela): Likewise.
385
386 2012-08-03  Maciej W. Rozycki  <macro@codesourcery.com>
387
388         * elfxx-mips.c (mips_elf_perform_relocation): Update the
389         cross-mode jump message.
390
391 2012-09-04  Sergey A. Guriev <sergey.a.guriev@intel.com>
392
393         * cpu-ia64-opc.c (ins_cnt6a): New function.
394         (ext_cnt6a): Ditto.
395         (ins_strd5b): Ditto.
396         (ext_strd5b): Ditto.
397         (elf64_ia64_operands): Add new operand types.
398
399 2012-08-05  Maciej W. Rozycki  <macro@linux-mips.org>
400
401         * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Don't allocate
402         PLT slots for local symbols.
403
404 2012-08-28  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
405
406         Apply from mainline
407         2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
408         * elf32-arm.c (v8): New array.
409         (tag_cpu_arch_combine): Add support for ARMv8 attributes.
410         (elf32_arm_merge_eabi_attributes): Likewise.
411         (VFP_VERSION_COUNT): New define.
412
413 2012-08-17  Nick Clifton  <nickc@redhat.com>
414
415         * po/vi.po: Updated Vietnamese translation.
416
417 2012-08-16  Ian Bolton  <ian.bolton@arm.com>
418             Laurent Desnogues  <laurent.desnogues@arm.com>
419             Jim MacArthur  <jim.macarthur@arm.com>
420             Marcus Shawcroft  <marcus.shawcroft@arm.com>
421             Nigel Stephens  <nigel.stephens@arm.com>
422             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
423             Richard Earnshaw  <rearnsha@arm.com>
424             Sofiane Naci  <sofiane.naci@arm.com>
425             Tejas Belagod  <tejas.belagod@arm.com>
426             Yufeng Zhang  <yufeng.zhang@arm.com>
427
428         * Makefile.am: Add AArch64 files.
429         * Makefile.in: Regenerate.
430         * archures.c (bfd_aarch64_arch): New declaration.
431         (bfd_archures_list): Use bfd_archures_list.
432         * bfd-in.h (bfd_elf64_aarch64_init_maps): New declaration.
433         (bfd_aarch64_process_before_allocation): New declaration.
434         (bfd_elf64_aarch64_process_before_allocation): New declaration.
435         (bfd_elf64_aarch64_set_options): New declaration.
436         (bfd_elf64_aarch64_add_glue_sections_to_bfd): New declaration.
437         (BFD_AARCH64_SPECIAL_SYM_TYPE_MAP): New definition.
438         (BFD_AARCH64_SPECIAL_SYM_TYPE_TAG): New definition.
439         (BFD_AARCH64_SPECIAL_SYM_TYPE_OTHER): New definition.
440         (BFD_AARCH64_SPECIAL_SYM_TYPE_ANY): New definition.
441         (bfd_is_aarch64_special_symbol_name): New declaration.
442         (bfd_aarch64_merge_machines): New declaration.
443         (bfd_aarch64_update_notes): New declaration.
444         (int bfd_aarch64_get_mach_from_notes): New declaration.
445         (elf64_aarch64_setup_section_lists): New declaration.
446         (elf64_aarch64_next_input_section): New declaration.
447         (elf64_aarch64_size_stubs): New declaration.
448         (elf64_aarch64_build_stubs): New declaration.
449         * config.bfd: Add AArch64.
450         * configure.in: Add AArch64.
451         * configure: Regenerate.
452         * cpu-aarch64.c: New file.
453         * elf-bfd.h: Add AArch64.
454         * bfd-in2.h: Regenerate.
455         * libbfd.h: Regenerate.
456         * elf64-aarch64.c: New file.
457         * reloc.c: Add AArch64 relocations.
458         * targets.c: Add AArch64.
459         * po/SRC-POTFILES.in: Regenerate.
460
461 2012-08-14  Nick Clifton  <nickc@redhat.com>
462
463         * po/uk.po: Updated Ukranian translation.
464
465 2012-08-09  Nick Clifton  <nickc@redhat.com>
466
467         * po/vi.po: Updated Vietnamese translation.
468
469 2012-08-07  Nick Clifton  <nickc@redhat.com>
470
471         * po/uk.po: Updated Ukranian translation.
472
473 2012-07-30  Nick Clifton  <nickc@redhat.com>
474
475         * po/bfd.pot: Updated template.
476         * po/es.po: Updated Spanish translation.
477         * po/fi.po: Updated Finnish translation.
478         * po/fr.po: Updated French translation.
479         * po/ru.po: Updated Russian translation.
480         * po/uk.po: Updated Ukranian translation.
481
482 2012-07-27  Tristan Gingold  <gingold@adacore.com>
483
484         * configure.in: Bump version to 2.22.90
485         * configure: Regenerate.
486
487 2012-07-26  Teresa Johnson  <tejohnson@google.com>
488
489         * bfd/dwarf2.c (find_line): Initialize discriminator_ptr
490         if it is non-NULL.
491
492 2012-07-26  Meador Inge  <meadori@codesourcery.com>
493             Nick Clifton  <nickc@redhat.com>
494
495         PR ld/14397
496         * elf32-arm.c (elf32_arm_finish_dynamic_sections): Report an error
497         if a required section is missing from the linker script.
498
499 2012-07-24  Jan Waclawek <konfera@efton.sk>
500         PR 13899
501         * elf32-avr.c (elf32_avr_relax_delete_bytes): Call
502         _bfd_elf_link_read_relocs with keep_memory as TRUE.
503
504 2012-07-24  Teresa Johnson  <tejohnson@google.com>
505
506         * bfd.c (bfd_find_nearest_line_discriminator): New macro.
507         * coff-rs6000.c: Init _bfd_find_nearest_line_discriminator.
508         * coff64-rs6000.c: Likewise.
509         * dwarf2.c (struct line_info): Add discriminator field.
510         (add_line_info): Fill in new discriminator field.
511         (decode_line_info): Record discriminator information instead
512         of ignoring it.
513         (lookup_address_in_line_info_table): Return discriminator field if
514         requested.
515         (comp_unit_find_nearest_line): Add discriminator argument.
516         (find_line): Likewise.
517         (_bfd_dwarf2_find_nearest_line): Likewise.
518         (_bfd_dwarf2_find_line): Likewise.
519         * elf-bfd.h (_bfd_elf_find_nearest_line_discriminator): New.
520         (_bfd_elf_find_line_discriminator): Likewise.
521         (_bfd_generic_find_nearest_line_discriminator): Likewise. Defined.
522         * elf.c (_bfd_elf_find_nearest_line): Change to a wrapper
523         that invokes _bfd_elf_find_nearest_line_discriminator with correct
524         arguments.
525         (_bfd_elf_find_nearest_line_discriminator): New.
526         (_bfd_elf_find_line): Change to a wrapper
527         that invokes _bfd_elf_find_line_discriminator with correct
528         arguments.
529         (_bfd_elf_find_line_discriminator): New.
530         * coffgen.c (coff_find_nearest_line_with_names): Handle
531         new discriminator argument.
532         * elf32-arm.c (elf32_arm_find_nearest_line): Likewise.
533         * elf64-alpha.c (elf64_alpha_find_nearest_line): Likewise.
534         * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise.
535         * mach-o.c (bfd_mach_o_find_nearest_line): Likewise.
536         * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Add discriminator
537         argument.
538         (_bfd_dwarf2_find_line): Likewise.
539         (_bfd_generic_find_nearest_line_discriminator): New.
540         * libbfd.c (_bfd_generic_find_nearest_line_discriminator): New.
541         * bfd-in2.h: Regenerated.
542         * libbfd.h: Likewise.
543         * targets.c (BFD_JUMP_TABLE_SYMBOLS): Initialize
544         _bfd_find_nearest_line_discriminator with
545         _bfd_generic_find_nearest_line_discriminator.
546         (bfd_target): Add _bfd_find_nearest_line_discriminator.
547
548 2012-07-24  Sean Keys  <skeys@ipdatasys.com>
549
550         * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Added code
551         that enables the linker to offset addresses, when linking against
552         symbols from the XGATE processor and vice versa.
553
554 2012-07-23  Nick Clifton  <nickc@redhat.com>
555
556         * cisco-core.c (cisco_core_file_failing_command): Make static.
557         (cisco_core_file_failing_signal): Make static.
558
559 2012-07-18  H.J. Lu  <hongjiu.lu@intel.com>
560
561         * bfd-in2.h: Regenerated.
562
563 2012-07-18  Nicolàs Alejandro Di Risio <sheeva@tiscali.it>
564
565         PR binutils/14335
566         * section.c: Fix a typo in comments.
567
568 2012-07-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
569
570         * elf64-s390.c: Include elf-s390-common.c.
571         (R_390_IRELATIVE): New reloc.
572         (elf_s390_reloc_type_lookup): Support R_390_IRELATIVE.
573         (RELA_ENTRY_SIZE): New macro.
574         (elf_s390_link_hash_entry): New fields ifunc_resolver_address and
575         *ifunc_resolver_section.
576         (struct plt_entry): New struct.
577         (struct elf_s390_obj_tdata): New field local_plt.
578         (elf_s390_local_plt): New macro.
579         (struct elf_s390_link_hash_table): New field irelifunc.
580         (ELF64): New macro.
581         (link_hash_newfunc): Initialize new fields.
582         (elf_s390_check_relocs): Handle IFUNC symbols.
583         (elf_s390_adjust_dynamic_symbol): Don't do anything for IFUNC
584         symbols.
585         (allocate_dynrelocs): Call s390_elf_allocate_ifunc_dyn_relocs for
586         IFUNC symbols.
587         (elf_s390_size_dynamic_sections): Handle IFUNC symbols.
588         (elf_s390_relocate_section): Likewise.
589         (elf_s390_finish_dynamic_symbol): Likewise.
590         (elf_s390_finish_dynamic_sections): Handle local IFUNC symbols.
591         (elf_s390_finish_ifunc_symbol): New function.
592         (elf_s390_gc_sweep_hook): Handle local plt entries.
593         (elf_backend_add_symbol_hook): Define.
594         * elf32-s390.c: See elf64-s390.c changes.
595         * elf-s390-common.c: New file.
596         * bfd-in2.h (BFD_RELOC_390_IRELATIVE): New enum field.
597         * libbfd.h (BFD_RELOC_390_IRELATIVE): New entry for
598         BFD_RELOC_390_IRELATIVE.
599         * reloc.c (BFD_RELOC_390_IRELATIVE): Document new relocation.
600
601 2012-07-13  Nick Clifton  <nickc@redhat.com>
602
603         * aix386-core.c: Remove use of PTR and PARAMS macros.
604         * archive.c: Likewise.
605         * cache.c: Likewise.
606         * cisco-core.c: Likewise.
607         * coff-alpha.c: Likewise.
608         * coff-apollo.c: Likewise.
609         * coff-aux.c: Likewise.
610         * coff-h8300.c: Likewise.
611         * coff-h8500.c: Likewise.
612         * coff-i386.c: Likewise.
613         * coff-i960.c: Likewise.
614         * coff-ia64.c: Likewise.
615         * coff-m68k.c: Likewise.
616         * coff-m88k.c: Likewise.
617         * coff-mcore.c: Likewise.
618         * coff-mips.c: Likewise.
619         * coff-or32.c: Likewise.
620         * coff-ppc.c: Likewise.
621         * coff-rs6000.c: Likewise.
622         * coff-sh.c: Likewise.
623         * coff-sparc.c: Likewise.
624         * coff-stgo32.c: Likewise.
625         * coff-tic30.c: Likewise.
626         * coff-tic4x.c: Likewise.
627         * coff-tic54x.c: Likewise.
628         * coff-tic80.c: Likewise.
629         * coff-w65.c: Likewise.
630         * cofflink.c: Likewise.
631         * cpu-arc.c: Likewise.
632         * cpu-cris.c: Likewise.
633         * cpu-h8500.c: Likewise.
634         * cpu-i960.c: Likewise.
635         * cpu-msp430.c: Likewise.
636         * cpu-ns32k.c: Likewise.
637         * cpu-powerpc.c: Likewise.
638         * cpu-rs6000.c: Likewise.
639         * cpu-tic4x.c: Likewise.
640         * cpu-w65.c: Likewise.
641         * ecoff.c: Likewise.
642         * ecofflink.c: Likewise.
643         * elf-m10200.c: Likewise.
644         * elf32-bfin.c: Likewise.
645         * elf32-cris.c: Likewise.
646         * elf32-crx.c: Likewise.
647         * elf32-fr30.c: Likewise.
648         * elf32-frv.c: Likewise.
649         * elf32-h8300.c: Likewise.
650         * elf32-i960.c: Likewise.
651         * elf32-m32c.c: Likewise.
652         * elf32-m68hc11.c: Likewise.
653         * elf32-m68hc12.c: Likewise.
654         * elf32-m68hc1x.c: Likewise.
655         * elf32-m68k.c: Likewise.
656         * elf32-mcore.c: Likewise.
657         * elf32-rl78.c: Likewise.
658         * elf32-rx.c: Likewise.
659         * elf32-s390.c: Likewise.
660         * elf32-vax.c: Likewise.
661         * elf64-alpha.c: Likewise.
662         * elf64-mmix.c: Likewise.
663         * elf64-s390.c: Likewise.
664         * elf64-sparc.c: Likewise.
665         * elfnn-ia64.c: Likewise.
666         * elfxx-mips.c: Likewise.
667         * elfxx-sparc.c: Likewise.
668         * hash.c: Likewise.
669         * hp300hpux.c: Likewise.
670         * hppabsd-core.c: Likewise.
671         * hpux-core.c: Likewise.
672         * i386dynix.c: Likewise.
673         * i386linux.c: Likewise.
674         * i386lynx.c: Likewise.
675         * i386mach3.c: Likewise.
676         * i386msdos.c: Likewise.
677         * i386os9k.c: Likewise.
678         * irix-core.c: Likewise.
679         * lynx-core.c: Likewise.
680         * m68klinux.c: Likewise.
681         * mach-o.h: Likewise.
682         * mipsbsd.c: Likewise.
683         * netbsd-core.c: Likewise.
684         * nlm32-i386.c: Likewise.
685         * osf-core.c: Likewise.
686         * pc532-mach.c: Likewise.
687         * pef.c: Likewise.
688         * ppcboot.c: Likewise.
689         * ptrace-core.c: Likewise.
690         * reloc16.c: Likewise.
691         * sco5-core.c: Likewise.
692         * som.h: Likewise.
693         * sparclinux.c: Likewise.
694         * sparclynx.c: Likewise.
695         * ticoff.h: Likewise.
696         * trad-core.c: Likewise.
697         * vms-lib.c: Likewise.
698         * xsym.h: Likewise.
699
700 2012-07-09  Alan Modra  <amodra@gmail.com>
701
702         PR ld/14323
703         * elflink.c (elf_sort_symbol): Sort by size too.
704         (elf_link_add_object_symbols <weakdefs>): Simplify binary search.
705         Do not depend on ordering of symbol aliases.  Match largest size.
706
707 2012-07-03  H.J. Lu  <hongjiu.lu@intel.com>
708
709         * elf.c (assign_section_numbers): Check if number of sections
710         >= SHN_LORESERVE.
711         * elfcode.h (elf_object_p): Likewise.
712
713 2012-07-03  Nick Clifton  <nickc@redhat.com>
714
715         * archive.c (bsd_write_armap): Catch attempts to create an archive
716         with indicies bigger than 4Gb.
717         (coff_write_armap): Likewise.
718
719 2012-07-03  H.J. Lu  <hongjiu.lu@intel.com>
720
721         PR binutils/14319
722         * elf.c (_bfd_elf_make_section_from_shdr): Don't compress empty
723         debug section.
724
725 2012-07-03  H.J. Lu  <hongjiu.lu@intel.com>
726
727         PR ld/3351
728         * elflink.c (_bfd_elf_update_dynamic_flags): New.
729         (_bfd_elf_merge_symbol): Update both real and indirect symbol
730         dynamic flags.
731         (_bfd_elf_add_default_symbol): Make the real symbol dynamic if
732         the indirect symbol is defined in a shared library.
733         (elf_link_add_object_symbols): Likewise.  If the indirect
734         symbol has been forced local, don't make the real symbol
735         dynamic.
736         (elf_link_check_versioned_symbol): Check indirect symbol.
737         (elf_link_output_extsym): Use real symbol definition when
738         reporting indirect symbol error.  Check version info for
739         dynamic versioned symbol.
740
741 2012-07-03  Alan Modra  <amodra@gmail.com>
742
743         PR ld/14207
744         * elf.c (assign_file_positions_for_load_sections): Remove assertions
745         that only PT_LOAD headers include file header and section headers.
746         (assign_file_positions_for_non_load_sections): Similarly don't
747         assert PT_GNU_RELRO header does not include file and section headers.
748         Compare first section vma rather than PT_LOAD p_vaddr against
749         relro_start when looking for PT_LOAD covering PT_GNU_RELRO.  Replace
750         abort with assertion.
751
752 2012-07-02  Alan Modra  <amodra@gmail.com>
753
754         * elf32-m32c.c (m32c_elf_check_relocs): Use bfd_make_section
755         "anyway" variant when creating .plt.
756         (m32c_elf_relax_plt_section): Remove redundant test and unused param.
757         (m32c_elf_relax_section): Test SEC_LINKER_CREATED before calling
758         m32c_elf_relax_plt_section.
759         * elfxx-mips.c (mips_elf_create_got_section): Use make anyway variant
760         when creating .got and .got.plt.
761         (_bfd_mips_elf_final_link): Likewise for .rtproc, and use
762         bfd_get_linker_section.
763         * sunos.c: Similarly throughout.
764
765 2012-07-01  Andreas Schwab  <schwab@linux-m68k.org>
766
767         * elf.c (_bfd_elf_make_section_from_shdr): Fix typo in error
768         message.
769
770 2012-06-29  H.J. Lu  <hongjiu.lu@intel.com>
771
772         * elf64-x86-64.c (elf_x86_64_relocate_section): Return FALSE
773         on unresolvable relocation.
774
775 2012-06-29  H.J. Lu  <hongjiu.lu@intel.com>
776
777         * archive.c (_bfd_compute_and_write_armap): Simplify global
778         symbol handling.
779
780 2012-06-29  Nick Clifton  <nickc@redhat.com>
781
782         PR ld/14189
783         * elf32-arm.c (elf32_arm_check_relocs): Do not increment refcount
784         for locally bound symbols.
785
786 2012-06-29  Alan Modra  <amodra@gmail.com>
787
788         * section.c (bfd_get_linker_section): New function.
789         * elf32-arm.c: When retrieving SEC_LINKER_CREATED sections, use
790         the above throughout rather than bfd_get_section_by_name.  Use
791         bfd_make_section_anyway rather than bfd_make_section when creating
792         them.
793         * elf32-bfin.c: Likewise.
794         * elf32-cr16.c: Likewise.
795         * elf32-cris.c: Likewise.
796         * elf32-frv.c: Likewise.
797         * elf32-hppa.c: Likewise.
798         * elf32-i370.c: Likewise.
799         * elf32-i386.c: Likewise.
800         * elf32-lm32.c: Likewise.
801         * elf32-m32c.c: Likewise.
802         * elf32-m32r.c: Likewise.
803         * elf32-m68k.c: Likewise.
804         * elf32-microblaze.c: Likewise.
805         * elf32-ppc.c: Likewise.
806         * elf32-rl78.c: Likewise.
807         * elf32-s390.c: Likewise.
808         * elf32-score.c: Likewise.
809         * elf32-score7.c: Likewise.
810         * elf32-sh.c: Likewise.
811         * elf32-tic6x.c: Likewise.
812         * elf32-tilepro.c: Likewise.
813         * elf32-vax.c: Likewise.
814         * elf32-xstormy16.c: Likewise.
815         * elf32-xtensa.c: Likewise.
816         * elf64-alpha.c: Likewise.
817         * elf64-hppa.c: Likewise.
818         * elf64-ia64-vms.c: Likewise.
819         * elf64-ppc.c: Likewise.
820         * elf64-s390.c: Likewise.
821         * elf64-sh64.c: Likewise.
822         * elf64-sparc.c: Likewise.
823         * elf64-x86-64.c: Likewise.
824         * elfnn-ia64.c: Likewise.
825         * elfxx-mips.c: Likewise.
826         * elfxx-sparc.c: Likewise.
827         * elfxx-tilegx.c: Likewise.
828         * elflink.c: Likewise.
829         * elf-vxworks.c: Likewise.
830         * elf-m10300.c: Likewise.  Also make use of htab plt, got and
831         gotplt shortcuts.
832         * bfd-in2.h: Regenerate.
833         * elf32-lm32.c (lm32_elf_check_relocs): Use the correct bfd when
834         calling create_rofixup_section.
835         * elflink.c (bfd_elf_final_link): Simplify test for .dynstr.
836
837 2012-06-29  Alan Modra  <amodra@gmail.com>
838
839         * elf32-sh.c (sh_elf_create_dynamic_sections): Don't create .rela
840         section for bss type sections, except for .rela.bss.
841         * elf-m10300.c (_bfd_mn10300_elf_create_dynamic_sections): Likewise.
842         * elf32-cr16.c (_bfd_cr16_elf_create_dynamic_sections): Likewise.
843         * elf32-lm32.c (lm32_elf_create_dynamic_sections): Likewise.
844         * elf32-m32r.c (m32r_elf_create_dynamic_sections): Likewise.
845         * elf64-sh64.c (sh64_elf64_create_dynamic_sections): Likewise.
846
847 2012-06-28  Roland McGrath  <mcgrathr@google.com>
848
849         * elf32-arm.c (elf32_arm_populate_plt_entry): Use int32_t for
850         displacement calculation in nacl_p case.
851
852 2012-06-28  Nick Clifton  <nickc@redhat.com>
853
854         * po/uk.po: New Ukranian translation.
855         * configure.in (ALL_LINGUAS): Add uk.
856         * configure: Regenerate.
857
858 2012-06-26  Alan Modra  <amodra@gmail.com>
859
860         * elf64-ppc.c (ppc64_elf_next_toc_section): Don't error if input
861         file has multiple .got/.toc sections and all don't fit in
862         current toc group.
863
864 2012-06-22  Roland McGrath  <mcgrathr@google.com>
865
866         * elf.c (assign_file_positions_for_non_load_sections): Define
867         __ehdr_start symbol if it's referenced and there's a PT_LOAD
868         segment that covers both the file and program headers.
869
870 2012-06-22  Andreas Schwab  <schwab@linux-m68k.org>
871
872         * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Don't make
873         _GLOBAL_OFFSET_TABLE_ and _DYNAMIC absolute.
874
875 2012-06-22  Alan Modra  <amodra@gmail.com>
876
877         * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't emit out-of-line
878         save/restore functions when relocatable.  Make "funcs" static.
879
880 2012-06-18  Hans-Peter Nilsson  <hp@axis.com>
881
882         * elf32-cris.c (cris_elf_plt_sym_val): Rewrite to work in presence
883         of merged .got and .got.plt entries.
884
885 2012-06-18  John Szakmeister  <john@szakmeister.net>
886
887         * elf32-arm.c (elf32_arm_final_link_relocate): Correct return value.
888
889 2012-06-17  Hans-Peter Nilsson  <hp@axis.com>
890
891         * elf32-cris.c (cris_elf_relocate_section): <R_CRIS_32_IE>
892         <R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL>: Handle references to
893         thread common symbols.
894
895 2012-06-13  Nick Clifton  <nickc@redhat.com>
896
897         * elf32-arm.c (bfd_arm_get_mach_from_attributes): New function.
898         (elf32_arm_object_p): If the machine number could not be deduced
899         from the notes, call bfd_arm_get_mach_from_attributes to get the
900         number from the attributes.
901
902 2012-06-12  H.J. Lu  <hongjiu.lu@intel.com>
903
904         PR bfd/14207
905         * elf.c (assign_file_positions_for_non_load_sections): Abort if
906         PT_GNU_RELRO segment doesn't fit in PT_LOAD segment.
907
908 2012-06-12  Alan Modra  <amodra@gmail.com>
909
910         PR ld/14207
911         * elf.c (_bfd_elf_map_sections_to_segments): Disregard bss type
912         sections at end of PT_LOAD segment when searching for segment
913         that contains end of relro extent.
914
915 2012-06-11  H.J. Lu  <hongjiu.lu@intel.com>
916
917         * elf.c (assign_file_positions_for_non_load_sections): Reindent.
918
919 2012-06-11  H.J. Lu  <hongjiu.lu@intel.com>
920
921         * elf.c (_bfd_elf_map_sections_to_segments): Reindent.
922
923 2012-06-06  Alan Modra  <amodra@gmail.com>
924
925         * elflink.c (elf_link_input_bfd): Provide a file symbol for
926         each input file with local syms, if the input lacks such.
927         (bfd_elf_final_link): Add a file symbol to mark end of locals
928         for which we can associate with input files.
929         (struct elf_final_link_info): Add filesym_count field.
930         (struct elf_outext_info): Add need_second_pass and second_pass.
931         (elf_link_output_extsym): Detect symbols defined in the output
932         file, emit them on second pass over locals.
933
934 2012-06-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
935
936         * bfd-in.h (bfd_elf_bfd_from_remote_memory): Make LEN argument
937         of target_read_memory as bfd_size_type.
938         * bfd-in2.h: Regenerate.
939         * elf-bfd.h (elf_backend_bfd_from_remote_memory): Make LEN
940         argument of target_read_memory as bfd_size_type.
941         (_bfd_elf32_bfd_from_remote_memory): Likewise.
942         (_bfd_elf64_bfd_from_remote_memory): Likewise.
943         * elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
944         * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): Likewise.
945
946 2012-06-03  Alan Modra  <amodra@gmail.com>
947
948         PR binutils/13897
949         * elf.c (elf_find_function): Cache last function sym info.
950         (_bfd_elf_maybe_function_sym): Return function size, pass in
951         section of interest.
952         * elf-bfd.h (struct elf_backend_data <maybe_function_sym>): Likewise.
953         (_bfd_elf_maybe_function_sym): Likewise.
954         * elf64-ppc.c (ppc64_elf_maybe_function_sym): Likewise.
955         (opd_entry_value): Add in_code_sec param.  Revert caching code.
956         Return -1 if in_code_sec and function found in wrong section.
957         Update all calls.
958
959 2012-06-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
960
961         * bfd-in.h (bfd_elf_bfd_from_remote_memory): Make LEN argument
962         of target_read_memory as size_t.
963         * bfd-in2.h: Regenerate.
964         * elf-bfd.h (elf_backend_bfd_from_remote_memory): Make LEN
965         argument of target_read_memory as size_t.
966         (_bfd_elf32_bfd_from_remote_memory): Likewise.
967         (_bfd_elf64_bfd_from_remote_memory): Likewise.
968         * elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
969         * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): Likewise.
970
971 2012-06-01  Alan Modra  <amodra@gmail.com>
972
973         PR binutils/13897
974         * elf64-ppc.c (opd_entry_value): Rewrite cache code.
975
976 2012-05-29  Tom Tromey  <tromey@redhat.com>
977
978         * opncls.c (bfd_fopen): Always close fd on failure.
979         (bfd_fdopenr): Likewise.
980
981 2012-05-27  Alan Modra  <amodra@gmail.com>
982
983         PR ld/14170
984         * elflink.c (_bfd_elf_merge_symbol): When a symbol defined in
985         a dynamic library finds a new instance with non-default
986         visibility in a regular object, correctly handle symbols
987         already on the undefs list and undo dynamic symbol state when
988         the new symbol is hidden or internal.
989
990 2012-05-25  H.J. Lu  <hongjiu.lu@intel.com>
991
992         * elf32-i386.c (elf_i386_create_dynamic_sections): Don't use
993         dynamic_sec_flags to create PLT .eh_frame section.
994         * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise.
995
996 2012-05-25  Alan Modra  <amodra@gmail.com>
997
998         PR ld/13909
999         * elf-eh-frame.c (_bfd_elf_eh_frame_present): New function.
1000         (_bfd_elf_maybe_strip_eh_frame_hdr): Use it here.
1001         * elf-bfd.h (_bfd_elf_eh_frame_present): Declare.
1002         * elflink.c (bfd_elf_size_dynamic_sections): Let the backend
1003         size dynamic sections before stripping eh_frame_hdr.
1004         (bfd_elf_gc_sections): Handle multiple .eh_frame sections.
1005         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Drop glink_eh_frame
1006         if no other .eh_frame sections exist.
1007         * elf64-ppc.c (ppc64_elf_size_stubs): Likewise.
1008         * elf32-i386.c (elf_i386_create_dynamic_sections): Don't size
1009         or alloc plt_eh_frame here..
1010         (elf_i386_size_dynamic_sections): ..do it here instead.  Don't
1011         specially keep sgotplt, iplt, tgotplt, sdynbss for symbols.
1012         (elf_i386_finish_dynamic_sections): Check plt_eh_frame->contents
1013         before writing plt offset.
1014         * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Don't size
1015         or alloc plt_eh_frame here..
1016         (elf_x86_64_size_dynamic_sections): ..do it here instead.
1017         (elf_x86_64_finish_dynamic_sections): Check plt_eh_frame->contents
1018         before writing plt offset.
1019
1020 2012-05-24  Alan Modra  <amodra@gmail.com>
1021
1022         PR ld/14158
1023         * elf64-ppc.c (ppc64_elf_size_stubs): Round up glink_eh_frame
1024         size to output section alignment.
1025         (ppc64_elf_build_stubs): Likewise, and extend last FDE to cover.
1026
1027 2012-05-23  Alan Modra  <amodra@gmail.com>
1028
1029         * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Handle
1030         BFDs with multiple .eh_frame sections.
1031
1032 2012-05-23  Alan Modra  <amodra@gmail.com>
1033
1034         PR ld/13909
1035         * elflink.c (bfd_elf_discard_info): Don't ignore dynamic BFDs.
1036
1037 2012-05-22  H.J. Lu  <hongjiu.lu@intel.com>
1038
1039         PR ld/13909
1040         * elf32-i386.c (elf_i386_create_dynamic_sections): Revert the
1041         last change.
1042         * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise.
1043
1044 2012-05-22  Alan Modra  <amodra@gmail.com>
1045
1046         * elflink.c (bfd_elf_discard_info): Look for next .eh_frame if
1047         first one is zero size or discarded.
1048         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Set most of
1049         glink_eh_frame contents here..
1050         (ppc_elf_finish_dynamic_sections): ..rather than here.  Just set
1051         offset to .glink.
1052
1053 2012-05-22  H.J. Lu  <hongjiu.lu@intel.com>
1054
1055         PR ld/13909
1056         * elf32-i386.c (elf_i386_create_dynamic_sections): Create PLT
1057         eh_frame section if there is an input .eh_frame section.
1058         * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise.
1059
1060 2012-05-22  H.J. Lu  <hongjiu.lu@intel.com>
1061
1062         PR ld/14105
1063         * elf32-i386.c (elf_i386_create_dynamic_sections): Always
1064         create PLT eh_frame section with SEC_LINKER_CREATED.
1065         * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise.
1066
1067 2012-05-22  Alan Modra  <amodra@gmail.com>
1068
1069         * elflink.c (bfd_elf_discard_info): Handle multiple .eh_frame
1070         sections attached to a BFD.
1071         * section.c (bfd_get_section_by_name): Rewrite description.
1072         (bfd_get_next_section_by_name): New function.
1073         * bfd-in2.h: Regenerate.
1074
1075 2012-05-21  Andreas Schwab  <schwab@linux-m68k.org>
1076
1077         * elf32-m68k.c (elf_m68k_grok_prstatus): New function.
1078         (elf_m68k_grok_psinfo): New function.
1079         (elf_backend_grok_prstatus): Define.
1080         (elf_backend_grok_psinfo): Define.
1081
1082 2012-05-19  Maciej W. Rozycki  <macro@linux-mips.org>
1083
1084         * elf64-mips.c (elf_backend_got_header_size): Correct definition.
1085         * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Use the ELF
1086         backend's GOT header size instead of hardcoding it.
1087
1088 2012-05-19  Maciej W. Rozycki  <macro@linux-mips.org>
1089
1090         * elf32-vax.c (elf_vax_relocate_section)
1091         <R_VAX_8, R_VAX_16, R_VAX_32>: Don't check if info->shared again.
1092
1093 2012-05-19  Maciej W. Rozycki  <macro@linux-mips.org>
1094
1095         * elf32-vax.c (elf_vax_relocate_section)
1096         <R_VAX_8, R_VAX_16, R_VAX_32>: Use section flags rather than
1097         its name as the check for text sections.
1098
1099 2012-05-19  Maciej W. Rozycki  <macro@linux-mips.org>
1100
1101         * elf64-mips.c (mips_elf64_be_swap_reloc_out): Also make sure
1102         the third reloc offset is the same as the first.
1103
1104 2012-05-19  Alan Modra  <amodra@gmail.com>
1105
1106         * elf32-ppc.h (has_vle_insns, is_ppc_vle): Delete.
1107         (has_tls_reloc, has_tls_get_addr_call): Move back to..
1108         * elf32-ppc.c: ..here.
1109         (ppc_elf_section_flags, elf_backend_section_flags): Delete.
1110         (ppc_elf_modify_segment_map): Use ELF sh_flags to detect VLE sections.
1111
1112 2012-05-18  H.J. Lu  <hongjiu.lu@intel.com>
1113
1114         * elf32-i386.c (elf_i386_finish_dynamic_symbol): Don't make
1115         _DYNAMIC nor _GLOBAL_OFFSET_TABLE_ absolute.
1116         * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
1117
1118 2012-05-18  Roland McGrath  <mcgrathr@google.com>
1119
1120         * archive.c (_bfd_generic_read_ar_hdr_mag): Fix last change so as
1121         not to clobber the ar_fmag field stored in ARED->arch_header.
1122
1123 2012-05-18  Pedro Alves  <palves@redhat.com>
1124
1125         * mach-o.h: Don't include sysdep.h.
1126
1127 2012-05-18  Nick Clifton  <nickc@redhat.com>
1128
1129         PR 14072
1130         * bfd-in.h: Check for PACKAGE or PACKAGE_VERSION before
1131         complaining about config.h not having been included.
1132         * bfd-in2.h: Regenerate.
1133
1134 2012-05-18  Andreas Schwab  <schwab@linux-m68k.org>
1135
1136         * aclocal.m4: Regenerate.
1137         * Makefile.in: Regenerate.
1138
1139 2012-05-17  Daniel Richard G.  <skunk@iskunk.org>
1140             Nick Clifton  <nickc@redhat.com>
1141
1142         PR 14072
1143         * configure.in: Add check that sysdep.h has been included before
1144         any system header files.
1145         * configure: Regenerate.
1146         * config.in: Regenerate.
1147         * aclocal.m4: Regenerate.
1148         * bfd-in.h: Generate an error if included before config.h.
1149         * sysdep.h: Likewise.
1150         * bfd-in2.h: Regenerate.
1151         * compress.c: Remove #include "config.h".
1152         * plugin.c: Likewise.
1153         * elf32-m68hc1x.c: Include sysdep.h before alloca-conf.h.
1154         * elf64-hppa.c: Likewise.
1155         * som.c: Likewise.
1156         * xsymc.c: Likewise.
1157
1158 2012-05-17  Maciej W. Rozycki  <macro@linux-mips.org>
1159             Alan Modra  <amodra@gmail.com>
1160
1161         * elf.c (ignore_section_sym): Correct comment.  Don't return
1162         true for absolute section.
1163         (elf_map_symbols): Move stray comment.  Adjust for above change.
1164         Don't discard global section symbols.
1165
1166 2012-05-17  Alan Modra  <amodra@gmail.com>
1167
1168         * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Don't make _DYNAMIC,
1169         _GLOBAL_OFFSET_TABLE_ or _PROCEDURE_LINKAGE_TABLE_ absolute.
1170         * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Don't make _DYNAMIC
1171         absolute.
1172
1173 2012-05-17  Alan Modra  <amodra@gmail.com>
1174
1175         * elf32-ppc.c (has_tls_reloc, has_tls_get_addr_call, has_vle_insns,
1176         is_ppc_vle): Move to..
1177         * elf32-ppc.h: ..here, making is_ppc_vle a macro.
1178
1179 2012-05-16  Sergio Durigan Junior  <sergiodj@redhat.com>
1180
1181         * bfd-in.h (bfd_get_section_name, bfd_get_section_vma,
1182         bfd_get_section_lma, bfd_get_section_alignment,
1183         bfd_get_section_flags, bfd_get_section_userdata): Rewrite macros
1184         in order to use the `bfd' argument.
1185         * bfd-in2.h: Regenerate.
1186         * elf-vxworks.c (elf_vxworks_finish_dynamic_entry): Pass proper `bfd'
1187         as the first argument for `bfd_get_section_alignment'.
1188         * elf32-arm.c (create_ifunc_sections): Likewise, for
1189         `bfd_set_section_alignment'.
1190         * elf32-m32r.c (m32r_elf_relocate_section): Likewise, for
1191         `bfd_get_section_name'.
1192         * elf32-microblaze.c (microblaze_elf_relocate_section): Likewise.
1193         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
1194         (ppc_elf_relocate_section): Likewise.
1195         * elf64-mmix.c (mmix_final_link_relocate): Likewise, for
1196         `bfd_get_section_vma'.
1197         * elf64-ppc.c (create_linkage_sections): Likewise, for
1198         `bfd_set_section_alignment'.
1199
1200 2012-05-16  Georg-Johann Lay  <avr@gjlay.de>
1201
1202         PR target/13503
1203         * reloc.c: Rename BFD_RELOC_AVR_8_HHI to BFD_RELOC_AVR_8_HLO.
1204         * bfd-in2.h: Regenerate.
1205         * libbfd.h: Regenrate.
1206         * elf32-avr.c (elf_avr_howto_table): Rename R_AVR_8_HHI8 to
1207         R_AVR_8_HLO8.
1208         (avr_reloc_map): Likewise.
1209
1210 2012-05-16  Daniel Richard G.  <skunk@iskunk.org>
1211
1212         PR binutils/13558
1213         * bfd/aout-cris.c: Include sysdep.h before bfd.h.
1214         * bfd/aout-ns32k.c: Likewise.
1215         * bfd/aout-sparcle.c: Likewise.
1216         * bfd/aout0.c: Likewise.
1217         * bfd/bfd-in2.h: Likewise.
1218         * bfd/coff-stgo32.c: Likewise.
1219         * bfd/cpu-lm32.c: Likewise.
1220         * bfd/cpu-microblaze.c: Likewise.
1221         * bfd/cpu-score.c: Likewise.
1222         * bfd/cpu-tilegx.c: Likewise.
1223         * bfd/cpu-tilepro.c: Likewise.
1224         * bfd/elf32-lm32.c: Likewise.
1225         * bfd/elf32-microblaze.c: Likewise.
1226         * bfd/elf32-score7.c: Likewise.
1227         * bfd/elf32-tilepro.c: Likewise.
1228         * bfd/elfxx-tilegx.c: Likewise.
1229         * bfd/mach-o.h: Likewise.
1230         * bfd/nlm32-ppc.c: Likewise.
1231         * bfd/ns32knetbsd.c: Likewise.
1232         * bfd/pef.h: Likewise.
1233         * bfd/plugin.c: Likewise.
1234         * bfd/stab-syms.c: Likewise.
1235         * bfd/sunos.c: Likewise.
1236         * bfd/syms.c: Likewise.
1237         * bfd/xsym.h: Likewise.
1238
1239 2012-05-16  Alan Modra  <amodra@gmail.com>
1240
1241         * elflink.c: Rename flaginfo to flinfo throughout, except..
1242         (bfd_elf_lookup_section_flags): ..here, rename finfo to flaginfo.
1243         Formatting, style.  Simplify flag match.
1244
1245 2012-05-16  Alan Modra  <amodra@gmail.com>
1246
1247         * dwarf2.c: Formatting.
1248         (arange_add): Pass in unit rather than bfd.  Update callers.
1249         Ignore empty ranges.  Don't ask for cleared memory.
1250         (parse_comp_unit): Only set unit->base_address if processing
1251         DW_TAG_compile_unit.
1252         (find_debug_info): Optimise section lookup.
1253         (place_sections): Use bfd_alloc for stash->adjusted_sections.
1254         (find_line): Match previously parsed comp unit addresses as we
1255         do for newly parsed comp units.
1256
1257 2012-05-16  Alan Modra  <amodra@gmail.com>
1258
1259         * archive.c (_bfd_generic_read_ar_hdr_mag):  Ensure sscanf
1260         stops at end of ar_size field.
1261
1262 2012-05-16  Alan Modra  <amodra@gmail.com>
1263
1264         PR ld/13962
1265         PR ld/7023
1266         * elf.c (bfd_section_from_shdr): Fail when .dynsym sh_info is
1267         out of range.  As a special case, fix sh_info for zero sh_size.
1268         Do the same for .symtab.
1269
1270 2012-05-15  James Murray <jsm@jsm-net.demon.co.uk>
1271             Stephane Carrez <stcarrez@nerim.fr>
1272
1273         * archures.c: Add bfd_arch_m9s12x and bfd_arch_m9s12xg.
1274         * config.bfd: Likewise.
1275         * cpu-m9s12x.c: New.
1276         * cpu-m9s12xg.c: New.
1277         * elf32-m68hc12.c: Add S12X and XGATE co-processor support.
1278         Add option to offset S12 addresses into XGATE memory space.
1279         Fix carry bug in IMM16 (IMM8 low/high) relocate.
1280         * Makefile.am (ALL_MACHINES): Add cpu-m9s12x and cpu-m9s12xg.
1281         (ALL_MACHINES_CFILES): Likewise.
1282         * reloc.c: Add S12X relocs.
1283         * Makefile.in: Regenerate.
1284         * bfd-in2.h: Regenerate.
1285         * libbfd.h: Regenerate.
1286
1287 2012-05-14  James Lemke  <jwlemke@codesourcery.com>
1288             Catherine Moore  <clm@codesourcery.com>
1289
1290         * bfd.c (bfd_lookup_section_flags): Add section parm.
1291         * ecoff.c (bfd_debug_section): Remove flag_info initializer.
1292         * elf-bfd.h (bfd_elf_section_data): Move in section_flag_info.
1293         (bfd_elf_lookup_section_flags): Add section parm.
1294         * elf32-ppc.c (is_ppc_vle): New function.
1295         (ppc_elf_modify_segment_map): New function.
1296         (elf_backend_modify_segment_map): Define.
1297         (has_vle_insns): New define.
1298         * elf32-ppc.h (ppc_elf_modify_segment_map): Declare.
1299         * elflink.c (bfd_elf_lookup_section_flags): Add return value & parm.
1300         Move in logic to omit / include a section.
1301         * libbfd-in.h (bfd_link_info): Add section parm.
1302         (bfd_generic_lookup_section_flags): Likewise.
1303         * reloc.c (bfd_generic_lookup_section_flags): Likewise.
1304         * section.c (bfd_section): Move out section_flag_info.
1305         (BFD_FAKE_SECTION): Remove flag_info initializer.
1306         * targets.c (_bfd_lookup_section_flags): Add section parm.
1307
1308 2012-05-14  Catherine Moore  <clm@codesourcery.com>
1309
1310         * archures.c (bfd_mach_ppc_vle): New.
1311         * bfd-in2.h: Regenerated.
1312         * cpu-powerpc.c (bfd_powerpc_archs): New entry for vle.
1313         * elf32-ppc.c (split16_format_type): New enumeration.
1314         (ppc_elf_vle_split16): New function.
1315         (HOWTO): Add entries for R_PPC_VLE relocations.
1316         (ppc_elf_reloc_type_lookup): Handle PPC_VLE relocations.
1317         (ppc_elf_section_flags): New function.
1318         (ppc_elf_lookup_section_flags): New function.
1319         (ppc_elf_section_processing): New function.
1320         (ppc_elf_check_relocs): Handle PPC_VLE relocations.
1321         (ppc_elf_relocation_section): Likewise.
1322         (elf_backend_lookup_section_flags_hook): Define.
1323         (elf_backend_section_flags): Define.
1324         (elf_backend_section_processing): Define.
1325         * elf32-ppc.h (ppc_elf_section_processing): Declare.
1326         * libbfd.h: Regenerated.
1327         * reloc.c (BFD_RELOC_PPC_VLE_REL8, BFD_RELOC_PPC_VLE_REL15,
1328         BFD_RELOC_PPC_VLE_REL24, BFD_RELOC_PPC_VLE_LO16A,
1329         BFD_RELOC_PPC_VLE_LO16D, BFD_RELOC_PPC_VLE_HI16A,
1330         BFD_RELOC_PPC_VLE_HI16D, BFD_RELOC_PPC_VLE_HA16A,
1331         BFD_RELOC_PPC_VLE_HA16D, BFD_RELOC_PPC_VLE_SDA21,
1332         BFD_RELOC_PPC_VLE_SDA21_LO, BFD_RELOC_PPC_VLE_SDAREL_LO16A,
1333         BFD_RELOC_PPC_VLE_SDAREL_LO16D, BFD_RELOC_PPC_VLE_SDAREL_HI16A,
1334         BFD_RELOC_PPC_VLE_SDAREL_HI16D, BFD_RELOC_PPC_VLE_SDAREL_HA16A,
1335         BFD_RELOC_PPC_VLE_SDAREL_HA16D): New bfd relocations.
1336
1337 2012-05-11  Georg-Johann Lay  <avr@gjlay.de>
1338
1339         PR target/13503
1340         * reloc.c: Add new ENUM for BFD_RELOC_AVR_8_LO,
1341         BFD_RELOC_AVR_8_HI, BFD_RELOC_AVR_8_HHI.
1342         * bfd-in2.h: Regenerate.
1343         * libbfd.h: Regenrate.
1344         * elf32-avr.c (elf_avr_howto_table): Add entries for
1345         R_AVR_8_LO8, R_AVR_8_HI8, R_AVR_8_HHI8.
1346         (avr_reloc_map): Add RELOC mappings for R_AVR_8_LO8, R_AVR_8_HI8,
1347         R_AVR_8_HHI8.
1348
1349 2012-05-10  H.J. Lu  <hongjiu.lu@intel.com>
1350
1351         * elf64-x86-64.c (elf_x86_64_relocate_section): Use int in x32
1352         addend overflow check.
1353
1354 2012-05-10  DJ Delorie  <dj@redhat.com>
1355
1356         * elf32-rx.c (rx_elf_object_p): Ignore empty segments.
1357
1358 2012-05-10  H.J. Lu  <hongjiu.lu@intel.com>
1359
1360         * elf64-x86-64.c (elf_x86_64_relocate_section): Display signed
1361         hex number in x32 addend overflow check.
1362
1363 2012-05-10  H.J. Lu  <hongjiu.lu@intel.com>
1364
1365         * elf64-x86-64.c (elf_x86_64_reloc_type_class): Handle
1366         R_X86_64_RELATIVE64.
1367
1368 2012-05-09  H.J. Lu  <hongjiu.lu@intel.com>
1369
1370         * elf64-x86-64.c (elf_x86_64_relocate_section): Check addend
1371         overflow for R_X86_64_RELATIVE64.
1372
1373 2012-05-08  Ben Cheng  <bccheng@google.com>
1374
1375         * elf.c: Preserve the original p_align and p_flags if they are
1376         valid.
1377
1378 2012-05-07  Alan Modra  <amodra@gmail.com>
1379
1380         * elf64-ia64-vms.c (elf64_ia64_relocate_section): Update
1381         RELOC_AGAINST_DISCARDED_SECTION invocation.
1382
1383 2012-05-07  Hans-Peter Nilsson  <hp@axis.com>
1384
1385         * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Declare and use
1386         local variable i_ instead of assuming and using a variable i.
1387
1388 2012-05-07  Maciej W. Rozycki  <macro@linux-mips.org>
1389
1390         * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Handle compound
1391         relocations.
1392         * elfxx-mips.c (mips_reloc_against_discarded_section): New
1393         function.
1394         (_bfd_mips_elf_relocate_section): Call it, in place of
1395         RELOC_AGAINST_DISCARDED_SECTION.
1396         * elf-m10200.c (mn10200_elf_relocate_section): Update arguments
1397         to RELOC_AGAINST_DISCARDED_SECTION.
1398         * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
1399         * elf32-arm.c (elf32_arm_relocate_section): Likewise.
1400         * elf32-avr.c (elf32_avr_relocate_section): Likewise.
1401         * elf32-bfin.c (bfin_relocate_section): Likewise.
1402         (bfinfdpic_relocate_section): Likewise.
1403         * elf32-cr16.c (elf32_cr16_relocate_section): Likewise.
1404         * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
1405         * elf32-cris.c (cris_elf_relocate_section): Likewise.
1406         * elf32-crx.c (elf32_crx_relocate_section): Likewise.
1407         * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
1408         * elf32-epiphany.c (epiphany_elf_relocate_section): Likewise.
1409         * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
1410         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1411         * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
1412         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
1413         * elf32-i370.c (i370_elf_relocate_section): Likewise.
1414         * elf32-i386.c (elf_i386_relocate_section): Likewise.
1415         * elf32-i860.c (elf32_i860_relocate_section): Likewise.
1416         * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
1417         * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
1418         * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
1419         * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
1420         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
1421         * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
1422         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1423         * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
1424         * elf32-mep.c (mep_elf_relocate_section): Likewise.
1425         * elf32-moxie.c (moxie_elf_relocate_section): Likewise.
1426         * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
1427         * elf32-mt.c (mt_elf_relocate_section): Likewise.
1428         * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
1429         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1430         * elf32-rl78.c (rl78_elf_relocate_section): Likewise.
1431         * elf32-rx.c (rx_elf_relocate_section): Likewise.
1432         * elf32-s390.c (elf_s390_relocate_section): Likewise.
1433         * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
1434         * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
1435         * elf32-sh.c (sh_elf_relocate_section): Likewise.
1436         * elf32-spu.c (spu_elf_relocate_section): Likewise.
1437         * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
1438         * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
1439         * elf32-v850.c (v850_elf_relocate_section): Likewise.
1440         * elf32-vax.c (elf_vax_relocate_section): Likewise.
1441         * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
1442         * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
1443         * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
1444         * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
1445         (elf64_alpha_relocate_section): Likewise.
1446         * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
1447         * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
1448         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1449         * elf64-s390.c (elf_s390_relocate_section): Likewise.
1450         * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
1451         * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
1452         * elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise.
1453         * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
1454         * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
1455
1456 2012-05-05  Alan Modra  <amodra@gmail.com>
1457
1458         PR ld/14052
1459         PR ld/13621
1460         * linker.c (_bfd_nearby_section): Revert 2012-02-13 change.
1461
1462 2012-05-05  Alan Modra  <amodra@gmail.com>
1463
1464         * aout-arm.c: Replace all uses of bfd_abs_section, bfd_com_section,
1465         bfd_und_section and bfd_ind_section with their _ptr variants, or
1466         use corresponding bfd_is_* macros.
1467         * aout-ns32k.c: Likewise.
1468         * aout-tic30.c: Likewise.
1469         * coff-arm.c: Likewise.
1470         * coff-tic54x.c: Likewise.
1471         * cpu-ns32k.c: Likewise.
1472         * elf-attrs.c: Likewise.
1473         * elfcode.h: Likewise.
1474         * peicode.h: Likewise.
1475         * reloc.c: Likewise.
1476         * riscix.c: Likewise.
1477         * versados.c: Likewise.
1478         * section.c: Likewise.
1479         (bfd_abs_section, bfd_ind_section, bfd_com_section,
1480         bfd_ind_section): Delete.
1481         (std_section): New array replacing above.
1482         (bfd_abs_section_ptr, bfd_ind_section_ptr, bfd_com_section_ptr,
1483         bfd_ind_section_ptr, STD_SECTION): Update.
1484         (BFD_FAKE_SECTION, GLOBAL_SYM_INIT): Remove unnecessary casts.
1485         * bfd-in2.h: Regenerate.
1486
1487 2012-05-03  Sean Keys  <skeys@ipdatasys.com>
1488
1489         * cpu-xgate.c: New file. Added XGATE support.
1490         * archures.c (bfd_architecture): Add XGATE architecture.
1491         (bfd_archures_list): Add reference to XGATE architecture info.
1492         * elf-bfd.h (prep_headers): Handle bfd_arch_xgate.
1493         * reloc.c: Add various XGATE relocation enums.
1494         * targets.c (bfd_elf32_xgate_vec): Declare and add to target vector
1495         list.
1496         * Makefile.am: Add support for XGATE elf.
1497         * configure.in: Ditto.
1498         * config.bfd: Ditto.
1499         * Makefile.in: Regenerate.
1500         * configure: Ditto.
1501         * bfd-in2.h: Ditto.
1502         * libbfd.h: Ditto.
1503         Added files for XGATE relocations.
1504         * elf32-xgate.c: Created minimal relocation file.
1505         * elf32-xgate.h: Created minimal header file for elf32-xgate.
1506
1507 2012-05-03  Tristan Gingold  <gingold@adacore.com>
1508
1509         * dwarf2.c (decode_line_info): Ignore
1510         DW_LNE_HP_source_file_correlation.
1511
1512 2012-05-01  Nick Clifton  <nickc@redhat.com>
1513
1514         PR binutils/13121
1515         * aoutx.h: Rename 'finfo' to 'flaginfo' to avoid conflicts with
1516         AIX system headers.
1517         * coff-ppc.c: Likewise.
1518         * cofflink.c: Likewise.
1519         * elf32-arm.c: Likewise.
1520         * elf64-sparc.c: Likewise.
1521         * elflink.c: Likewise.
1522         * pdp11.c: Likewise.
1523         * rescoff.c: Likewise.
1524
1525 2012-04-26  Mark Wielaard  <mjw@redhat.com>
1526
1527         * dwarf2.c (scan_unit_for_symbols): Account for DW_AT_high_pc
1528         possibly being relative to DW_AT_low_pc.
1529         (parse_comp_unit): Likewise.
1530
1531 2012-04-26  Andreas Schwab  <schwab@linux-m68k.org>
1532
1533         * elf32-m68k.c (elf_m68k_check_relocs): Mark non-GOT references
1534         also when generating PIE.
1535         (elf_m68k_discard_copies): Mark undefined weak symbols referenced
1536         by relocations as dynamic.
1537
1538 2012-04-26  Hans-Peter Nilsson  <hp@axis.com>
1539
1540         Provide a way for programs to recognize BFD_ASSERT calls.
1541         * bfd.c (bfd_assert_handler_type): New API type.
1542         (bfd_set_assert_handler, bfd_get_assert_handler): New API functions.
1543         (_bfd_assert_handler): New variable.
1544         (_bfd_default_assert_handler): New function.
1545         (bfd_assert): Call _bfd_assert_handler, not _bfd_error_handler.
1546         * libbfd-in.h (_bfd_assert_handler): Declare.
1547         * libbfd.h, bfd-in2.h: Regenerate.
1548
1549 2012-04-24  Hans-Peter Nilsson  <hp@axis.com>
1550
1551         PR ld/13990
1552         * elf32-arm.c (elf32_arm_gc_sweep_hook): Handle a forced-local
1553         symbol, where PLT refcount is set to -1.
1554
1555 2012-04-24  Alan Modra  <amodra@gmail.com>
1556
1557         PR ld/13991
1558         * elf-bfd.h (_bfd_elf_link_just_syms): Define as
1559         _bfd_generic_link_just_syms.
1560         * elflink.c (_bfd_elf_link_just_syms): Delete.
1561         * linker.c (_bfd_generic_link_just_syms): Set sec_info_type.
1562
1563         * bfd-in.h (discarded_section): Renamed from elf_discarded_section.
1564         * section.c (SEC_INFO_TYPE_NONE, SEC_INFO_TYPE_STABS,
1565         SEC_INFO_TYPE_MERGE, SEC_INFO_TYPE_EH_FRAME,
1566         SEC_INFO_TYPE_JUST_SYMS): Renamed from corresponding ELF_INFO_TYPE.
1567         * elf-eh-frame.c, * elf-m10200.c, * elf-m10300.c,
1568         * elf.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c,
1569         * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c,
1570         * elf32-crx.c, * elf32-d10v.c, * elf32-epiphany.c,
1571         * elf32-fr30.c, * elf32-frv.c, * elf32-h8300.c,
1572         * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c,
1573         * elf32-i860.c, * elf32-ip2k.c, * elf32-iq2000.c,
1574         * elf32-lm32.c, * elf32-m32c.c, * elf32-m32r.c,
1575         * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-mcore.c,
1576         * elf32-mep.c, * elf32-moxie.c, * elf32-msp430.c,
1577         * elf32-mt.c, * elf32-openrisc.c, * elf32-ppc.c,
1578         * elf32-rl78.c, * elf32-rx.c, * elf32-s390.c,
1579         * elf32-score.c, * elf32-score7.c, * elf32-sh.c,
1580         * elf32-spu.c, * elf32-tic6x.c, * elf32-tilepro.c,
1581         * elf32-v850.c, * elf32-vax.c, * elf32-xc16x.c,
1582         * elf32-xstormy16.c, * elf32-xtensa.c, * elf64-alpha.c,
1583         * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mmix.c,
1584         * elf64-ppc.c, * elf64-s390.c, * elf64-sh64.c,
1585         * elf64-x86-64.c, * elflink.c, * elfnn-ia64.c,
1586         * elfxx-mips.c, * elfxx-sparc.c, * elfxx-tilegx.c,
1587         * reloc.c: Update all references.
1588         * bfd-in2.h: Regenerate.
1589
1590 2012-04-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1591
1592         * elf32-s390.c (ELF_DYNAMIC_INTERPRETER): Set to the GCC default.
1593         * elf64-s390.c (ELF_DYNAMIC_INTERPRETER): Set to the GCC default.
1594
1595 2012-04-19  Thomas Schwinge  <thomas@codesourcery.com>
1596
1597         * elf32-sh.c (elf_sh_link_hash_entry): Specify an enum identifier for
1598         got_type.
1599         (allocate_dynrelocs, sh_elf_relocate_section, sh_elf_check_relocs): Use
1600         it.
1601
1602 2012-04-17  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1603
1604         * elf32-sh.c (allocate_dynrelocs): Don't allocate dynamic
1605         relocations when LE conversion happens on the IE tls symbol.
1606
1607 2012-04-17  Roland McGrath  <mcgrathr@google.com>
1608
1609         * elf64-x86-64.c (elf_x86_64_nacl_plt0_entry): Fix nop padding
1610         so that 32-byte boundary is a proper instruction boundary.
1611
1612 2012-04-17  Tristan Gingold  <gingold@adacore.com>
1613
1614         * vms-lib.c (_bfd_vms_lib_get_module): Append .obj extension to
1615         member of an object archive.<
1616
1617 2012-04-17  Tristan Gingold  <gingold@adacore.com>
1618
1619         * vms-lib.c (MAX_EKEYLEN): Define.
1620         (MAX_KEYLEN): Fix value.
1621         (vms_write_index): Add comments and fix indentation.
1622         Adjust comparaison.  Add assertions.  Free kbn_blk.
1623         (_bfd_vms_lib_write_archive_contents): Use MAX_EKEYLEN.
1624         Compense MAX_KEYLEN adjustment.
1625
1626 2012-04-16  Maciej W. Rozycki  <macro@linux-mips.org>
1627
1628         * elfxx-mips.c (mips16_stub_symndx): Handle n64 compound relocs.
1629         (_bfd_mips_elf_check_relocs): Update accordingly.
1630
1631 2012-04-13  Alan Modra  <amodra@gmail.com>
1632
1633         PR ld/13947
1634         * elflink.c (bfd_elf_final_link): Set reloc_count to 0 for
1635         reloc sections.
1636
1637 2012-04-12  David S. Miller  <davem@davemloft.net>
1638
1639         * reloc.c (BFD_RELOC_SPARC_H34, BFD_RELOC_SPARC_SIZE32,
1640         BFD_RELOC_SPARC_SIZE64, BFD_RELOC_SPARC_WDISP10): New relocs.
1641         * libbfd.h: Regenerate.
1642         * bfd-in2.h: Likewise.
1643         * elfxx-sparc.c (sparc_elf_wdisp10_reloc): New function.
1644         (_bfd_sparc_elf_howto_table): Add entries for R_SPARC_H34,
1645         R_SPARC_SIZE32, R_SPARC_64, and R_SPARC_WDISP10.
1646         (_bfd_sparc_elf_reloc_type_lookup): Handle new relocs.
1647         (_bfd_sparc_elf_check_relocs): Likewise.
1648         (_bfd_sparc_elf_gc_sweep_hook): Likewise.
1649         (_bfd_sparc_elf_relocate_section): Likewise.
1650
1651 2012-04-12  Roland McGrath  <mcgrathr@google.com>
1652
1653         * elf32-arm.c (elf32_arm_nacl_plt0_entry, elf32_arm_nacl_plt_entry):
1654         New variables.
1655         (struct elf32_arm_link_hash_table): New member `nacl_p'.
1656         (elf32_arm_link_hash_table_create): Initialize it.
1657         (elf32_arm_nacl_link_hash_table_create): New function.
1658         (arm_movw_immediate, arm_movt_immediate): New functions.
1659         (elf32_arm_populate_plt_entry): Test HTAB->nacl_p.
1660         (elf32_arm_finish_dynamic_sections): Likewise.
1661         (elf32_arm_output_plt_map_1): Likewise.
1662         (bfd_elf32_littlearm_nacl_vec, bfd_elf32_bigarm_nacl_vec):
1663         New backend vector stanza.
1664         (elf32_arm_nacl_modify_segment_map): New function.
1665         * config.bfd: Handle arm-*-nacl*, armeb-*-nacl*.
1666         * targets.c: Support bfd_elf32_{big,little}_nacl_vec.
1667         * configure.in: Likewise.
1668         (bfd_elf32_bigarm_nacl_vec): Add elf-nacl.lo here.
1669         (bfd_elf32_littlearm_nacl_vec): Likewise.
1670         (bfd_elf32_bigarm_vec, bfd_elf32_littlearm_vec): Likewise.
1671         (bfd_elf32_bigarm_symbian_vec): Likewise.
1672         (bfd_elf32_littlearm_symbian_vec): Likewise.
1673         (bfd_elf32_bigarm_vxworks_vec): Likewise.
1674         (bfd_elf32_littlearm_vxworks_vec): Likewise.
1675         * configure: Regenerated.
1676
1677 2012-04-12  Tristan Gingold  <gingold@adacore.com>
1678
1679         * elflink.c (elf_link_output_extsym): Add a guard.
1680         (bfd_elf_final_link): Remove assertion.
1681         (bfd_elf_final_link): Add a guard.
1682         * elfnn-ia64.c (INCLUDE_IA64_VMS): Removed.
1683         (elfNN_vms_section_from_shdr, elfNN_vms_object_p)
1684         (elfNN_vms_post_process_headers, elfNN_vms_section_processing)
1685         (elfNN_vms_final_write_processing, elfNN_vms_close_and_cleanup):
1686         Remove.
1687         (elfNN-ia64-vms target): Move to ...
1688         * elf64-ia64-vms.c: New file.
1689         * configure.in (bfd_elf64_ia64_vms_vec): Add elf64-ia64-vms.lo
1690         * Makefile.am (BFD64_BACKENDS): Add elf64-ia64-vms.lo.
1691         (BFD64_BACKENDS_CFILES): Ad elf64-ia64-vms.c.
1692         * configure: Regenerate.
1693         * Makefile.in: Regenerate.
1694
1695 2012-04-11  Nick Clifton  <nickc@redhat.com>
1696
1697         PR binutils/13897
1698         * elf64-ppc.c (opd_entry_value): When dealing with sections
1699         without relocs, keep the last section loaded in order to avoid
1700         unnecessary reloads.
1701
1702 2012-04-09  Roland McGrath  <mcgrathr@google.com>
1703
1704         * elf.c (_bfd_elf_map_sections_to_segments): Set INFO->user_phdrs.
1705         * elf-nacl.c (nacl_modify_segment_map): Do nothing if INFO->user_phdrs.
1706         (nacl_modify_program_headers): Likewise.
1707
1708 2012-04-03  Roland McGrath  <mcgrathr@google.com>
1709
1710         * elf-nacl.c: New file.
1711         * elf-nacl.h: New file.
1712         * elf32-i386.c (elf_backend_modify_segment_map): Define for
1713         bfd_elf32_i386_nacl_vec.
1714         (elf_backend_modify_program_headers): Likewise.
1715         * elf64-x86-64.c (elf_backend_modify_segment_map): Define for
1716         bfd_elf64_x86_64_nacl_vec and bfd_elf32_x86_64_nacl_vec.
1717         (elf_backend_modify_program_headers): Likewise.
1718         * Makefile.am (BFD32_BACKENDS, BFD64_BACKENDS): Add elf-nacl.lo here.
1719         (BFD32_BACKENDS_CFILES, BFD64_BACKENDS_CFILES): Add elf-nacl.c here.
1720         * Makefile.in: Regenerated.
1721         * configure.in (bfd_elf64_x86_64_nacl_vec): Add elf-nacl.o to tb here.
1722         (bfd_elf32_x86_64_nacl_vec): Likewise.
1723         (bfd_elf64_x86_64_vec, bfd_elf32_x86_64_vec): Likewise.
1724         (bfd_elf64_x86_64_freebsd_vec, bfd_elf64_x86_64_sol2_vec): Likewise.
1725         (bfd_elf64_l1om_vec, bfd_elf64_l1om_freebsd_vec): Likewise.
1726         (bfd_elf64_k1om_vec, bfd_elf64_k1om_freebsd_vec): Likewise.
1727         (bfd_elf32_i386_nacl_vec): Likewise.
1728         (bfd_elf32_i386_sol2_vec, bfd_elf32_i386_freebsd_vec): Likewise.
1729         (bfd_elf32_i386_vxworks_vec, bfd_elf32_i386_vec): Likewise.
1730         * configure: Regenerated.
1731
1732 2012-03-31  Andreas Schwab  <schwab@linux-m68k.org>
1733
1734         * elf32-m68k.c (elf_m68k_relocate_section): Allow
1735         R_68K_TLS_LE{8,16,32} for PIE.
1736
1737 2012-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1738
1739         * elf64-s390.c: Fix several comments regarding PLT entry
1740         description.
1741         * elf32-s390.c: Likewise.
1742
1743 2012-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1744
1745         * elf64-s390.c: Use the section pointer shortcuts in
1746         elf_link_hash_table and remove them from the target specific
1747         variant.
1748         * elf32-s390.c: Likewise.
1749
1750 2012-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1751
1752         * elf64-s390.c (elf_s390x_plt_entry, elf_s390x_first_plt_entry):
1753         New definitions.
1754         (PLT_PIC_ENTRY_WORD*, PLT_PIC12_ENTRY_WORD*): Remove.
1755         (elf_s390_finish_dynamic_symbol): Use memcpy instead of bfd_put_32.
1756         (elf_s390_finish_dynamic_sections): Likewise.
1757         * elf32-s390.c (elf_s390_plt_entry, elf_s390_plt_pic_entry)
1758         (elf_s390_plt_pic12_entry, elf_s390_plt_pic16_entry)
1759         (elf_s390_plt_first_entry, elf_s390_plt_pic_first_entry): New definitions.
1760         (PLT_PIC16_ENTRY_WORD*, PLT_ENTRY_WORD*)
1761         (PLT_PIC_FIRST_ENTRY_WORD*, PLT_FIRST_ENTRY_WORD*): Remove.
1762
1763 2012-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1764
1765         * elf32-s390.c (struct elf_s390_dyn_relocs): Remove.
1766         Rename all occurrences in the file to elf_dyn_relocs.
1767         * elf64-s390.c: Likewise.
1768
1769 2012-03-30  Alan Modra  <amodra@gmail.com>
1770
1771         * elflink.c (_bfd_elf_gc_mark_reloc): Don't delve into dynamic
1772         libraries.
1773
1774 2012-03-29  Alan Modra  <amodra@gmail.com>
1775
1776         * bfd-in.h (bfd_get_arch_size, bfd_get_sign_extend_vma): Delete.
1777         * bfd-in2.h: Regenerate.
1778
1779 2012-03-23  Alan Modra  <amodra@gmail.com>
1780
1781         * elf.c (assign_file_positions_for_non_load_sections): Don't warn
1782         on empty alloc sections.
1783
1784 2012-03-23  Alan Modra  <amodra@gmail.com>
1785
1786         * linker.c (_bfd_nearby_section): New function, split out from..
1787         (fix_syms): ..here.
1788         * bfd-in.h (_bfd_nearby_section): Declare.
1789         * bfd-in2.h: Regenerate.
1790         * elflink.c (elf_link_input_bfd): Don't use text_index_section or
1791         data_index_section with ld -q or ld -r output relocs against
1792         stripped output sections.  Instead use _bfd_nearby_section.
1793
1794 2012-03-23  Alan Modra  <amodra@gmail.com>
1795
1796         PR binutils/13894
1797         * elf64-ppc.c (opd_entry_value): Read full symbol table when
1798         sym hashes unavailable.
1799
1800 2012-03-21  Eliot Dresselhaus  <eliot@sonic.net>
1801
1802         * elf32-tic6x.c (elf32_tic6x_merge_private_bfd_data): Return TRUE
1803         for non-C6X objects.
1804
1805 2012-03-20  Kai Tietz  <ktietz@redhat.com>
1806
1807         PR ld/12742
1808         * configure.in (AC_CHECK_HEADERS): Test for windows.h and dlfcn.h.
1809         * plugin.c: Guard include of dlfcn.h if HAVE_DLFCN_H is defined.
1810         Add windows.h header include if HAVE_WINDOWS_H is defined.
1811         (dlerror): New static function if windows variant is used instead
1812         of dlfcn.h.
1813         (dlclose): Likewise.
1814         (dlopen): Likewise.
1815         (dlsym): Likewise.
1816         * configure: Regenerated.
1817         * config.in: Regenerated.
1818
1819 2012-03-20  H.J. Lu  <hongjiu.lu@intel.com>
1820
1821         PR ld/13880
1822         * elf32-i386.c (elf_i386_relocate_section): Don't issue an error
1823         for R_386_GOTOFF relocation against protected function if
1824         SYMBOLIC_BIND is true.
1825
1826         * elf64-x86-64.c (elf_x86_64_relocate_section): Don't issue an
1827         error for R_X86_64_GOTOFF64 relocation against protected function
1828         when building executable or SYMBOLIC_BIND is true.
1829
1830 2012-03-16  Roland McGrath  <mcgrathr@google.com>
1831
1832         * config.bfd: Handle x86_64-*-nacl*.
1833         * elf64-x86-64.c (bfd_elf64_x86_64_nacl_vec): New backend vector stanza.
1834         (bfd_elf32_x86_64_nacl_vec): Likewise.
1835         * targets.c: Support them.
1836         * configure.in: Likewise.
1837         * configure: Regenerated.
1838
1839 2012-03-16  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
1840
1841         * elf32-arm.c (elf32_arm_attributes_accept_div): New function.
1842         (elf32_arm_attributes_forbid_div): Likewise.
1843         (elf32_arm_merge_eabi_attributes): Correct handling of
1844         Tag_DIV_use.
1845
1846 2012-03-15  Roland McGrath  <mcgrathr@google.com>
1847
1848         * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Use
1849         elf_x86_64_backend_data parameters for plt_eh_frame.
1850
1851         * elf64-x86-64.c (struct elf_x86_64_backend_data): New type.
1852         (get_elf_x86_64_backend_data, GET_PLT_ENTRY_SIZE): New macros.
1853         (elf_x86_64_arch_bed): New variable.
1854         (elf_backend_arch_data): New macro.
1855         (elf_x86_64_adjust_dynamic_symbol): Use GET_PLT_ENTRY_SIZE.
1856         (elf_x86_64_allocate_dynrelocs): Likewise.
1857         (elf_x86_64_relocate_section): Likewise.
1858         (elf_x86_64_plt_sym_val): Likewise.
1859         (elf_x86_64_finish_dynamic_symbol): Use elf_x86_64_backend_data
1860         parameters for PLT details.
1861         (elf_x86_64_finish_dynamic_sections): Likewise.
1862
1863 2012-03-14  Roland McGrath  <mcgrathr@google.com>
1864
1865         * elf32-i386.c (elf_i386_nacl_pic_plt0_entry): Initialize up
1866         to the full size, padding out with nop instructions.
1867
1868 2012-03-12  Alan Modra  <amodra@gmail.com>
1869
1870         * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Don't warn
1871         on zero size dynbss symbol.
1872         * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
1873         * elf32-cr16.c (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
1874         * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
1875         * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
1876         * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
1877         * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
1878         * elf32-lm32.c (lm32_elf_adjust_dynamic_symbol): Likewise.
1879         * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
1880         * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
1881         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
1882         * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
1883         * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
1884         * elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol): Likewise.
1885         * elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol): Likewise.
1886         * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
1887         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
1888         * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
1889         * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
1890         * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
1891         * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
1892         * elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol): Likewise.
1893
1894 2012-03-10  Edmar Wienskoski  <edmar@freescale.com>
1895
1896         * archures.c: Add bfd_mach_ppc_e5500 and bfd_mach_ppc_e6500.
1897         * bfd-in2.h: Regenerate.
1898         * cpu-powerpc.c (bfd_powerpc_archs): Add entries for
1899         bfd_mach_ppc_e5500 and bfd_mach_ppc_e6500.
1900
1901 2012-03-09  H.J. Lu  <hongjiu.lu@intel.com>
1902
1903         PR ld/13817
1904         * elf32-i386.c (elf_i386_relocate_section): Restore
1905         R_386_IRELATIVE.
1906
1907         * elf64-x86-64.c (elf_x86_64_relocate_section): Restore
1908         R_X86_64_IRELATIVE.
1909
1910 2012-03-08  Tristan Gingold  <gingold@adacore.com>
1911
1912         * vms-lib.c (_bfd_vms_lib_write_archive_contents): Set maximum
1913         keylen according to archive kind.  Set nextvbn and nextrfa lhd
1914         fields.  Add comments.
1915
1916 2012-03-07  Nick Clifton  <nickc@redhat.com>
1917
1918         * elf-m10300.c (elf32_mn10300_link_hash_entry): Add tls_type
1919         field.
1920         (elf32_mn10300_link_hash_table): Add tls_ldm_got entry;
1921         (elf_mn10300_tdata): Define.
1922         (elf_mn10300_local_got_tls_type): Define.
1923         (elf_mn10300_howto_table): Add entries for R_MN10300_TLS_GD,
1924         R_MN10300_TLS_LD, R_MN10300_TLS_LDO, R_MN10300_TLS_GOTIE,
1925         R_MN10300_TLS_IE, R_MN10300_TLS_LE, R_MN10300_TLS_DPTMOD,
1926         R_MN10300_TLS_DTPOFF, R_MN10300_TLS_TPOFF relocs.
1927         (mn10300_reloc_map): Likewise.
1928         (elf_mn10300_tls_transition): New function.
1929         (dtpoff, tpoff, mn10300_do_tls_transition): New functions.
1930         (mn10300_elf_check_relocs): Add TLS support.
1931         (mn10300_elf_final_link_relocate): Likewise.
1932         (mn10300_elf_relocate_section): Likewise.
1933         (mn10300_elf_relax_section): Likewise.
1934         (elf32_mn10300_link_hash_newfunc): Initialise new field.
1935         (_bfd_mn10300_copy_indirect_symbol): New function.
1936         (elf32_mn10300_link_hash_table_create): Initialise new fields.
1937         (_bfd_mn10300_elf_size_dynamic_sections): Add TLS support.
1938         (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
1939         (_bfd_mn10300_elf_reloc_type_class): Allocate an
1940         elf_mn10300_obj_tdata structure.
1941         (elf_backend_copy_indirect_symbol): Define.
1942         * reloc.c (BFD_MN10300_TLS_GD, BFD_MN10300_TLS_LD,
1943         BFD_MN10300_TLS_LDO, BFD_MN10300_TLS_GOTIE, BFD_MN10300_TLS_IE,
1944         BFD_MN10300_TLS_LE, BFD_MN10300_TLS_DPTMOD,
1945         BFD_MN10300_TLS_DTPOFF, BFD_MN10300_TLS_TPOFF): New relocations.
1946         (BFD_RELOC_MN10300_32_PCREL, BFD_RELOC_MN10300_16_PCREL): Move to
1947         alongside other MN10300 relocations.
1948         * bfd-in2.h: Regenerate.
1949         * libbfd.h: Regenerate.
1950
1951 2012-03-06  Jakub Jelinek  <jakub@redhat.com>
1952
1953         * elf64-x86-64.c (elf_x86_64_relocate_section): For R_X86_64_RELATIVE
1954         set relocate to TRUE.
1955
1956 2012-03-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1957
1958         PR ld/12152
1959         * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Also ignore
1960         overflows for R_SPARC_UA32 in .stab sections.
1961
1962 2012-03-01  Alan Modra  <amodra@gmail.com>
1963
1964         * elfxx-tilegx.c (tilegx_elf_relocate_section): Silence bogus warning.
1965
1966 2012-02-27  Alan Modra  <amodra@gmail.com>
1967
1968         * elf32-sh.c (sh_elf_osec_to_segment): Check for elf flavour bfd
1969         before calling elf specific function.
1970         (sh_elf_osec_readonly_p): Test for error return from above.
1971
1972 2012-02-27  Alan Modra  <amodra@gmail.com>
1973
1974         * elf32-spu.c (build_stub): Fix malloc under-allocation.
1975
1976 2012-02-25  Walter Lee  <walt@tilera.com>
1977         * reloc.c: Add BFD_RELOC_TILEPRO_TLS_GD_CALL,
1978         BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD,
1979         BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD,
1980         BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD,
1981         BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD,
1982         BFD_RELOC_TILEPRO_TLS_IE_LOAD, BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE,
1983         BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE,
1984         BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO,
1985         BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO,
1986         BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI,
1987         BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI,
1988         BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA,
1989         BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA,
1990         BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE,
1991         BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE,
1992         BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE,
1993         BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE,
1994         BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE,
1995         BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE,
1996         BFD_RELOC_TILEGX_TLS_GD_CALL, BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD,
1997         BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD,
1998         BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD,
1999         BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD, BFD_RELOC_TILEGX_TLS_IE_LOAD,
2000         BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD,
2001         BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD,
2002         BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD, BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD.
2003         Delete BFD_RELOC_TILEGX_IMM16_X0_HW1_GOT,
2004         BFD_RELOC_TILEGX_IMM16_X1_HW1_GOT,
2005         BFD_RELOC_TILEGX_IMM16_X0_HW2_GOT,
2006         BFD_RELOC_TILEGX_IMM16_X1_HW2_GOT,
2007         BFD_RELOC_TILEGX_IMM16_X0_HW3_GOT,
2008         BFD_RELOC_TILEGX_IMM16_X1_HW3_GOT,
2009         BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_GOT,
2010         BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_GOT,
2011         BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_GD,
2012         BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_GD,
2013         BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_GD,
2014         BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_GD,
2015         BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_GD,
2016         BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_GD,
2017         BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_GD,
2018         BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_GD,
2019         BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_IE,
2020         BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_IE,
2021         BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_IE,
2022         BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_IE,
2023         BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_IE,
2024         BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_IE,
2025         BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_IE,
2026         BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_IE.
2027         * elf32-tilepro.c (tilepro_elf_howto_table): Update tilepro
2028         relocations.
2029         (tilepro_reloc_map): Ditto.
2030         (tilepro_info_to_howto_rela): Ditto.
2031         (reloc_to_create_func): Ditto.
2032         (tilepro_tls_translate_to_le): New.
2033         (tilepro_tls_translate_to_ie): New.
2034         (tilepro_elf_tls_transition): New.
2035         (tilepro_elf_check_relocs): Handle new tls relocations.
2036         (tilepro_elf_gc_sweep_hook): Ditto.
2037         (allocate_dynrelocs): Ditto.
2038         (tilepro_elf_relocate_section): Ditto.
2039         (tilepro_replace_insn): New.
2040         (insn_mask_X1): New.
2041         (insn_mask_X0_no_dest_no_srca): New
2042         (insn_mask_X1_no_dest_no_srca): New
2043         (insn_mask_Y0_no_dest_no_srca): New
2044         (insn_mask_Y1_no_dest_no_srca): New
2045         (srca_mask_X0): New
2046         (srca_mask_X1): New
2047         (insn_tls_le_move_X1): New
2048         (insn_tls_le_move_zero_X0X1): New
2049         (insn_tls_ie_lw_X1): New
2050         (insn_tls_ie_add_X0X1): New
2051         (insn_tls_ie_add_Y0Y1): New
2052         (insn_tls_gd_add_X0X1): New
2053         (insn_tls_gd_add_Y0Y1): New
2054         * elfxx-tilegx.c (tilegx_elf_howto_table): Update tilegx
2055         relocations.
2056         (tilegx_reloc_map): Ditto.
2057         (tilegx_info_to_howto_rela): Ditto.
2058         (reloc_to_create_func): Ditto.
2059         (tilegx_elf_link_hash_table): New field disable_le_transition.
2060         (tilegx_tls_translate_to_le): New.
2061         (tilegx_tls_translate_to_ie): New.
2062         (tilegx_elf_tls_transition): New.
2063         (tilegx_elf_check_relocs): Handle new tls relocations.
2064         (tilegx_elf_gc_sweep_hook): Ditto.
2065         (allocate_dynrelocs): Ditto.
2066         (tilegx_elf_relocate_section): Ditto.
2067         (tilegx_copy_bits): New.
2068         (tilegx_replace_insn): New.
2069         (insn_mask_X1): New.
2070         (insn_mask_X0_no_dest_no_srca): New.
2071         (insn_mask_X1_no_dest_no_srca): New.
2072         (insn_mask_Y0_no_dest_no_srca): New.
2073         (insn_mask_Y1_no_dest_no_srca): New.
2074         (insn_mask_X0_no_operand): New.
2075         (insn_mask_X1_no_operand): New.
2076         (insn_mask_Y0_no_operand): New.
2077         (insn_mask_Y1_no_operand): New.
2078         (insn_tls_ie_ld_X1): New.
2079         (insn_tls_ie_ld4s_X1): New.
2080         (insn_tls_ie_add_X0X1): New.
2081         (insn_tls_ie_add_Y0Y1): New.
2082         (insn_tls_ie_addx_X0X1): New.
2083         (insn_tls_ie_addx_Y0Y1): New.
2084         (insn_tls_gd_add_X0X1): New.
2085         (insn_tls_gd_add_Y0Y1): New.
2086         (insn_move_X0X1): New.
2087         (insn_move_Y0Y1): New.
2088         (insn_add_X0X1): New.
2089         (insn_add_Y0Y1): New.
2090         (insn_addx_X0X1): New.
2091         (insn_addx_Y0Y1): New.
2092         * libbfd.h: Regenerate.
2093         * bfd-in2.h: Regenerate.
2094
2095 2012-02-25  Walter Lee  <walt@tilera.com>
2096
2097         * config.bfd (tilegx-*-*): rename little endian vector; add big
2098         endian vector.
2099         (tilegxbe-*-*): New case.
2100         * configure.in (bfd_elf32_tilegx_vec): Rename...
2101         (bfd_elf32_tilegx_le_vec): ... to this.
2102         (bfd_elf32_tilegx_be_vec): New vector.
2103         (bfd_elf64_tilegx_vec): Rename...
2104         (bfd_elf64_tilegx_le_vec): ... to this.
2105         (bfd_elf64_tilegx_be_vec): New vector.
2106         * configure: Regenerate.
2107         * elf32-tilegx.c (TARGET_LITTLE_SYM): Rename.
2108         (TARGET_LITTLE_NAME): Ditto.
2109         (TARGET_BIG_SYM): Define.
2110         (TARGET_BIG_NAME): Define.
2111         * elf64-tilegx.c (TARGET_LITTLE_SYM): Rename.
2112         (TARGET_LITTLE_NAME): Ditto.
2113         (TARGET_BIG_SYM): Define.
2114         (TARGET_BIG_NAME): Define.
2115         * targets.c (bfd_elf32_tilegx_vec): Rename...
2116         (bfd_elf32_tilegx_le_vec): ... to this.
2117         (bfd_elf32_tilegx_be_vec): Declare.
2118         (bfd_elf64_tilegx_vec): Rename...
2119         (bfd_elf64_tilegx_le_vec): ... to this.
2120         (bfd_elf64_tilegx_be_vec): Declare.
2121         (_bfd_target_vector): Add / rename above vectors.
2122         * arctures.c (bfd_architecture): Define bfd_mach_tilegx32.
2123         * bfd-in2.h: Regenerate.
2124         * cpu-tilegx.c (bfd_tilegx32_arch): define.
2125         (bfd_tilegx_arch): link to bfd_tilegx32_arch.
2126
2127 2012-02-24  Nick Clifton  <nickc@redhat.com>
2128
2129         PR ld/13730
2130         * reloc.c (bfd_generic_get_relocated_section_contents): Issue an
2131         error message instead of aborting, when an outofrange reloc is
2132         encountered.
2133
2134 2012-02-23  Iain Sandoe  <idsandoe@googlemail.com>
2135
2136         * mach-o.c (bfd_mach_o_swap_in_non_scattered_reloc): New.
2137         (bfd_mach_o_canonicalize_one_reloc):  Swap non-scattered reloc
2138         bit-fields when target and host differ in endian-ness.  When
2139         PAIRs are non-scattered find the 'symbol' from the preceding
2140         reloc.  Add FIXME re. reloc symbols on section boundaries.
2141         (bfd_mach_o_swap_out_non_scattered_reloc): New.
2142         (bfd_mach_o_write_relocs): Use bfd_mach_o_encode_non_scattered_reloc.
2143
2144 2012-02-17  Iain Sandoe  <idsandoe@googlemail.com>
2145
2146         * mach-o-i386.c (i386_howto_table): Add support for 16 bit
2147         sect-diffs.
2148         (bfd_mach_o_i386_swap_reloc_in): Handle 16bit sect-diffs.
2149         (bfd_mach_o_i386_swap_reloc_out): Likewise.
2150
2151 2012-02-17  Tristan Gingold  <gingold@adacore.com>
2152
2153         * reloc.c (BFD_RELOC_MACH_O_LOCAL_SECTDIFF):
2154         * libbfd.h: Regenerated.
2155         * bfd-in2.h: Likewise.
2156         * mach-o-i386.c (i386_howto_table): Include local sectdiff.
2157         (bfd_mach_o_i386_swap_reloc_in): Update for local sectdiff.
2158         (bfd_mach_o_i386_swap_reloc_out): Likewise.
2159
2160 2012-02-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2161
2162         * elf32-s390.c (elf_s390_relocate_section): Support basr in the
2163         GD->LE and LD->LE optimizations.
2164
2165 2012-02-16  Alan Modra  <amodra@gmail.com>
2166
2167         PR binutils/13355
2168         * elf32-rx.c (elf32_rx_relax_section): Correct width check.
2169
2170 2012-02-13  Richard Henderson  <rth@redhat.com>
2171
2172         PR ld/13621
2173         * linker.c (fix_syms): Force symbols outside any section into
2174         bfd_abs_section_ptr.
2175
2176 2012-02-13  Alan Modra  <amodra@gmail.com>
2177
2178         * elf32-m68hc1x.c (elf32_m68hc11_merge_symbol_attribute): New function.
2179         * elf32-m68hc1x.h (elf32_m68hc11_merge_symbol_attribute): Declare.
2180         * elf32-m68hc11.c (elf_backend_merge_symbol_attribute): Define.
2181         * elf32-m68hc12.c (elf_backend_merge_symbol_attribute): Define.
2182
2183 2012-02-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
2184             Nick Clifton  <nickc@redhat.com>
2185
2186         * oasys.c (oasys_write_header): Fix compilation warning on zero-sized
2187         memset.
2188
2189 2012-02-10  Iain Sandoe  <idsandoe@googlemail.com>
2190
2191         * mach-o.c (bfd_mach_o_build_seg_command): Count zerofill section
2192         vma additions in their logical, rather than physical order.
2193
2194 2012-02-10  Iain Sandoe  <idsandoe@googlemail.com>
2195
2196         * mach-o.c (mach_o_section_name_xlat): Correct eh-frame section
2197         parameters.
2198         * mach-o-x86-64.c (text_section_names_xlat): New.
2199         (mach_o_x86_64_segsec_names_xlat): New.
2200         (bfd_mach_o_tgt_seg_table): Define to mach_o_x86_64_segsec_names_xlat.
2201         * mach-o-i386.c (text_section_names_xlat): Correct section parameters.
2202
2203 2012-02-10  Tristan Gingold  <gingold@adacore.com>
2204
2205         * elfnn-ia64.c (elfNN_vms_object_p): Change comparison operator
2206         to avoid infinite loop.  Add comments.
2207
2208 2012-02-09  H.J. Lu  <hongjiu.lu@intel.com>
2209
2210         PR ld/13675
2211         * cpu-i386.c (bfd_arch_i386_fill): Updated to support multi byte
2212         nop instructions.
2213         (bfd_arch_i386_short_nop_fill): New.
2214         (bfd_arch_i386_long_nop_fill): Likewise.
2215         Use bfd_arch_i386_short_nop_fill in 32bit bfd_arch_info
2216         initializers.  Use bfd_arch_i386_long_nop_fill on 64bit
2217         bfd_arch_info initializers.
2218
2219         * cpu-k1om.c (bfd_arch_i386_fill): Renamed to ...
2220         (bfd_arch_i386_short_nop_fill): This.
2221         Update bfd_arch_info initializers.
2222         * cpu-l1om.c: Likewise.
2223
2224 2012-02-08  Alan Modra  <amodra@gmail.com>
2225
2226         * elflink.c (_bfd_elf_gc_mark_rsec): Mark weakdef syms too.
2227         (_bfd_elf_fix_symbol_flags): When a weakdef is def_regular, clear
2228         the correct h->u.weakdef.
2229
2230 2012-02-07  Alan Modra  <amodra@gmail.com>
2231
2232         * elf.c (elf_find_function): Don't use internal_elf_sym.
2233         (_bfd_elf_maybe_function_sym): Likewise.  Replace elf_symbol_type
2234         parameter with asymbol.
2235         * elf64-ppc.c (ppc64_elf_maybe_function_sym): Likewise.
2236         * elf-bfd.h (_bfd_elf_maybe_function_sym): Update prototype.
2237         (struct elf_backend_data <maybe_function_sym>): Likewise.
2238
2239 2012-02-02  Vidya Praveen (vidya.praveen@atmel.com)
2240
2241         PR bfd/13410
2242         * elf32-avr.c (elf32_avr_relax_section): Correct the
2243         condition that qualifies the candidates for relaxation.
2244
2245 2012-02-02  Tristan Gingold  <gingold@adacore.com>
2246
2247         * bfdio.c (real_fopen): Remove unused vms_modes variable.
2248
2249 2012-02-02  Tristan Gingold  <gingold@adacore.com>
2250
2251         * mach-o.c (bfd_mach_o_read_header): Silent uninitialized
2252         variable warning.
2253
2254 2012-02-02  Tristan Gingold  <gingold@adacore.com>
2255
2256         * archive.c (bfd_slurp_armap): Fix thinko in cast.
2257
2258 2012-01-31  H.J. Lu  <hongjiu.lu@intel.com>
2259
2260         PR ld/13616
2261         * archures.c (bfd_arch_info): Add fill.
2262         (bfd_default_arch_struct): Add bfd_arch_default_fill.
2263         (bfd_arch_default_fill): New.
2264
2265         * configure.in: Set bfd version to 2.22.52.
2266         * configure: Regenerated.
2267
2268         * cpu-alpha.c: Add bfd_arch_default_fill to bfd_arch_info
2269         initializer.
2270         * cpu-arc.c: Likewise.
2271         * cpu-arm.c: Likewise.
2272         * cpu-avr.c: Likewise.
2273         * cpu-bfin.c: Likewise.
2274         * cpu-cr16.c: Likewise.
2275         * cpu-cr16c.c: Likewise.
2276         * cpu-cris.c: Likewise.
2277         * cpu-crx.c: Likewise.
2278         * cpu-d10v.c: Likewise.
2279         * cpu-d30v.c: Likewise.
2280         * cpu-dlx.c: Likewise.
2281         * cpu-epiphany.c: Likewise.
2282         * cpu-fr30.c: Likewise.
2283         * cpu-frv.c: Likewise.
2284         * cpu-h8300.c: Likewise.
2285         * cpu-h8500.c: Likewise.
2286         * cpu-hppa.c: Likewise.
2287         * cpu-i370.c: Likewise.
2288         * cpu-i860.c: Likewise.
2289         * cpu-i960.c: Likewise.
2290         * cpu-ia64.c: Likewise.
2291         * cpu-ip2k.c: Likewise.
2292         * cpu-iq2000.c: Likewise.
2293         * cpu-lm32.c: Likewise.
2294         * cpu-m10200.c: Likewise.
2295         * cpu-m10300.c: Likewise.
2296         * cpu-m32c.c: Likewise.
2297         * cpu-m32r.c: Likewise.
2298         * cpu-m68hc11.c: Likewise.
2299         * cpu-m68hc12.c: Likewise.
2300         * cpu-m68k.c: Likewise.
2301         * cpu-m88k.c: Likewise.
2302         * cpu-mcore.c: Likewise.
2303         * cpu-mep.c: Likewise.
2304         * cpu-microblaze.c: Likewise.
2305         * cpu-mips.c: Likewise.
2306         * cpu-mmix.c: Likewise.
2307         * cpu-moxie.c: Likewise.
2308         * cpu-msp430.c: Likewise.
2309         * cpu-mt.c: Likewise.
2310         * cpu-ns32k.c: Likewise.
2311         * cpu-openrisc.c: Likewise.
2312         * cpu-or32.c: Likewise.
2313         * cpu-pdp11.c: Likewise.
2314         * cpu-pj.c: Likewise.
2315         * cpu-plugin.c: Likewise.
2316         * cpu-powerpc.c: Likewise.
2317         * cpu-rl78.c: Likewise.
2318         * cpu-rs6000.c: Likewise.
2319         * cpu-rx.c: Likewise.
2320         * cpu-s390.c: Likewise.
2321         * cpu-score.c: Likewise.
2322         * cpu-sh.c: Likewise.
2323         * cpu-sparc.c: Likewise.
2324         * cpu-spu.c: Likewise.
2325         * cpu-tic30.c: Likewise.
2326         * cpu-tic4x.c: Likewise.
2327         * cpu-tic54x.c: Likewise.
2328         * cpu-tic6x.c: Likewise.
2329         * cpu-tic80.c: Likewise.
2330         * cpu-tilegx.c: Likewise.
2331         * cpu-tilepro.c: Likewise.
2332         * cpu-v850.c: Likewise.
2333         * cpu-vax.c: Likewise.
2334         * cpu-w65.c: Likewise.
2335         * cpu-we32k.c: Likewise.
2336         * cpu-xc16x.c: Likewise.
2337         * cpu-xstormy16.c: Likewise.
2338         * cpu-xtensa.c: Likewise.
2339         * cpu-z80.c: Likewise.
2340         * cpu-z8k.c: Likewise.
2341
2342         * cpu-i386.c: Include "libiberty.h".
2343         (bfd_arch_i386_fill): New.
2344         Add bfd_arch_i386_fill to  bfd_arch_info initializer.
2345
2346         * cpu-k1om.c: Add bfd_arch_i386_fill to  bfd_arch_info initializer.
2347         * cpu-l1om.c: Likewise.
2348
2349         * linker.c (default_data_link_order): Call abfd->arch_info->fill
2350         if fill size is 0.
2351
2352         * bfd-in2.h: Regenerated.
2353
2354 2012-01-27  Michael Eager  <eager@eagercon.com>
2355
2356         * elf32-microblaze.c (create_got_section):
2357         Reuse existing .rela.got section.
2358
2359 2012-01-23  Alan Modra  <amodra@gmail.com>
2360
2361         * elf-bfd.h: Formatting.
2362         (struct elf_backend_data): Add "maybe_function_sym".
2363         (_bfd_elf_maybe_function_sym): Declare.
2364         * elfxx-target.h (elf_backend_maybe_function_sym): Define.
2365         (elfNN_bed): Init new field.
2366         * elf.c (elf_find_function): Use maybe_function_sym.
2367         (_bfd_elf_maybe_function_sym): New function.
2368         * elf64-ppc.c (elf_backend_maybe_function_sym): Define.
2369         (ppc64_elf_maybe_function_sym): New function.
2370
2371 2012-01-20  Francois Gouget  <fgouget@codeweavers.com>
2372
2373         PR binutils/13534
2374         * archive.c (_bfd_ar_sizepad): New function. Correctly install and
2375         pad the size field in an archive header.
2376         (_bfd_generic_read_ar_hdr_mag): Use the correct type and scan
2377         function for the archive size field.
2378         (bfd_generic_openr_next_archived_file): Likewise.
2379         (do_slurp_coff_armap): Likewise.
2380         (_bfd_write_archive_contents): Likewise.
2381         (_bfd_bsd44_write_ar_hdr): Use the new function.
2382         (bfd_ar_hdr_from_filesystem): Likewise.
2383         (_bfd_write_archive_contents): Likewise.
2384         (bsd_write_armap): Likewise.
2385         (coff_write_armap): Likewise.
2386         * archive64.c (bfd_elf64_archive_write_armap): Likewise.
2387         * bfdio.c (bfd_bread): Use correct type for archive element
2388         sizes.
2389         * ar.c (open_inarch): Likewise.
2390         (extract_file): Likewise.
2391         * libbfd-in.h (struct areltdata): Use correct types for
2392         parsed_size and extra_size fields.
2393         Prototype _bfd_ar_sizepad function.
2394         * libbfd.h: Regenerate.
2395
2396 2012-01-20  Ulrich Weigand  <ulrich.weigand@linaro.org>
2397
2398         * elf.c (elfcore_write_prpsinfo): Provide unconditionally.
2399         Return NULL if core file generation is unsupported.
2400         (elfcore_write_prstatus): Likewise.
2401         * elf32-arm.c (elf32_arm_nabi_write_core_note): New function.
2402         (elf_backend_write_core_note): Define.
2403
2404 2012-01-19  Tristan Gingold  <gingold@adacore.com>
2405
2406         * pef.c: Add a comment.
2407         * xsym.c: Likewise.
2408
2409 2012-01-17  Alan Modra  <amodra@gmail.com>
2410
2411         * elf32-ppc.c (ppc_elf_write_core_note <NT_PRPSINFO>): Don't leave
2412         trailing garbage in the note.
2413         * elf64-ppc.c (ppc64_elf_write_core_note <NT_PRPSINFO>): Likewise.
2414
2415 2012-01-16  Daniel Green  <venix1@gmail.com>
2416
2417         PR ld/13491
2418         * coff-i386.c (coff_i386_rtype_to_howto <R_SECREL32>): Test
2419         h->root.type not h->type.
2420         * coff-x86_64.c (coff_amd64_rtype_to_howto <R_AMD64_SECREL>): Likewise.
2421
2422 2012-01-13  Iain Sandoe  <idsandoe@googlemail.com>
2423
2424         * mach-o.c (bfd_mach_o_build_dysymtab_command): Handle absolute
2425         indirect symbols.
2426
2427 2012-01-13  Iain Sandoe  <idsandoe@googlemail.com>
2428
2429         * mach-o.c (bfd_mach_o_write_relocs): Move computation of relocs file
2430         position from here... to (bfd_mach_o_build_seg_command): Here.
2431
2432 2012-01-12  Iain Sandoe  <idsandoe@googlemail.com>
2433
2434         * mach-o.c (bfd_mach_o_count_indirect_symbols): New.
2435         (bfd_mach_o_build_dysymtab_command): Populate indirect symbol table.
2436         * mach-o.h (bfd_mach_o_asymbol): Move declaration to start of the
2437         file. (bfd_mach_o_section): Add indirect_syms field.
2438
2439 2012-01-11  Iain Sandoe  <idsandoe@googlemail.com>
2440
2441         * mach-o.c (bfd_mach_o_build_seg_command): Separate computation of
2442         vmsize from filesize.  Don't compute offsets or file sizes for
2443         zerofill sections.
2444
2445 2012-01-11  Iain Sandoe  <idsandoe@googlemail.com>
2446
2447         * mach-o.c (bfd_mach_o_build_commands): Make the building of each
2448         command type independent.
2449
2450 2012-01-11  Alan Modra  <amodra@gmail.com>
2451
2452         * elf64-ppc.c: Define more insns used in plt call stubs.
2453         (ppc64_elf_brtaken_reloc): Assume isa version 2 or above.
2454         (ppc64_elf_relocate_section): Likewise.
2455         (enum ppc_stub_type): Add ppc_stub_plt_call_r2save.
2456         (struct ppc_link_hash_table): Increase size of stub_count array.
2457         Add plt_stub_align and plt_thread_safe.
2458         (ALWAYS_USE_FAKE_DEP, ALWAYS_EMIT_R2SAVE): Define.
2459         (plt_stub_size, plt_stub_pad): New functions.
2460         (build_plt_stub): Emit barriers for power7 thread safety.  Don't
2461         emit needless save of r2.
2462         (build_tls_get_addr_stub): Adjust params.
2463         (ppc_build_one_stub): Handle ppc_stub_plt_call_r2save and aligning
2464         plt stubs.  Adjust build_*plt_stub calls.
2465         (ppc_size_one_stub): Similarly.
2466         (ppc64_elf_size_stubs): Accept plt_thread_safe and plt_stub_align
2467         params.  Choose default for plt_thread_safe based on existence of
2468         calls to thread creation functions.  Modify plt_call to
2469         plt_call_r2save when no tocsave reloc found.  Align tail of stub
2470         sections.
2471         (ppc64_elf_build_stubs): Align tail of stub sections.  Adjust
2472         output of stub statistics.
2473         (ppc64_elf_relocate_section): Handle ppc_stub_plt_call_r2save.
2474         * elf64-ppc.h (ppc64_elf_size_stubs): Update prototype.
2475
2476 2012-01-10  H.J. Lu  <hongjiu.lu@intel.com>
2477
2478         PR ld/13581
2479         * elf64-x86-64.c (elf_x86_64_relocate_section): Remove ABI_64_P
2480         check on R_X86_64_PCXX.
2481
2482 2012-01-10  Tristan Gingold  <gingold@adacore.com>
2483
2484         * mach-o.c (bfd_mach_o_build_commands): Avoid uninitialized false
2485         warning.
2486
2487 2012-01-10  Tristan Gingold  <gingold@adacore.com>
2488
2489         * bfdio.c (bfd_tell): Handle nested archives.
2490         (bfd_seek): Ditto.
2491         * cache.c (bfd_cache_lookup_worker): Ditto.
2492         * archive.c (_bfd_get_elt_at_filepos): Remove code dealing with
2493         nested archives.
2494         (bfd_generic_openr_next_archived_file): Likewise.
2495
2496 2012-01-09  Iain Sandoe  <idsandoe@googlemail.com>
2497
2498         * mach-o.c (bfd_mach_o_bfd_copy_private_symbol_data): Implement.
2499         (bfd_mach_o_write_symtab): Remove handling for indirect syms.
2500         (bfd_mach_o_primary_symbol_sort_key): Likewise.
2501         (bfd_mach_o_cf_symbols): Likewise.
2502         (bfd_mach_o_sort_symbol_table): Remove.
2503         (bfd_mach_o_mangle_symbols): Adjust arguments, remove handling
2504         for indirect and dysymtab counts.  Do the symbol sorting here.
2505         (bfd_mach_o_build_dysymtab_command): Count the symbol types here.
2506         Make the indirect symbols a TODO.
2507         (bfd_mach_o_build_commands): Adjust call to bfd_mach_o_mangle_symbols.
2508         (bfd_mach_o_make_empty_symbol): Specifically flag unset symbols with
2509         a non-zero value.
2510         (bfd_mach_o_read_symtab_symbol): Record the symbol index.
2511         (bfd_mach_o_read_symtab_symbol): Adjust recording of global status.
2512         * mach-o.h (mach_o_data_struct): Remove indirect and dysymtab entries.
2513         (IS_MACHO_INDIRECT): Remove.
2514         (SYM_MACHO_FIELDS_UNSET, SYM_MACHO_FIELDS_NOT_VALIDATED): New.
2515
2516 2012-01-06  Nick Clifton  <nickc@redhat.com>
2517
2518         PR binutils/13121
2519         * reloc.c (bfd_generic_lookup_section_flags): Rename 'finfo' to
2520         'flaginfo' to avoid conflicts with AIX system headers.
2521
2522 2012-01-06  Tristan Gingold  <gingold@adacore.com>
2523
2524         * bfdio.c (bfd_bread): Use arelt_size macro.
2525
2526 2012-01-06  Tristan Gingold  <gingold@adacore.com>
2527
2528         * config.bfd (i[3-7]86-*-darwin*): Define targ64_selvecs.
2529
2530 2012-01-05  Nick Clifton  <nickc@redhat.com>
2531
2532         PR ld/12161
2533         * elf32-avr.c (elf32_avr_relax_delete_bytes): Read in relocs if
2534         necessary.
2535
2536 2012-01-05  Jan Kratochvil  <jan.kratochvil@redhat.com>
2537
2538         Fix zero registers core files when built by gcc-4.7.
2539         * elf64-x86-64.c (elf_x86_64_write_core_note): Remove variables p and
2540         size.  Call elfcore_write_note for the local variables.  Remove the
2541         final elfcore_write_note call.  Add NOTREACHED comments.
2542
2543 2012-01-04  Tristan Gingold  <gingold@adacore.com>
2544
2545         * mach-o.c (bfd_mach_o_fat_stat_arch_elt): New function.
2546         (bfd_mach_o_generic_stat_arch_elt): Adjust.
2547
2548 2012-01-04  Tristan Gingold  <gingold@adacore.com>
2549
2550         * mach-o.c (bfd_mach_o_fat_member_init): New function.
2551         (bfd_mach_o_openr_next_archived_file): Reindent.
2552         Adjust to call bfd_mach_o_fat_member_init.
2553         (bfd_mach_o_fat_extract): Adjust to call bfd_mach_o_fat_member_init.
2554
2555 2012-01-04  Tristan Gingold  <gingold@adacore.com>
2556
2557         * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Handle
2558         BFD_RELOC_32, BFD_RELOC_MACH_O_X86_64_PCREL32_1,
2559         BFD_RELOC_MACH_O_X86_64_PCREL32_2,
2560         BFD_RELOC_MACH_O_X86_64_PCREL32_4,
2561         BFD_RELOC_MACH_O_X86_64_BRANCH32,
2562         BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32,
2563         BFD_RELOC_MACH_O_X86_64_GOT.
2564
2565 2012-01-04  Tristan Gingold  <gingold@adacore.com>
2566
2567         * mach-o.h (bfd_mach_o_fvmlib_command): New structure.
2568         (bfd_mach_o_load_command): Add fvmlib field.
2569
2570         * mach-o.c (bfd_mach_o_read_fvmlib): New function.
2571         (bfd_mach_o_read_command): Handle fvmlib.
2572
2573 2012-01-04  Tristan Gingold  <gingold@adacore.com>
2574
2575         * mach-o.c (bfd_mach_o_convert_architecture): Reindent.
2576         Decode msubtype for ARM.
2577
2578 2012-01-04  Tristan Gingold  <gingold@adacore.com>
2579
2580         * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add comments.
2581
2582 2012-01-04  Tristan Gingold  <gingold@adacore.com>
2583
2584         * mach-o.h: Reindent header.
2585         (bfd_mach_o_encryption_info_command): New structure.
2586         (bfd_mach_o_load_command): Add encryption_info field.
2587
2588         * mach-o.c (bfd_mach_o_read_encryption_info): New function.
2589         (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_ENCRYPTION_INFO.
2590         (bfd_mach_o_read_command): Adjust error message.
2591
2592 2012-01-04  Shinichiro Hamaji  <shinichiro.hamaji@gmail.com>
2593
2594         * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Factor out the part
2595         which reads DWARF2 and stores in stash from find_line.
2596         (find_line) Call _bfd_dwarf2_slurp_debug_info.
2597         * libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Add declaration.
2598         * libbfd.h (_bfd_dwarf2_slurp_debug_info): Regenerate.
2599         * mach-o.c (dsym_subdir): The name of subdir where debug
2600         information may be stored.
2601         (bfd_mach_o_lookup_uuid_command): New. Lookup a load command whose
2602         type is UUID.
2603         (bfd_mach_o_dsym_for_uuid_p): New. Check if the specified BFD is
2604         corresponding to the executable.
2605         (bfd_mach_o_find_dsym): New. Find a debug information BFD in the
2606         specified binary file.
2607         (bfd_mach_o_follow_dsym): New. Find a debug information BFD for
2608         the original BFD.
2609         (bfd_mach_o_find_nearest_line): Check dSYM files for Mach-O
2610         executables, dylibs, and bundles.
2611         (bfd_mach_o_close_and_cleanup): Clean up BFDs for the dSYM file.
2612         * mach-o.h (dsym_bfd): The BFD of the dSYM file.
2613
2614 2012-01-03  Iain Sandoe  <idsandoe@googlemail.com>
2615
2616         * mach-o.c (bfd_mach_o_mangle_symbols): Put in the section index
2617         for stabd symbols.
2618         (bfd_mach_o_primary_symbol_sort_key): Adjust for stabs.
2619         (bfd_mach_o_cf_symbols): Likewise.
2620
2621 2012-01-03  Iain Sandoe  <idsandoe@googlemail.com>
2622
2623         * mach-o.c (bfd_mach_o_mangle_symbols): Correct typo.
2624
2625 2012-01-03  Iain Sandoe  <idsandoe@googlemail.com>
2626
2627         * mach-o.c (bfd_mach_o_write_symtab): Fill in the string table index
2628         as the value of an indirect symbol.  Keep the string table index in
2629         non-indirect syms for reference.
2630         (bfd_mach_o_write_dysymtab): New.
2631         (bfd_mach_o_primary_symbol_sort_key): New.
2632         (bfd_mach_o_cf_symbols): New.
2633         (bfd_mach_o_sort_symbol_table): New.
2634         (bfd_mach_o_mangle_symbols): Return early if no symbols.  Sort symbols.
2635         If we are emitting a dysymtab, process indirect symbols and count the
2636         number of each other kind.
2637         (bfd_mach_o_mangle_sections): New.
2638         (bfd_mach_o_write_contents): Split out some pre-requisite code into
2639         the command builder. Write dysymtab if the command is present.
2640         (bfd_mach_o_count_sections_for_seg): New.
2641         (bfd_mach_o_build_seg_command): New.
2642         (bfd_mach_o_build_dysymtab_command): New.
2643         (bfd_mach_o_build_commands): Reorganize to support the fact that some
2644         commands are optional and should not be emitted if there are no
2645         sections or symbols.
2646         (bfd_mach_o_set_section_contents): Amend comment.
2647         * mach-o.h: Amend and add to comments.
2648         (mach_o_data_struct): Add fields for dysymtab symbols counts and a
2649         pointer to the indirects, when present.
2650         (bfd_mach_o_should_emit_dysymtab): New macro.
2651         (IS_MACHO_INDIRECT): Likewise.
2652
2653 For older changes see ChangeLog-2011
2654 \f
2655 Local Variables:
2656 mode: change-log
2657 left-margin: 8
2658 fill-column: 74
2659 version-control: never
2660 End: