8d8c24c709acc206dba5bd34b0d733de79d045eb
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2016-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
9 2016-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
29 2016-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
34 2016-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
39 2016-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
46 2016-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
52 2016-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
61 2016-05-19 Maciej W. Rozycki <macro@imgtec.com>
62
63 * config.bfd: Remove `am34-*-linux*' support.
64
65 2016-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
70 2016-05-19 Alan Modra <amodra@gmail.com>
71
72 * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
73 before dereferencing.
74
75 2016-05-18 Nick Clifton <nickc@redhat.com>
76
77 * po/sv.po: Updated Swedish translation.
78
79 2016-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
84 2016-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
103 2016-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
110 2016-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
116 2016-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
120 dynamic tags rather than using output sections. Remove asserts.
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
152 2016-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
159 2016-05-12 Alan Modra <amodra@gmail.com>
160
161 * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
162
163 2016-05-11 Andrew Bennett <andrew.bennett@imgtec.com>
164
165 * elfxx-mips.c (print_mips_ases): Add DSPR3.
166
167 2016-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
175 2016-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
181 2016-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
186 2016-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
197 2016-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
210 2016-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
223 2016-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
228 2016-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
252 2016-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
257 2016-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
264 2016-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
270 2016-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
282 2016-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
288 2016-05-09 Alan Modra <amodra@gmail.com>
289
290 * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
291
292 2016-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
303 2016-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
308 2016-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
317 2016-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
341 2016-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
347 2016-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
356 2016-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
365 2016-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
386 2016-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
392 2016-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
397 2016-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
422 2016-04-28 Nick Clifton <nickc@redhat.com>
423
424 * po/zh_CN.po: Updated Chinese (simplified) translation.
425
426 2016-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
432 2016-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
438 2016-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
444 2016-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
453 2016-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
458 2016-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
463 2016-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
502 2016-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
509 2016-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
514 2016-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
525 2016-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
531 2016-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
538 2016-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
545 2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
546
547 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
548
549 2016-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
555 2016-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
567 2016-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
575 2016-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
580 2016-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
616 2016-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
639 2016-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
645 2016-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
650 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
651
652 * elf32-arc.c (elf_arc_check_relocs): Changed
653
654 2016-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
664 2016-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
673 2016-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
679 2016-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
685 2016-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
691 2016-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
696 2016-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
703 2016-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
709 2016-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
715 2016-03-22 Nick Clifton <nickc@redhat.com>
716
717 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
718 architecture name for backwards compatibility.
719
720 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
721 unbounded stack use.
722
723 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
724 sufficiently recent version of GCC.
725 * configure: Regenerate.
726
727 2016-03-22 Alan Modra <amodra@gmail.com>
728
729 PR 19851
730 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
731
732 2016-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
741 2016-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
748 2016-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
753 2016-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
767 2016-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
776 2016-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
783 2016-03-14 H.J. Lu <hongjiu.lu@intel.com>
784
785 * bfd-in2.h: Regenerated.
786
787 2016-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
804 2016-03-10 Nick Clifton <nickc@redhat.com>
805
806 * config.bfd: Mark the i370 target as obsolete.
807
808 2016-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
815 2016-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
821 2016-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
827 2016-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
833 2016-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
840 2016-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
846 2016-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
861 2016-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
867 2016-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
872 2016-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
879 2016-03-02 Alan Modra <amodra@gmail.com>
880
881 * Makefile.in: Regenerate.
882 * po/SRC-POTFILES.in: Regenerate.
883
884 2016-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
889 2016-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
896 2016-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
901 2016-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
916 2016-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
946 2016-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
1007 2016-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
1016 2016-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
1022 2016-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
1028 2016-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
1034 2016-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
1040 2016-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
1045 2016-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
1051 2016-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
1057 2016-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
1062 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
1063
1064 * syms.c: Remove BSF_COMMON from comments.
1065 * bfd-in2.h: Regenerated.
1066
1067 2016-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
1073 2016-02-19 Nick Clifton <nickc@redhat.com>
1074
1075 PR ld/19629
1076 * aoutx.h (aout_link_add_symbols): Check for out of range string
1077 table offsets.
1078
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
1083 2016-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
1089 2016-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
1094 2016-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
1101 2016-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
1107 2016-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
1113 2016-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
1122 2016-02-09 Nick Clifton <nickc@redhat.com>
1123
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
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
1132 2016-02-05 Simon Marchi <simon.marchi@ericsson.com>
1133
1134 * pe-mips.c (coff_mips_reloc): Fix formatting.
1135
1136 2016-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
1141 2016-02-04 Alan Modra <amodra@gmail.com>
1142
1143 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
1144 for big-endian.
1145
1146 2016-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
1150 distances in the compressed_size field of the output section.
1151
1152 2016-02-02 Alan Modra <amodra@gmail.com>
1153
1154 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
1155 ELFv2 entry optimization.
1156
1157 2016-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
1163 2016-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
1170 2016-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
1175 2016-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
1181 2016-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
1187 2016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
1188
1189 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
1190
1191 2016-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
1198 2016-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
1205 2016-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
1211 2016-01-25 Maciej W. Rozycki <macro@imgtec.com>
1212
1213 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
1214 `dynindx'.
1215
1216 2016-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
1222 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
1223
1224 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
1225
1226 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
1227
1228 * elfxx-mips.c (BZ16_REG): Correct calculation.
1229
1230 2016-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
1236 2016-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
1246 2016-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
1254 2016-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
1266 2016-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
1275 2016-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
1281 2016-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
1286 2016-01-19 John Baldwin <jhb@FreeBSD.org>
1287
1288 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
1289
1290 2016-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
1329 2016-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
1340 2016-01-17 Alan Modra <amodra@gmail.com>
1341
1342 * configure: Regenerate.
1343
1344 2016-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
1350 2016-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
1357 2016-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
1364 2016-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
1370 2016-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
1375 2016-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
1380 2016-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
1386 2016-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
1391 2016-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
1396 2016-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
1401 2016-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
1406 2016-01-01 Alan Modra <amodra@gmail.com>
1407
1408 Update year range in copyright notice of all files.
1409
1410 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
1411 \f
1412 Copyright (C) 2016 Free Software Foundation, Inc.
1413
1414 Copying and distribution of this file, with or without modification,
1415 are permitted in any medium without royalty provided the copyright
1416 notice and this notice are preserved.
1417
1418 Local Variables:
1419 mode: change-log
1420 left-margin: 8
1421 fill-column: 74
1422 version-control: never
1423 End:
This page took 0.06335 seconds and 4 git commands to generate.