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