Support any relocation order
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
3b67f094
MK
12016-06-07 Marcin Koƛcielnicki <koriakin@0x04.net>
2
3 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
4 * elf64-s390.c (elf_s390x_plt_entry): Fix comment.
5 (elf_s390_relocate_section): Fix comment.
6 (elf_s390_finish_dynamic_sections): Fix initialization of fixed
7 .got.plt entries.
8
161db279
AK
92016-06-07 Ulrich Weigand <ulrich.weigand@de.ibm.com>
10
11 * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
12 section offset when calculation the larl operand in the first PLT
13 entry.
14
14b57c7c
AM
152016-06-07 Alan Modra <amodra@gmail.com>
16
17 * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
18 to match other 32-bit archs.
19 * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
20 (ppc_elf_object_p): Call it.
21 (ppc_elf_special_sections): Use APUINFO_SECTION_NAME. Fix
22 overlong line.
23 (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
24 * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
25 * bfd-in.h (_bfd_elf_ppc_at_tls_transform,
26 _bfd_elf_ppc_at_tprel_transform): Move to..
27 * elf-bfd.h: ..here.
28 (_bfd_elf_ppc_set_arch): Declare.
29 * bfd-in2.h: Regenerate.
30
e2cbcd91
L
312016-06-06 H.J. Lu <hongjiu.lu@intel.com>
32
33 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
34 (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
35 (elf_x86_64_check_tls_transition): Check indirect call and
36 direct call with the addr32 prefix for general and local dynamic
37 models. Set the tls_get_addr feild.
38 (elf_x86_64_convert_load_reloc): Always use addr32 prefix for
39 indirect __tls_get_addr call via GOT.
40 (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
41 transitions with indirect call and direct call with the addr32
42 prefix.
43
2ac27cd3
CG
442016-06-04 Christian Groessler <chris@groessler.org>
45
46 * coff-z8k.c (extra_case): Fix range check for R_JR relocation.
47
99914dfd
NC
482016-06-02 Nick Clifton <nickc@redhat.com>
49
50 PR target/20088
51 * cpu-arm.c (processors): Add "arm_any" type to match any ARM
52 architecture.
53 (arch_info_struct): Likewise.
54 (architectures): Likewise.
55
4ad0bb5f
VG
562016-06-02 Vineet Gupta <Vineet.Gupta1@synopsys.com>
57
58 * config.bfd: Replace -uclibc with *.
59
3ddf1bdd
L
602016-06-02 H.J. Lu <hongjiu.lu@intel.com>
61
62 * elf64-x86-64.c: Replace data32 with data16 in comments.
63
5b677558
AM
642016-05-31 Alan Modra <amodra@gmail.com>
65
66 PR ld/20159
67 PR ld/16467
68 * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
69 (_bfd_elf_add_default_symbol): Don't indirect to/from defined
70 symbol given a version by a script different to the version
71 of the symbol being added.
72 (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
73 _bfd_elf_strtab_restore. Don't fudge dynstr references.
74 * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
75 (struct strtab_save): New.
76 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
77 * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
78 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
79
1fe0971e
TS
802016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
81
82 * elf32-hppa.h: Add extern "C".
83 * elf32-nds32.h: Likewise.
84 * elf32-tic6x.h: Likewise.
85
885a1087
NC
862016-06-01 Nick Clifton <nickc@redhat.com>
87
88 * po/sr.po: New Serbian translation.
89 * configure.ac (ALL_LINGUAS): Add sr.
90 * configure: Regenerate.
91
99aefae6
MR
922016-05-28 Maciej W. Rozycki <macro@imgtec.com>
93
94 * elfxx-mips.c (b_reloc_p): New function.
95 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
96 branch relocations.
97
77434823
MR
982016-05-28 Maciej W. Rozycki <macro@imgtec.com>
99
100 * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
101 <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
102 reloc location from calculation, treat the addend as signed with
103 local non-section symbols and enable overflow detection.
104
1a72702b
AM
1052016-05-28 Alan Modra <amodra@gmail.com>
106
107 * aoutx.h: Adjust linker callback calls throughout file,
108 removing dead code.
109 * bout.c: Likewise.
110 * coff-alpha.c: Likewise.
111 * coff-arm.c: Likewise.
112 * coff-h8300.c: Likewise.
113 * coff-h8500.c: Likewise.
114 * coff-i960.c: Likewise.
115 * coff-mcore.c: Likewise.
116 * coff-mips.c: Likewise.
117 * coff-ppc.c: Likewise.
118 * coff-rs6000.c: Likewise.
119 * coff-sh.c: Likewise.
120 * coff-tic80.c: Likewise.
121 * coff-w65.c: Likewise.
122 * coff-z80.c: Likewise.
123 * coff-z8k.c: Likewise.
124 * coff64-rs6000.c: Likewise.
125 * cofflink.c: Likewise.
126 * ecoff.c: Likewise.
127 * elf-bfd.h: Likewise.
128 * elf-m10200.c: Likewise.
129 * elf-m10300.c: Likewise.
130 * elf32-arc.c: Likewise.
131 * elf32-arm.c: Likewise.
132 * elf32-avr.c: Likewise.
133 * elf32-bfin.c: Likewise.
134 * elf32-cr16.c: Likewise.
135 * elf32-cr16c.c: Likewise.
136 * elf32-cris.c: Likewise.
137 * elf32-crx.c: Likewise.
138 * elf32-d10v.c: Likewise.
139 * elf32-epiphany.c: Likewise.
140 * elf32-fr30.c: Likewise.
141 * elf32-frv.c: Likewise.
142 * elf32-ft32.c: Likewise.
143 * elf32-h8300.c: Likewise.
144 * elf32-hppa.c: Likewise.
145 * elf32-i370.c: Likewise.
146 * elf32-i386.c: Likewise.
147 * elf32-i860.c: Likewise.
148 * elf32-ip2k.c: Likewise.
149 * elf32-iq2000.c: Likewise.
150 * elf32-lm32.c: Likewise.
151 * elf32-m32c.c: Likewise.
152 * elf32-m32r.c: Likewise.
153 * elf32-m68hc1x.c: Likewise.
154 * elf32-m68k.c: Likewise.
155 * elf32-mep.c: Likewise.
156 * elf32-metag.c: Likewise.
157 * elf32-microblaze.c: Likewise.
158 * elf32-moxie.c: Likewise.
159 * elf32-msp430.c: Likewise.
160 * elf32-mt.c: Likewise.
161 * elf32-nds32.c: Likewise.
162 * elf32-nios2.c: Likewise.
163 * elf32-or1k.c: Likewise.
164 * elf32-ppc.c: Likewise.
165 * elf32-s390.c: Likewise.
166 * elf32-score.c: Likewise.
167 * elf32-score7.c: Likewise.
168 * elf32-sh.c: Likewise.
169 * elf32-sh64.c: Likewise.
170 * elf32-spu.c: Likewise.
171 * elf32-tic6x.c: Likewise.
172 * elf32-tilepro.c: Likewise.
173 * elf32-v850.c: Likewise.
174 * elf32-vax.c: Likewise.
175 * elf32-visium.c: Likewise.
176 * elf32-xstormy16.c: Likewise.
177 * elf32-xtensa.c: Likewise.
178 * elf64-alpha.c: Likewise.
179 * elf64-hppa.c: Likewise.
180 * elf64-ia64-vms.c: Likewise.
181 * elf64-mmix.c: Likewise.
182 * elf64-ppc.c: Likewise.
183 * elf64-s390.c: Likewise.
184 * elf64-sh64.c: Likewise.
185 * elf64-x86-64.c: Likewise.
186 * elflink.c: Likewise.
187 * elfnn-aarch64.c: Likewise.
188 * elfnn-ia64.c: Likewise.
189 * elfxx-mips.c: Likewise.
190 * elfxx-sparc.c: Likewise.
191 * elfxx-tilegx.c: Likewise.
192 * linker.c: Likewise.
193 * pdp11.c: Likewise.
194 * pe-mips.c: Likewise.
195 * reloc.c: Likewise.
196 * reloc16.c: Likewise.
197 * simple.c: Likewise.
198 * vms-alpha.c: Likewise.
199 * xcofflink.c: Likewise.
200 * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
201 status param. Adjust calls to these and linker callbacks throughout.
202 * elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
203 get_ramstart): Delete status param. Adjust calls to these and
204 linker callbacks throughout.
205
bc27bb05
MR
2062016-05-27 Maciej W. Rozycki <macro@imgtec.com>
207
208 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
209 <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
210 target alignment verification.
211
ceab86af
MR
2122016-05-27 Maciej W. Rozycki <macro@imgtec.com>
213
214 * elfxx-mips.c (mips_elf_calculate_relocation): Also use the
215 section name if `bfd_elf_string_from_elf_section' returns an
216 empty string.
217
ed53407e
MR
2182016-05-26 Maciej W. Rozycki <macro@imgtec.com>
219
220 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
221 <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
222 for message. Continue processing rather than returning failure.
223
de341542 2242016-05-25 Maciej W. Rozycki <macro@imgtec.com>
ed53407e 225
de341542
MR
226 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
227 <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
228 Call `bfd_set_error'.
229
e6cc316a
L
2302016-05-25 H.J. Lu <hongjiu.lu@intel.com>
231
232 PR binutils/14625
233 * archive.c (bfd_slurp_armap): Replace
234 bfd_elf64_archive_slurp_armap with
235 _bfd_archive_64_bit_slurp_armap.
236 (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
237 BFD64 is defined and the archive is too big.
238 (coff_write_armap): Likewise.
239 * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
240 (_bfd_archive_64_bit_slurp_armap): This.
241 (bfd_elf64_archive_write_armap): Renamed to ...
242 (_bfd_archive_64_bit_write_armap): This.
243 * configure.ac: Add --enable-64-bit-archive.
244 (want_64_bit_archive): New. Set to true by default for 64-bit
245 MIPS and s390 ELF targets.
246 (USE_64_BIT_ARCHIVE): New AC_DEFINE.
247 * config.in: Regenerated.
248 * configure: Likewise.
249 * elf64-mips.c (bfd_elf64_archive_functions): Removed.
250 (bfd_elf64_archive_slurp_armap): Likewise.
251 (bfd_elf64_archive_write_armap): Likewise.
252 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
253 (bfd_elf64_archive_construct_extended_name_table): Likewise.
254 (bfd_elf64_archive_truncate_arname): Likewise.
255 (bfd_elf64_archive_read_ar_hdr): Likewise.
256 (bfd_elf64_archive_write_ar_hdr): Likewise.
257 (bfd_elf64_archive_openr_next_archived_file): Likewise.
258 (bfd_elf64_archive_get_elt_at_index): Likewise.
259 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
260 (bfd_elf64_archive_update_armap_timestamp): Likewise.
261 * elf64-s390.c (bfd_elf64_archive_functions): Removed.
262 (bfd_elf64_archive_slurp_armap): Likewise.
263 (bfd_elf64_archive_write_armap): Likewise.
264 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
265 (bfd_elf64_archive_construct_extended_name_table): Likewise.
266 (bfd_elf64_archive_truncate_arname): Likewise.
267 (bfd_elf64_archive_read_ar_hdr): Likewise.
268 (bfd_elf64_archive_write_ar_hdr): Likewise.
269 (bfd_elf64_archive_openr_next_archived_file): Likewise.
270 (bfd_elf64_archive_get_elt_at_index): Likewise.
271 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
272 (bfd_elf64_archive_update_armap_timestamp): Likewise.
273 * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
274 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
275 bfd_elfNN_archive_functions isn't defined.
276 (TARGET_LITTLE_SYM): Likewise.
277 * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
278 (_bfd_archive_64_bit_write_armap): Likewise.
279 (_bfd_archive_64_bit_slurp_extended_name_table): New macro.
280 (_bfd_archive_64_bit_construct_extended_name_table): Likewise.
281 (_bfd_archive_64_bit_truncate_arname): Likewise.
282 (_bfd_archive_64_bit_read_ar_hdr): Likewise.
283 (_bfd_archive_64_bit_write_ar_hdr): Likewise.
284 (_bfd_archive_64_bit_openr_next_archived_file): Likewise.
285 (_bfd_archive_64_bit_get_elt_at_index): Likewise.
286 (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
287 (_bfd_archive_64_bit_update_armap_timestamp): Likewise.
288 * libbfd.h: Regenerated.
289 * plugin.c (plugin_vec): Use _bfd_archive_64_bit on
290 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
291
b95a0a31
L
2922016-05-25 H.J. Lu <hongjiu.lu@intel.com>
293
294 PR ld/20103
295 * cofflink.c (coff_link_check_archive_element): Return TRUE if
296 linker add_archive_element callback returns FALSE.
297 * ecoff.c (ecoff_link_check_archive_element): Likewise.
298 * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
299 archive element if linker add_archive_element callback returns
300 FALSE.
301 * elflink.c (elf_link_add_archive_symbols): Likewise.
302 * pdp11.c (aout_link_check_ar_symbols): Likewise.
303 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
304 * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
305 (xcoff_link_check_ar_symbols): Likewise.
306
7db9a74e
MR
3072016-05-24 Maciej W. Rozycki <macro@imgtec.com>
308
309 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
310 <bfd_reloc_outofrange>: Unify error reporting code.
311
b7f28d87
JW
3122016-05-23 Jim Wilson <jim.wilson@linaro.org>
313
314 * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
315 R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL.
316 * relocs.c: Add BFD_RELOC_AARCH64_NULL.
317 * bfd-in2.h: Regenerate.
318 * libbfd.h: Likewise.
319
a2bea324
KS
3202016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com>
321
322 * config.bfd: Add entry for arm-phoenix.
323
d7c5bd02
TP
3242016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
325
326 * elf32-arm.c (arm_dedicated_stub_section_padding): New function.
327 (elf32_arm_size_stubs): Declare stub_type in a more outer scope and
328 account for padding for stub section requiring one.
329 (elf32_arm_build_stubs): Add comment to stress the importance of
330 zeroing veneer section content.
331
daa4adae
TP
3322016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
333
334 * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
335 bfd hook.
336 * bfd-in2.h: Regenerate.
337 * elf32-arm.c (arm_dedicated_stub_output_section_required): New
338 function.
339 (arm_dedicated_stub_output_section_required_alignment): Likewise.
340 (arm_dedicated_stub_output_section_name): Likewise.
341 (arm_dedicated_stub_input_section_ptr): Likewise.
342 (elf32_arm_create_or_find_stub_sec): Add stub type parameter and
343 function description comment. Add support for dedicated output stub
344 section to given stub types.
345 (elf32_arm_add_stub): Add a stub type parameter and pass it down to
346 elf32_arm_create_or_find_stub_sec.
347 (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
348 (elf32_arm_size_stubs): Pass stub type when calling
349 elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
350 (bfd_elf32_arm_keep_private_stub_output_sections): New function.
351
52bf37dd
L
3522016-05-20 H.J. Lu <hongjiu.lu@intel.com>
353
354 * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
355 when setting need_convert_load.
356
17c6c9d9
MR
3572016-05-20 Maciej W. Rozycki <macro@imgtec.com>
358
359 * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
360 microMIPS JALX.
361
7d4d9709
L
3622016-05-19 H.J. Lu <hongjiu.lu@intel.com>
363
364 PR ld/20117
365 * elf32-i386.c (elf_i386_convert_load_reloc): Don't check
366 R_386_GOT32X.
367 (elf_i386_convert_load): Don't convert R_386_GOT32.
368
606851fb
AM
3692016-05-20 Alan Modra <amodra@gmail.com>
370
371 PR gas/20118
372 * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
373 SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
374
3c8adaca
CZ
3752016-05-19 Cupertino Miranda <cmiranda@synopsys.com>
376
377 * elf32-arc.c (arc_elf_final_write_processing): Changed.
378 (debug_arc_reloc): Likewise.
379 (elf_arc_relocate_section): Likewise.
380 (elf_arc_check_relocs): Likewise.
381 (elf_arc_adjust_dynamic_symbol): Likewise.
382 (elf_arc_add_symbol_hook): Likewise.
383
6b200de0
MR
3842016-05-19 Maciej W. Rozycki <macro@imgtec.com>
385
386 * config.bfd: Remove `am34-*-linux*' support.
387
57e7d118
AM
3882016-05-19 Alan Modra <amodra@gmail.com>
389
390 * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
391 relocs before plt relocs.
392
9f284bf9
AM
3932016-05-19 Alan Modra <amodra@gmail.com>
394
395 * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
396 before dereferencing.
397
50498060
NC
3982016-05-18 Nick Clifton <nickc@redhat.com>
399
400 * po/sv.po: Updated Swedish translation.
401
7f991970
AM
4022016-05-18 Alan Modra <amodra@gmail.com>
403
404 * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
405 for each BFD. Don't goto error_ret_free_local from outside loop.
406
a43942db
MR
4072016-05-17 Maciej W. Rozycki <macro@imgtec.com>
408
409 * elf-s390-common.c (elf_s390_add_symbol_hook): Remove
410 STB_GNU_UNIQUE handling.
411 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
412 * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
413 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
414 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
415 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
416 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
417 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
418 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
419 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
420 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
421 * elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
422 (elf_backend_add_symbol_hook): Remove macro.
423 * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
424 for STB_GNU_UNIQUE symbols.
425
71de3413
MR
4262016-05-16 Maciej W. Rozycki <macro@imgtec.com>
427
428 * elf32-v850.c (v850_elf_copy_notes): New function, factored out
429 from...
430 (v850_elf_copy_private_bfd_data): ... here. Call the new
431 function and `_bfd_elf_copy_private_bfd_data'.
432
2168b268
L
4332016-05-13 H.J. Lu <hongjiu.lu@intel.com>
434
435 PR ld/20093
436 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
437 GOTPCREL relocation against large section.
438
4ade44b7
AM
4392016-05-13 Alan Modra <amodra@gmail.com>
440
441 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
442 linker dynamic sections in calculating size and address of
2168b268 443 dynamic tags rather than using output sections. Remove asserts.
4ade44b7
AM
444 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
445 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
446 * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
447 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
448 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
449 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
450 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
451 * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
452 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
453 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
454 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
455 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
456 * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
457 * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
458 * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
459 * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
460 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
461 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
462 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
463 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
464 * elflink.c (bfd_elf_final_link): Likewise.
465 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
466 * elfxx-sparc.c (sparc_finish_dyn): Likewise. Adjust error message.
467 * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
468 don't set doit. Look up dynobj section.
469 (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
470 invocation and dynamic tag vma calculation. Don't test
471 boolean var == TRUE.
472 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
473 DT_JMPREL calc.
474
c8e44c6d
AM
4752016-05-13 Alan Modra <amodra@gmail.com>
476
477 * elflink.c (elf_link_sort_relocs): Wrap overlong lines. Fix
478 octets_per_byte. Put dynamic .rela.plt last in link orders.
479 Assign output_offset for reloc sections rather than writing
480 sorted relocs from block corresponding to output_offset.
481
1997c994
AM
4822016-05-12 Alan Modra <amodra@gmail.com>
483
484 * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
485
8f4f9071
MF
4862016-05-11 Andrew Bennett <andrew.bennett@imgtec.com>
487
488 * elfxx-mips.c (print_mips_ases): Add DSPR3.
489
a464198b
AM
4902016-05-11 Alan Modra <amodra@gmail.com>
491
492 * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
493 (elf32_hppa_check_relocs): Don't set dynobj.
494 (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
495 (elf32_hppa_build_stubs): Likewise.
496 * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
497
3bd43ebc
AM
4982016-05-11 Alan Modra <amodra@gmail.com>
499
500 PR 20060
501 * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
502 * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
503
4e7fbb34
JW
5042016-05-10 Jiong Wang <jiong.wang@arm.com>
505
506 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
507 aarch64_tls_transition check.
508
4f4faa4d
TP
5092016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
510
511 * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
512 enumerator.
513 (arm_stub_sym_claimed): New function.
514 (elf32_arm_create_stub): Use veneered symbol name and section if
515 veneer needs to claim its symbol, and keep logic unchanged otherwise.
516 (arm_stub_claim_sym): New function.
517 (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
518 veneered symbol, otherwise create local symbol as before.
519
39d911fc
TP
5202016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
521
522 * elf32-arm.c (elf32_arm_size_stubs): Use new macros
523 ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
524 and set branch type of a symbol.
525 (bfd_elf32_arm_process_before_allocation): Likewise.
526 (elf32_arm_relocate_section): Likewise and fix identation along the
527 way.
528 (allocate_dynrelocs_for_symbol): Likewise.
529 (elf32_arm_finish_dynamic_symbol): Likewise.
530 (elf32_arm_swap_symbol_in): Likewise.
531 (elf32_arm_swap_symbol_out): Likewise.
532
6bde4c52
TP
5332016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
534
535 * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
536 * bfd-in2.h: Regenerated.
537 * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
538 parameter to add_stub_section callback.
539 (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
540 and pass it down to add_stub_section.
541 (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
542 for error message.
543 (elf32_arm_size_stubs): Add output section parameter to
544 add_stub_section function pointer parameter.
545
b715f643
TP
5462016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
547
548 * elf32-arm.c (elf32_arm_create_stub): New function.
549 (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
550
8d9d9490
TP
5512016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
552
553 * elf32-arm.c (enum elf32_arm_stub_type): Delete
554 arm_stub_a8_veneer_lwm enumerator.
555 (arm_stub_a8_veneer_lwm): New unsigned constant to replace
556 aforementioned enumerator.
557 (struct elf32_arm_stub_hash_entry): Delete target_addend
558 field and add source_value.
559 (struct a8_erratum_fix): Delete addend field and add target_offset.
560 (stub_hash_newfunc): Initialize source_value field amd remove
561 initialization for target_addend.
562 (arm_build_one_stub): Stop special casing Thumb relocations: promote
563 the else to being always executed, moving the
564 arm_stub_a8_veneer_b_cond specific code in it. Remove
565 stub_entry->target_addend from points_to computation.
566 (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
567 to target symbol from start of section rather than the offset from the
568 stub address.
569 (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
570 fields from struct a8_erratum_fix's offset and target_offset
571 respectively.
572 (make_branch_to_a8_stub): Rename target variable to loc. Compute
573 veneered_insn_loc and loc using stub_entry's source_value.
574
15afaa63
TP
5752016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
576
577 (elf32_arm_merge_eabi_attributes): Add merging logic for
578 Tag_DSP_extension.
579
66a36822
PC
5802016-05-10 Pip Cet <pipcet@gmail.com>
581
582 PR ld/20059
583 * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
584 Define as _bfd_generic_copy_link_hash_symbol_type when using
585 generic hash table.
586
315350be
NC
5872016-05-09 Nick Clifton <nickc@redhat.com>
588
589 PR binutils/20063
590 * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
591 field before accessing sections array.
592
9239bbd3
CM
5932016-05-09 Christophe Monat <christophe.monat@st.com>
594
595 PR ld/20030
596 * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
597 (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
598 to nb_words.
599 (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
600 encoding.
601 (create_instruction_vldmdb): Likewise.
602 (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
603 uses it to re-encode.
604
73597c18
NC
6052016-05-09 Nick Clifton <nickc@redhat.com>
606
607 PR 19938
608 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
609 commit.
610
ae1bb197
AM
6112016-05-09 Alan Modra <amodra@gmail.com>
612
613 * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
614
97196564
L
6152016-05-06 H.J. Lu <hongjiu.lu@intel.com>
616
617 PR ld/17550
618 * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
619 documenting that indx == -3 if symbol is defined in a discarded
620 section.
621 * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
622 symbol is defined in a discarded section.
623 (elf_link_output_extsym): Strip a global symbol defined in a
624 discarded section.
625
030e823c
L
6262016-05-06 H.J. Lu <hongjiu.lu@intel.com>
627
628 * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
629 MCU.
630
c175a657
L
6312016-05-05 H.J. Lu <hongjiu.lu@intel.com>
632
633 * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
634 conversion to ...
635 (elf_i386_convert_load_reloc): This. New function.
636 * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
637 conversion to ...
638 (elf_x86_64_convert_load_reloc): This. New function.
639
bedfd056
L
6402016-05-05 H.J. Lu <hongjiu.lu@intel.com>
641
642 * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
643 Don't check if contents == NULL.
644 (elf_i386_tls_transition): Add from_relocate_section. Check
645 from_relocate_section instead of contents != NULL. Update
646 elf_i386_check_tls_transition call.
647 (elf_i386_check_relocs): Cache the section contents if
648 keep_memory is FALSE. Pass FALSE as from_relocate_section to
649 elf_i386_tls_transition.
650 (elf_i386_relocate_section): Pass TRUE as from_relocate_section
651 to elf_i386_tls_transition.
652 (elf_backend_caches_rawsize): New.
653 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
654 if contents == NULL.
655 (elf_x86_64_tls_transition): Add from_relocate_section. Check
656 from_relocate_section instead of contents != NULL.
657 (elf_x86_64_check_relocs): Cache the section contents if
658 keep_memory is FALSE. Pass FALSE as from_relocate_section to
659 elf_x86_64_tls_transition.
660 (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
661 to elf_x86_64_tls_transition.
662 (elf_backend_caches_rawsize): New.
663
6d6a648c
MR
6642016-05-03 Maciej W. Rozycki <macro@imgtec.com>
665
666 PR 10549
667 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
668 STB_GNU_UNIQUE.
669
1f56df9d
JW
6702016-05-03 Jiong Wang <jiong.wang@arm.com>
671
672 * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
673 * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
674 * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
675 no_apply_dynamic_relocs.
676 (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
677 dynamic relocations generated.
678
493f652c
L
6792016-04-29 H.J. Lu <hongjiu.lu@intel.com>
680
681 * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
682 setting to ...
683 (elf_i386_create_dynamic_sections): Here.
684 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
685 interp setting to ...
686 (elf_x86_64_create_dynamic_sections): Here.
687
e62b9723
L
6882016-04-29 H.J. Lu <hongjiu.lu@intel.com>
689
690 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
691 and replace (EH)->has_got_reloc with GOT_RELOC.
692 (elf_i386_fixup_symbol): Pass has_got_reloc to
693 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
694 (elf_i386_allocate_dynrelocs): Likewise.
695 (elf_i386_relocate_section): Likewise.
696 (elf_i386_finish_dynamic_symbol): Likewise.
697 (elf_i386_convert_load): Pass TRUE to
698 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
699 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
700 GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
701 (elf_x86_64_fixup_symbol): Pass has_got_reloc to
702 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
703 (elf_x86_64_allocate_dynrelocs): Likewise.
704 (elf_x86_64_relocate_section): Likewise.
705 (elf_x86_64_finish_dynamic_symbol): Likewise.
706 (elf_x86_64_convert_load): Pass TRUE to
707 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
708
c337a162
L
7092016-04-29 H.J. Lu <hongjiu.lu@intel.com>
710
711 * elf32-i386.c (check_relocs_failed): New.
712 (elf_i386_check_relocs): Set check_relocs_failed on error.
713 (elf_i386_relocate_section): Skip if check_relocs failed.
714
afd9acee
L
7152016-04-29 H.J. Lu <hongjiu.lu@intel.com>
716
717 * elf64-x86-64.c (elf_x86_64_check_relocs): Set
718 check_relocs_failed on error.
719
5522f910
NC
7202016-04-29 Nick Clifton <nickc@redhat.com>
721
722 PR 19938
723 * elf-bfd.h (struct elf_backend_data): Rename
724 elf_backend_set_special_section_info_and_link to
725 elf_backend_copy_special_section_fields.
726 * elfxx-target.h: Likewise.
727 * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
728 comparing section flags.
729 (copy_special_section_fields): New function.
730 (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
731 Perform two scans over special sections. The first one looks for
732 a direct mapping between the output section and an input section.
733 The second scan looks for a possible match based upon section
734 characteristics.
735 * elf32-arm.c (elf32_arm_copy_special_section_fields): New
736 function. Handle setting the sh_link field of SHT_ARM_EXIDX
737 sections.
738 * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
739 elf32_i386_copy_solaris_special_section_fields.
740 * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
741 Rename to elf32_sparc_copy_solaris_special_section_fields.
742 * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
743 elf64_x86_64_copy_solaris_special_section_fields.
744
786a118c
NC
7452016-04-28 Nick Clifton <nickc@redhat.com>
746
747 * po/zh_CN.po: Updated Chinese (simplified) translation.
748
91f8bf69
L
7492016-04-27 H.J. Lu <hongjiu.lu@intel.com>
750
751 PR ld/20006
752 * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
753 when estimating distances between output sections.
754
a6a4679f
AM
7552016-04-27 Alan Modra <amodra@gmail.com>
756
757 * elflink.c (_bfd_elf_is_start_stop): New function.
758 (_bfd_elf_gc_mark_rsec): Use it.
759 * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
760
28cc9170
TS
7612016-04-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
762
763 * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
764 * mmo.c (mmo_get_section_contents): Likewise.
765 (mmo_set_section_contents): Likewise.
766
d5486c43
L
7672016-04-26 H.J. Lu <hongjiu.lu@intel.com>
768
769 * elf-bfd.h (elf_link_hash_table): Update comments for
770 dynsymcount.
771 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
772 the unused NULL entry at the head of dynamic symbol table.
773 (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
774 checks.
775
6645479e
L
7762016-04-21 H.J. Lu <hongjiu.lu@intel.com>
777
778 * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
779 created file from dynobj.
780
6cd255ca
L
7812016-04-21 H.J. Lu <hongjiu.lu@intel.com>
782
783 * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
784 normal input file if possible.
785
4f3b23b3
NC
7862016-04-21 Nick Clifton <nickc@redhat.com>
787
788 * aout-adobe.c: Use _bfd_generic_link_check_relocs.
789 * aout-target.h: Likewise.
790 * aout-tic30.c: Likewise.
791 * binary.c: Likewise.
792 * bout.c: Likewise.
793 * coff-alpha.c: Likewise.
794 * coff-rs6000.c: Likewise.
795 * coff64-rs6000.c: Likewise.
796 * coffcode.h: Likewise.
797 * i386msdos.c: Likewise.
798 * i386os9k.c: Likewise.
799 * ieee.c: Likewise.
800 * ihex.c: Likewise.
801 * libbfd-in.h: Likewise.
802 * libecoff.h: Likewise.
803 * mach-o-target.c: Likewise.
804 * mmo.c: Likewise.
805 * nlm-target.h: Likewise.
806 * oasys.c: Likewise.
807 * pef.c: Likewise.
808 * plugin.c: Likewise.
809 * ppcboot.c: Likewise.
810 * som.c: Likewise.
811 * srec.c: Likewise.
812 * tekhex.c: Likewise.
813 * versados.c: Likewise.
814 * vms-alpha.c: Likewise.
815 * xsym.c: Likewise.
816 * elfxx-target.h: Use _bfd_elf_link_check_relocs.
817 * linker.c (bfd_link_check_relocs): New function.
818 (_bfd_generic_link_check_relocs): New function.
819 * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
820 _bfd_link_check_relocs field.
821 (struct bfd_target)L Add _bfd_link_check_relocs field.
822 * bfd-in2.h: Regenerate.
823 * libbfd.h: Regenerate.
824
e66cdd68
L
8252016-04-20 H.J. Lu <hongjiu.lu@intel.com>
826
827 * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
828 (elf_backend_gc_sweep_hook): Likewise.
829 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
830 (elf_backend_gc_sweep_hook): Likewise.
831
5ce03cea
L
8322016-04-20 H.J. Lu <hongjiu.lu@intel.com>
833
834 * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
835 in excluded sections
836
338c190a
L
8372016-04-20 H.J. Lu <hongjiu.lu@intel.com>
838
839 PR ld/19969
840 * elf64-x86-64.c (check_relocs_failed): New.
841 (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
842 Support relocation agaist local symbol. Set check_relocs_failed.
843 (elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check
844 R_X86_64_32 relocation overflow.
845 (elf_x86_64_relocate_section): Skip if check_relocs failed.
846 Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
847
466ee2af
L
8482016-04-20 H.J. Lu <hongjiu.lu@intel.com>
849
850 * elf32-i386.c (elf_i386_check_relocs): Call
851 _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
852 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
853
d9689752
L
8542016-04-20 H.J. Lu <hongjiu.lu@intel.com>
855
856 * elf-bfd.h (_bfd_elf_link_check_relocs): New.
857 * elflink.c (_bfd_elf_link_check_relocs): New function.
858 (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
859 if check_relocs_after_open_input is FALSE.
860
e6c7cdec
TS
8612016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
862
863 * cache.c: Update old style function definitions.
864 * elf32-m68k.c: Likewise.
865 * elf64-mmix.c: Likewise.
866 * stab-syms.c: Likewise.
867
b98e6871
TS
8682016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
869
870 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
871
6fd8e7c2
L
8722016-04-15 H.J. Lu <hongjiu.lu@intel.com>
873
874 * Makefile.in: Regenerated with automake 1.11.6.
875 * aclocal.m4: Likewise.
876 * doc/Makefile.in: Likewise.
877
4b0c052e
AB
8782016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
879
880 * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
881 * bfd-in2.h: Regenerate.
882 * libbfd.h: Regenerate.
883 * elf32-arc.c: Add 'opcode/arc.h' include.
884 (struct arc_relocation_data): Add symbol_name.
885 (arc_special_overflow_checks): New function.
886 (arc_do_relocation): Use arc_special_overflow_checks, reindent as
887 required, add an extra comment.
888 (elf_arc_relocate_section): Setup symbol_name in reloc_data.
889
33cbe6c0
AB
8902016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
891
892 * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
893 entries.
894 (elf_arc_relocate_section): Update enum uses.
895 (elf_arc_check_relocs): Likewise.
896 (elf_arc_finish_dynamic_symbol): Likewise.
897
7634c4e6
L
8982016-04-14 H.J. Lu <hongjiu.lu@intel.com>
899
900 * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
901 "sh_link".
902
84865015
NC
9032016-04-14 Nick Clifton <nickc@redhat.com>
904
905 PR target/19938
906 * elf-bbfd.h (struct elf_backend_data): New field:
907 elf_strtab_flags.
908 New field: elf_backend_set_special_section_info_and_link
909 * elfxx-target.h (elf_backend_strtab_flags): Define if not already
910 defined.
911 (elf_backend_set_special_section_info_and_link): Define if not
912 already defined.
913 (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
914 elf_backend_strtab_flags macros to initialise fields in structure.
915 * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
916 being set even if SHF_MERGE is not set.
917 (elf_fake_sections): Likewise.
918 (section_match): New function. Matches two ELF sections based
919 upon fixed characteristics.
920 (find_link): New function. Locates a section in a BFD that
921 matches a section in a different BFD.
922 (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
923 fields of reserved sections.
924 (bfd_elf_compute_section_file_positions): Set the flags for the
925 .shstrtab section based upon the elf_strtab_flags field in the
926 elf_backend_data structure.
927 (swap_out_syms): Likewise for the .strtab section.
928 * elflink.c (bfd_elf_final_link): Set the flags for the
929 .strtab section based upon the elf_strtab_flags field in the
930 elf_backend_data structure.
931 * elf32-i386.c (elf32_i386_set_special_info_link): New function.
932 (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
933 targets.
934 (elf_backend_set_special_section_info_and_link): Define for
935 Solaris targets.
936 * elf32-sparc.c: Likewise.
937 * elf64-x86-64.c: Likewise.
938
2df3368d
L
9392016-04-11 H.J. Lu <hongjiu.lu@intel.com>
940
941 PR ld/19939
942 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
943 to bfd_boolean.
944 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
945 Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
946 applies to read-only section.
947 * elf32-i386.c (elf_i386_link_hash_table): Add
948 readonly_dynrelocs_against_ifunc.
949 (elf_i386_allocate_dynrelocs): Updated.
950 (elf_i386_size_dynamic_sections): Issue an error for read-only
951 segment with dynamic IFUNC relocations only if
952 readonly_dynrelocs_against_ifunc is TRUE.
953 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
954 readonly_dynrelocs_against_ifunc.
955 (elf_x86_64_allocate_dynrelocs): Updated.
956 (elf_x86_64_size_dynamic_sections): Issue an error for read-only
957 segment with dynamic IFUNC relocations only if
958 readonly_dynrelocs_against_ifunc is TRUE.
959 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
960 Updated.
961
15dd01b1
TP
9622016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
963
964 * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
965 a fall through from error_ret_free_internal. Free local_syms in
966 error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
967
1e5885b7
CZ
9682016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
969
970 * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
971 (relocate_plt_for_entry): Likewise.
972
b3aee839
CZ
9732016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
974
975 * elf32-arc.c (elf_arc_check_relocs): Changed
976
094fb063
CZ
9772016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
978
979 * elf32-arc.c (name_for_global_symbol): Changed assert.
980 (get_replace_function): Created.:
981 (struct arc_relocation_data): Changed to signed types.
982 (defines S, L, P, PDATA): Casted to signed type.
983 (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
984 (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
985 (arc_do_relocation): Changed.
986
94e5c971
CZ
9872016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
988
989 * elf32-arc.c (name_for_global_symbol): Added assert to check for
990 symbol index.
991 (elf_arc_relocate_section): Added and changed asserts, validating
992 the synamic symbol index.
993 (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
994 relocation if symbol has dynindx set to -1.
995
1f599d0e
MR
9962016-04-05 Maciej W. Rozycki <macro@imgtec.com>
997
998 * elflink.c (elf_link_add_object_symbols): Always turn hidden
999 and internal symbols which have a dynamic index into local
1000 ones.
1001
67f101ee
NC
10022016-04-04 Nick Clifton <nickc@redhat.com>
1003
1004 PR 19872
1005 * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
1006 version number if the version is zero.
1007
7b15fa7a
AM
10082016-04-01 Alan Modra <amodra@gmail.com>
1009
1010 PR 19886
1011 * elflink.c (on_needed_list): Recursively check needed status.
1012 (elf_link_add_object_symbols): Adjust.
1013
024ea11b
SKS
10142016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1015
1016 * elf32-avr.c (avr_elf32_load_records_from_section): Free
1017 internal_relocs only if they aren't cached.
1018
ed3056eb
NC
10192016-03-29 Nick Clifton <nickc@redhat.com>
1020
1021 PR 17334
1022 * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
1023 assertion on the size of the got section to allow it to be bigger
1024 than the number of relocs.
1025
e2b4fc91
TS
10262016-03-29 Toni Spets <toni.spets@iki.fi>
1027
1028 PR 19878
1029 * coffcode.h (coff_write_object_contents): Revert accidental
1030 2014-11-10 change.
1031
a97fbc7e
AM
10322016-03-22 Alan Modra <amodra@gmail.com>
1033
1034 PR 19850
1035 * dwarf2.c (read_attribute_value): Skip info_ptr check for
1036 DW_FORM_flag_present.
1037
9780e045
NC
10382016-03-22 Nick Clifton <nickc@redhat.com>
1039
96254e5c
NC
1040 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
1041 architecture name for backwards compatibility.
1042
7769fa97
NC
1043 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
1044 unbounded stack use.
1045
9780e045
NC
1046 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
1047 sufficiently recent version of GCC.
1048 * configure: Regenerate.
1049
6f4c0a42
AM
10502016-03-22 Alan Modra <amodra@gmail.com>
1051
1052 PR 19851
1053 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
1054
8699fc3e
AB
10552016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
1056
1057 * archures.c (bfd_mach_arc_nps400): Define.
1058 * bfd-in2.h: Regenerate.
1059 * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
1060 some existing entries to make space.
1061 * elf32-arc.c (arc_elf_object_p): Add nps400 case.
1062 (arc_elf_final_write_processing): Likewise.
1063
a9522a21
AB
10642016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
1065
1066 * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
1067 EF_ARC_CPU_GENERIC.
1068 (arc_elf_final_write_processing): Don't bother setting cpu field
1069 in e_flags, this will have been set elsewhere.
1070
c0334580
AB
10712016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
1072
1073 * elf32-arc.c (arc_elf_final_write_processing): Switch to using
1074 EF_ARC_MACH_MSK.
1075
e1fa0163
NC
10762016-03-21 Nick Clifton <nickc@redhat.com>
1077
1078 * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
1079 * configure: Regenerate.
1080 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
1081 alloca with call to xmalloc.
1082 * elf32-nds32.c: Likewise.
1083 * elf64-hppa.c: Likewise.
1084 * elfxx-mips.c: Likewise.
1085 * pef.c: Likewise.
1086 * pei-x86_64.c: Likewise.
1087 * som.c: Likewise.
1088 * xsym.c: Likewise.
1089
4e0c91e4
L
10902016-03-15 H.J. Lu <hongjiu.lu@intel.com>
1091
1092 PR ld/19827
1093 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
1094 locally in PIE.
1095 (elf_i386_relocate_section): Likewise.
1096 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1097 (elf_x86_64_relocate_section): Likewise.
1098
4c10bbaa
L
10992016-03-15 H.J. Lu <hongjiu.lu@intel.com>
1100
1101 PR ld/19807
1102 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
1103 no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
1104 relocation overflow check.
1105
fbe48798
L
11062016-03-14 H.J. Lu <hongjiu.lu@intel.com>
1107
1108 * bfd-in2.h: Regenerated.
1109
37b01f6a
DG
11102016-03-11 Dan Gissel <dgisselq@ieee.org>
1111
1112 PR 19713
1113 * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
1114 uses bytes not octets.
1115 * elflink.c (resolve_section): Likewise.
1116 Add a bfd parameter.
1117 (eval_section): Pass the input_bfd to resolve_section.
1118 (bfd_elf_perform_complex_relocation): Convert byte offset to
1119 octets before read and writing values.
1120 (elf_link_input_bfd): Add byte to octet conversions.
1121 (elf_reloc_link_order): Likewise.
1122 (elf_fixup_link_order): Likewise.
1123 (bfd_elf_final_link): Likewise.
1124 * reloc.c (_bfd_final_link_relocate): Likewise.
1125 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
1126
3ed4ff97
NC
11272016-03-10 Nick Clifton <nickc@redhat.com>
1128
1129 * config.bfd: Mark the i370 target as obsolete.
1130
4b05e0a7
PA
11312016-03-09 Pedro Alves <palves@redhat.com>
1132
1133 * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
1134 gcc ABI)" to printable name.
1135 * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
1136 of "v850-rh850" as printable name.
1137
26c62da0
LW
11382016-03-09 Leon Winter <winter-gcc@bfw-online.de>
1139
1140 PR ld/19623
1141 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
1142 relocations against absolute symbols.
1143
03ee8583
AM
11442016-03-09 Alan Modra <amodra@gmail.com>
1145
1146 PR binutils/19775
1147 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
1148 length elements in the archive.
1149
9c1d7a08
L
11502016-03-08 H.J. Lu <hongjiu.lu@intel.com>
1151
1152 PR ld/19789
1153 * elflink.c (elf_link_add_object_symbols): Create dynamic sections
1154 for -E/--dynamic-list only when not relocatable.
1155
d1ed1c7d
L
11562016-03-08 H.J. Lu <hongjiu.lu@intel.com>
1157
1158 PR ld/19784
1159 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
1160 count for locally defined local IFUNC symbols in shared object.
1161 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1162
202ac193
L
11632016-03-08 H.J. Lu <hongjiu.lu@intel.com>
1164
1165 PR ld/19579
1166 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
1167 together.
1168
72f3b6aa
CZ
11692016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
1170 Andrew Burgess <andrew.burgess@embecosm.com>
1171
1172 * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
1173 (arc_bfd_put_32): Becomes an alias for bfd_put_32.
1174 (arc_elf_howto_init): Added assert to validate relocations.
1175 (get_middle_endian_relocation): Delete.
1176 (middle_endian_convert): New function.
1177 (ME): Redefine, now does nothing.
1178 (IS_ME): New define.
1179 (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
1180 definition to call middle_endian_convert. Add a new local
1181 variable and make use of this throughout. Added call to
1182 arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
1183
4fc87424
NC
11842016-03-07 Nick Clifton <nickc@redhat.com>
1185
1186 PR binutils/19775
1187 * archive.c (bfd_generic_openr_next_archived_file): Allow zero
1188 length elements in the archive.
1189
18f822a0
JW
11902016-03-07 Jiong Wang <jiong.wang@arm.com>
1191
1192 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
1193 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
1194
07492f66
L
11952016-03-04 H.J. Lu <hongjiu.lu@intel.com>
1196
1197 PR ld/19579
1198 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
1199 executable as definition if the new definition comes from a
1200 shared library.
1201
70a5df4f
AM
12022016-03-02 Alan Modra <amodra@gmail.com>
1203
1204 * Makefile.in: Regenerate.
1205 * po/SRC-POTFILES.in: Regenerate.
1206
841fdfcd
CZ
12072016-02-29 Cupertino Miranda <cmiranda@synopsys.com>
1208
1209 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
1210 relocation addend when sections get merged.
1211
7e458899
CZ
12122016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
1213
1214 * elf32-arc.c (arc_elf_final_write_processing): Add condition to
1215 the flag change.
1216 (elf_arc_relocate_section): Fixes and conditions to support PIE.
1217 Assert for code sections dynamic relocs.
1218
c5e3a364
RL
12192016-02-26 Renlin Li <renlin.li@arm.com>
1220
1221 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
1222 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
1223
bae420ef
L
12242016-02-26 H.J. Lu <hongjiu.lu@intel.com>
1225
1226 PR ld/19609
1227 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
1228 load with locally bound symbols if PIC is false or there is no
1229 base register. Optimize branch to 0 if PIC is false.
1230 (elf_i386_relocate_section): Don't generate dynamic relocations
1231 against undefined weak symbols if PIC is false.
1232 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
1233 if we can't estimate relocation overflow with --no-relax.
1234 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
1235 symbols if PIC is false. Optimize branch to 0 if PIC is false.
1236 (elf_x86_64_relocate_section): Don't generate dynamic relocations
1237 against undefined weak symbols if PIC is false.
1238
11e5f1ec
L
12392016-02-26 H.J. Lu <hongjiu.lu@intel.com>
1240
1241 PR ld/19645
1242 * bfd.c (bfd): Change flags to 20 bits.
1243 (BFD_CONVERT_ELF_COMMON): New.
1244 (BFD_USE_ELF_STT_COMMON): Likewise.
1245 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
1246 BFD_USE_ELF_STT_COMMON.
1247 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
1248 * configure.ac: Remove --enable-elf-stt-common.
1249 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
1250 common symbol depending on BFD_CONVERT_ELF_COMMON and
1251 BFD_USE_ELF_STT_COMMON.
1252 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
1253 STT_COMMON.
1254 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
1255 STT_COMMON.
1256 (elf_link_convert_common_type): New function.
1257 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
1258 common symbol depending on BFD_CONVERT_ELF_COMMON and
1259 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx.
1260 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
1261 and BFD_USE_ELF_STT_COMMON to object_flags.
1262 (TARGET_LITTLE_SYM): Likewise.
1263 * syms.c (BSF_KEEP_G): Renamed to ...
1264 (BSF_ELF_COMMON): This.
1265 * bfd-in2.h: Regenerated.
1266 * config.in: Likewise.
1267 * configure: Likewise.
1268
aec6b87e
L
12692016-02-26 H.J. Lu <hongjiu.lu@intel.com>
1270
1271 PR ld/19636
1272 PR ld/19704
1273 PR ld/19719
1274 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
1275 (elf_i386_link_hash_entry): Add has_got_reloc and
1276 has_non_got_reloc.
1277 (elf_i386_link_hash_table): Add interp.
1278 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
1279 has_non_got_reloc.
1280 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
1281 has_non_got_reloc.
1282 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
1283 (elf_i386_fixup_symbol): New function.
1284 (elf_i386_pie_finish_undefweak_symbol): Likewise.
1285 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
1286 relocations and discard relocations against resolved undefined
1287 weak symbols in executable. Don't make resolved undefined weak
1288 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
1289 relocation against undefined weak symbols in PIE.
1290 (elf_i386_size_dynamic_sections): Set interp to .interp section.
1291 (elf_i386_relocate_section): Don't generate dynamic relocations
1292 against resolved undefined weak symbols in PIE, except for
1293 R_386_PC32.
1294 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
1295 dynamic PLT/GOT relocations for resolved undefined weak symbols.
1296 Don't generate dynamic relocation against resolved undefined weak
1297 symbol in executable.
1298 (elf_i386_finish_dynamic_sections): Call
1299 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
1300 (elf_backend_fixup_symbol): New.
1301 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
1302 (elf_x86_64_link_hash_entry): Add has_got_reloc and
1303 has_non_got_reloc.
1304 (elf_x86_64_link_hash_table): Add interp.
1305 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
1306 has_non_got_reloc.
1307 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
1308 has_non_got_reloc.
1309 (elf_x86_64_check_relocs): Set has_got_reloc and
1310 has_non_got_reloc.
1311 (elf_x86_64_fixup_symbol): New function.
1312 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
1313 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
1314 relocations and discard relocations against resolved undefined
1315 weak symbols in executable. Don't make resolved undefined weak
1316 symbols in executable dynamic.
1317 (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
1318 (elf_x86_64_relocate_section): Check relocation overflow for
1319 dynamic relocations against unresolved weak undefined symbols.
1320 Don't generate dynamic relocations against resolved weak
1321 undefined symbols in PIE.
1322 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
1323 dynamic PLT/GOT relocations for resolved undefined weak symbols.
1324 Don't generate dynamic relocation against resolved undefined weak
1325 symbol in executable.
1326 (elf_x86_64_finish_dynamic_sections): Call
1327 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
1328 (elf_backend_fixup_symbol): New.
1329
b32547cd
AM
13302016-02-26 Alan Modra <amodra@gmail.com>
1331
1332 * elf64-ppc.c (create_linkage_sections): Create sfpr when
1333 save_restore_funcs, rest of sections when not relocatable.
1334 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
1335 (sfpr_define): Define all symbols on emitted code.
1336 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
1337 when relocatable. Move sfpr_define loop earlier.
1338
ef77d6af
L
13392016-02-24 H.J. Lu <hongjiu.lu@intel.com>
1340
1341 * elf64-x86-64.c (elf_x86_64_need_pic): New function.
1342 (elf_x86_64_relocate_section): Use it. Replace
1343 x86_64_elf_howto_table[r_type] with howto.
1344
0f550b3d
L
13452016-02-24 H.J. Lu <hongjiu.lu@intel.com>
1346
1347 PR ld/19698
1348 * elflink.c (bfd_elf_record_link_assignment): Set versioned if
1349 symbol version is unknown.
1350
13f42277
L
13512016-02-24 H.J. Lu <hongjiu.lu@intel.com>
1352
1353 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
1354 to (bfd_vma) -1 when setting needs_plt to 0.
1355 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
1356
6b3b0ab8
L
13572016-02-23 H.J. Lu <hongjiu.lu@intel.com>
1358
1359 * elflink.c (bfd_elf_record_link_assignment): Check for shared
1360 library, instead of PIC, and don't check PDE when making linker
1361 assigned symbol dynamic.
1362
17733f5b
FS
13632016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
1364
1365 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
1366 ABIVERSION for non-executable stack.
1367
47993b4a
RF
13682016-02-23 Rich Felker <bugdal@aerifal.cx>
1369
1370 PR target/19516
1371 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
1372 Always produce a RELATIVE reloc for a local symbol.
1373
2d8dcb81
HPN
13742016-02-23 Hans-Peter Nilsson <hp@axis.com>
1375
1376 Fix test-case ld-elf/pr19617b
1377 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
1378 discard unused non-function symbols when --dynamic-list-data.
1379
1a6e6083
L
13802016-02-22 H.J. Lu <hongjiu.lu@intel.com>
1381
1382 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
1383 dynsym section, even if it is empty, with dynamic sections.
1384
75c1920b
L
13852016-02-22 H.J. Lu <hongjiu.lu@intel.com>
1386
1387 * syms.c: Remove BSF_COMMON from comments.
1388 * bfd-in2.h: Regenerated.
1389
9a228467
JW
13902016-02-22 Jiong Wang <jiong.wang@arm.com>
1391
1392 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
1393 for destination. Remove useless function parameters.
1394 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
1395
73768414
NC
13962016-02-19 Nick Clifton <nickc@redhat.com>
1397
e517df3d
NC
1398 PR ld/19629
1399 * aoutx.h (aout_link_add_symbols): Check for out of range string
1400 table offsets.
1401
73768414
NC
1402 PR ld/19628
1403 * reloc.c (bfd_generic_get_relocated_section_contents): Stop
1404 processing if we encounter a reloc without an associated symbol.
1405
bf89386a
L
14062016-02-18 H.J. Lu <hongjiu.lu@intel.com>
1407
1408 PR ld/19617
1409 * elflink.c (elf_link_add_object_symbols): Always create dynamic
1410 sections for -E/--dynamic-list.
1411
8f79b794
L
14122016-02-17 H.J. Lu <hongjiu.lu@intel.com>
1413
1414 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
1415 to bfd_true.
1416
64bfc258
JM
14172016-02-16 Joseph Myers <joseph@codesourcery.com>
1418
1419 * plugin.c (plugin_vec): Set match priority to 255.
1420 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
1421 matching against the plugin vector, take priority from there not
1422 from TEMP.
1423
9fb71ee4
NC
14242016-02-15 Nick Clifton <nickc@redhat.com>
1425
1426 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
1427 for length and type fields. Use a signed value for the
1428 suffix_length field.
1429
32875eb1
L
14302016-02-10 H.J. Lu <hongjiu.lu@intel.com>
1431
1432 PR ld/19601
1433 * elf32-i386.c (elf_i386_relocate_section): Mask off the least
1434 significant bit in GOT offset for R_386_GOT32X.
1435
83da6e74
NC
14362016-02-10 Nick Clifton <nickc@redhat.com>
1437
1438 PR 19405
1439 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
1440 immediate values.
1441 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
1442 number of messages about FDE encoding preventing .eh_frame_hdr
1443 generation.
1444
027e9c75
NC
14452016-02-09 Nick Clifton <nickc@redhat.com>
1446
609332f1
NC
1447 * oasys.c (oasys_archive_p): Fix indentation.
1448 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
1449 constant for left shifting.
1450
027e9c75
NC
1451 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
1452 helpful warning message to explain why certain AArch64 relocs
1453 might overflow.
1454
6f57d046
SM
14552016-02-05 Simon Marchi <simon.marchi@ericsson.com>
1456
1457 * pe-mips.c (coff_mips_reloc): Fix formatting.
1458
bdbca4e6
CM
14592016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
1460
1461 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
1462 to bfd_mach_arc_arc600.
1463
4f038ee5
AM
14642016-02-04 Alan Modra <amodra@gmail.com>
1465
1466 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
1467 for big-endian.
1468
4a539596
L
14692016-02-02 H.J. Lu <hongjiu.lu@intel.com>
1470
1471 PR ld/19542
1472 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
fb06f1c0 1473 distances in the compressed_size field of the output section.
4a539596 1474
85fabe71
AM
14752016-02-02 Alan Modra <amodra@gmail.com>
1476
1477 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
1478 ELFv2 entry optimization.
1479
14f2c699
L
14802016-02-02 H.J. Lu <hongjiu.lu@intel.com>
1481
1482 PR binutils/19547
1483 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
1484 no relocations in relocatable files.
1485
aef28989
L
14862016-02-01 H.J. Lu <hongjiu.lu@intel.com>
1487
1488 PR ld/19553
1489 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
1490 if a symbol from a library loaded via DT_NEEDED doesn't match
1491 the symbol referenced by regular object.
1492
655ed9ea
NS
14932016-02-01 Nathaniel Smith <njs@pobox.com>
1494
1495 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
1496 CODE and DATA.
1497
ec1f73bb
AM
14982016-02-01 Alan Modra <amodra@gmail.com>
1499
1500 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
1501 an out of range reloc_index.
1502 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
1503
b6471e6e
KR
15042016-02-01 Kamil Rytarowski <n54@gmx.com>
1505
1506 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
1507 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
1508 * Makefile.in: Regenerated.
1509
0bc7245a
JK
15102016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
1511
1512 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
1513
6d4b2867
JDA
15142016-01-31 John David Anglin <danglin@gcc.gnu.org>
1515
1516 PR ld/19526
1517 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
1518 files.
1519 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
1520
d9e3b590
L
15212016-01-30 H.J. Lu <hongjiu.lu@intel.com>
1522
1523 PR ld/19539
1524 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
1525 against STT_GNU_IFUNC symbol only with dynamic symbols.
1526 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
1527
bf150a0b
L
15282016-01-28 H.J. Lu <hongjiu.lu@intel.com>
1529
1530 PR binutils/19523
1531 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
1532 decompress debug sections.
1533
840855c5
MR
15342016-01-25 Maciej W. Rozycki <macro@imgtec.com>
1535
1536 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
1537 `dynindx'.
1538
cf466c2a
NC
15392016-01-25 Nick Clifton <nickc@redhat.com>
1540
1541 PR target/19435
1542 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
1543 dsym filename buffer.
1544
eb6b0cf4
MR
15452016-01-24 Maciej W. Rozycki <macro@imgtec.com>
1546
1547 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
1548
e67f83e5
MR
15492016-01-24 Maciej W. Rozycki <macro@imgtec.com>
1550
1551 * elfxx-mips.c (BZ16_REG): Correct calculation.
1552
23a42089
NC
15532016-01-21 Nick Clifton <nickc@redhat.com>
1554
1555 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
1556 changing the type of _loc to be bfd_byte *.
1557 (elf_arc_finish_dynamic_symbol): Likewise.
1558
aebf9be7
NC
15592016-01-21 Nick Clifton <nickc@redhat.com>
1560
1561 PR ld/19455
1562 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
1563 class of the linker stub bfd.
1564 (elf32_arm_check_relocs): Skip check for pic format after
1565 processing a vxWorks R_ARM_ABS12 reloc.
1566 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
1567 reporting a class mismatch.
1568
2f340668
JW
15692016-01-21 Jiong Wang <jiong.wang@arm.com>
1570
1571 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
1572 veneer for sym_sec != input_sec.
1573 (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
1574 (elfNN_aarch64_final_link_relocate): Take rela addend into account when
1575 calculation destination.
1576
aeb70569
AM
15772016-01-21 Alan Modra <amodra@gmail.com>
1578
1579 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
1580 (swap_linux_prpsinfo64_out): New function.
1581 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
1582 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
1583 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
1584 (elfcore_write_linux_prpsinfo64): Likewise.
1585 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
1586 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
1587 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
1588
de64ce13
AM
15892016-01-21 Alan Modra <amodra@gmail.com>
1590
1591 * elf-linux-core.h: Rename from elf-linux-psinfo.h.
1592 * elf.c: Adjust #include.
1593 * elf32-ppc.c: Don't #include elf-linux-psinfo.h
1594 * Makefile.am (SOURCE_HFILES): Update.
1595 * Makefile.in: Regenerate.
1596 * po/SRC-PORFILES.in: Regenerate.
1597
c603b11b
AM
15982016-01-21 Alan Modra <amodra@gmail.com>
1599
1600 * configure.ac: Move corefile selection later in file. Move
1601 tdefaults code immediately after other target vector code.
1602 * configure: Regenerate.
1603
91f68a68
MG
16042016-01-20 Mickael Guene <mickael.guene@st.com>
1605
1606 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
1607 section using '.text.noread' pattern.
1608
5b2c414d
JB
16092016-01-19 John Baldwin <jhb@FreeBSD.org>
1610
1611 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
1612
34e967a5
MC
16132016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
1614 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
1615
1616 * arc-plt.def: New file.
1617 * arc-plt.h: Likewise.
1618 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
1619 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
1620 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
1621 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
1622 (name_for_global_symbol): Added.
1623 (ADD_RELA): Helper to create dynamic relocs.
1624 (new_got_entry_to_list): Create a new got entry in linked list.
1625 (symbol_has_entry_of_type): Search for specific type of entry in
1626 list.
1627 (is_reloc_for_GOT): return FALSE for any TLS related relocs.
1628 (is_reloc_for_TLS, arc_elf_set_private_flags)
1629 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
1630 (arc_elf_merge_private_bfd_data): New functions.
1631 (debug_arc_reloc): Cleaned debug info printing.
1632 (PDATA reloc): Changed not to perform address alignment.
1633 (reverse_me): Added. Fix for ARC_32 relocs.
1634 (arc_do_relocation): Return bfd_reloc_of when no relocation should
1635 occur.
1636 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
1637 Changed function to access an array of list of GOT entries instead
1638 of just an array of offsets.
1639 (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
1640 (elf_arc_check_relocs): Likewise.
1641 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
1642 (elf_arc_finish_dynamic_sections): Likewise
1643 (arc_create_dynamic_sections): Modified conditions to create
1644 dynamic sections.
1645 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
1646 (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
1647 (relocate_plt_for_entry): Changed to support new way to define PLT
1648 related code.
1649 (add_symbol_to_plt): Likewise.
1650 (arc_elf_link_hash_table_create): New function.
1651
9ae678af
NC
16522016-01-18 Nick Clifton <nickc@redhat.com>
1653
1654 PR ld/19440
1655 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
1656 section number into internal section number.
1657 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
1658 * coffswap.h (coff_swap_sym_in): Likewise.
1659 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
1660 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
1661 section number field is big enough to hold the external value.
1662
5c14705f
AM
16632016-01-17 Alan Modra <amodra@gmail.com>
1664
1665 * configure: Regenerate.
1666
ac06903d
YU
16672016-01-12 Yury Usishchev <y.usishchev@samsung.com>
1668
1669 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
1670 when address in first unwind entry does not match start of
1671 section.
1672
109575d7
JW
16732016-01-08 Richard Sandiford <richard.sandiford@arm.com>
1674 Jiong Wang <jiong.wang@arm.com>
1675
1676 PR ld/19368
1677 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
1678 reloc_class_ifunc.
1679
b05a65d0
AB
16802016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
1681
1682 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
1683 place 'R_' before the reloc name returned.
1684 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
1685 the relocation string.
1686
a3dc0a7f
MR
16872016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1688
1689 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
1690 factored out from...
1691 (_bfd_mips_elf_merge_private_bfd_data): ... here.
1692
d537eeb5
MR
16932016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1694
1695 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
1696 attribute check after ELF file header flag check.
1697
43d223b5
MR
16982016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1699
1700 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
1701 return status from `_bfd_elf_merge_object_attributes'.
1702
b2e9744f
MR
17032016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1704
1705 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
1706 factored out from...
1707 (_bfd_mips_elf_merge_private_bfd_data): ... here.
1708
28d45e28
MR
17092016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1710
1711 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
1712 handling of input MIPS ABI flags together.
1713
23ba6f18
MR
17142016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1715
1716 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
1717 attribute checks for null input.
1718
cf8502c1
MR
17192016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1720
1721 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
1722 pointers to target data.
1723
dcb1c796
MR
17242016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1725
1726 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
1727 an FP ABI warning.
1728
6f2750fe
AM
17292016-01-01 Alan Modra <amodra@gmail.com>
1730
1731 Update year range in copyright notice of all files.
1732
3499769a
AM
1733For older changes see ChangeLog-2015 and doc/ChangeLog-0415
1734\f
1735Copyright (C) 2016 Free Software Foundation, Inc.
1736
1737Copying and distribution of this file, with or without modification,
1738are permitted in any medium without royalty provided the copyright
1739notice and this notice are preserved.
1740
1741Local Variables:
1742mode: change-log
1743left-margin: 8
1744fill-column: 74
1745version-control: never
1746End:
This page took 0.121968 seconds and 4 git commands to generate.