a2e5f1edb3290ab7d31b23b4065de96814ef2bbc
[binutils-gdb.git] / bfd / ChangeLog
1 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
2
3 PR ld/19645
4 * bfd.c (bfd): Change flags to 20 bits.
5 (BFD_CONVERT_ELF_COMMON): New.
6 (BFD_USE_ELF_STT_COMMON): Likewise.
7 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
8 BFD_USE_ELF_STT_COMMON.
9 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
10 * configure.ac: Remove --enable-elf-stt-common.
11 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
12 common symbol depending on BFD_CONVERT_ELF_COMMON and
13 BFD_USE_ELF_STT_COMMON.
14 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
15 STT_COMMON.
16 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
17 STT_COMMON.
18 (elf_link_convert_common_type): New function.
19 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
20 common symbol depending on BFD_CONVERT_ELF_COMMON and
21 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx.
22 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
23 and BFD_USE_ELF_STT_COMMON to object_flags.
24 (TARGET_LITTLE_SYM): Likewise.
25 * syms.c (BSF_KEEP_G): Renamed to ...
26 (BSF_ELF_COMMON): This.
27 * bfd-in2.h: Regenerated.
28 * config.in: Likewise.
29 * configure: Likewise.
30
31 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
32
33 PR ld/19636
34 PR ld/19704
35 PR ld/19719
36 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
37 (elf_i386_link_hash_entry): Add has_got_reloc and
38 has_non_got_reloc.
39 (elf_i386_link_hash_table): Add interp.
40 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
41 has_non_got_reloc.
42 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
43 has_non_got_reloc.
44 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
45 (elf_i386_fixup_symbol): New function.
46 (elf_i386_pie_finish_undefweak_symbol): Likewise.
47 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
48 relocations and discard relocations against resolved undefined
49 weak symbols in executable. Don't make resolved undefined weak
50 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
51 relocation against undefined weak symbols in PIE.
52 (elf_i386_size_dynamic_sections): Set interp to .interp section.
53 (elf_i386_relocate_section): Don't generate dynamic relocations
54 against resolved undefined weak symbols in PIE, except for
55 R_386_PC32.
56 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
57 dynamic PLT/GOT relocations for resolved undefined weak symbols.
58 Don't generate dynamic relocation against resolved undefined weak
59 symbol in executable.
60 (elf_i386_finish_dynamic_sections): Call
61 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
62 (elf_backend_fixup_symbol): New.
63 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
64 (elf_x86_64_link_hash_entry): Add has_got_reloc and
65 has_non_got_reloc.
66 (elf_x86_64_link_hash_table): Add interp.
67 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
68 has_non_got_reloc.
69 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
70 has_non_got_reloc.
71 (elf_x86_64_check_relocs): Set has_got_reloc and
72 has_non_got_reloc.
73 (elf_x86_64_fixup_symbol): New function.
74 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
75 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
76 relocations and discard relocations against resolved undefined
77 weak symbols in executable. Don't make resolved undefined weak
78 symbols in executable dynamic.
79 (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
80 (elf_x86_64_relocate_section): Check relocation overflow for
81 dynamic relocations against unresolved weak undefined symbols.
82 Don't generate dynamic relocations against resolved weak
83 undefined symbols in PIE.
84 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
85 dynamic PLT/GOT relocations for resolved undefined weak symbols.
86 Don't generate dynamic relocation against resolved undefined weak
87 symbol in executable.
88 (elf_x86_64_finish_dynamic_sections): Call
89 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
90 (elf_backend_fixup_symbol): New.
91
92 2016-02-26 Alan Modra <amodra@gmail.com>
93
94 * elf64-ppc.c (create_linkage_sections): Create sfpr when
95 save_restore_funcs, rest of sections when not relocatable.
96 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
97 (sfpr_define): Define all symbols on emitted code.
98 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
99 when relocatable. Move sfpr_define loop earlier.
100
101 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
102
103 * elf64-x86-64.c (elf_x86_64_need_pic): New function.
104 (elf_x86_64_relocate_section): Use it. Replace
105 x86_64_elf_howto_table[r_type] with howto.
106
107 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
108
109 PR ld/19698
110 * elflink.c (bfd_elf_record_link_assignment): Set versioned if
111 symbol version is unknown.
112
113 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
114
115 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
116 to (bfd_vma) -1 when setting needs_plt to 0.
117 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
118
119 2016-02-23 H.J. Lu <hongjiu.lu@intel.com>
120
121 * elflink.c (bfd_elf_record_link_assignment): Check for shared
122 library, instead of PIC, and don't check PDE when making linker
123 assigned symbol dynamic.
124
125 2016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
126
127 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
128 ABIVERSION for non-executable stack.
129
130 2016-02-23 Rich Felker <bugdal@aerifal.cx>
131
132 PR target/19516
133 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
134 Always produce a RELATIVE reloc for a local symbol.
135
136 2016-02-23 Hans-Peter Nilsson <hp@axis.com>
137
138 Fix test-case ld-elf/pr19617b
139 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
140 discard unused non-function symbols when --dynamic-list-data.
141
142 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
143
144 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
145 dynsym section, even if it is empty, with dynamic sections.
146
147 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
148
149 * syms.c: Remove BSF_COMMON from comments.
150 * bfd-in2.h: Regenerated.
151
152 2016-02-22 Jiong Wang <jiong.wang@arm.com>
153
154 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
155 for destination. Remove useless function parameters.
156 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
157
158 2016-02-19 Nick Clifton <nickc@redhat.com>
159
160 PR ld/19629
161 * aoutx.h (aout_link_add_symbols): Check for out of range string
162 table offsets.
163
164 PR ld/19628
165 * reloc.c (bfd_generic_get_relocated_section_contents): Stop
166 processing if we encounter a reloc without an associated symbol.
167
168 2016-02-18 H.J. Lu <hongjiu.lu@intel.com>
169
170 PR ld/19617
171 * elflink.c (elf_link_add_object_symbols): Always create dynamic
172 sections for -E/--dynamic-list.
173
174 2016-02-17 H.J. Lu <hongjiu.lu@intel.com>
175
176 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
177 to bfd_true.
178
179 2016-02-16 Joseph Myers <joseph@codesourcery.com>
180
181 * plugin.c (plugin_vec): Set match priority to 255.
182 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
183 matching against the plugin vector, take priority from there not
184 from TEMP.
185
186 2016-02-15 Nick Clifton <nickc@redhat.com>
187
188 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
189 for length and type fields. Use a signed value for the
190 suffix_length field.
191
192 2016-02-10 H.J. Lu <hongjiu.lu@intel.com>
193
194 PR ld/19601
195 * elf32-i386.c (elf_i386_relocate_section): Mask off the least
196 significant bit in GOT offset for R_386_GOT32X.
197
198 2016-02-10 Nick Clifton <nickc@redhat.com>
199
200 PR 19405
201 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
202 immediate values.
203 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
204 number of messages about FDE encoding preventing .eh_frame_hdr
205 generation.
206
207 2016-02-09 Nick Clifton <nickc@redhat.com>
208
209 * oasys.c (oasys_archive_p): Fix indentation.
210 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
211 constant for left shifting.
212
213 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
214 helpful warning message to explain why certain AArch64 relocs
215 might overflow.
216
217 2016-02-05 Simon Marchi <simon.marchi@ericsson.com>
218
219 * pe-mips.c (coff_mips_reloc): Fix formatting.
220
221 2016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
222
223 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
224 to bfd_mach_arc_arc600.
225
226 2016-02-04 Alan Modra <amodra@gmail.com>
227
228 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
229 for big-endian.
230
231 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
232
233 PR ld/19542
234 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
235 distances in the compressed_size field of the output section.
236
237 2016-02-02 Alan Modra <amodra@gmail.com>
238
239 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
240 ELFv2 entry optimization.
241
242 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
243
244 PR binutils/19547
245 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
246 no relocations in relocatable files.
247
248 2016-02-01 H.J. Lu <hongjiu.lu@intel.com>
249
250 PR ld/19553
251 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
252 if a symbol from a library loaded via DT_NEEDED doesn't match
253 the symbol referenced by regular object.
254
255 2016-02-01 Nathaniel Smith <njs@pobox.com>
256
257 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
258 CODE and DATA.
259
260 2016-02-01 Alan Modra <amodra@gmail.com>
261
262 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
263 an out of range reloc_index.
264 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
265
266 2016-02-01 Kamil Rytarowski <n54@gmx.com>
267
268 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
269 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
270 * Makefile.in: Regenerated.
271
272 2016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
273
274 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
275
276 2016-01-31 John David Anglin <danglin@gcc.gnu.org>
277
278 PR ld/19526
279 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
280 files.
281 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
282
283 2016-01-30 H.J. Lu <hongjiu.lu@intel.com>
284
285 PR ld/19539
286 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
287 against STT_GNU_IFUNC symbol only with dynamic symbols.
288 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
289
290 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
291
292 PR binutils/19523
293 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
294 decompress debug sections.
295
296 2016-01-25 Maciej W. Rozycki <macro@imgtec.com>
297
298 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
299 `dynindx'.
300
301 2016-01-25 Nick Clifton <nickc@redhat.com>
302
303 PR target/19435
304 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
305 dsym filename buffer.
306
307 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
308
309 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
310
311 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
312
313 * elfxx-mips.c (BZ16_REG): Correct calculation.
314
315 2016-01-21 Nick Clifton <nickc@redhat.com>
316
317 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
318 changing the type of _loc to be bfd_byte *.
319 (elf_arc_finish_dynamic_symbol): Likewise.
320
321 2016-01-21 Nick Clifton <nickc@redhat.com>
322
323 PR ld/19455
324 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
325 class of the linker stub bfd.
326 (elf32_arm_check_relocs): Skip check for pic format after
327 processing a vxWorks R_ARM_ABS12 reloc.
328 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
329 reporting a class mismatch.
330
331 2016-01-21 Jiong Wang <jiong.wang@arm.com>
332
333 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
334 veneer for sym_sec != input_sec.
335 (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
336 (elfNN_aarch64_final_link_relocate): Take rela addend into account when
337 calculation destination.
338
339 2016-01-21 Alan Modra <amodra@gmail.com>
340
341 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
342 (swap_linux_prpsinfo64_out): New function.
343 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
344 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
345 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
346 (elfcore_write_linux_prpsinfo64): Likewise.
347 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
348 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
349 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
350
351 2016-01-21 Alan Modra <amodra@gmail.com>
352
353 * elf-linux-core.h: Rename from elf-linux-psinfo.h.
354 * elf.c: Adjust #include.
355 * elf32-ppc.c: Don't #include elf-linux-psinfo.h
356 * Makefile.am (SOURCE_HFILES): Update.
357 * Makefile.in: Regenerate.
358 * po/SRC-PORFILES.in: Regenerate.
359
360 2016-01-21 Alan Modra <amodra@gmail.com>
361
362 * configure.ac: Move corefile selection later in file. Move
363 tdefaults code immediately after other target vector code.
364 * configure: Regenerate.
365
366 2016-01-20 Mickael Guene <mickael.guene@st.com>
367
368 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
369 section using '.text.noread' pattern.
370
371 2016-01-19 John Baldwin <jhb@FreeBSD.org>
372
373 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
374
375 2016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
376 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
377
378 * arc-plt.def: New file.
379 * arc-plt.h: Likewise.
380 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
381 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
382 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
383 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
384 (name_for_global_symbol): Added.
385 (ADD_RELA): Helper to create dynamic relocs.
386 (new_got_entry_to_list): Create a new got entry in linked list.
387 (symbol_has_entry_of_type): Search for specific type of entry in
388 list.
389 (is_reloc_for_GOT): return FALSE for any TLS related relocs.
390 (is_reloc_for_TLS, arc_elf_set_private_flags)
391 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
392 (arc_elf_merge_private_bfd_data): New functions.
393 (debug_arc_reloc): Cleaned debug info printing.
394 (PDATA reloc): Changed not to perform address alignment.
395 (reverse_me): Added. Fix for ARC_32 relocs.
396 (arc_do_relocation): Return bfd_reloc_of when no relocation should
397 occur.
398 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
399 Changed function to access an array of list of GOT entries instead
400 of just an array of offsets.
401 (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
402 (elf_arc_check_relocs): Likewise.
403 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
404 (elf_arc_finish_dynamic_sections): Likewise
405 (arc_create_dynamic_sections): Modified conditions to create
406 dynamic sections.
407 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
408 (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
409 (relocate_plt_for_entry): Changed to support new way to define PLT
410 related code.
411 (add_symbol_to_plt): Likewise.
412 (arc_elf_link_hash_table_create): New function.
413
414 2016-01-18 Nick Clifton <nickc@redhat.com>
415
416 PR ld/19440
417 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
418 section number into internal section number.
419 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
420 * coffswap.h (coff_swap_sym_in): Likewise.
421 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
422 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
423 section number field is big enough to hold the external value.
424
425 2016-01-17 Alan Modra <amodra@gmail.com>
426
427 * configure: Regenerate.
428
429 2016-01-12 Yury Usishchev <y.usishchev@samsung.com>
430
431 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
432 when address in first unwind entry does not match start of
433 section.
434
435 2016-01-08 Richard Sandiford <richard.sandiford@arm.com>
436 Jiong Wang <jiong.wang@arm.com>
437
438 PR ld/19368
439 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
440 reloc_class_ifunc.
441
442 2016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
443
444 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
445 place 'R_' before the reloc name returned.
446 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
447 the relocation string.
448
449 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
450
451 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
452 factored out from...
453 (_bfd_mips_elf_merge_private_bfd_data): ... here.
454
455 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
456
457 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
458 attribute check after ELF file header flag check.
459
460 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
461
462 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
463 return status from `_bfd_elf_merge_object_attributes'.
464
465 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
466
467 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
468 factored out from...
469 (_bfd_mips_elf_merge_private_bfd_data): ... here.
470
471 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
472
473 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
474 handling of input MIPS ABI flags together.
475
476 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
477
478 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
479 attribute checks for null input.
480
481 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
482
483 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
484 pointers to target data.
485
486 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
487
488 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
489 an FP ABI warning.
490
491 2016-01-01 Alan Modra <amodra@gmail.com>
492
493 Update year range in copyright notice of all files.
494
495 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
496 \f
497 Copyright (C) 2016 Free Software Foundation, Inc.
498
499 Copying and distribution of this file, with or without modification,
500 are permitted in any medium without royalty provided the copyright
501 notice and this notice are preserved.
502
503 Local Variables:
504 mode: change-log
505 left-margin: 8
506 fill-column: 74
507 version-control: never
508 End: