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