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