Remove unused libthread_db td_thr_validate reference
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
d7c5bd02
TP
12016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
2
3 * elf32-arm.c (arm_dedicated_stub_section_padding): New function.
4 (elf32_arm_size_stubs): Declare stub_type in a more outer scope and
5 account for padding for stub section requiring one.
6 (elf32_arm_build_stubs): Add comment to stress the importance of
7 zeroing veneer section content.
8
daa4adae
TP
92016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
10
11 * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
12 bfd hook.
13 * bfd-in2.h: Regenerate.
14 * elf32-arm.c (arm_dedicated_stub_output_section_required): New
15 function.
16 (arm_dedicated_stub_output_section_required_alignment): Likewise.
17 (arm_dedicated_stub_output_section_name): Likewise.
18 (arm_dedicated_stub_input_section_ptr): Likewise.
19 (elf32_arm_create_or_find_stub_sec): Add stub type parameter and
20 function description comment. Add support for dedicated output stub
21 section to given stub types.
22 (elf32_arm_add_stub): Add a stub type parameter and pass it down to
23 elf32_arm_create_or_find_stub_sec.
24 (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
25 (elf32_arm_size_stubs): Pass stub type when calling
26 elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
27 (bfd_elf32_arm_keep_private_stub_output_sections): New function.
28
52bf37dd
L
292016-05-20 H.J. Lu <hongjiu.lu@intel.com>
30
31 * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
32 when setting need_convert_load.
33
17c6c9d9
MR
342016-05-20 Maciej W. Rozycki <macro@imgtec.com>
35
36 * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
37 microMIPS JALX.
38
7d4d9709
L
392016-05-19 H.J. Lu <hongjiu.lu@intel.com>
40
41 PR ld/20117
42 * elf32-i386.c (elf_i386_convert_load_reloc): Don't check
43 R_386_GOT32X.
44 (elf_i386_convert_load): Don't convert R_386_GOT32.
45
606851fb
AM
462016-05-20 Alan Modra <amodra@gmail.com>
47
48 PR gas/20118
49 * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
50 SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
51
3c8adaca
CZ
522016-05-19 Cupertino Miranda <cmiranda@synopsys.com>
53
54 * elf32-arc.c (arc_elf_final_write_processing): Changed.
55 (debug_arc_reloc): Likewise.
56 (elf_arc_relocate_section): Likewise.
57 (elf_arc_check_relocs): Likewise.
58 (elf_arc_adjust_dynamic_symbol): Likewise.
59 (elf_arc_add_symbol_hook): Likewise.
60
6b200de0
MR
612016-05-19 Maciej W. Rozycki <macro@imgtec.com>
62
63 * config.bfd: Remove `am34-*-linux*' support.
64
57e7d118
AM
652016-05-19 Alan Modra <amodra@gmail.com>
66
67 * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
68 relocs before plt relocs.
69
9f284bf9
AM
702016-05-19 Alan Modra <amodra@gmail.com>
71
72 * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
73 before dereferencing.
74
50498060
NC
752016-05-18 Nick Clifton <nickc@redhat.com>
76
77 * po/sv.po: Updated Swedish translation.
78
7f991970
AM
792016-05-18 Alan Modra <amodra@gmail.com>
80
81 * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
82 for each BFD. Don't goto error_ret_free_local from outside loop.
83
a43942db
MR
842016-05-17 Maciej W. Rozycki <macro@imgtec.com>
85
86 * elf-s390-common.c (elf_s390_add_symbol_hook): Remove
87 STB_GNU_UNIQUE handling.
88 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
89 * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
90 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
91 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
92 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
93 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
94 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
95 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
96 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
97 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
98 * elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
99 (elf_backend_add_symbol_hook): Remove macro.
100 * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
101 for STB_GNU_UNIQUE symbols.
102
71de3413
MR
1032016-05-16 Maciej W. Rozycki <macro@imgtec.com>
104
105 * elf32-v850.c (v850_elf_copy_notes): New function, factored out
106 from...
107 (v850_elf_copy_private_bfd_data): ... here. Call the new
108 function and `_bfd_elf_copy_private_bfd_data'.
109
2168b268
L
1102016-05-13 H.J. Lu <hongjiu.lu@intel.com>
111
112 PR ld/20093
113 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
114 GOTPCREL relocation against large section.
115
4ade44b7
AM
1162016-05-13 Alan Modra <amodra@gmail.com>
117
118 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
119 linker dynamic sections in calculating size and address of
2168b268 120 dynamic tags rather than using output sections. Remove asserts.
4ade44b7
AM
121 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
122 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
123 * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
124 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
125 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
126 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
127 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
128 * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
129 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
130 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
131 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
132 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
133 * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
134 * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
135 * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
136 * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
137 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
138 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
139 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
140 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
141 * elflink.c (bfd_elf_final_link): Likewise.
142 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
143 * elfxx-sparc.c (sparc_finish_dyn): Likewise. Adjust error message.
144 * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
145 don't set doit. Look up dynobj section.
146 (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
147 invocation and dynamic tag vma calculation. Don't test
148 boolean var == TRUE.
149 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
150 DT_JMPREL calc.
151
c8e44c6d
AM
1522016-05-13 Alan Modra <amodra@gmail.com>
153
154 * elflink.c (elf_link_sort_relocs): Wrap overlong lines. Fix
155 octets_per_byte. Put dynamic .rela.plt last in link orders.
156 Assign output_offset for reloc sections rather than writing
157 sorted relocs from block corresponding to output_offset.
158
1997c994
AM
1592016-05-12 Alan Modra <amodra@gmail.com>
160
161 * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
162
8f4f9071
MF
1632016-05-11 Andrew Bennett <andrew.bennett@imgtec.com>
164
165 * elfxx-mips.c (print_mips_ases): Add DSPR3.
166
a464198b
AM
1672016-05-11 Alan Modra <amodra@gmail.com>
168
169 * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
170 (elf32_hppa_check_relocs): Don't set dynobj.
171 (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
172 (elf32_hppa_build_stubs): Likewise.
173 * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
174
3bd43ebc
AM
1752016-05-11 Alan Modra <amodra@gmail.com>
176
177 PR 20060
178 * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
179 * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
180
4e7fbb34
JW
1812016-05-10 Jiong Wang <jiong.wang@arm.com>
182
183 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
184 aarch64_tls_transition check.
185
4f4faa4d
TP
1862016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
187
188 * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
189 enumerator.
190 (arm_stub_sym_claimed): New function.
191 (elf32_arm_create_stub): Use veneered symbol name and section if
192 veneer needs to claim its symbol, and keep logic unchanged otherwise.
193 (arm_stub_claim_sym): New function.
194 (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
195 veneered symbol, otherwise create local symbol as before.
196
39d911fc
TP
1972016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
198
199 * elf32-arm.c (elf32_arm_size_stubs): Use new macros
200 ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
201 and set branch type of a symbol.
202 (bfd_elf32_arm_process_before_allocation): Likewise.
203 (elf32_arm_relocate_section): Likewise and fix identation along the
204 way.
205 (allocate_dynrelocs_for_symbol): Likewise.
206 (elf32_arm_finish_dynamic_symbol): Likewise.
207 (elf32_arm_swap_symbol_in): Likewise.
208 (elf32_arm_swap_symbol_out): Likewise.
209
6bde4c52
TP
2102016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
211
212 * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
213 * bfd-in2.h: Regenerated.
214 * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
215 parameter to add_stub_section callback.
216 (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
217 and pass it down to add_stub_section.
218 (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
219 for error message.
220 (elf32_arm_size_stubs): Add output section parameter to
221 add_stub_section function pointer parameter.
222
b715f643
TP
2232016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
224
225 * elf32-arm.c (elf32_arm_create_stub): New function.
226 (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
227
8d9d9490
TP
2282016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
229
230 * elf32-arm.c (enum elf32_arm_stub_type): Delete
231 arm_stub_a8_veneer_lwm enumerator.
232 (arm_stub_a8_veneer_lwm): New unsigned constant to replace
233 aforementioned enumerator.
234 (struct elf32_arm_stub_hash_entry): Delete target_addend
235 field and add source_value.
236 (struct a8_erratum_fix): Delete addend field and add target_offset.
237 (stub_hash_newfunc): Initialize source_value field amd remove
238 initialization for target_addend.
239 (arm_build_one_stub): Stop special casing Thumb relocations: promote
240 the else to being always executed, moving the
241 arm_stub_a8_veneer_b_cond specific code in it. Remove
242 stub_entry->target_addend from points_to computation.
243 (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
244 to target symbol from start of section rather than the offset from the
245 stub address.
246 (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
247 fields from struct a8_erratum_fix's offset and target_offset
248 respectively.
249 (make_branch_to_a8_stub): Rename target variable to loc. Compute
250 veneered_insn_loc and loc using stub_entry's source_value.
251
15afaa63
TP
2522016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
253
254 (elf32_arm_merge_eabi_attributes): Add merging logic for
255 Tag_DSP_extension.
256
66a36822
PC
2572016-05-10 Pip Cet <pipcet@gmail.com>
258
259 PR ld/20059
260 * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
261 Define as _bfd_generic_copy_link_hash_symbol_type when using
262 generic hash table.
263
315350be
NC
2642016-05-09 Nick Clifton <nickc@redhat.com>
265
266 PR binutils/20063
267 * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
268 field before accessing sections array.
269
9239bbd3
CM
2702016-05-09 Christophe Monat <christophe.monat@st.com>
271
272 PR ld/20030
273 * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
274 (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
275 to nb_words.
276 (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
277 encoding.
278 (create_instruction_vldmdb): Likewise.
279 (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
280 uses it to re-encode.
281
73597c18
NC
2822016-05-09 Nick Clifton <nickc@redhat.com>
283
284 PR 19938
285 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
286 commit.
287
ae1bb197
AM
2882016-05-09 Alan Modra <amodra@gmail.com>
289
290 * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
291
97196564
L
2922016-05-06 H.J. Lu <hongjiu.lu@intel.com>
293
294 PR ld/17550
295 * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
296 documenting that indx == -3 if symbol is defined in a discarded
297 section.
298 * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
299 symbol is defined in a discarded section.
300 (elf_link_output_extsym): Strip a global symbol defined in a
301 discarded section.
302
030e823c
L
3032016-05-06 H.J. Lu <hongjiu.lu@intel.com>
304
305 * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
306 MCU.
307
c175a657
L
3082016-05-05 H.J. Lu <hongjiu.lu@intel.com>
309
310 * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
311 conversion to ...
312 (elf_i386_convert_load_reloc): This. New function.
313 * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
314 conversion to ...
315 (elf_x86_64_convert_load_reloc): This. New function.
316
bedfd056
L
3172016-05-05 H.J. Lu <hongjiu.lu@intel.com>
318
319 * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
320 Don't check if contents == NULL.
321 (elf_i386_tls_transition): Add from_relocate_section. Check
322 from_relocate_section instead of contents != NULL. Update
323 elf_i386_check_tls_transition call.
324 (elf_i386_check_relocs): Cache the section contents if
325 keep_memory is FALSE. Pass FALSE as from_relocate_section to
326 elf_i386_tls_transition.
327 (elf_i386_relocate_section): Pass TRUE as from_relocate_section
328 to elf_i386_tls_transition.
329 (elf_backend_caches_rawsize): New.
330 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
331 if contents == NULL.
332 (elf_x86_64_tls_transition): Add from_relocate_section. Check
333 from_relocate_section instead of contents != NULL.
334 (elf_x86_64_check_relocs): Cache the section contents if
335 keep_memory is FALSE. Pass FALSE as from_relocate_section to
336 elf_x86_64_tls_transition.
337 (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
338 to elf_x86_64_tls_transition.
339 (elf_backend_caches_rawsize): New.
340
6d6a648c
MR
3412016-05-03 Maciej W. Rozycki <macro@imgtec.com>
342
343 PR 10549
344 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
345 STB_GNU_UNIQUE.
346
1f56df9d
JW
3472016-05-03 Jiong Wang <jiong.wang@arm.com>
348
349 * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
350 * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
351 * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
352 no_apply_dynamic_relocs.
353 (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
354 dynamic relocations generated.
355
493f652c
L
3562016-04-29 H.J. Lu <hongjiu.lu@intel.com>
357
358 * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
359 setting to ...
360 (elf_i386_create_dynamic_sections): Here.
361 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
362 interp setting to ...
363 (elf_x86_64_create_dynamic_sections): Here.
364
e62b9723
L
3652016-04-29 H.J. Lu <hongjiu.lu@intel.com>
366
367 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
368 and replace (EH)->has_got_reloc with GOT_RELOC.
369 (elf_i386_fixup_symbol): Pass has_got_reloc to
370 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
371 (elf_i386_allocate_dynrelocs): Likewise.
372 (elf_i386_relocate_section): Likewise.
373 (elf_i386_finish_dynamic_symbol): Likewise.
374 (elf_i386_convert_load): Pass TRUE to
375 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
376 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
377 GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
378 (elf_x86_64_fixup_symbol): Pass has_got_reloc to
379 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
380 (elf_x86_64_allocate_dynrelocs): Likewise.
381 (elf_x86_64_relocate_section): Likewise.
382 (elf_x86_64_finish_dynamic_symbol): Likewise.
383 (elf_x86_64_convert_load): Pass TRUE to
384 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
385
c337a162
L
3862016-04-29 H.J. Lu <hongjiu.lu@intel.com>
387
388 * elf32-i386.c (check_relocs_failed): New.
389 (elf_i386_check_relocs): Set check_relocs_failed on error.
390 (elf_i386_relocate_section): Skip if check_relocs failed.
391
afd9acee
L
3922016-04-29 H.J. Lu <hongjiu.lu@intel.com>
393
394 * elf64-x86-64.c (elf_x86_64_check_relocs): Set
395 check_relocs_failed on error.
396
5522f910
NC
3972016-04-29 Nick Clifton <nickc@redhat.com>
398
399 PR 19938
400 * elf-bfd.h (struct elf_backend_data): Rename
401 elf_backend_set_special_section_info_and_link to
402 elf_backend_copy_special_section_fields.
403 * elfxx-target.h: Likewise.
404 * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
405 comparing section flags.
406 (copy_special_section_fields): New function.
407 (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
408 Perform two scans over special sections. The first one looks for
409 a direct mapping between the output section and an input section.
410 The second scan looks for a possible match based upon section
411 characteristics.
412 * elf32-arm.c (elf32_arm_copy_special_section_fields): New
413 function. Handle setting the sh_link field of SHT_ARM_EXIDX
414 sections.
415 * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
416 elf32_i386_copy_solaris_special_section_fields.
417 * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
418 Rename to elf32_sparc_copy_solaris_special_section_fields.
419 * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
420 elf64_x86_64_copy_solaris_special_section_fields.
421
786a118c
NC
4222016-04-28 Nick Clifton <nickc@redhat.com>
423
424 * po/zh_CN.po: Updated Chinese (simplified) translation.
425
91f8bf69
L
4262016-04-27 H.J. Lu <hongjiu.lu@intel.com>
427
428 PR ld/20006
429 * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
430 when estimating distances between output sections.
431
a6a4679f
AM
4322016-04-27 Alan Modra <amodra@gmail.com>
433
434 * elflink.c (_bfd_elf_is_start_stop): New function.
435 (_bfd_elf_gc_mark_rsec): Use it.
436 * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
437
28cc9170
TS
4382016-04-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
439
440 * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
441 * mmo.c (mmo_get_section_contents): Likewise.
442 (mmo_set_section_contents): Likewise.
443
d5486c43
L
4442016-04-26 H.J. Lu <hongjiu.lu@intel.com>
445
446 * elf-bfd.h (elf_link_hash_table): Update comments for
447 dynsymcount.
448 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
449 the unused NULL entry at the head of dynamic symbol table.
450 (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
451 checks.
452
6645479e
L
4532016-04-21 H.J. Lu <hongjiu.lu@intel.com>
454
455 * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
456 created file from dynobj.
457
6cd255ca
L
4582016-04-21 H.J. Lu <hongjiu.lu@intel.com>
459
460 * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
461 normal input file if possible.
462
4f3b23b3
NC
4632016-04-21 Nick Clifton <nickc@redhat.com>
464
465 * aout-adobe.c: Use _bfd_generic_link_check_relocs.
466 * aout-target.h: Likewise.
467 * aout-tic30.c: Likewise.
468 * binary.c: Likewise.
469 * bout.c: Likewise.
470 * coff-alpha.c: Likewise.
471 * coff-rs6000.c: Likewise.
472 * coff64-rs6000.c: Likewise.
473 * coffcode.h: Likewise.
474 * i386msdos.c: Likewise.
475 * i386os9k.c: Likewise.
476 * ieee.c: Likewise.
477 * ihex.c: Likewise.
478 * libbfd-in.h: Likewise.
479 * libecoff.h: Likewise.
480 * mach-o-target.c: Likewise.
481 * mmo.c: Likewise.
482 * nlm-target.h: Likewise.
483 * oasys.c: Likewise.
484 * pef.c: Likewise.
485 * plugin.c: Likewise.
486 * ppcboot.c: Likewise.
487 * som.c: Likewise.
488 * srec.c: Likewise.
489 * tekhex.c: Likewise.
490 * versados.c: Likewise.
491 * vms-alpha.c: Likewise.
492 * xsym.c: Likewise.
493 * elfxx-target.h: Use _bfd_elf_link_check_relocs.
494 * linker.c (bfd_link_check_relocs): New function.
495 (_bfd_generic_link_check_relocs): New function.
496 * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
497 _bfd_link_check_relocs field.
498 (struct bfd_target)L Add _bfd_link_check_relocs field.
499 * bfd-in2.h: Regenerate.
500 * libbfd.h: Regenerate.
501
e66cdd68
L
5022016-04-20 H.J. Lu <hongjiu.lu@intel.com>
503
504 * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
505 (elf_backend_gc_sweep_hook): Likewise.
506 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
507 (elf_backend_gc_sweep_hook): Likewise.
508
5ce03cea
L
5092016-04-20 H.J. Lu <hongjiu.lu@intel.com>
510
511 * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
512 in excluded sections
513
338c190a
L
5142016-04-20 H.J. Lu <hongjiu.lu@intel.com>
515
516 PR ld/19969
517 * elf64-x86-64.c (check_relocs_failed): New.
518 (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
519 Support relocation agaist local symbol. Set check_relocs_failed.
520 (elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check
521 R_X86_64_32 relocation overflow.
522 (elf_x86_64_relocate_section): Skip if check_relocs failed.
523 Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
524
466ee2af
L
5252016-04-20 H.J. Lu <hongjiu.lu@intel.com>
526
527 * elf32-i386.c (elf_i386_check_relocs): Call
528 _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
529 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
530
d9689752
L
5312016-04-20 H.J. Lu <hongjiu.lu@intel.com>
532
533 * elf-bfd.h (_bfd_elf_link_check_relocs): New.
534 * elflink.c (_bfd_elf_link_check_relocs): New function.
535 (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
536 if check_relocs_after_open_input is FALSE.
537
e6c7cdec
TS
5382016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
539
540 * cache.c: Update old style function definitions.
541 * elf32-m68k.c: Likewise.
542 * elf64-mmix.c: Likewise.
543 * stab-syms.c: Likewise.
544
b98e6871
TS
5452016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
546
547 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
548
6fd8e7c2
L
5492016-04-15 H.J. Lu <hongjiu.lu@intel.com>
550
551 * Makefile.in: Regenerated with automake 1.11.6.
552 * aclocal.m4: Likewise.
553 * doc/Makefile.in: Likewise.
554
4b0c052e
AB
5552016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
556
557 * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
558 * bfd-in2.h: Regenerate.
559 * libbfd.h: Regenerate.
560 * elf32-arc.c: Add 'opcode/arc.h' include.
561 (struct arc_relocation_data): Add symbol_name.
562 (arc_special_overflow_checks): New function.
563 (arc_do_relocation): Use arc_special_overflow_checks, reindent as
564 required, add an extra comment.
565 (elf_arc_relocate_section): Setup symbol_name in reloc_data.
566
33cbe6c0
AB
5672016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
568
569 * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
570 entries.
571 (elf_arc_relocate_section): Update enum uses.
572 (elf_arc_check_relocs): Likewise.
573 (elf_arc_finish_dynamic_symbol): Likewise.
574
7634c4e6
L
5752016-04-14 H.J. Lu <hongjiu.lu@intel.com>
576
577 * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
578 "sh_link".
579
84865015
NC
5802016-04-14 Nick Clifton <nickc@redhat.com>
581
582 PR target/19938
583 * elf-bbfd.h (struct elf_backend_data): New field:
584 elf_strtab_flags.
585 New field: elf_backend_set_special_section_info_and_link
586 * elfxx-target.h (elf_backend_strtab_flags): Define if not already
587 defined.
588 (elf_backend_set_special_section_info_and_link): Define if not
589 already defined.
590 (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
591 elf_backend_strtab_flags macros to initialise fields in structure.
592 * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
593 being set even if SHF_MERGE is not set.
594 (elf_fake_sections): Likewise.
595 (section_match): New function. Matches two ELF sections based
596 upon fixed characteristics.
597 (find_link): New function. Locates a section in a BFD that
598 matches a section in a different BFD.
599 (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
600 fields of reserved sections.
601 (bfd_elf_compute_section_file_positions): Set the flags for the
602 .shstrtab section based upon the elf_strtab_flags field in the
603 elf_backend_data structure.
604 (swap_out_syms): Likewise for the .strtab section.
605 * elflink.c (bfd_elf_final_link): Set the flags for the
606 .strtab section based upon the elf_strtab_flags field in the
607 elf_backend_data structure.
608 * elf32-i386.c (elf32_i386_set_special_info_link): New function.
609 (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
610 targets.
611 (elf_backend_set_special_section_info_and_link): Define for
612 Solaris targets.
613 * elf32-sparc.c: Likewise.
614 * elf64-x86-64.c: Likewise.
615
2df3368d
L
6162016-04-11 H.J. Lu <hongjiu.lu@intel.com>
617
618 PR ld/19939
619 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
620 to bfd_boolean.
621 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
622 Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
623 applies to read-only section.
624 * elf32-i386.c (elf_i386_link_hash_table): Add
625 readonly_dynrelocs_against_ifunc.
626 (elf_i386_allocate_dynrelocs): Updated.
627 (elf_i386_size_dynamic_sections): Issue an error for read-only
628 segment with dynamic IFUNC relocations only if
629 readonly_dynrelocs_against_ifunc is TRUE.
630 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
631 readonly_dynrelocs_against_ifunc.
632 (elf_x86_64_allocate_dynrelocs): Updated.
633 (elf_x86_64_size_dynamic_sections): Issue an error for read-only
634 segment with dynamic IFUNC relocations only if
635 readonly_dynrelocs_against_ifunc is TRUE.
636 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
637 Updated.
638
15dd01b1
TP
6392016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
640
641 * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
642 a fall through from error_ret_free_internal. Free local_syms in
643 error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
644
1e5885b7
CZ
6452016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
646
647 * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
648 (relocate_plt_for_entry): Likewise.
649
b3aee839
CZ
6502016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
651
652 * elf32-arc.c (elf_arc_check_relocs): Changed
653
094fb063
CZ
6542016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
655
656 * elf32-arc.c (name_for_global_symbol): Changed assert.
657 (get_replace_function): Created.:
658 (struct arc_relocation_data): Changed to signed types.
659 (defines S, L, P, PDATA): Casted to signed type.
660 (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
661 (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
662 (arc_do_relocation): Changed.
663
94e5c971
CZ
6642016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
665
666 * elf32-arc.c (name_for_global_symbol): Added assert to check for
667 symbol index.
668 (elf_arc_relocate_section): Added and changed asserts, validating
669 the synamic symbol index.
670 (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
671 relocation if symbol has dynindx set to -1.
672
1f599d0e
MR
6732016-04-05 Maciej W. Rozycki <macro@imgtec.com>
674
675 * elflink.c (elf_link_add_object_symbols): Always turn hidden
676 and internal symbols which have a dynamic index into local
677 ones.
678
67f101ee
NC
6792016-04-04 Nick Clifton <nickc@redhat.com>
680
681 PR 19872
682 * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
683 version number if the version is zero.
684
7b15fa7a
AM
6852016-04-01 Alan Modra <amodra@gmail.com>
686
687 PR 19886
688 * elflink.c (on_needed_list): Recursively check needed status.
689 (elf_link_add_object_symbols): Adjust.
690
024ea11b
SKS
6912016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
692
693 * elf32-avr.c (avr_elf32_load_records_from_section): Free
694 internal_relocs only if they aren't cached.
695
ed3056eb
NC
6962016-03-29 Nick Clifton <nickc@redhat.com>
697
698 PR 17334
699 * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
700 assertion on the size of the got section to allow it to be bigger
701 than the number of relocs.
702
e2b4fc91
TS
7032016-03-29 Toni Spets <toni.spets@iki.fi>
704
705 PR 19878
706 * coffcode.h (coff_write_object_contents): Revert accidental
707 2014-11-10 change.
708
a97fbc7e
AM
7092016-03-22 Alan Modra <amodra@gmail.com>
710
711 PR 19850
712 * dwarf2.c (read_attribute_value): Skip info_ptr check for
713 DW_FORM_flag_present.
714
9780e045
NC
7152016-03-22 Nick Clifton <nickc@redhat.com>
716
96254e5c
NC
717 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
718 architecture name for backwards compatibility.
719
7769fa97
NC
720 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
721 unbounded stack use.
722
9780e045
NC
723 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
724 sufficiently recent version of GCC.
725 * configure: Regenerate.
726
6f4c0a42
AM
7272016-03-22 Alan Modra <amodra@gmail.com>
728
729 PR 19851
730 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
731
8699fc3e
AB
7322016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
733
734 * archures.c (bfd_mach_arc_nps400): Define.
735 * bfd-in2.h: Regenerate.
736 * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
737 some existing entries to make space.
738 * elf32-arc.c (arc_elf_object_p): Add nps400 case.
739 (arc_elf_final_write_processing): Likewise.
740
a9522a21
AB
7412016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
742
743 * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
744 EF_ARC_CPU_GENERIC.
745 (arc_elf_final_write_processing): Don't bother setting cpu field
746 in e_flags, this will have been set elsewhere.
747
c0334580
AB
7482016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
749
750 * elf32-arc.c (arc_elf_final_write_processing): Switch to using
751 EF_ARC_MACH_MSK.
752
e1fa0163
NC
7532016-03-21 Nick Clifton <nickc@redhat.com>
754
755 * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
756 * configure: Regenerate.
757 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
758 alloca with call to xmalloc.
759 * elf32-nds32.c: Likewise.
760 * elf64-hppa.c: Likewise.
761 * elfxx-mips.c: Likewise.
762 * pef.c: Likewise.
763 * pei-x86_64.c: Likewise.
764 * som.c: Likewise.
765 * xsym.c: Likewise.
766
4e0c91e4
L
7672016-03-15 H.J. Lu <hongjiu.lu@intel.com>
768
769 PR ld/19827
770 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
771 locally in PIE.
772 (elf_i386_relocate_section): Likewise.
773 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
774 (elf_x86_64_relocate_section): Likewise.
775
4c10bbaa
L
7762016-03-15 H.J. Lu <hongjiu.lu@intel.com>
777
778 PR ld/19807
779 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
780 no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
781 relocation overflow check.
782
fbe48798
L
7832016-03-14 H.J. Lu <hongjiu.lu@intel.com>
784
785 * bfd-in2.h: Regenerated.
786
37b01f6a
DG
7872016-03-11 Dan Gissel <dgisselq@ieee.org>
788
789 PR 19713
790 * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
791 uses bytes not octets.
792 * elflink.c (resolve_section): Likewise.
793 Add a bfd parameter.
794 (eval_section): Pass the input_bfd to resolve_section.
795 (bfd_elf_perform_complex_relocation): Convert byte offset to
796 octets before read and writing values.
797 (elf_link_input_bfd): Add byte to octet conversions.
798 (elf_reloc_link_order): Likewise.
799 (elf_fixup_link_order): Likewise.
800 (bfd_elf_final_link): Likewise.
801 * reloc.c (_bfd_final_link_relocate): Likewise.
802 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
803
3ed4ff97
NC
8042016-03-10 Nick Clifton <nickc@redhat.com>
805
806 * config.bfd: Mark the i370 target as obsolete.
807
4b05e0a7
PA
8082016-03-09 Pedro Alves <palves@redhat.com>
809
810 * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
811 gcc ABI)" to printable name.
812 * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
813 of "v850-rh850" as printable name.
814
26c62da0
LW
8152016-03-09 Leon Winter <winter-gcc@bfw-online.de>
816
817 PR ld/19623
818 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
819 relocations against absolute symbols.
820
03ee8583
AM
8212016-03-09 Alan Modra <amodra@gmail.com>
822
823 PR binutils/19775
824 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
825 length elements in the archive.
826
9c1d7a08
L
8272016-03-08 H.J. Lu <hongjiu.lu@intel.com>
828
829 PR ld/19789
830 * elflink.c (elf_link_add_object_symbols): Create dynamic sections
831 for -E/--dynamic-list only when not relocatable.
832
d1ed1c7d
L
8332016-03-08 H.J. Lu <hongjiu.lu@intel.com>
834
835 PR ld/19784
836 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
837 count for locally defined local IFUNC symbols in shared object.
838 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
839
202ac193
L
8402016-03-08 H.J. Lu <hongjiu.lu@intel.com>
841
842 PR ld/19579
843 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
844 together.
845
72f3b6aa
CZ
8462016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
847 Andrew Burgess <andrew.burgess@embecosm.com>
848
849 * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
850 (arc_bfd_put_32): Becomes an alias for bfd_put_32.
851 (arc_elf_howto_init): Added assert to validate relocations.
852 (get_middle_endian_relocation): Delete.
853 (middle_endian_convert): New function.
854 (ME): Redefine, now does nothing.
855 (IS_ME): New define.
856 (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
857 definition to call middle_endian_convert. Add a new local
858 variable and make use of this throughout. Added call to
859 arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
860
4fc87424
NC
8612016-03-07 Nick Clifton <nickc@redhat.com>
862
863 PR binutils/19775
864 * archive.c (bfd_generic_openr_next_archived_file): Allow zero
865 length elements in the archive.
866
18f822a0
JW
8672016-03-07 Jiong Wang <jiong.wang@arm.com>
868
869 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
870 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
871
07492f66
L
8722016-03-04 H.J. Lu <hongjiu.lu@intel.com>
873
874 PR ld/19579
875 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
876 executable as definition if the new definition comes from a
877 shared library.
878
70a5df4f
AM
8792016-03-02 Alan Modra <amodra@gmail.com>
880
881 * Makefile.in: Regenerate.
882 * po/SRC-POTFILES.in: Regenerate.
883
841fdfcd
CZ
8842016-02-29 Cupertino Miranda <cmiranda@synopsys.com>
885
886 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
887 relocation addend when sections get merged.
888
7e458899
CZ
8892016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
890
891 * elf32-arc.c (arc_elf_final_write_processing): Add condition to
892 the flag change.
893 (elf_arc_relocate_section): Fixes and conditions to support PIE.
894 Assert for code sections dynamic relocs.
895
c5e3a364
RL
8962016-02-26 Renlin Li <renlin.li@arm.com>
897
898 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
899 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
900
bae420ef
L
9012016-02-26 H.J. Lu <hongjiu.lu@intel.com>
902
903 PR ld/19609
904 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
905 load with locally bound symbols if PIC is false or there is no
906 base register. Optimize branch to 0 if PIC is false.
907 (elf_i386_relocate_section): Don't generate dynamic relocations
908 against undefined weak symbols if PIC is false.
909 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
910 if we can't estimate relocation overflow with --no-relax.
911 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
912 symbols if PIC is false. Optimize branch to 0 if PIC is false.
913 (elf_x86_64_relocate_section): Don't generate dynamic relocations
914 against undefined weak symbols if PIC is false.
915
11e5f1ec
L
9162016-02-26 H.J. Lu <hongjiu.lu@intel.com>
917
918 PR ld/19645
919 * bfd.c (bfd): Change flags to 20 bits.
920 (BFD_CONVERT_ELF_COMMON): New.
921 (BFD_USE_ELF_STT_COMMON): Likewise.
922 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
923 BFD_USE_ELF_STT_COMMON.
924 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
925 * configure.ac: Remove --enable-elf-stt-common.
926 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
927 common symbol depending on BFD_CONVERT_ELF_COMMON and
928 BFD_USE_ELF_STT_COMMON.
929 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
930 STT_COMMON.
931 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
932 STT_COMMON.
933 (elf_link_convert_common_type): New function.
934 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
935 common symbol depending on BFD_CONVERT_ELF_COMMON and
936 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx.
937 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
938 and BFD_USE_ELF_STT_COMMON to object_flags.
939 (TARGET_LITTLE_SYM): Likewise.
940 * syms.c (BSF_KEEP_G): Renamed to ...
941 (BSF_ELF_COMMON): This.
942 * bfd-in2.h: Regenerated.
943 * config.in: Likewise.
944 * configure: Likewise.
945
aec6b87e
L
9462016-02-26 H.J. Lu <hongjiu.lu@intel.com>
947
948 PR ld/19636
949 PR ld/19704
950 PR ld/19719
951 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
952 (elf_i386_link_hash_entry): Add has_got_reloc and
953 has_non_got_reloc.
954 (elf_i386_link_hash_table): Add interp.
955 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
956 has_non_got_reloc.
957 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
958 has_non_got_reloc.
959 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
960 (elf_i386_fixup_symbol): New function.
961 (elf_i386_pie_finish_undefweak_symbol): Likewise.
962 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
963 relocations and discard relocations against resolved undefined
964 weak symbols in executable. Don't make resolved undefined weak
965 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
966 relocation against undefined weak symbols in PIE.
967 (elf_i386_size_dynamic_sections): Set interp to .interp section.
968 (elf_i386_relocate_section): Don't generate dynamic relocations
969 against resolved undefined weak symbols in PIE, except for
970 R_386_PC32.
971 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
972 dynamic PLT/GOT relocations for resolved undefined weak symbols.
973 Don't generate dynamic relocation against resolved undefined weak
974 symbol in executable.
975 (elf_i386_finish_dynamic_sections): Call
976 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
977 (elf_backend_fixup_symbol): New.
978 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
979 (elf_x86_64_link_hash_entry): Add has_got_reloc and
980 has_non_got_reloc.
981 (elf_x86_64_link_hash_table): Add interp.
982 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
983 has_non_got_reloc.
984 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
985 has_non_got_reloc.
986 (elf_x86_64_check_relocs): Set has_got_reloc and
987 has_non_got_reloc.
988 (elf_x86_64_fixup_symbol): New function.
989 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
990 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
991 relocations and discard relocations against resolved undefined
992 weak symbols in executable. Don't make resolved undefined weak
993 symbols in executable dynamic.
994 (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
995 (elf_x86_64_relocate_section): Check relocation overflow for
996 dynamic relocations against unresolved weak undefined symbols.
997 Don't generate dynamic relocations against resolved weak
998 undefined symbols in PIE.
999 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
1000 dynamic PLT/GOT relocations for resolved undefined weak symbols.
1001 Don't generate dynamic relocation against resolved undefined weak
1002 symbol in executable.
1003 (elf_x86_64_finish_dynamic_sections): Call
1004 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
1005 (elf_backend_fixup_symbol): New.
1006
b32547cd
AM
10072016-02-26 Alan Modra <amodra@gmail.com>
1008
1009 * elf64-ppc.c (create_linkage_sections): Create sfpr when
1010 save_restore_funcs, rest of sections when not relocatable.
1011 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
1012 (sfpr_define): Define all symbols on emitted code.
1013 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
1014 when relocatable. Move sfpr_define loop earlier.
1015
ef77d6af
L
10162016-02-24 H.J. Lu <hongjiu.lu@intel.com>
1017
1018 * elf64-x86-64.c (elf_x86_64_need_pic): New function.
1019 (elf_x86_64_relocate_section): Use it. Replace
1020 x86_64_elf_howto_table[r_type] with howto.
1021
0f550b3d
L
10222016-02-24 H.J. Lu <hongjiu.lu@intel.com>
1023
1024 PR ld/19698
1025 * elflink.c (bfd_elf_record_link_assignment): Set versioned if
1026 symbol version is unknown.
1027
13f42277
L
10282016-02-24 H.J. Lu <hongjiu.lu@intel.com>
1029
1030 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
1031 to (bfd_vma) -1 when setting needs_plt to 0.
1032 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
1033
6b3b0ab8
L
10342016-02-23 H.J. Lu <hongjiu.lu@intel.com>
1035
1036 * elflink.c (bfd_elf_record_link_assignment): Check for shared
1037 library, instead of PIC, and don't check PDE when making linker
1038 assigned symbol dynamic.
1039
17733f5b
FS
10402016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
1041
1042 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
1043 ABIVERSION for non-executable stack.
1044
47993b4a
RF
10452016-02-23 Rich Felker <bugdal@aerifal.cx>
1046
1047 PR target/19516
1048 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
1049 Always produce a RELATIVE reloc for a local symbol.
1050
2d8dcb81
HPN
10512016-02-23 Hans-Peter Nilsson <hp@axis.com>
1052
1053 Fix test-case ld-elf/pr19617b
1054 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
1055 discard unused non-function symbols when --dynamic-list-data.
1056
1a6e6083
L
10572016-02-22 H.J. Lu <hongjiu.lu@intel.com>
1058
1059 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
1060 dynsym section, even if it is empty, with dynamic sections.
1061
75c1920b
L
10622016-02-22 H.J. Lu <hongjiu.lu@intel.com>
1063
1064 * syms.c: Remove BSF_COMMON from comments.
1065 * bfd-in2.h: Regenerated.
1066
9a228467
JW
10672016-02-22 Jiong Wang <jiong.wang@arm.com>
1068
1069 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
1070 for destination. Remove useless function parameters.
1071 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
1072
73768414
NC
10732016-02-19 Nick Clifton <nickc@redhat.com>
1074
e517df3d
NC
1075 PR ld/19629
1076 * aoutx.h (aout_link_add_symbols): Check for out of range string
1077 table offsets.
1078
73768414
NC
1079 PR ld/19628
1080 * reloc.c (bfd_generic_get_relocated_section_contents): Stop
1081 processing if we encounter a reloc without an associated symbol.
1082
bf89386a
L
10832016-02-18 H.J. Lu <hongjiu.lu@intel.com>
1084
1085 PR ld/19617
1086 * elflink.c (elf_link_add_object_symbols): Always create dynamic
1087 sections for -E/--dynamic-list.
1088
8f79b794
L
10892016-02-17 H.J. Lu <hongjiu.lu@intel.com>
1090
1091 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
1092 to bfd_true.
1093
64bfc258
JM
10942016-02-16 Joseph Myers <joseph@codesourcery.com>
1095
1096 * plugin.c (plugin_vec): Set match priority to 255.
1097 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
1098 matching against the plugin vector, take priority from there not
1099 from TEMP.
1100
9fb71ee4
NC
11012016-02-15 Nick Clifton <nickc@redhat.com>
1102
1103 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
1104 for length and type fields. Use a signed value for the
1105 suffix_length field.
1106
32875eb1
L
11072016-02-10 H.J. Lu <hongjiu.lu@intel.com>
1108
1109 PR ld/19601
1110 * elf32-i386.c (elf_i386_relocate_section): Mask off the least
1111 significant bit in GOT offset for R_386_GOT32X.
1112
83da6e74
NC
11132016-02-10 Nick Clifton <nickc@redhat.com>
1114
1115 PR 19405
1116 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
1117 immediate values.
1118 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
1119 number of messages about FDE encoding preventing .eh_frame_hdr
1120 generation.
1121
027e9c75
NC
11222016-02-09 Nick Clifton <nickc@redhat.com>
1123
609332f1
NC
1124 * oasys.c (oasys_archive_p): Fix indentation.
1125 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
1126 constant for left shifting.
1127
027e9c75
NC
1128 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
1129 helpful warning message to explain why certain AArch64 relocs
1130 might overflow.
1131
6f57d046
SM
11322016-02-05 Simon Marchi <simon.marchi@ericsson.com>
1133
1134 * pe-mips.c (coff_mips_reloc): Fix formatting.
1135
bdbca4e6
CM
11362016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
1137
1138 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
1139 to bfd_mach_arc_arc600.
1140
4f038ee5
AM
11412016-02-04 Alan Modra <amodra@gmail.com>
1142
1143 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
1144 for big-endian.
1145
4a539596
L
11462016-02-02 H.J. Lu <hongjiu.lu@intel.com>
1147
1148 PR ld/19542
1149 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
fb06f1c0 1150 distances in the compressed_size field of the output section.
4a539596 1151
85fabe71
AM
11522016-02-02 Alan Modra <amodra@gmail.com>
1153
1154 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
1155 ELFv2 entry optimization.
1156
14f2c699
L
11572016-02-02 H.J. Lu <hongjiu.lu@intel.com>
1158
1159 PR binutils/19547
1160 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
1161 no relocations in relocatable files.
1162
aef28989
L
11632016-02-01 H.J. Lu <hongjiu.lu@intel.com>
1164
1165 PR ld/19553
1166 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
1167 if a symbol from a library loaded via DT_NEEDED doesn't match
1168 the symbol referenced by regular object.
1169
655ed9ea
NS
11702016-02-01 Nathaniel Smith <njs@pobox.com>
1171
1172 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
1173 CODE and DATA.
1174
ec1f73bb
AM
11752016-02-01 Alan Modra <amodra@gmail.com>
1176
1177 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
1178 an out of range reloc_index.
1179 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
1180
b6471e6e
KR
11812016-02-01 Kamil Rytarowski <n54@gmx.com>
1182
1183 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
1184 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
1185 * Makefile.in: Regenerated.
1186
0bc7245a
JK
11872016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
1188
1189 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
1190
6d4b2867
JDA
11912016-01-31 John David Anglin <danglin@gcc.gnu.org>
1192
1193 PR ld/19526
1194 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
1195 files.
1196 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
1197
d9e3b590
L
11982016-01-30 H.J. Lu <hongjiu.lu@intel.com>
1199
1200 PR ld/19539
1201 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
1202 against STT_GNU_IFUNC symbol only with dynamic symbols.
1203 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
1204
bf150a0b
L
12052016-01-28 H.J. Lu <hongjiu.lu@intel.com>
1206
1207 PR binutils/19523
1208 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
1209 decompress debug sections.
1210
840855c5
MR
12112016-01-25 Maciej W. Rozycki <macro@imgtec.com>
1212
1213 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
1214 `dynindx'.
1215
cf466c2a
NC
12162016-01-25 Nick Clifton <nickc@redhat.com>
1217
1218 PR target/19435
1219 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
1220 dsym filename buffer.
1221
eb6b0cf4
MR
12222016-01-24 Maciej W. Rozycki <macro@imgtec.com>
1223
1224 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
1225
e67f83e5
MR
12262016-01-24 Maciej W. Rozycki <macro@imgtec.com>
1227
1228 * elfxx-mips.c (BZ16_REG): Correct calculation.
1229
23a42089
NC
12302016-01-21 Nick Clifton <nickc@redhat.com>
1231
1232 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
1233 changing the type of _loc to be bfd_byte *.
1234 (elf_arc_finish_dynamic_symbol): Likewise.
1235
aebf9be7
NC
12362016-01-21 Nick Clifton <nickc@redhat.com>
1237
1238 PR ld/19455
1239 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
1240 class of the linker stub bfd.
1241 (elf32_arm_check_relocs): Skip check for pic format after
1242 processing a vxWorks R_ARM_ABS12 reloc.
1243 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
1244 reporting a class mismatch.
1245
2f340668
JW
12462016-01-21 Jiong Wang <jiong.wang@arm.com>
1247
1248 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
1249 veneer for sym_sec != input_sec.
1250 (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
1251 (elfNN_aarch64_final_link_relocate): Take rela addend into account when
1252 calculation destination.
1253
aeb70569
AM
12542016-01-21 Alan Modra <amodra@gmail.com>
1255
1256 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
1257 (swap_linux_prpsinfo64_out): New function.
1258 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
1259 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
1260 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
1261 (elfcore_write_linux_prpsinfo64): Likewise.
1262 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
1263 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
1264 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
1265
de64ce13
AM
12662016-01-21 Alan Modra <amodra@gmail.com>
1267
1268 * elf-linux-core.h: Rename from elf-linux-psinfo.h.
1269 * elf.c: Adjust #include.
1270 * elf32-ppc.c: Don't #include elf-linux-psinfo.h
1271 * Makefile.am (SOURCE_HFILES): Update.
1272 * Makefile.in: Regenerate.
1273 * po/SRC-PORFILES.in: Regenerate.
1274
c603b11b
AM
12752016-01-21 Alan Modra <amodra@gmail.com>
1276
1277 * configure.ac: Move corefile selection later in file. Move
1278 tdefaults code immediately after other target vector code.
1279 * configure: Regenerate.
1280
91f68a68
MG
12812016-01-20 Mickael Guene <mickael.guene@st.com>
1282
1283 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
1284 section using '.text.noread' pattern.
1285
5b2c414d
JB
12862016-01-19 John Baldwin <jhb@FreeBSD.org>
1287
1288 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
1289
34e967a5
MC
12902016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
1291 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
1292
1293 * arc-plt.def: New file.
1294 * arc-plt.h: Likewise.
1295 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
1296 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
1297 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
1298 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
1299 (name_for_global_symbol): Added.
1300 (ADD_RELA): Helper to create dynamic relocs.
1301 (new_got_entry_to_list): Create a new got entry in linked list.
1302 (symbol_has_entry_of_type): Search for specific type of entry in
1303 list.
1304 (is_reloc_for_GOT): return FALSE for any TLS related relocs.
1305 (is_reloc_for_TLS, arc_elf_set_private_flags)
1306 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
1307 (arc_elf_merge_private_bfd_data): New functions.
1308 (debug_arc_reloc): Cleaned debug info printing.
1309 (PDATA reloc): Changed not to perform address alignment.
1310 (reverse_me): Added. Fix for ARC_32 relocs.
1311 (arc_do_relocation): Return bfd_reloc_of when no relocation should
1312 occur.
1313 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
1314 Changed function to access an array of list of GOT entries instead
1315 of just an array of offsets.
1316 (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
1317 (elf_arc_check_relocs): Likewise.
1318 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
1319 (elf_arc_finish_dynamic_sections): Likewise
1320 (arc_create_dynamic_sections): Modified conditions to create
1321 dynamic sections.
1322 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
1323 (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
1324 (relocate_plt_for_entry): Changed to support new way to define PLT
1325 related code.
1326 (add_symbol_to_plt): Likewise.
1327 (arc_elf_link_hash_table_create): New function.
1328
9ae678af
NC
13292016-01-18 Nick Clifton <nickc@redhat.com>
1330
1331 PR ld/19440
1332 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
1333 section number into internal section number.
1334 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
1335 * coffswap.h (coff_swap_sym_in): Likewise.
1336 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
1337 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
1338 section number field is big enough to hold the external value.
1339
5c14705f
AM
13402016-01-17 Alan Modra <amodra@gmail.com>
1341
1342 * configure: Regenerate.
1343
ac06903d
YU
13442016-01-12 Yury Usishchev <y.usishchev@samsung.com>
1345
1346 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
1347 when address in first unwind entry does not match start of
1348 section.
1349
109575d7
JW
13502016-01-08 Richard Sandiford <richard.sandiford@arm.com>
1351 Jiong Wang <jiong.wang@arm.com>
1352
1353 PR ld/19368
1354 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
1355 reloc_class_ifunc.
1356
b05a65d0
AB
13572016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
1358
1359 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
1360 place 'R_' before the reloc name returned.
1361 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
1362 the relocation string.
1363
a3dc0a7f
MR
13642016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1365
1366 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
1367 factored out from...
1368 (_bfd_mips_elf_merge_private_bfd_data): ... here.
1369
d537eeb5
MR
13702016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1371
1372 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
1373 attribute check after ELF file header flag check.
1374
43d223b5
MR
13752016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1376
1377 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
1378 return status from `_bfd_elf_merge_object_attributes'.
1379
b2e9744f
MR
13802016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1381
1382 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
1383 factored out from...
1384 (_bfd_mips_elf_merge_private_bfd_data): ... here.
1385
28d45e28
MR
13862016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1387
1388 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
1389 handling of input MIPS ABI flags together.
1390
23ba6f18
MR
13912016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1392
1393 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
1394 attribute checks for null input.
1395
cf8502c1
MR
13962016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1397
1398 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
1399 pointers to target data.
1400
dcb1c796
MR
14012016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1402
1403 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
1404 an FP ABI warning.
1405
6f2750fe
AM
14062016-01-01 Alan Modra <amodra@gmail.com>
1407
1408 Update year range in copyright notice of all files.
1409
3499769a
AM
1410For older changes see ChangeLog-2015 and doc/ChangeLog-0415
1411\f
1412Copyright (C) 2016 Free Software Foundation, Inc.
1413
1414Copying and distribution of this file, with or without modification,
1415are permitted in any medium without royalty provided the copyright
1416notice and this notice are preserved.
1417
1418Local Variables:
1419mode: change-log
1420left-margin: 8
1421fill-column: 74
1422version-control: never
1423End:
This page took 0.103403 seconds and 4 git commands to generate.