mach-o: reject 64 bit targets when not configured for.
[platform/upstream/binutils.git] / bfd / ChangeLog
1 2014-04-04  Tristan Gingold  <gingold@adacore.com>
2
3         * mach-o.c (bfd_mach_o_header_p): Reject 64 bit target when not
4         configured for.
5
6 2014-04-04  Tristan Gingold  <gingold@adacore.com>
7
8         * mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix
9         thinko on names length.
10
11 2014-04-04  Tristan Gingold  <gingold@adacore.com>
12
13         * mach-o-i386.c (bfd_mach_o_i386_swap_reloc_out): Use target index
14         of output_section.
15         * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Ditto.
16
17 2014-04-04  Tristan Gingold  <gingold@adacore.com>
18
19         * bfd.c (bfd_get_arch_size): Default is taken from arch.
20
21 2014-04-03  Jon Turney  <jon.turney@dronecode.org.uk>
22
23         * peXXigen.c (pe_print_edata): Verify edt.name lies inside
24         section before dereferencing.
25         (pe_print_idata, pe_print_edata, pe_print_reloc)
26         (rsrc_print_section): Don't bother interpreting the contents
27         of sections which have no contents.
28
29 2014-04-03  Maria Guseva  <m.guseva@samsung.com>
30
31         PR ld/16803
32         * elf.c (_bfd_elf_set_section_contents): Use correct type to hold
33         file position.
34
35 2014-04-03  Tristan Gingold  <gingold@adacore.com>
36
37         * mach-o.c (bfd_mach_o_mangle_symbols): Use index from
38         output_section.
39         (bfd_mach_o_build_seg_command): Add comment.  Realign segment.
40         Fix style.
41         (bfd_mach_o_build_commands, bfd_mach_o_read_thread): Fix style.
42
43 2014-04-03  Alan Modra  <amodra@gmail.com>
44
45         * elf-bfd.h (struct elf_backend_data
46         <elf_backend_bfd_from_remote_memory>): Replace "size_t size"
47         with "bfd_size_type size".
48         (_bfd_elf32_bfd_from_remote_memory): Likewise.
49         (_bfd_elf64_bfd_from_remote_memory): Likewise.
50         * elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
51         * elfcode.h (bfd_from_remote_memory): Likewise.
52         * bfd-in.h (bfd_elf_bfd_from_remote_memory): Likewise.
53         * bfd-in2.h: Regenerate.
54
55 2014-04-02  Tristan Gingold  <gingold@adacore.com>
56
57         * mach-o.h (bfd_mach_o_twolevel_hints_command)
58         (bfd_mach_o_prebind_cksum_command): New types.
59         (bfd_mach_o_prebound_dylib_command): Rewrite.
60         (bfd_mach_o_load_command): Add prebind_cksum and twolevel_hints
61         fields.
62         * mach-o.c (bfd_mach_o_read_prebound_dylib): Read and decode the
63         command.
64         (bfd_mach_o_read_prebind_cksum): New function.
65         (bfd_mach_o_read_twolevel_hints): Ditto.
66         (bfd_mach_o_read_command): Handle prebind cksum and twolevel hints
67         commands.
68
69 2014-04-02  Alan Modra  <amodra@gmail.com>
70
71         * elfcode.h (bfd_from_remote_memory): Add "size" parameter.
72         Consolidate code handling possible section headers past end of
73         segment.  Don't use p_align for page size guess, instead use
74         minpagesize.  Take note of ld.so clearing section headers when
75         p_memsz > p_filesz.  Handle file header specifying no section
76         headers.  Handle zero p_align throughout.  Default loadbase to
77         zero.  Add comments.  Rename contents_size to high_offset, and
78         make it a bfd_vma.  Delete unnecessary bfd_set_error calls.
79         * bfd-in.h (bfd_elf_bfd_from_remote_memory): Update prototpe.
80         * elf-bfd.h (struct elf_backend_data <elf_backend_from_remote_memory>):
81         Likewise.
82         (_bfd_elf32_bfd_from_remote_memory): Likewise.
83         (_bfd_elf64_bfd_from_remote_memory): Likewise.
84         * elf.c (bfd_elf_bfd_from_remote_memory): Adjust.
85         * bfd-in2.h: Regnerate.
86
87 2014-04-01  Tristan Gingold  <gingold@adacore.com>
88
89         * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Avoid to crash
90         when num == 0.
91
92 2014-03-27  Yury Gribov  <y.gribov@samsung.com>
93             Pavel Fedin  <p.fedin@samsung.com>
94
95         * elf32-arm.c: Add support for limited pretty-printing of PLT
96         entries on eabi and nacl targets.
97         (elf32_arm_get_synthetic_symtab): Add new callback.
98         (elf32_arm_nacl_plt_sym_val): Likewise.
99         (elf32_arm_plt0_size): Add helper function.
100         (elf32_arm_plt_size): Likewise.
101
102 2014-03-27  Tristan Gingold  <gingold@adacore.com>
103
104         * mach-o.c (bfd_mach_o_read_dylinker): Remove assert.
105         (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT.
106
107 2014-03-27  Tristan Gingold  <gingold@adacore.com>
108
109         * mach-o.h (bfd_mach_o_get_base_address): New prototype.
110         * mach-o.c (bfd_mach_o_write_symtab)
111         (bfd_mach_o_write_contents)
112         (bfd_mach_o_set_section_flags_from_bfd)
113         (bfd_mach_o_build_seg_command): Fix indentation.
114         (bfd_mach_o_get_base_address): New function.
115
116 2014-03-26  Nick Clifton  <nickc@redhat.com>
117
118         * cofflink.c (_bfd_coff_generic_relocate_section): Skip
119         relocations in discarded sections.
120
121 2014-03-26  Tristan Gingold  <gingold@adacore.com>
122
123         * mach-o.c (bfd_mach_o_convert_architecture): Add
124         BFD_MACH_O_CPU_TYPE_ARM64.
125
126 2014-03-26  Alan Modra  <amodra@gmail.com>
127
128         * elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly
129         needed plt entries when taking the address of functions for
130         abiversion == 0 (ie. unknown) as well as abiversion == 2.
131         Move opd setup and abiversion checks to..
132         (ppc64_elf_before_check_relocs): ..here.  Renamed from
133         ppc64_elf_process_dot_syms.  Set output abiversion from input and
134         input abiversion from output, if either is not set.
135         (ppc64_elf_merge_private_bfd_data): Don't merge flags here.
136         (elf_backend_check_directives): Update.
137
138 2014-03-25  Will Newton  <will.newton@linaro.org>
139
140          * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections):
141          Set value of DT_PLTRELSZ and DT_RELASZ based on the size
142          of input sections rather than output sections.
143
144 2014-03-20  Will Newton  <will.newton@linaro.org>
145
146         PR ld/16715
147         * elf32-arm.c (elf32_arm_check_relocs): Set
148         pointer_equality_needed for absolute references within
149         executable links.
150         (elf32_arm_finish_dynamic_symbol): Set st_value to zero
151         unless pointer_equality_needed is set.
152
153 2014-03-19  Nick Clifton  <nickc@redhat.com>
154
155         * peXXigen.c (rsrc_process_section): Add code to scan input
156         sections and record their lengths.  Use these lengths to find the
157         start of each merged .rsrc section.
158
159 2014-03-17  Tristan Gingold  <gingold@adacore.com>
160
161         * mach-o.c (bfd_mach_o_read_dylib): Handle lazy load dylib.
162         (bfd_mach_o_read_command): Ditto.
163
164 2014-03-14  Meador Inge  <meadori@codesourcery.com>
165
166          * configure.in: Add strnlen to AC_CHECK_DECLS.
167          * config.in: Regenerate.
168          * configure: Regenerate.
169          * sysdep.h (strnlen): Add prototype.
170
171 2014-03-14  Alan Modra  <amodra@gmail.com>
172
173         * elf32-ppc.c (ppc_elf_relocate_section): Correct overflow
174         handling for VLE_SDA21 relocs.
175
176 2014-03-13  Tristan Gingold  <gingold@adacore.com>
177
178         * peicode.h (pe_ILF_object_p): Adjust, as the version number
179         has been read.
180         (pe_bfd_object_p): Also read version number to detect ILF.
181         * pe-x86_64.c (COFF_WITH_PE_BIGOBJ): Define.
182         (x86_64pe_bigobj_vec): Define
183         * coffcode.h (bfd_coff_backend_data): Add _bfd_coff_max_nscns field.
184         (bfd_coff_max_nscns): New macro.
185         (coff_compute_section_file_positions): Use unsigned int for
186         target_index.  Compare with bfd_coff_max_nscns.
187         (bfd_coff_std_swap_table, ticoff0_swap_table, ticoff1_swap_table):
188         Set a value for _bfd_coff_max_nscns.
189         (header_bigobj_classid): New constant.
190         (coff_bigobj_swap_filehdr_in, coff_bigobj_swap_filehdr_out)
191         (coff_bigobj_swap_sym_in, coff_bigobj_swap_sym_out)
192         (coff_bigobj_swap_aux_in, coff_bigobj_swap_aux_out): New
193         functions.
194         (bigobj_swap_table): New table.
195         * libcoff.h: Regenerate.
196         * coff-sh.c (bfd_coff_small_swap_table): Likewise.
197         * coff-alpha.c (alpha_ecoff_backend_data): Add value for
198         _bfd_coff_max_nscns.
199         * coff-mips.c (mips_ecoff_backend_data): Likewise.
200         * coff-rs6000.c (bfd_xcoff_backend_data)
201         (bfd_pmac_xcoff_backend_data): Likewise.
202         * coff64-rs6000.c (bfd_xcoff_backend_data)
203         (bfd_xcoff_aix5_backend_data): Likewise.
204         * targets.c (x86_64pe_bigobj_vec): Declare.
205         * configure.in (x86_64pe_bigobj_vec): New vector.
206         * configure: Regenerate.
207         * config.bfd: Add bigobj object format for Windows targets.
208
209 2014-03-12  Nick Clifton  <nickc@redhat.com>
210
211         PR ld/16671
212         * elf32-arm.c (elf32_arm_add_symbol_hook): Check for ARM format
213         before testing for vxworks.
214
215 2014-03-12  Alan Modra  <amodra@gmail.com>
216
217         * Makefile.in: Regenerate.
218
219 2014-03-12  Alan Modra  <amodra@gmail.com>
220
221         PR 16690
222         * elf.c (copy_elf_program_header): Ignore first section lma if
223         non-alloc.
224
225 2014-03-11  Alan Modra  <amodra@gmail.com>
226
227         PR 16686
228         * coff-rs6000.c: Include stdint.h.
229         * coff64-rs6000.c: Likewise.
230
231 2014-03-10  Tristan Gingold  <gingold@adacore.com>
232
233         * ticoff.h: Removed.
234
235 2014-03-08  Alan Modra  <amodra@gmail.com>
236
237         * elf32-ppc.c (ppc_elf_howto_raw): Correct overflow check for
238         many relocations.  Correct bitsize and rightshift too for a number
239         of VLE relocs.  Describe R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO.
240         Correct dst_mask on R_PPC_VLE_SDA21_LO.
241         (ppc_elf_vle_split16): Tidy, delete unnecessary prototype.
242         (ppc_elf_relocate_section): Modify overflow test for 16-bit
243         fields in instructions to signed/unsigned according to whether
244         the field takes a signed or unsigned value.  Tidy vle split16 code.
245         Correct R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO handling.
246
247 2014-03-08  Alan Modra  <amodra@gmail.com>
248
249         * elf64-ppc.c (ppc64_elf_howto_raw): Use complain_overflow_signed
250         for R_PPC64_ADDR14, R_PPC64_ADDR14_BRTAKEN, R_PPC64_ADDR14_BRNTAKEN,
251         R_PPC64_SECTOFF, R_PPC64_ADDR16_DS, R_PPC64_SECTOFF_DS,
252         R_PPC64_REL16 entries.  Use complain_overflow_dont for R_PPC64_TOC.
253         (ppc64_elf_relocate_section): Modify overflow test for 16-bit
254         fields in instructions to signed/unsigned according to whether
255         the field takes a signed or unsigned value.
256
257 2014-03-07  Pedro Alves  <palves@redhat.com>
258
259         PR gdb/16696
260         * rs6000-core.c (rs6000coff_core_p): Cast pointers to bfd_vma
261         through ptr_to_uint instead of through long.
262
263 2014-03-06  Nick Clifton  <nickc@redhat.com>
264
265         PR 16664
266         * elf-attrs.c (_bfd_elf_parse_attributes): Add checks for corrupt
267         attribute section names.
268
269 2014-03-05  Alan Modra  <amodra@gmail.com>
270
271         Update copyright years.
272
273 2014-03-05  Alan Modra  <amodra@gmail.com>
274
275         * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_ADDR64_LOCAL entry.
276         (ppc64_elf_reloc_type_lookup): Support R_PPC64_ADDR64_LOCAL.
277         (ppc64_elf_check_relocs): Likewise.
278         (ppc64_elf_relocate_section): Likewise.
279         * Add BFD_RELOC_PPC64_ADDR64_LOCAL.
280         * bfd-in2.h: Regenerate.
281         * libbfd.h: Regenerate.
282
283 2014-03-04  Heiher  <r@hev.cc>
284
285         * elfxx-mips.c (mips_set_isa_flags): Use E_MIPS_ARCH_64R2 for
286         Loongson-3A.
287         (mips_mach_extensions): Make bfd_mach_mips_loongson_3a an
288         extension of bfd_mach_mipsisa64r2.
289
290 2014-03-04  Nick Clifton  <nickc@redhat.com>
291
292         PR ld/16017
293         * elf32-arm.c (elf32_thumb2_plt0_entry): New array.
294         (elf32_thumb2_plt_entry): New array.
295         (elf32_arm_create_dynamic_sections): Set PLT entry sizes when
296         using thumb2 based PLT.
297         (elf32_arm_populate_plt_entry): Handle generating Thumb2 based PLT
298         entries.
299         (elf32_arm_final_link_relocate): Do not bias jumps to Thumb based
300         PLT entries.
301         (elf32_arm_finish_dynamic_sections): Handle creation of Thumb2
302         based PLT 0-entry.
303         (elf32_arm_output_plt_map_1): Handle creation of local symbols for
304         Thumb2 based PLT 0-entry.
305         (elf32_arm_output_arch_local_syms): Handle creation of local
306         symbols for Thumb2 based PLT entries.
307
308 2014-02-28  Alan Modra  <amodra@gmail.com>
309
310         PR ld/16643
311         * elflink.c (elf_gc_sweep): Call gc_sweep_hook for exactly
312         the same conditions we called check_relocs.
313
314 2014-02-27  Yuri Gribov  <y.gribov@samsung.com>
315
316         * bfd-in.h: Add export of bfd_elf32_arm_use_long_plt.
317         * bfd-in2.h: Regenerate.
318         * elf32-arm.c (elf32_arm_plt_entry_long): New array.
319         (elf32_arm_link_hash_table_create): Set plt_entry_size to 16 if
320         using long PLT entries.
321         (bfd_elf32_arm_use_long_plt): New function.
322         (elf32_arm_populate_plt_entry): Add support for long PLT entries.
323
324 2014-02-27  Alan Modra  <amodra@gmail.com>
325
326         * elf32-ppc.c (ppc_elf_link_hash_table_create): Provide default
327         params for targets that don't use ppc32elf.em.
328
329 2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>
330
331         * elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation
332         of GOTOFF relocations.
333
334 2014-02-19  Igor Zamyatin  <igor.zamyatin@intel.com>
335             H.J. Lu  <hongjiu.lu@intel.com>
336
337         * elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New.
338         (elf_x86_64_legacy_plt_entry): Likewise.
339         (elf_x86_64_bnd_plt_entry): Likewise.
340         (elf_x86_64_legacy_plt2_entry): Likewise.
341         (elf_x86_64_bnd_plt2_entry): Likewise.
342         (elf_x86_64_bnd_arch_bed): Likewise.
343         (elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd.
344         (elf_x86_64_link_hash_table): Add plt_bnd.
345         (elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and
346         plt_bnd.
347         (elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc.
348         (elf_x86_64_check_relocs): Create the second PLT for Intel MPX
349         in 64-bit mode.
350         (elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC
351         symbols.  Resolve call to the second PLT if it is created.
352         (elf_x86_64_size_dynamic_sections): Keep the second PLT section.
353         (elf_x86_64_relocate_section): Resolve PLT references to the
354         second PLT if it is created.
355         (elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the
356         second PLT entry for BND relocation.
357         (elf_x86_64_finish_dynamic_sections): Use MPX backend data if
358         the second PLT is created.
359         (elf_x86_64_get_synthetic_symtab): New.
360         (bfd_elf64_get_synthetic_symtab): Likewise.  Undefine for NaCl.
361
362 2014-02-19  Alan Modra  <amodra@gmail.com>
363
364         * elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs.
365         * elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control
366         provision of out-of-line register save/restore routines.
367
368 2014-02-18  Jack Carter  <jack.carter@imgtec.com>
369
370         * elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of
371         PT_DYNAMIC segment flags.
372
373 2014-02-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
374
375         PR binutils/16595
376         * simple.c (struct saved_offsets): New.
377         (simple_save_output_info): Use it for ptr.
378         (simple_restore_output_info): Use it for ptr.  Check section_count.
379         (bfd_simple_get_relocated_section_contents): Use it for saved_offsets.
380
381 2014-02-17  Alan Modra  <amodra@gmail.com>
382
383         * elf64-ppc.h (struct ppc64_elf_params): Define.
384         (ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup,
385         ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
386         ppc64_elf_build_stubs): Update prototype.
387         * elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other
388         fields now in params.  Adjust code throughout file.
389         (ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params".
390         Save params pointer in htab.
391         (ppc64_elf_edit_opd, ppc64_elf_tls_setup,
392         ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
393         ppc64_elf_build_stubs): Remove parameters now in "params".
394
395 2014-02-17  Alan Modra  <amodra@gmail.com>
396
397         * elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns
398         patched for ppc476 workaround.  Reapply branch taken/not taken
399         relocs.
400
401 2014-02-12  Alan Modra  <amodra@gmail.com>
402
403         * elf32-ppc.c (ppc_elf_relax_section): Don't build long-branch
404         stubs for calls to __tls_get_addr that we know will later be
405         optimised away.
406
407 2014-02-12  Alan Modra  <amodra@gmail.com>
408
409         * elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround
410         for ld -r, when code sections are sufficiently aligned.
411         * elf32-ppc.h (struct ppc_elf_params): Delete pagesize.  Add
412         pagesize_p2.
413
414 2014-02-12  Alan Modra  <amodra@gmail.com>
415
416         PR gold/15530
417         * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
418         --export-dynamic and --dynamic-list marking of symbols.
419         * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Reorder
420         cheap tests first.
421
422 2014-02-10  H.J. Lu  <hongjiu.lu@intel.com>
423
424         PR gold/16530
425         * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in
426         executables if it matches dynamic_list.
427
428 2014-02-10  Alan Modra  <amodra@gmail.com>
429
430         * po/SRC-POTFILES.in: Regenerate.
431         * po/bfd.pot: Regenerate.
432
433 2014-02-09  Alan Modra  <amodra@gmail.com>
434
435         * elf-bfd.h (struct elf_backend_data): Add caches_rawsize.
436         * elfxx-target.h (elf_backend_caches_rawsize): Define.
437         (elfNN_bed): Init new field.
438         * elflink.c (elf_link_input_bfd): Handle caches_rawsize.
439         * elf32-ppc.c (shared_stub_entry): Zero addi offset.
440         (ppc_elf_relax_section): Don't reallocate section here, write
441         stubs, or write out relocs for ld -r here..
442         (ppc_elf_relocate_section): ..instead write stubs here, and use
443         existing code to write out relocs for ld -r.  Fix offset
444         adjustment on reloc for little-endian.
445         (elf_backend_caches_rawsize): Define.
446
447 2014-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
448
449         PR build/16550
450         * cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t.
451
452 2014-02-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
453
454         * coff-rs6000.c (xcoff_write_archive_contents_big): Free OFFSETS in
455         return paths.  Three times.
456         * elf64-ppc.c (ppc64_elf_link_hash_table_create): Free HTAB in all
457         return paths.
458         (ppc64_elf_tls_optimize): Free TOC_REF in return path.
459         (ppc64_elf_edit_toc): Free USED in return path.
460
461 2014-02-03  Sandra Loosemore  <sandra@codesourcery.com>
462
463         * reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New.
464         (BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New.
465         * libbfd.h: Regenerated.
466         * bfd-in2.h: Regenerated.
467         * elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations.
468         (nios2_reloc_map): Likewise.
469         (GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED.
470         Fixed all references.
471         (nios2_elf32_relocate_section): Add new relocations.
472         (nios2_elf32_check_relocs): Likewise.
473         (nios2_elf32_gc_sweep_hook): Likewise.
474
475 2014-02-03  Alan Modra  <amodra@gmail.com>
476
477         * elf32-ppc.c (struct ppc_elf_link_hash_table): Add params.
478         Delete emit_stub_syms, no_tls_get_addr_opt.  Update all uses.
479         (ppc_elf_link_params): New function.
480         (ppc_elf_create_glink): Align .glink to 64 bytes for ppc476
481         workaround.
482         (ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms
483         parameters.  Use htab->params instead.
484         (ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter.
485         (ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to
486         64 bytes for ppc476 workaround.
487         (struct ppc_elf_relax_info): New.
488         (ppc_elf_relax_section): Exclude linker created sections and
489         those too small to hold one instruction.  Don't add another
490         branch  around trampolines on later relax passes.  Don't
491         generate trampolines for undefined symbols when !relocatable,
492         nor for plugin symbols.  Allocate space for ppc476 workaround
493         patch area.  Free fixups on error return path.
494         (ppc_elf_relocate_section): Handle ppc476 workaround patching.
495         * elf32-ppc.h (struct ppc_elf_params): New.
496         (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype.
497         (ppc_elf_link_params): Declare.
498         * section.c (SEC_INFO_TYPE_TARGET): Define.
499         * bfd-in2.h: Regenerate.
500
501 2014-02-02  Sandra Loosemore  <sandra@codesourcery.com>
502
503         * elf32-nios2.c (struct elf32_nios2_link_hash_table): Add
504         h_gp_got field.
505         (nios2_elf32_relocate_section): Use got_base to adjust
506         GOT-pointer-relative relocations relative to _gp_got.
507         (create_got_section): Create _gp_got symbol.
508         (nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute.
509         (nios2_elf32_size_dynamic_sections): Set _gp_got offset.
510
511 2014-01-30  Sandra Loosemore  <sandra@codesourcery.com>
512
513         * bfd-in2.h: Update from reloc.c.
514         * elf32-nios2.c: Include elf32-nios2.h.
515         (elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT.
516         (nios2_reloc_map): Likewise.
517         (enum elf32_nios2_stub_type): Declare.
518         (struct elf32_nios2_stub_hash_entry): Declare.
519         (nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros.
520         (struct elf32_nios2_link_hash_entry): Add hsh_cache field.
521         (struct elf32_nios2_link_hash_table): Add new fields bstab,
522         stub_bfd, add_stub_section, layout_sections_again, stub_group,
523         bfd_count, top_index, input_list, all_local_syms.
524         (nios2_call26_stub_entry): New.
525         (nios2_elf32_install_imm16): Move up in file.
526         (nios2_elf32_install_data): Move up in file.
527         (hiadj): Move up in file.
528         (stub_hash_newfunc): New.
529         (link_hash_newfunc): Initialize hsh_cache field.
530         (STUB_SUFFIX): New.
531         (nios2_stub_name): New.
532         (nios2_get_stub_entry): New.
533         (nios2_add_stub): New.
534         (nios2_elf32_setup_section_lists): New.
535         (nios2_elf32_next_input_section): New.
536         (CALL26_SEGMENT): New.
537         (MAX_STUB_SECTION_SIZE): New.
538         (group_sections): New.
539         (nios2_type_of_stub): New.
540         (nios2_build_one_stub): New.
541         (nios2_size_one_stub): New.
542         (get_local_syms): New.
543         (nios2_elf32_size_stubs): New.
544         (nios2_elf32_build_stubs): New.
545         (nios2_elf32_do_call26_relocate): Correct CALL26 overflow test.
546         (nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT.  Add
547         trampolines for R_NIOS2_CALL26 stubs.
548         (nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT.
549         (nios2_elf32_gc_sweep_hook): Likewise.
550         (nios2_elf32_link_hash_table_create): Initialize the stub hash table.
551         (nios2_elf32_link_hash_table_free): New.
552         (bfd_elf32_bfd_link_hash_table_free): Define.
553         * elf32-nios2.h: New file.
554         * libbfd.h: Update from reloc.c.
555         * reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New.
556
557 2014-01-29  Nick Clifton  <nickc@redhat.com>
558
559         PR binutils/16318
560         * elf32-metag.c (elf_metag_post_process_headers): Call
561         _bfd_elf_post_process_headers.
562         * elf32-sh64.c (sh64_elf_copy_private_data): Call
563         _bfd_elf_copy_private_data.
564         * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
565
566 2014-01-29  Nick Clifton  <nickc@redhat.com>
567
568         * bfd-in.h (bfd_set_section_vma): Delete.
569         (bfd_set_section_alignment): Delete.
570         (bfd_set_section_userdata): Delete.
571         (bfd_set_cacheable): Delete.
572         * bfd.c (bfd_set_cacheable): New static inline function.
573         * section.c (bfd_set_section_userdata): Likewise.
574         (bfd_set_section_vma): Likewise.
575         (bfd_set_section_alignment): Likewise.
576         * bfd-in2.h: Regenerate.
577
578 2014-01-28  Nick Clifton  <nickc@redhat.com>
579
580         * dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr
581         attributes select the CU containing the abbreviation, which may not
582         be the current CU.
583
584 2014-01-24  Alan Modra  <amodra@gmail.com>
585
586         * elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed
587         to get_relocs for ELFv2.
588
589 2014-01-23  H.J. Lu  <hongjiu.lu@intel.com>
590
591         PR ld/16498
592         * elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error
593         if TLS sections are not adjacent.
594
595 2014-01-22  Alan Modra  <amodra@gmail.com>
596
597         * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed.
598
599 2014-01-22  Alan Modra  <amodra@gmail.com>
600
601         * elf64-ppc.c (STK_LINKER): Comment typo fix.
602
603 2014-01-21  H.J. Lu  <hongjiu.lu@intel.com>
604
605         PR ld/16467
606         * elflink.c (_bfd_elf_merge_symbol): When types of the existing
607         regular default symbol definition and the versioned dynamic
608         symbol definition mismatch, skip the default symbol definition
609         if one of them is IFUNC.
610
611 2014-01-21  H.J. Lu  <hongjiu.lu@intel.com>
612
613         PR ld/2404
614         * elflink.c (_bfd_elf_merge_symbol): Don't check info->shared,
615         info->export_dynamic nor h->ref_dynamic for type mismatch when
616         adding the default version.
617
618 2014-01-16  Alan Modra  <amodra@gmail.com>
619
620         * elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a
621         mips_elf_traverse_got_arg* rather than mips_got_info*.
622         Adjust caller.  Alloc on output_bfd rather than symbol section
623         owner.
624
625 2014-01-15  H.J. Lu  <hongjiu.lu@intel.com>
626
627         * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
628         change.
629         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
630
631 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
632
633         PR ld/16428
634         * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs
635         against __ehdr_start.
636         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
637
638 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
639
640         * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
641         change.
642         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
643
644 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
645
646         PR ld/16428
647         * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc
648         count if there are any non pc-relative relocs.
649         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
650
651 2014-01-14  Michael Hudson-Doyle  <michael.hudson@linaro.org>
652             Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>
653
654         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct
655         offset while calculating relocation address.
656         (elfNN_aarch64_create_small_pltn_entry): Likewise.
657         (elfNN_aarch64_init_small_plt0_entry): Likewise.
658
659 2014-01-13  Ma Jiang  <ma.jiang@zte.com.cn>
660
661         PR ld/16202
662         * elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for
663         R_ARM_ABS8 and R_ARM_ABS16.
664
665 2014-01-13  Alan Modra  <amodra@gmail.com>
666
667         * elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc,
668         error when shared and force a plt call otherwise.
669         (ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless
670         plt_type == PLT_NEW.
671         (ppc_elf_relocate_section): Add missing test to resolve ifuncs to
672         the appropriate call stub.
673
674 2014-01-10  Alan Modra  <amodra@gmail.com>
675
676         PR ld/14207
677         PR ld/16322
678         PR binutils/16323
679         * elf.c (assign_file_positions_for_load_sections): Revert last change.
680         (assign_file_positions_for_non_load_sections): When setting up
681         PT_GNU_RELRO header, don't require a corresponding PT_LOAD
682         header that completely covers the relro region.
683
684 2014-01-09  Tristan Gingold  <gingold@adacore.com>
685
686         * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump
687         table macros and add macros to initializa the structure.
688
689 2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
690
691         PR ld/14207
692         PR ld/16322
693         PR binutils/16323
694         * elf.c (_bfd_elf_map_sections_to_segments): Don't check section
695         size for PT_GNU_RELRO segment.
696         (assign_file_positions_for_load_sections): If PT_LOAD segment
697         doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz.
698
699 2014-01-07  Tom Tromey  <tromey@redhat.com>
700
701         * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility
702         wrappers.
703
704 2014-01-03  Nick Clifton  <nickc@redhat.com>
705
706         PR binutils/16199
707         * elf.c (vma_page_aligned_bias): Handle a maxpagesize value of
708         zero.
709
710 2014-01-02  Yuanhui Zhang  <asmwarrior@gmail.com>
711
712         PR binutils/14289
713         * pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80.
714
715 2014-01-02  Nick Clifton  <nickc@redhat.com>
716
717         PR binutils/11983
718         * archive.c (_bfd_get_elt_at_filepos): Store a copy of the
719         filename in the bfd's filename field.
720         * elfcode.h (bfd_from_remote_memory): Likewise.
721         * ieee.c (ieee_object_p): Likewise.
722         * mach-o.c (bfd_mach_o_fat_member_init): Likewise.
723         * oasys.c (oasys_openr_next_archived_file): Likewise.
724         * vms-lib.c (_bfd_vms_lib_get_module): Likewise.
725         * opncls.c (bfd_fopen): Likewise.
726         (bfd_openstreamr): Likewise.
727         (bfd_openr_iovec): Likewise.
728         (bfd_openw): Likewise.
729         (bfd_create): Likewise.
730         (_bfd_delete_bfd): Free filename.
731
732 For older changes see ChangeLog-2013
733 \f
734 Copyright (C) 2014 Free Software Foundation, Inc.
735
736 Copying and distribution of this file, with or without modification,
737 are permitted in any medium without royalty provided the copyright
738 notice and this notice are preserved.
739
740 Local Variables:
741 mode: change-log
742 left-margin: 8
743 fill-column: 74
744 version-control: never
745 End: