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