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