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