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