Check ELF relocs after opening all input files
[binutils-gdb.git] / bfd / ChangeLog
1 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
2
3 * elf-bfd.h (_bfd_elf_link_check_relocs): New.
4 * elflink.c (_bfd_elf_link_check_relocs): New function.
5 (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
6 if check_relocs_after_open_input is FALSE.
7
8 2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
9
10 * cache.c: Update old style function definitions.
11 * elf32-m68k.c: Likewise.
12 * elf64-mmix.c: Likewise.
13 * stab-syms.c: Likewise.
14
15 2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
16
17 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
18
19 2016-04-15 H.J. Lu <hongjiu.lu@intel.com>
20
21 * Makefile.in: Regenerated with automake 1.11.6.
22 * aclocal.m4: Likewise.
23 * doc/Makefile.in: Likewise.
24
25 2016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
26
27 * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
28 * bfd-in2.h: Regenerate.
29 * libbfd.h: Regenerate.
30 * elf32-arc.c: Add 'opcode/arc.h' include.
31 (struct arc_relocation_data): Add symbol_name.
32 (arc_special_overflow_checks): New function.
33 (arc_do_relocation): Use arc_special_overflow_checks, reindent as
34 required, add an extra comment.
35 (elf_arc_relocate_section): Setup symbol_name in reloc_data.
36
37 2016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
38
39 * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
40 entries.
41 (elf_arc_relocate_section): Update enum uses.
42 (elf_arc_check_relocs): Likewise.
43 (elf_arc_finish_dynamic_symbol): Likewise.
44
45 2016-04-14 H.J. Lu <hongjiu.lu@intel.com>
46
47 * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
48 "sh_link".
49
50 2016-04-14 Nick Clifton <nickc@redhat.com>
51
52 PR target/19938
53 * elf-bbfd.h (struct elf_backend_data): New field:
54 elf_strtab_flags.
55 New field: elf_backend_set_special_section_info_and_link
56 * elfxx-target.h (elf_backend_strtab_flags): Define if not already
57 defined.
58 (elf_backend_set_special_section_info_and_link): Define if not
59 already defined.
60 (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
61 elf_backend_strtab_flags macros to initialise fields in structure.
62 * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
63 being set even if SHF_MERGE is not set.
64 (elf_fake_sections): Likewise.
65 (section_match): New function. Matches two ELF sections based
66 upon fixed characteristics.
67 (find_link): New function. Locates a section in a BFD that
68 matches a section in a different BFD.
69 (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
70 fields of reserved sections.
71 (bfd_elf_compute_section_file_positions): Set the flags for the
72 .shstrtab section based upon the elf_strtab_flags field in the
73 elf_backend_data structure.
74 (swap_out_syms): Likewise for the .strtab section.
75 * elflink.c (bfd_elf_final_link): Set the flags for the
76 .strtab section based upon the elf_strtab_flags field in the
77 elf_backend_data structure.
78 * elf32-i386.c (elf32_i386_set_special_info_link): New function.
79 (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
80 targets.
81 (elf_backend_set_special_section_info_and_link): Define for
82 Solaris targets.
83 * elf32-sparc.c: Likewise.
84 * elf64-x86-64.c: Likewise.
85
86 2016-04-11 H.J. Lu <hongjiu.lu@intel.com>
87
88 PR ld/19939
89 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
90 to bfd_boolean.
91 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
92 Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
93 applies to read-only section.
94 * elf32-i386.c (elf_i386_link_hash_table): Add
95 readonly_dynrelocs_against_ifunc.
96 (elf_i386_allocate_dynrelocs): Updated.
97 (elf_i386_size_dynamic_sections): Issue an error for read-only
98 segment with dynamic IFUNC relocations only if
99 readonly_dynrelocs_against_ifunc is TRUE.
100 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
101 readonly_dynrelocs_against_ifunc.
102 (elf_x86_64_allocate_dynrelocs): Updated.
103 (elf_x86_64_size_dynamic_sections): Issue an error for read-only
104 segment with dynamic IFUNC relocations only if
105 readonly_dynrelocs_against_ifunc is TRUE.
106 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
107 Updated.
108
109 2016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
110
111 * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
112 a fall through from error_ret_free_internal. Free local_syms in
113 error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
114
115 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
116
117 * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
118 (relocate_plt_for_entry): Likewise.
119
120 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
121
122 * elf32-arc.c (elf_arc_check_relocs): Changed
123
124 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
125
126 * elf32-arc.c (name_for_global_symbol): Changed assert.
127 (get_replace_function): Created.:
128 (struct arc_relocation_data): Changed to signed types.
129 (defines S, L, P, PDATA): Casted to signed type.
130 (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
131 (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
132 (arc_do_relocation): Changed.
133
134 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
135
136 * elf32-arc.c (name_for_global_symbol): Added assert to check for
137 symbol index.
138 (elf_arc_relocate_section): Added and changed asserts, validating
139 the synamic symbol index.
140 (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
141 relocation if symbol has dynindx set to -1.
142
143 2016-04-05 Maciej W. Rozycki <macro@imgtec.com>
144
145 * elflink.c (elf_link_add_object_symbols): Always turn hidden
146 and internal symbols which have a dynamic index into local
147 ones.
148
149 2016-04-04 Nick Clifton <nickc@redhat.com>
150
151 PR 19872
152 * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
153 version number if the version is zero.
154
155 2016-04-01 Alan Modra <amodra@gmail.com>
156
157 PR 19886
158 * elflink.c (on_needed_list): Recursively check needed status.
159 (elf_link_add_object_symbols): Adjust.
160
161 2016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
162
163 * elf32-avr.c (avr_elf32_load_records_from_section): Free
164 internal_relocs only if they aren't cached.
165
166 2016-03-29 Nick Clifton <nickc@redhat.com>
167
168 PR 17334
169 * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
170 assertion on the size of the got section to allow it to be bigger
171 than the number of relocs.
172
173 2016-03-29 Toni Spets <toni.spets@iki.fi>
174
175 PR 19878
176 * coffcode.h (coff_write_object_contents): Revert accidental
177 2014-11-10 change.
178
179 2016-03-22 Alan Modra <amodra@gmail.com>
180
181 PR 19850
182 * dwarf2.c (read_attribute_value): Skip info_ptr check for
183 DW_FORM_flag_present.
184
185 2016-03-22 Nick Clifton <nickc@redhat.com>
186
187 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
188 architecture name for backwards compatibility.
189
190 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
191 unbounded stack use.
192
193 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
194 sufficiently recent version of GCC.
195 * configure: Regenerate.
196
197 2016-03-22 Alan Modra <amodra@gmail.com>
198
199 PR 19851
200 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
201
202 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
203
204 * archures.c (bfd_mach_arc_nps400): Define.
205 * bfd-in2.h: Regenerate.
206 * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
207 some existing entries to make space.
208 * elf32-arc.c (arc_elf_object_p): Add nps400 case.
209 (arc_elf_final_write_processing): Likewise.
210
211 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
212
213 * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
214 EF_ARC_CPU_GENERIC.
215 (arc_elf_final_write_processing): Don't bother setting cpu field
216 in e_flags, this will have been set elsewhere.
217
218 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
219
220 * elf32-arc.c (arc_elf_final_write_processing): Switch to using
221 EF_ARC_MACH_MSK.
222
223 2016-03-21 Nick Clifton <nickc@redhat.com>
224
225 * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
226 * configure: Regenerate.
227 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
228 alloca with call to xmalloc.
229 * elf32-nds32.c: Likewise.
230 * elf64-hppa.c: Likewise.
231 * elfxx-mips.c: Likewise.
232 * pef.c: Likewise.
233 * pei-x86_64.c: Likewise.
234 * som.c: Likewise.
235 * xsym.c: Likewise.
236
237 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
238
239 PR ld/19827
240 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
241 locally in PIE.
242 (elf_i386_relocate_section): Likewise.
243 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
244 (elf_x86_64_relocate_section): Likewise.
245
246 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
247
248 PR ld/19807
249 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
250 no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
251 relocation overflow check.
252
253 2016-03-14 H.J. Lu <hongjiu.lu@intel.com>
254
255 * bfd-in2.h: Regenerated.
256
257 2016-03-11 Dan Gissel <dgisselq@ieee.org>
258
259 PR 19713
260 * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
261 uses bytes not octets.
262 * elflink.c (resolve_section): Likewise.
263 Add a bfd parameter.
264 (eval_section): Pass the input_bfd to resolve_section.
265 (bfd_elf_perform_complex_relocation): Convert byte offset to
266 octets before read and writing values.
267 (elf_link_input_bfd): Add byte to octet conversions.
268 (elf_reloc_link_order): Likewise.
269 (elf_fixup_link_order): Likewise.
270 (bfd_elf_final_link): Likewise.
271 * reloc.c (_bfd_final_link_relocate): Likewise.
272 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
273
274 2016-03-10 Nick Clifton <nickc@redhat.com>
275
276 * config.bfd: Mark the i370 target as obsolete.
277
278 2016-03-09 Pedro Alves <palves@redhat.com>
279
280 * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
281 gcc ABI)" to printable name.
282 * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
283 of "v850-rh850" as printable name.
284
285 2016-03-09 Leon Winter <winter-gcc@bfw-online.de>
286
287 PR ld/19623
288 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
289 relocations against absolute symbols.
290
291 2016-03-09 Alan Modra <amodra@gmail.com>
292
293 PR binutils/19775
294 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
295 length elements in the archive.
296
297 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
298
299 PR ld/19789
300 * elflink.c (elf_link_add_object_symbols): Create dynamic sections
301 for -E/--dynamic-list only when not relocatable.
302
303 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
304
305 PR ld/19784
306 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
307 count for locally defined local IFUNC symbols in shared object.
308 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
309
310 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
311
312 PR ld/19579
313 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
314 together.
315
316 2016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
317 Andrew Burgess <andrew.burgess@embecosm.com>
318
319 * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
320 (arc_bfd_put_32): Becomes an alias for bfd_put_32.
321 (arc_elf_howto_init): Added assert to validate relocations.
322 (get_middle_endian_relocation): Delete.
323 (middle_endian_convert): New function.
324 (ME): Redefine, now does nothing.
325 (IS_ME): New define.
326 (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
327 definition to call middle_endian_convert. Add a new local
328 variable and make use of this throughout. Added call to
329 arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
330
331 2016-03-07 Nick Clifton <nickc@redhat.com>
332
333 PR binutils/19775
334 * archive.c (bfd_generic_openr_next_archived_file): Allow zero
335 length elements in the archive.
336
337 2016-03-07 Jiong Wang <jiong.wang@arm.com>
338
339 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
340 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
341
342 2016-03-04 H.J. Lu <hongjiu.lu@intel.com>
343
344 PR ld/19579
345 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
346 executable as definition if the new definition comes from a
347 shared library.
348
349 2016-03-02 Alan Modra <amodra@gmail.com>
350
351 * Makefile.in: Regenerate.
352 * po/SRC-POTFILES.in: Regenerate.
353
354 2016-02-29 Cupertino Miranda <cmiranda@synopsys.com>
355
356 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
357 relocation addend when sections get merged.
358
359 2016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
360
361 * elf32-arc.c (arc_elf_final_write_processing): Add condition to
362 the flag change.
363 (elf_arc_relocate_section): Fixes and conditions to support PIE.
364 Assert for code sections dynamic relocs.
365
366 2016-02-26 Renlin Li <renlin.li@arm.com>
367
368 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
369 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
370
371 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
372
373 PR ld/19609
374 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
375 load with locally bound symbols if PIC is false or there is no
376 base register. Optimize branch to 0 if PIC is false.
377 (elf_i386_relocate_section): Don't generate dynamic relocations
378 against undefined weak symbols if PIC is false.
379 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
380 if we can't estimate relocation overflow with --no-relax.
381 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
382 symbols if PIC is false. Optimize branch to 0 if PIC is false.
383 (elf_x86_64_relocate_section): Don't generate dynamic relocations
384 against undefined weak symbols if PIC is false.
385
386 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
387
388 PR ld/19645
389 * bfd.c (bfd): Change flags to 20 bits.
390 (BFD_CONVERT_ELF_COMMON): New.
391 (BFD_USE_ELF_STT_COMMON): Likewise.
392 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
393 BFD_USE_ELF_STT_COMMON.
394 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
395 * configure.ac: Remove --enable-elf-stt-common.
396 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
397 common symbol depending on BFD_CONVERT_ELF_COMMON and
398 BFD_USE_ELF_STT_COMMON.
399 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
400 STT_COMMON.
401 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
402 STT_COMMON.
403 (elf_link_convert_common_type): New function.
404 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
405 common symbol depending on BFD_CONVERT_ELF_COMMON and
406 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx.
407 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
408 and BFD_USE_ELF_STT_COMMON to object_flags.
409 (TARGET_LITTLE_SYM): Likewise.
410 * syms.c (BSF_KEEP_G): Renamed to ...
411 (BSF_ELF_COMMON): This.
412 * bfd-in2.h: Regenerated.
413 * config.in: Likewise.
414 * configure: Likewise.
415
416 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
417
418 PR ld/19636
419 PR ld/19704
420 PR ld/19719
421 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
422 (elf_i386_link_hash_entry): Add has_got_reloc and
423 has_non_got_reloc.
424 (elf_i386_link_hash_table): Add interp.
425 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
426 has_non_got_reloc.
427 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
428 has_non_got_reloc.
429 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
430 (elf_i386_fixup_symbol): New function.
431 (elf_i386_pie_finish_undefweak_symbol): Likewise.
432 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
433 relocations and discard relocations against resolved undefined
434 weak symbols in executable. Don't make resolved undefined weak
435 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
436 relocation against undefined weak symbols in PIE.
437 (elf_i386_size_dynamic_sections): Set interp to .interp section.
438 (elf_i386_relocate_section): Don't generate dynamic relocations
439 against resolved undefined weak symbols in PIE, except for
440 R_386_PC32.
441 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
442 dynamic PLT/GOT relocations for resolved undefined weak symbols.
443 Don't generate dynamic relocation against resolved undefined weak
444 symbol in executable.
445 (elf_i386_finish_dynamic_sections): Call
446 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
447 (elf_backend_fixup_symbol): New.
448 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
449 (elf_x86_64_link_hash_entry): Add has_got_reloc and
450 has_non_got_reloc.
451 (elf_x86_64_link_hash_table): Add interp.
452 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
453 has_non_got_reloc.
454 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
455 has_non_got_reloc.
456 (elf_x86_64_check_relocs): Set has_got_reloc and
457 has_non_got_reloc.
458 (elf_x86_64_fixup_symbol): New function.
459 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
460 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
461 relocations and discard relocations against resolved undefined
462 weak symbols in executable. Don't make resolved undefined weak
463 symbols in executable dynamic.
464 (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
465 (elf_x86_64_relocate_section): Check relocation overflow for
466 dynamic relocations against unresolved weak undefined symbols.
467 Don't generate dynamic relocations against resolved weak
468 undefined symbols in PIE.
469 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
470 dynamic PLT/GOT relocations for resolved undefined weak symbols.
471 Don't generate dynamic relocation against resolved undefined weak
472 symbol in executable.
473 (elf_x86_64_finish_dynamic_sections): Call
474 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
475 (elf_backend_fixup_symbol): New.
476
477 2016-02-26 Alan Modra <amodra@gmail.com>
478
479 * elf64-ppc.c (create_linkage_sections): Create sfpr when
480 save_restore_funcs, rest of sections when not relocatable.
481 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
482 (sfpr_define): Define all symbols on emitted code.
483 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
484 when relocatable. Move sfpr_define loop earlier.
485
486 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
487
488 * elf64-x86-64.c (elf_x86_64_need_pic): New function.
489 (elf_x86_64_relocate_section): Use it. Replace
490 x86_64_elf_howto_table[r_type] with howto.
491
492 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
493
494 PR ld/19698
495 * elflink.c (bfd_elf_record_link_assignment): Set versioned if
496 symbol version is unknown.
497
498 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
499
500 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
501 to (bfd_vma) -1 when setting needs_plt to 0.
502 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
503
504 2016-02-23 H.J. Lu <hongjiu.lu@intel.com>
505
506 * elflink.c (bfd_elf_record_link_assignment): Check for shared
507 library, instead of PIC, and don't check PDE when making linker
508 assigned symbol dynamic.
509
510 2016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
511
512 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
513 ABIVERSION for non-executable stack.
514
515 2016-02-23 Rich Felker <bugdal@aerifal.cx>
516
517 PR target/19516
518 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
519 Always produce a RELATIVE reloc for a local symbol.
520
521 2016-02-23 Hans-Peter Nilsson <hp@axis.com>
522
523 Fix test-case ld-elf/pr19617b
524 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
525 discard unused non-function symbols when --dynamic-list-data.
526
527 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
528
529 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
530 dynsym section, even if it is empty, with dynamic sections.
531
532 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
533
534 * syms.c: Remove BSF_COMMON from comments.
535 * bfd-in2.h: Regenerated.
536
537 2016-02-22 Jiong Wang <jiong.wang@arm.com>
538
539 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
540 for destination. Remove useless function parameters.
541 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
542
543 2016-02-19 Nick Clifton <nickc@redhat.com>
544
545 PR ld/19629
546 * aoutx.h (aout_link_add_symbols): Check for out of range string
547 table offsets.
548
549 PR ld/19628
550 * reloc.c (bfd_generic_get_relocated_section_contents): Stop
551 processing if we encounter a reloc without an associated symbol.
552
553 2016-02-18 H.J. Lu <hongjiu.lu@intel.com>
554
555 PR ld/19617
556 * elflink.c (elf_link_add_object_symbols): Always create dynamic
557 sections for -E/--dynamic-list.
558
559 2016-02-17 H.J. Lu <hongjiu.lu@intel.com>
560
561 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
562 to bfd_true.
563
564 2016-02-16 Joseph Myers <joseph@codesourcery.com>
565
566 * plugin.c (plugin_vec): Set match priority to 255.
567 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
568 matching against the plugin vector, take priority from there not
569 from TEMP.
570
571 2016-02-15 Nick Clifton <nickc@redhat.com>
572
573 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
574 for length and type fields. Use a signed value for the
575 suffix_length field.
576
577 2016-02-10 H.J. Lu <hongjiu.lu@intel.com>
578
579 PR ld/19601
580 * elf32-i386.c (elf_i386_relocate_section): Mask off the least
581 significant bit in GOT offset for R_386_GOT32X.
582
583 2016-02-10 Nick Clifton <nickc@redhat.com>
584
585 PR 19405
586 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
587 immediate values.
588 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
589 number of messages about FDE encoding preventing .eh_frame_hdr
590 generation.
591
592 2016-02-09 Nick Clifton <nickc@redhat.com>
593
594 * oasys.c (oasys_archive_p): Fix indentation.
595 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
596 constant for left shifting.
597
598 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
599 helpful warning message to explain why certain AArch64 relocs
600 might overflow.
601
602 2016-02-05 Simon Marchi <simon.marchi@ericsson.com>
603
604 * pe-mips.c (coff_mips_reloc): Fix formatting.
605
606 2016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
607
608 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
609 to bfd_mach_arc_arc600.
610
611 2016-02-04 Alan Modra <amodra@gmail.com>
612
613 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
614 for big-endian.
615
616 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
617
618 PR ld/19542
619 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
620 distances in the compressed_size field of the output section.
621
622 2016-02-02 Alan Modra <amodra@gmail.com>
623
624 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
625 ELFv2 entry optimization.
626
627 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
628
629 PR binutils/19547
630 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
631 no relocations in relocatable files.
632
633 2016-02-01 H.J. Lu <hongjiu.lu@intel.com>
634
635 PR ld/19553
636 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
637 if a symbol from a library loaded via DT_NEEDED doesn't match
638 the symbol referenced by regular object.
639
640 2016-02-01 Nathaniel Smith <njs@pobox.com>
641
642 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
643 CODE and DATA.
644
645 2016-02-01 Alan Modra <amodra@gmail.com>
646
647 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
648 an out of range reloc_index.
649 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
650
651 2016-02-01 Kamil Rytarowski <n54@gmx.com>
652
653 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
654 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
655 * Makefile.in: Regenerated.
656
657 2016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
658
659 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
660
661 2016-01-31 John David Anglin <danglin@gcc.gnu.org>
662
663 PR ld/19526
664 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
665 files.
666 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
667
668 2016-01-30 H.J. Lu <hongjiu.lu@intel.com>
669
670 PR ld/19539
671 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
672 against STT_GNU_IFUNC symbol only with dynamic symbols.
673 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
674
675 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
676
677 PR binutils/19523
678 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
679 decompress debug sections.
680
681 2016-01-25 Maciej W. Rozycki <macro@imgtec.com>
682
683 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
684 `dynindx'.
685
686 2016-01-25 Nick Clifton <nickc@redhat.com>
687
688 PR target/19435
689 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
690 dsym filename buffer.
691
692 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
693
694 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
695
696 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
697
698 * elfxx-mips.c (BZ16_REG): Correct calculation.
699
700 2016-01-21 Nick Clifton <nickc@redhat.com>
701
702 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
703 changing the type of _loc to be bfd_byte *.
704 (elf_arc_finish_dynamic_symbol): Likewise.
705
706 2016-01-21 Nick Clifton <nickc@redhat.com>
707
708 PR ld/19455
709 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
710 class of the linker stub bfd.
711 (elf32_arm_check_relocs): Skip check for pic format after
712 processing a vxWorks R_ARM_ABS12 reloc.
713 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
714 reporting a class mismatch.
715
716 2016-01-21 Jiong Wang <jiong.wang@arm.com>
717
718 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
719 veneer for sym_sec != input_sec.
720 (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
721 (elfNN_aarch64_final_link_relocate): Take rela addend into account when
722 calculation destination.
723
724 2016-01-21 Alan Modra <amodra@gmail.com>
725
726 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
727 (swap_linux_prpsinfo64_out): New function.
728 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
729 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
730 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
731 (elfcore_write_linux_prpsinfo64): Likewise.
732 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
733 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
734 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
735
736 2016-01-21 Alan Modra <amodra@gmail.com>
737
738 * elf-linux-core.h: Rename from elf-linux-psinfo.h.
739 * elf.c: Adjust #include.
740 * elf32-ppc.c: Don't #include elf-linux-psinfo.h
741 * Makefile.am (SOURCE_HFILES): Update.
742 * Makefile.in: Regenerate.
743 * po/SRC-PORFILES.in: Regenerate.
744
745 2016-01-21 Alan Modra <amodra@gmail.com>
746
747 * configure.ac: Move corefile selection later in file. Move
748 tdefaults code immediately after other target vector code.
749 * configure: Regenerate.
750
751 2016-01-20 Mickael Guene <mickael.guene@st.com>
752
753 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
754 section using '.text.noread' pattern.
755
756 2016-01-19 John Baldwin <jhb@FreeBSD.org>
757
758 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
759
760 2016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
761 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
762
763 * arc-plt.def: New file.
764 * arc-plt.h: Likewise.
765 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
766 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
767 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
768 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
769 (name_for_global_symbol): Added.
770 (ADD_RELA): Helper to create dynamic relocs.
771 (new_got_entry_to_list): Create a new got entry in linked list.
772 (symbol_has_entry_of_type): Search for specific type of entry in
773 list.
774 (is_reloc_for_GOT): return FALSE for any TLS related relocs.
775 (is_reloc_for_TLS, arc_elf_set_private_flags)
776 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
777 (arc_elf_merge_private_bfd_data): New functions.
778 (debug_arc_reloc): Cleaned debug info printing.
779 (PDATA reloc): Changed not to perform address alignment.
780 (reverse_me): Added. Fix for ARC_32 relocs.
781 (arc_do_relocation): Return bfd_reloc_of when no relocation should
782 occur.
783 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
784 Changed function to access an array of list of GOT entries instead
785 of just an array of offsets.
786 (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
787 (elf_arc_check_relocs): Likewise.
788 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
789 (elf_arc_finish_dynamic_sections): Likewise
790 (arc_create_dynamic_sections): Modified conditions to create
791 dynamic sections.
792 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
793 (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
794 (relocate_plt_for_entry): Changed to support new way to define PLT
795 related code.
796 (add_symbol_to_plt): Likewise.
797 (arc_elf_link_hash_table_create): New function.
798
799 2016-01-18 Nick Clifton <nickc@redhat.com>
800
801 PR ld/19440
802 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
803 section number into internal section number.
804 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
805 * coffswap.h (coff_swap_sym_in): Likewise.
806 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
807 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
808 section number field is big enough to hold the external value.
809
810 2016-01-17 Alan Modra <amodra@gmail.com>
811
812 * configure: Regenerate.
813
814 2016-01-12 Yury Usishchev <y.usishchev@samsung.com>
815
816 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
817 when address in first unwind entry does not match start of
818 section.
819
820 2016-01-08 Richard Sandiford <richard.sandiford@arm.com>
821 Jiong Wang <jiong.wang@arm.com>
822
823 PR ld/19368
824 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
825 reloc_class_ifunc.
826
827 2016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
828
829 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
830 place 'R_' before the reloc name returned.
831 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
832 the relocation string.
833
834 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
835
836 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
837 factored out from...
838 (_bfd_mips_elf_merge_private_bfd_data): ... here.
839
840 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
841
842 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
843 attribute check after ELF file header flag check.
844
845 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
846
847 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
848 return status from `_bfd_elf_merge_object_attributes'.
849
850 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
851
852 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
853 factored out from...
854 (_bfd_mips_elf_merge_private_bfd_data): ... here.
855
856 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
857
858 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
859 handling of input MIPS ABI flags together.
860
861 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
862
863 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
864 attribute checks for null input.
865
866 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
867
868 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
869 pointers to target data.
870
871 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
872
873 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
874 an FP ABI warning.
875
876 2016-01-01 Alan Modra <amodra@gmail.com>
877
878 Update year range in copyright notice of all files.
879
880 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
881 \f
882 Copyright (C) 2016 Free Software Foundation, Inc.
883
884 Copying and distribution of this file, with or without modification,
885 are permitted in any medium without royalty provided the copyright
886 notice and this notice are preserved.
887
888 Local Variables:
889 mode: change-log
890 left-margin: 8
891 fill-column: 74
892 version-control: never
893 End: