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