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