Handle __start_* and __stop_* symbols in --gc-sections
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
1cce69b9
AM
12015-10-23 Alan Modra <amodra@gmail.com>
2
3 PR ld/11133
4 PR ld/19161
5 PR ld/19167
6 * elflink.c (_bfd_elf_gc_mark_hook): Delete code handling __start_*
7 and __stop_* symbol refs.
8 (_bfd_elf_gc_mark_rsec): Add start_stop parameter. Handle __start_*
9 and __stop_* symbol refs here..
10 (_bfd_elf_gc_mark_reloc): ..and here.
11 * elf-bfd.h (_bfd_elf_gc_mark_hook): Update prototype.
12 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Update
13 _bfd_elf_gc_mark_rsec call.
14
1e7eae0d
AM
152015-10-23 Alan Modra <amodra@gmail.com>
16
17 PR ld/11133
18 PR ld/19161
19 * elflink.c (elf_gc_sweep): Revert last patch.
20 (_bfd_elf_gc_mark_hook): Don't set SEC_KEEP here.
21
bba037e0
L
222015-10-22 H.J. Lu <hongjiu.lu@intel.com>
23
24 PR ld/19161
25 * elflink.c (elf_gc_sweep): Always keep sections marked with
26 SEC_KEEP.
27
c287bfe4
HPN
282015-10-22 Hans-Peter Nilsson <hp@bitrange.com>
29
30 * mmo.c (struct mmo_data_struct): New members
31 symbol_consistency_override_calculated and ignore_symbol_consistency.
32 (mmo_section_has_contents, mmo_ignore_symbol_consistency): New
33 functions.
34 (mmo_create_symbol): Check with mmo_ignore_symbol_consistency if to
35 report an error for unexpected value of Main.
36 (mmo_write_symbols_and_terminator): Similar.
37
caa65211
L
382015-10-22 H.J. Lu <hongjiu.lu@intel.com>
39
40 * elf32-i386.c (elf_i386_convert_load): Use call_nop_byte and
41 check call_nop_as_suffix for 1-byte NOP padding to pad call.
42 * elf64-x86-64.c (elf_x86_64_convert_load): Likewise.
43
56ceb5b5
L
442015-10-22 H.J. Lu <hongjiu.lu@intel.com>
45
46 * elf64-x86-64.c: Include opcode/i386.h.
47 (x86_64_elf_howto_table): Add R_X86_64_GOTPCRELX and
48 R_X86_64_REX_GOTPCRELX.
49 (R_X86_64_standard): Replace R_X86_64_PLT32_BND with
50 R_X86_64_REX_GOTPCRELX.
51 (x86_64_reloc_map): Add BFD_RELOC_X86_64_GOTPCRELX and
52 BFD_RELOC_X86_64_REX_GOTPCRELX.
53 (need_convert_mov_to_lea): Renamed to ...
54 (need_convert_load): This.
55 (elf_x86_64_check_relocs): Handle R_X86_64_GOTPCRELX and
56 R_X86_64_REX_GOTPCRELX. Replace need_convert_mov_to_lea with
57 need_convert_load.
58 (elf_x86_64_gc_sweep_hook): Handle R_X86_64_GOTPCRELX and
59 R_X86_64_REX_GOTPCRELX.
60 (elf_x86_64_size_dynamic_sections): Likewise.
61 (elf_x86_64_relocate_section): Likewise.
62 (elf_x86_64_convert_mov_to_lea): Renamed to ...
63 (elf_x86_64_convert_load): This. Replace need_convert_mov_to_lea
64 with need_convert_load. Support R_X86_64_GOTPCRELX and
65 R_X86_64_REX_GOTPCRELX transformations.
66 * reloc.c (BFD_RELOC_X86_64_GOTPCRELX): New.
67 (BFD_RELOC_X86_64_REX_GOTPCRELX): Likewise.
68 * bfd-in2.h: Regenerated.
69 * libbfd.h: Likewise.
70
02a86693
L
712015-10-22 H.J. Lu <hongjiu.lu@intel.com>
72
73 * elf32-i386.c: Include opcode/i386.h.
74 (elf_howto_table): Add R_386_GOT32X.
75 (R_386_ext2): Replace R_386_IRELATIVE with R_386_GOT32X.
76 (elf_i386_reloc_type_lookup): Handle BFD_RELOC_386_GOT32X.
77 (need_convert_mov_to_lea): Renamed to ...
78 (need_convert_load): This.
79 (elf_i386_check_relocs): Handle R_386_GOT32X. Replace
80 need_convert_mov_to_lea with need_convert_load.
81 (elf_i386_gc_sweep_hook): Handle R_386_GOT32X.
82 (elf_i386_size_dynamic_sections): Likewise.
83 (elf_i386_relocate_section): Likewise.
84 (elf_i386_convert_mov_to_lea): Renamed to ...
85 (elf_i386_convert_load): This. Replace need_convert_mov_to_lea
86 with need_convert_load. Support R_386_GOT32X transformations.
87 * reloc.c (BFD_RELOC_386_GOT32X): New.
88 * bfd-in2.h: Regenerated.
89 * libbfd.h: Likewise.
90
99ba5125
AK
912015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
92
93 * elf32-s390.c (elf_s390_check_relocs): Set the non_got_ref marker
94 only when linking an executable.
95 (elf_s390_relocate_section): Redirect PC-relative relocs to a IPLT
96 slot.
97 * elf64-s390.c (elf_s390_check_relocs): Set the non_got_ref marker
98 only when linking an executable.
99 (elf_s390_relocate_section): Redirect PC-relative relocs to a IPLT
100 slot.
101
d8ee9e44
AK
1022015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
103
104 * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Set the PLT
105 reference counters for local IFUNC calls.
106 * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
107
01a53584
AK
1082015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
109
110 * elf32-s390.c (elf_s390_check_relocs): Fallthrough to the PLT
111 slot allocating code for GOTOFF relocs on ifunc symbols.
112 (elf_s390_gc_sweep_hook): Decrement plt refcount for GOTOFF relocs
113 on ifunc symbols.
114 (elf_s390_relocate_section): Redirect a GOTOFF reloc to an iplt
115 slot.
116
0f042c67
AK
1172015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
118
119 PR ld/18841
120 * elf32-s390.c (elf_s390_reloc_type_class): Return
121 reloc_class_ifunc for ifunc symbols.
122 * elf64-s390.c (elf_s390_reloc_type_class): Likewise.
123
0a511368
AK
1242015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
125
126 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Call
127 elf_s390_finish_ifunc_symbol only for actually defined symbols.
128 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
129
61643fba
AK
1302015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
131
132 * elf-s390-common.c (s390_elf_allocate_ifunc_dyn_relocs): Remove
133 `head' parameter.
134 * elf32-s390.c (allocate_dynrelocs): Don't use last parameter.
135 * elf64-s390.c (allocate_dynrelocs): Don't use last parameter.
136
f9c62303
HPN
1372015-10-20 Hans-Peter Nilsson <hp@bitrange.com>
138
139 * mmo.c (mmo_write_symbols_and_terminator): Correct printed value
140 of Main in error message.
141
434d28e0
DE
1422015-10-18 Doug Evans <xdje42@gmail.com>
143
144 * targets.c (bfd_flavour_name): "MMO" is spelled "mmo".
145
9f08fa5c
AM
1462015-10-17 Alan Modra <amodra@gmail.com>
147
148 * elf64-ppc.c (ppc64_elf_size_stubs): Correct __glink_PLTresolve
149 eh_frame FDE for ELFv1.
150
75a06c79
L
1512015-10-16 H.J. Lu <hongjiu.lu@intel.com>
152
153 * elf32-i386.c (elf_i386_convert_mov_to_lea): Check if symbol
154 is defined.
155 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
156
b31bcacc
L
1572015-10-16 H.J. Lu <hongjiu.lu@intel.com>
158
159 * elf32-i386.c (elf_i386_convert_mov_to_lea): Don't check
160 def_regular.
161 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
162
ae7683d2
L
1632015-10-15 H.J. Lu <hongjiu.lu@intel.com>
164
165 * elflink.c (_bfd_elf_merge_symbol): Fix typos in comments
166
e43fb831
AM
1672015-10-15 Alan Modra <amodra@gmail.com>
168
169 * elf32-v850.c (v850_elf_copy_private_bfd_data): Remove assertion
170 that input and output .note.renesas sections are same size.
171 Instead, only copy input to output if they are.
172
b32a5c16
RV
1732015-10-15 Riku Voipio <riku.voipio@iki.fi>
174
175 PR ld/19123
176 * elfcore.h (elf_core_file_p): Use the file_ptr type to hold the
177 offset for bfd_seek.
178 * elfcode.h (elf_object_p): Likewise.
179
b4b0e149
RF
1802015-10-14 Rich Felker <dalias@libc.org>
181
182 PR ld/19091
183 * elf32-sh.c (sh_elf_size_dynamic_sections): Always emit
184 DT_PLTGOT for FDPIC output.
185
341b8ee7
AM
1862015-10-13 Alan Modra <amodra@gmail.com>
187
188 * elf.c (_bfd_elf_map_sections_to_segments): Don't set
189 PT_GNU_RELRO p_flags.
190 (assign_file_positions_for_non_load_sections): Set PT_GNU_RELRO
191 flags to PF_R here.
192
4373f8af
L
1932015-10-12 H.J. Lu <hongjiu.lu@intel.com>
194
195 PR ld/19073
196 * elflink.c (_bfd_elf_add_default_symbol): Skip the unversioned
197 definition after the default version.
198
ef05be83
AK
1992015-10-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
200
201 PR ld/19083
202 * elf32-s390.c (elf_s390_gc_sweep_hook): Do not reduce got
203 refcount for relocs not really requiring a got slot.
204 * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
205
da6e19a9
JDA
2062015-10-11 John David Anglin <danglin@gcc.gnu.org>
207
208 * elf-hppa.h (elf_hppa_action_discarded): Ignore relocations in
209 .data.rel.ro.local.
210
886a2506
NC
2112015-10-07 Cupertino Miranda <cmiranda@synopsys.com>
212
213 * archures.c: Remove support for older ARC. Added support for new
214 ARC cpus (ARC600, ARC601, ARC700, ARCV2).
215 * bfd-in2.h: Likewise.
216 * config.bfd: Likewise.
217 * cpu-arc.c: Likewise.
218 * elf32-arc.c: Totally changed file with a refactored
219 inplementation of the ARC port.
220 * libbfd.h: Added ARC specific relocation types.
221 * reloc.c: Likewise.
222
8c6da3df
L
2232015-10-06 H.J. Lu <hongjiu.lu@intel.com>
224
225 * bfd.c (bfd_update_compression_header): Clear the ch_reserved
226 field in 64-bit output.
227 (bfd_convert_section_contents): Likewise.
228
a0d49154
L
2292015-10-05 H.J. Lu <hongjiu.lu@intel.com>
230
231 PR ld/18914
232 * elflink.c (elf_link_add_object_symbols): Don't re-export a
233 symbol if it isn't undefined.
234
d00c2bc9
L
2352015-10-04 H.J. Lu <hongjiu.lu@intel.com>
236
237 * config.bfd (targ_selvecs, targ64_selvecs): Add iamcu_elf32_vec,
238 i386_pei_vec and x86_64_pei_vec for Solaris2/x86.
239
3ebe65c0
RL
2402015-10-02 Renlin Li <renlin.li@arm.com>
241
242 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Add
243 TLSIE_MOVW_GOTTPREL_G1.
244 (aarch64_tls_transition_without_check): Add
245 TLSIE_MOVW_GOTTPREL_G1 to TLSLE_MOVW_TPREL_G2
246 transition for local symbol.
247 (elfNN_aarch64_tls_relax): Add a argument to pass tp offset.
248 Add TLSIE_MOVW_GOTTPREL_G1 relaxation.
249 (elfNN_aarch64_relocate_section): Call elfNN_aarch64_tls_relax
250 with new argument.
251
0484b454
RL
2522015-10-02 Renlin Li <renlin.li@arm.com>
253
254 * elfnn-aarch64.c (aarch64_tls_transition_without_check): Add
255 relax transitions for TLSDESC_ADD, TLSDESC_LDR, TLSDESC_OFF_G0_NC,
256 TLSDESC_OFF_G1.
257 (aarch64_tls_transition_without_check): Add relaxation support.
258 (aarch64_reloc_got_type): Add support.
259 (elfNN_aarch64_final_link_relocate): Likewise.
260 (elfNN_aarch64_tls_relax): Likewise.
261 (elfNN_aarch64_relocate_section): Likewise.
262 (elfNN_aarch64_gc_sweep_hook): Likewise.
263 (elfNN_aarch64_check_relocs): Likewise.
264 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
265 (_bfd_aarch64_elf_resolve_relocation): Likewise.
266
43a357f9
RL
2672015-10-02 Renlin Li <renlin.li@arm.com>
268
269 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Check overflow for
270 BFD_RELOC_AARCH64_TLSDESC_OFF_G1.
271
ac734732
RL
2722015-10-02 Renlin Li <renlin.li@arm.com>
273
274 * elfnn-aarch64.c(IS_AARCH64_TLS_RELAX_RELOC):
275 Add relaxation support for TLSGD_MOVW_G0_NC and TLSGD_MOVW_G1.
276 (aarch64_tls_transition_without_check): Likewise
277 (elfNN_aarch64_tls_relax): Likwise.
278
b7a944fe
RL
2792015-10-02 Renlin Li <renlin.li@arm.com>
280
281 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Create GOT section
282 for TLSLE_MOVW_TPREL_G(1, 1_NC, 2) relocation.
283
3b957e5b
RL
2842015-10-02 Renlin Li <renlin.li@arm.com>
285
286 * reloc.c: Make AARCH64_TLSIE_MOVW_GOTTPREL_G1 and
287 AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC defined in alphabetical order.
288 * libbfd.h: Regenerate.
289 * bfd-in2.h: Likewise.
290 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Make
291 TLSIE_MOVW_GOTTPREL_G1 check overflow.
292 (aarch64_reloc_got_type): Add support for TLSIE_MOVW_GOTTPREL_G1
293 and TLSIE_MOVW_GOTTPREL_G0_NC.
294 (elfNN_aarch64_final_link_relocate): Likewise.
295 (elfNN_aarch64_relocate_section): Likewise.
296 (elfNN_aarch64_gc_sweep_hook): Likewise.
297 (elfNN_aarch64_check_relocs): Likewise.
298 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
299 (_bfd_aarch64_elf_resolve_relocation): Likewise.
300
7ba7cfe4
RL
3012015-10-02 Renlin Li <renlin.li@arm.com>
302
303 * elfnn-aarch64.c (aarch64_reloc_got_type): Add
304 BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC support.
305 (elfNN_aarch64_final_link_relocate): Likewise.
306 (elfNN_aarch64_relocate_section): Likewise.
307 (elfNN_aarch64_gc_sweep_hook): Likewise.
308 (elfNN_aarch64_check_relocs): Likewise.
309 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
310 (_bfd_aarch64_elf_resolve_relocation): Likewise.
311
3e8286c0
RL
3122015-10-02 Renlin Li <renlin.li@arm.com>
313
314 * reloc.c (BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC): New entry.
315 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
316 BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC.
317 * libbfd.h: Regenerate.
318 * bfd-in2.h: Likewise
319
94facae3
RL
3202015-10-02 Renlin Li <renlin.li@arm.com>
321
322 * elfnn-aarch64.c (aarch64_reloc_got_type): Add
323 BFD_RELOC_AARCH64_TLSGD_MOVW_G1 support.
324 (elfNN_aarch64_final_link_relocate): Likewise.
325 (elfNN_aarch64_relocate_section): Likewise.
326 (elfNN_aarch64_gc_sweep_hook): Likewise.
327 (elfNN_aarch64_check_relocs): Likewise.
328 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
329 (_bfd_aarch64_elf_resolve_relocation): Likewise.
330
1aa66fb1
RL
3312015-10-02 Renlin Li <renlin.li@arm.com>
332
333 * reloc.c (BFD_RELOC_AARCH64_TLSGD_MOVW_G1): New entry.
334 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
335 BFD_RELOC_AARCH64_TLSGD_MOVW_G1.
336 * bfd-in2.h: Regenerate.
337 * libbfd.h: Likewise.
338
dc8008f5
RL
3392015-10-02 Renlin Li <renlin.li@arm.com>
340
341 * elfnn-aarch64.c (aarch64_reloc_got_type): Add
342 BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC support.
343 (elfNN_aarch64_final_link_relocate): Likewise.
344 (elfNN_aarch64_gc_sweep_hook): Likewise.
345 (elfNN_aarch64_check_relocs): Likewise.
346 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
347 (_bfd_aarch64_elf_resolve_relocation): Likewise.
348
ca632371
RL
3492015-10-02 Renlin Li <renlin.li@arm.com>
350
351 * reloc.c (BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC): New.
352 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry
353 MOVW_GOTOFF_G0_NC.
354 * libbfd.h: Regnerate.
355 * bfd-in2.h: Regenerate.
356
74a1bfe1
RL
3572015-10-02 Renlin Li <renlin.li@arm.com>
358
359 * elfnn-aarch64.c (aarch64_reloc_got_type): Add support
360 for BFD_RELOC_AARCH64_MOVW_GOTOFF_G1.
361 (elfNN_aarch64_gc_sweep_hook): Likewise.
362 (elfNN_aarch64_check_relocs): Likewise
363 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
364 (_bfd_aarch64_elf_resolve_relocation): Likewise
365 (elfNN_aarch64_final_link_relocate): Likewise
366
654248e7
RL
3672015-010-02 Renlin Li <renlin.li@arm.com>
368
369 * reloc.c (BFD_RELOC_AARCH64_MOVW_GOTOFF_G1): New.
370 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
371 MOVW_GOTOFF_G1.
372 * libbfd.h: Regenerate.
373 * bfd-in2.h: Regenerate.
374
a2e1db00
RL
3752015-10-02 Renlin Li <renlin.li@arm.com>
376
377 * elfnn-aarch64.c (aarch64_reloc_got_type): Add
378 BFD_RELOC_AARCH64_LD_64_GOTOFF_LO15 support.
379 (elfNN_aarch64_gc_sweep_hook): Likewise.
380 (elfNN_aarch64_check_relocs): Likewise
381 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
382 (_bfd_aarch64_elf_resolve_relocation): Likewise
383 (elfNN_aarch64_final_link_relocate): Calculate offset within GOT.
384
a0becb89
RL
3852015-10-02 Renlin Li <renlin.li@arm.com>
386
387 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Change if to
388 switch statement.
389
5db4f0d3
L
3902015-10-01 H.J. Lu <hongjiu.lu@intel.com>
391
392 PR ld/19031
393 * elf64-x86-64.c (elf_x86_64_check_relocs): Set
394 pointer_equality_needed for R_X86_64_PC32 reloc in non-code
395 sections.
396
73524045
RL
3972015-10-01 Renlin Li <renlin.li@arm.com>
398
399 * elfnn-aarch64.c (elfNN_aarch64_output_plt_map): Remove.
400 (elfNN_aarch64_output_arch_local_syms): Emit AARCH64_MAP_INSN once.
401
de48f481
KK
4022015-10-01 Kaz Kojima <kkojima@rr.iij4u.or.jp>
403
404 * config.bfd (targ_selvecs): Remove sh_elf32_vec and
405 sh_elf32_le_vec from sh*-*-linux cases.
406
017e6bce
AM
4072015-10-01 Alan Modra <amodra@gmail.com>
408
409 PR ld/19013
410 * elflink.c (_bfd_elf_merge_sections): Revert last change.
411
4b627c18
L
4122015-09-30 H.J. Lu <hongjiu.lu@intel.com>
413
414 PR ld/19031
415 * elf32-i386.c (elf_i386_check_relocs): Set
416 pointer_equality_needed for R_386_PC32 reloc in non-code
417 sections.
418
9865bd0d
L
4192015-09-30 H.J. Lu <hongjiu.lu@intel.com>
420
421 PR ld/19013
422 * elflink.c (_bfd_elf_merge_sections): Only merge input bfds
423 that have the compatible ELF machine code with the output bfd.
424
630993ec
AM
4252015-09-30 Alan Modra <amodra@gmail.com>
426
427 PR ld/19013
428 * elflink.c (_bfd_elf_merge_sections): Only merge input bfds that
429 will be handled by elf_link_input_bfd. Rename abfd param to obfd.
430
6c4f2328
RF
4312015-09-30 Rich Felker <dalias@libc.org>
432
433 * config.bfd (targ_selvecs): Add fdpic and misc targets
434 for sh*-*-linux*.
435
cbd44e24
L
4362015-09-29 Andrew Stubbs <ams@codesourcery.com>
437 H.J. Lu <hongjiu.lu@intel.com>
438
439 PR binutils/19020
440 * bfd.c (bfd_convert_section_contents): Add ptr_size parameter.
441 * bfd-in2.h: Regenerated.
442
8a9e7a91
PZ
4432015-08-11 Peter Zotov <whitequark@whitequark.org>
444
445 PR ld/18759
446 * elf32-or1k.c (R_OR1K_32_PCREL): Set pcrel_offset to TRUE.
447 (R_OR1K_16_PCREL): Likewise.
448 (R_OR1K_8_PCREL): Likewise.
449
b6518b38
NC
4502015-09-23 Nick Clifton <nickc@redhat.com>
451
452 * bout.c (b_out_slurp_reloc_table): Cast constant to unsigned in
453 order to avoid problems with left shifting negative values.
454 (abs32code): Likewise.
455 * mach-o.c (FILE_ALIGN): Likewise.
456 * coff-rs6000.c (xcoff_debug_sections): Delete unused static
457 array.
458 * elf32-visium.c (visium_reloc_map): Likewise.
459 * elf32-arm.c (elf32_arm_final_link_relocate): Remove useless
460 calls to abs function.
461 * elf32-frv.c (_frvfdpic_relax_tls_entries): Likewise.
462 * elf32-score.c (score_elf_final_link_relocate): Likewise.
463 * elf32-score7.c (score_elf_final_link_relocate): Likewise.
464 * elf32-i860.c (i860_howto_pc26_reloc): Use multiplication instead
465 of shifting to create a negative mask.
466 * elf32-msp430.c (elf_backend_special_sections): Define.
467 * elfxx-mips.c (got_ofst_reloc_p): Delete unused function.
468 (got_hi16_reloc_p): Delete unused function.
469 * ppcboot.c (ppcboot_bfd_print_private_bfd_data): Fix test of
470 partition name.
471
6a40cf0c
NC
4722015-09-23 Nick Clifton <nickc@redhat.com>
473
474 PR binutils/15835
475 * elf-bfd.h (struct elf_section_list): New structure.
476 (struct elf_obj_tdata): Replace symtab_shndx_hdr with
477 symtab_shndx_list. Delete symtab_shndx_section.
478 (elf_symtab_shndx): Replace macro with elf_symtab_shndx_list.
479 * elf.c (bfd_elf_get_syms): If symtab index sections are present,
480 scan them for the section that matches the provided symbol table.
481 (bfd_section_from_shdr): Record all SHT_SYMTAB_SHNDX sections.
482 (assign_section_numbers): Use the first symtab index table in the
483 list.
484 (_bfd_elf_compute_section_file_positions): Replace use of
485 symtab_shndx_hdr with use of symtab_shndx_list.
486 (find_section_in_list): New function.
487 (assign_file_postions_except_relocs): Use new function.
488 (_bfd_elf_copy_private_symbol_data): Likewise.
489 (swap_out_syms): Handle multiple symbol table index sections.
490 * elf32-m32c.c (m32c_elf_relax_section): Replace use of
491 symtab_shndx_hdr with use of symtab_shndx_list.
492 * elf32-rl78.c (rl78_elf_relax_section): Likewise.
493 * elf32-rx.c (rx_relax_section): Likewise.
494 * elf32-v850.c (v850_elf_relax_delete_bytes): Likewise.
495 * elflink.c (bfd_elf_final_link): Likewise.
496
c8b187ea
L
4972015-09-21 H.J. Lu <hongjiu.lu@intel.com>
498
499 * bfd.c (bfd_update_compression_header): Use bfd_put_32 on
500 ch_type.
501 (bfd_check_compression_header): Use bfd_get_32 on ch_type.
502 (bfd_convert_section_contents): Use bfd_get_32 and bfd_put_32
503 on ch_type.
504
9b8b325a
RF
5052015-09-20 Rich Felker <dalias@libc.org>
506
507 * elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create
508 .interp when info->nointerp.
509 (bfd_elf_size_dynamic_sections): Adjust assert.
510 * elf32-arm.c (elf32_arm_size_dynamic_sections): Don't size .interp
511 when info->nointerp.
512 * elf32-bfin.c (elf32_bfinfdpic_size_dynamic_sections): Likewise.
513 * elf32-cr16.c (_bfd_cr16_elf_size_dynamic_sections): Likewise.
514 * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
515 * elf32-frv.c (elf32_frvfdpic_size_dynamic_sections): Likewise.
516 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
517 * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
518 * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
519 * elf32-lm32.c (lm32_elf_size_dynamic_sections): Likewise.
520 * elf32-m32r.c (m32r_elf_size_dynamic_sections): Likewise.
521 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
522 * elf32-metag.c (elf_metag_size_dynamic_sections): Likewise.
523 * elf32-nds32.c (nds32_elf_size_dynamic_sections): Likewise.
524 * elf32-nios2.c (nios2_elf32_size_dynamic_sections): Likewise.
525 * elf32-or1k.c (or1k_elf_size_dynamic_sections): Likewise.
526 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
527 * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
528 * elf32-score.c (s3_bfd_score_elf_size_dynamic_sections): Likewise.
529 * elf32-score7.c (s7_bfd_score_elf_size_dynamic_sections): Likewise.
530 * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
531 * elf32-tic6x.c (elf32_tic6x_size_dynamic_sections): Likewise.
532 * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Likewise.
533 * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
534 * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
535 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
536 * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
537 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Likewise.
538 * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
539 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
540 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
541 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Likewise.
542 * elfnn-ia64.c (elfNN_ia64_size_dynamic_sections): Likewise.
543 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise.
544 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
545 * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): Likewise.
546
015d2e7e
DE
5472015-09-18 Doug Evans <xdje42@gmail.com>
548
549 * targets.c (enum bfd_flavour): Add comment.
550 (bfd_flavour_name): New function.
551 * bfd-in2.h: Regenerate.
552
7c9cf415
AM
5532015-09-18 Alan Modra <amodra@gmail.com>
554
555 * elf64-ppc.h (struct ppc64_elf_params <tls_get_addr_opt>): Rename
556 from no_tls_get_addr_opt.
557 * elf64-ppc.c: Update for rename and inversion of tls_get_addr_opt.
558 (ppc64_elf_tls_setup): Set tls_get_addr_opt to 0 only when at
559 default of -1.
560
b29b8669
AM
5612015-09-17 Alan Modra <amodra@gmail.com>
562
563 PR 18867
564 * elflink.c (elf_link_adjust_relocs): Correct start of insertion
565 sort main loop.
566
bca6d0e3
AM
5672015-09-16 Alan Modra <amodra@gmail.com>
568
569 PR 18867
570 * elflink.c (elf_link_adjust_relocs): Modify insertion sort to
571 insert a run. Return status in case of malloc failure.
572 Adjust callers.
573
92b3f008
MF
5742015-09-15 Max Filippov <jcmvbkbc@gmail.com>
575
576 * elf32-xtensa.c (elf_xtensa_be_plt_entry)
577 (elf_xtensa_le_plt_entry): Emit 'entry' instruction only for
578 windowed ABI.
579 (elf_xtensa_create_plt_entry): Generate 'l32r' offsets and fix
580 up instructions according to ABI.
581
fbedb42d
RF
5822015-09-14 Rich Felker <dalias@libc.org>
583
584 * elf32-sh.c (sh_elf_relocate_section): Set EF_SH_PIC flag
585 instead of clearing it on cross-section relocations.
586 (sh_elf_merge_private_data): Clear EF_SH_PIC flag by default.
587
f3c3938c
JDA
5882015-09-12 Helge Deller <deller@gmx.de>
589
590 PR ld/18514
591 * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Set .plt entry
592 size to 0.
593
4af68b9c
JW
5942015-09-09 Jiong Wang <jiong.wang@arm.com>
595
596 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Sort alphabetically.
597
259364ad
JW
5982015-09-09 Jiong Wang <jiong.wang@arm.com>
599
600 * elfnn-aarch64.c (aarch64_tls_transition_without_check): Support three
601 TLS local dynamic traditional relocations types.
602 (elfNN_aarch64_tls_relax): Support TLS local dynamic traditional to
603 local executable relaxation.
604
77697d41
L
6052015-09-03 H.J. Lu <hongjiu.lu@intel.com>
606
607 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Remove
608 convert_mov_to_lea.
609
c74be520
L
6102015-09-02 H.J. Lu <hongjiu.lu@intel.com>
611
612 * elf32-i386.c (R_386_irelative): Renamed to ...
613 (R_386_ext2): This.
614 (R_386_vt_offset): Updated.
615 (elf_i386_rtype_to_howto): Likewise.
616 (elf_i386_relocate_section): Likewise.
617
04ebc307
L
6182015-09-01 H.J. Lu <hongjiu.lu@intel.com>
619
620 PR ld/18900
621 * elf32-i386.c (elf_i386_link_hash_entry): Add
622 func_pointer_refcount.
623 (elf_i386_link_hash_newfunc): Clear func_pointer_refcount.
624 (elf_i386_get_local_sym_hash): Likewise.
625 (elf_i386_copy_indirect_symbol): Also copy
626 func_pointer_refcount.
627 (elf_i386_check_relocs): Increment func_pointer_refcount.
628 (elf_i386_gc_sweep_hook): Decrement func_pointer_refcount.
629 (elf_i386_allocate_dynrelocs): Don't create the PLT entry if
630 there are only function pointer relocations which can be
631 resolved at run-time. Keep dynanamic relocations for run-time
632 function pointer initialization.
633 (elf_i386_relocate_section): Copy dynamic function pointer
634 relocations.
635 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add
636 func_pointer_refcount.
637 (elf_x86_64_link_hash_newfunc): Clear func_pointer_refcount.
638 (elf_x86_64_get_local_sym_hash): Likewise.
639 (elf_x86_64_copy_indirect_symbol): Also copy
640 func_pointer_refcount.
641 (elf_x86_64_check_relocs): Increment func_pointer_refcount.
642 (elf_x86_64_gc_sweep_hook): Decrement func_pointer_refcount.
643 (elf_x86_64_allocate_dynrelocs): Don't create the PLT entry if
644 there are only function pointer relocations which can be
645 resolved at run-time. Keep dynanamic relocations for run-time
646 function pointer initialization.
647 (elf_x86_64_relocate_section): Copy dynamic function pointer
648 relocations.
649
b07bca4e
AM
6502015-09-01 Alan Modra <amodra@gmail.com>
651
652 * elf64-ppc.c (ppc64_elf_maybe_function_sym): Adjust symbol value
653 if .opd section has been edited.
654
a4b6fadd
AM
6552015-09-01 Alan Modra <amodra@gmail.com>
656
657 PR 18878
658 * elf64-ppc.c (ARRAY_SIZE): Define. Use throughout.
659 (enum ppc_stub_type): Add ppc_stub_save_res.
660 (struct map_stub): Add "next" and "needs_save_res".
661 (struct ppc_link_hash_entry): Add "save_res" flag.
662 (struct ppc_link_hash_table): Add "group".
663 (sfpr_define): Add stub_sec param. Define symbol in stub_sec if
664 stub_sec is non-null. Set "save_res".
665 (save_res_funcs): Make file scope, rename from funcs. Adjust uses.
666 (ppc64_elf_adjust_dynamic_symbol): Prohibit plt call to save_res syms.
667 (ppc_build_one_stub): Handle ppc_stub_save_res.
668 (ppc_size_one_stub): Set stub type to ppc_size_one_stub on finding
669 stub for linker defined save_res sym.
670 (group_sections): Init new fields of struct map_stub.
671 (ppc64_elf_size_stubs): Reserve space for save/restore func copy.
672 (ppc64_elf_build_stubs): Copy save/restore funcs to groups. Emit
673 alias syms too.
674 (ppc64_elf_relocate_section): Set destination for ppc_stub_save_res.
675
a7c49797
AM
6762015-08-31 Alan Modra <amodra@gmail.com>
677
678 * elf64-ppc.c (get_r2off): Return -1 on error.
679 (ppc_build_one_stub): Adjust for get_r2off change. Don't emit
680 addi r2,r2,0 on r2off stubs when the low 16-bit delta is zero.
681 (ppc_size_one_stub): Corresponding size changes for r2off stubs.
682 Add condition in test for -R objects.
683
6f20ed8a
AM
6842015-08-31 Alan Modra <amodra@gmail.com>
685
686 * section.c (section_id): Make file scope.
687 (bfd_get_next_section_id): New function.
688 * elf64-ppc.c (struct map_stub): Remove toc_off field. Move decl.
689 (struct ppc_stub_hash_entry): Delete stub_sec and id_sec. Add
690 group. Update all uses.
691 (struct ppc_link_hash_table): Delete top_id, top_index, and
692 input_list. Add sec_info_arr_size. Rename stub_group to
693 sec_info, and make group info indirect. Update stub_group refs
694 throughout file.
695 (ppc_add_stub): Don't look for stub_sec on link_sec stub_group
696 entry.
697 (ppc_build_one_stub): Delete FIXME.
698 (ppc64_elf_setup_section_lists): Size htab->sec_info for all
699 sections, not just input sections. Don't create htab->input_list.
700 (ppc64_elf_next_input_section): Update to use sec_info union as
701 list pointer.
702 (PREV_SEC): Delete.
703 (group_sections): Pass "info" param rather than "htab". Iterate
704 over output sections rather than input_list. Use sec_info union
705 as list pointers. Alloc atruct map_stub, and return fail status.
706 * bfd-in2.h: Regenerate.
707
d3435ae8
AM
7082015-08-31 Alan Modra <amodra@gmail.com>
709
710 * elflink.c (elf_sort_symbol): Use correctly sized type for
711 calculating signed section->id difference.
712 (elf_link_add_object_symbols): Likewise.
713 * pef.c (bfd_pef_scan_start_address): Warning fix.
714 * vms-alpha.c (vms_new_section_hook): Likewise.
715
6cae483a
AM
7162015-08-31 Alan Modra <amodra@gmail.com>
717
718 * elf32-nds32.c (nds32_convert_32_to_16_alu1): Warning fix.
719 (find_relocs_at_address_addr): Make "reloc_type" an enum.
720 (nds32_elf_relax_delete_blanks): Warning fix.
721 (nds32_elf_relax_loadstore): Correct loop bound.
722
7292b3ac
AM
7232015-08-31 Alan Modra <amodra@gmail.com>
724
725 * section.c (struct bfd_section): Make "id" and "index" unsigned.
726 * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Adjust local var to suit.
727 * elf.c (elf_map_symbols): Likewise.
728 * elf64-ppc.c (sym_exists_at): Make "id" param unsigned.
729 (struct ppc_link_hash_table): Make "top_id" and "top_index" unsigned.
730 (ppc64_elf_setup_section_lists): Ditto for local vars.
731 * elf32-arm.c: Similarly to elf64-ppc.c.
732 * elf32-avr.c: Likewise.
733 * elf32-hppa.c: Likewise.
734 * elf32-m68hc1x.c: Likewise.
735 * elf32-metag.c: Likewise.
736 * elf32-nios2.c: Likewise.
737 * elfnn-aarch64.c: Likewise.
738 * simple.c (struct saved_offsets): Make "section_count" unsigned.
739 * bfd-in2.h: Regenerate.
740
6fc5bb57
AM
7412015-08-27 Alan Modra <amodra@gmail.com>
742
a40d44c4 743 PR 18867
6fc5bb57
AM
744 * elf64-alpha.c (elf64_alpha_sort_relocs_p): New function.
745 (elf_backend_sort_relocs_p): Define.
746
0e287786
AM
7472015-08-26 Alan Modra <amodra@gmail.com>
748
749 PR 18867
750 * elflink.c (cmp_ext32l_r_offset, cmp_ext32b_r_offset): Delete.
751 (cmp_ext64l_r_offset, cmp_ext64b_r_offset): Delete.
752 (ext32l_r_offset, ext32b_r_offset, ext64l_r_offset, ext64b_r_offset):
753 New functions.
754 (elf_link_adjust_relocs): Use an insertion sort to sort relocs.
755
c97c330b
MF
7562015-08-26 Matthew Fortune <matthew.fortune@imgtec.com>
757
758 PR ld/18401
759 * elfxx-mips.c (bfd_mips_isa_ext_mach): New function: Converts an
760 ISA value to a bfd machine number.
761 (bfd_mips_isa_ext): Update the ISA level and revision if
762 necessary. Use mips_mach_extends_p to decide if the ISA extension
763 needs to be set.
764 (_bfd_mips_elf_merge_private_bfd_data): Allow the ISA extension to
765 be inferred from the ABI setting. Set the ISA level from the
766 maximum of the incoming and outgoing ISA levels.
767
16ad13ec
NC
7682015-08-25 Nick Clifton <nickc@redhat.com>
769
770 PR binutils/18854
771 * elf.c (bfd_section_from_shdr): Replace assertions with warnings
772 about multiple symbol tables.
773
7c2bea1a
RL
7742015-08-25 Renlin Li <renlin.li@arm.com>
775
776 * reloc.c (BFD_RELOC_AARCH64_LD64_GOTOFF_LO15): Use LP64 instead of
777 ILP64.
778 * bfd-in2.h: Regenerate.
779
595bce75
AM
7802015-08-22 Alan Modra <amodra@gmail.com>
781
782 * elf.c (_bfd_elf_slurp_version_tables): Always init vd_nodename.
783 Don't copy fields not set by _bfd_elf_swap_verdef_in.
784
07c9aa07
JW
7852015-08-19 Jiong Wang <jiong.wang@arm.com>
786
787 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize new relocation
788 types, including BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12,
789 BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
790 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12,
791 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
792 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12,
793 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC,
794 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12,
795 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC.
796 (elfNN_aarch64_final_link_relocate): Likewise.
797 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
798 (_bfd_aarch64_elf_resolve_relocation): Likewise.
799
4c562523
JW
8002015-08-19 Jiong Wang <jiong.wang@arm.com>
801
802 * reloc.c (BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12,
803 BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
804 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12,
805 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
806 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12,
807 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC.
808 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12,
809 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC): New entries.
810 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
811 * bfd-in2.h: Regenerate.
812 * libbfd.h: Regenerate.
813
6ffe9a1b
JW
8142015-08-19 Jiong Wang <jiong.wang@arm.com>
815
816 PR ld/18276
817 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize new relocation
818 types, including BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12,
819 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0,
820 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC,
821 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1,
822 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC,
823 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2.
824 (elfNN_aarch64_final_link_relocate): Likewise.
825 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
826 (_bfd_aarch64_elf_resolve_relocation): Likewise.
827
49df5539
JW
8282015-08-19 Jiong Wang <jiong.wang@arm.com>
829
830 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12,
831 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0,
832 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC,
833 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1,
834 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC,
835 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2): New entries.
836 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
837 * bfd-in2.h: Regenerate.
838 * libbfd.h: Regenerate.
839
753999c1
JW
8402015-08-19 Jiong Wang <jiong.wang@arm.com>
841
842 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
843 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC.
844 (aarch64_reloc_got_type): Likewise.
845 (elfNN_aarch64_final_link_relocate): Likewise.
846 (elfNN_aarch64_relocate_section): Likewise.
847 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
848 (_bfd_aarch64_elf_resolve_relocation): Likewise.
849
13289c10
JW
8502015-08-19 Jiong Wang <jiong.wang@arm.com>
851
852 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC): New entry.
853 * bfd-in2.h: Regenerate.
854 * libbfd.h: Regenerate.
855 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
856 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC.
857
3cbc1e5e
AM
8582015-08-19 Alan Modra <amodra@gmail.com>
859
860 * elf-s390-common.c: Simplify expressions using
861 bfd_linke_executable, bfd_link_pie and bfd_link_pic.
862 * elf32-arm.c: Likewise.
863 * elf32-bfin.c: Likewise.
864 * elf32-frv.c: Likewise.
865 * elf32-m68k.c: Likewise.
866 * elf32-nios2.c: Likewise.
867 * elf32-ppc.c: Likewise.
868 * elf32-s390.c: Likewise.
869 * elf32-sh.c: Likewise.
870 * elf64-alpha.c: Likewise.
871 * elf64-ppc.c: Likewise.
872 * elf64-s390.c: Likewise.
873 * elflink.c: Likewise.
874
44b4145b
JW
8752015-08-18 Jiong Wang <jiong.wang@arm.com>
876
877 * elfnn-aarch64.c (aarch64_reloc_got_type): Delete useless check.
878 (elfNN_aarch64_relocate_section): Likewise.
879 (elfNN_aarch64_gc_sweep_hook): Likewise.
880 (elfNN_aarch64_check_relocs): Likewise.
881
cae1fbbb
L
8822015-08-18 H.J. Lu <hongjiu.lu@intel.com>
883
884 PR ld/18841
885 * elf-bfd.h (elf_link_hash_table): Add dynsym.
886 * elf32-i386.c (elf_i386_reloc_type_class): Return
887 reloc_class_ifunc for relocation against STT_GNU_IFUNC symbol.
888 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
889 * elflink.c (_bfd_elf_link_create_dynamic_sections): Set dynsym.
890 (bfd_elf_size_dynsym_hash_dynstr): Use dynsym.
891 (elf_final_link_info): Remove dynsym_sec.
892 (elf_link_output_extsym): Replace dynsym_sec with dynsym.
893 (bfd_elf_final_link): Remove reference to dynsym_sec. Replace
894 dynsym_sec with dynsym.
895
0e1862bb
L
8962015-08-18 H.J. Lu <hongjiu.lu@intel.com>
897
898 * bfd/aoutx.h: Replace shared, executable, relocatable and pie
899 fields with bfd_link_executable, bfd_link_dll,
900 bfd_link_relocatable, bfd_link_pic and bfd_link_pie.
901 * bfd/bout.c: Likewise.
902 * bfd/coff-alpha.c: Likewise.
903 * bfd/coff-arm.c: Likewise.
904 * bfd/coff-i386.c: Likewise.
905 * bfd/coff-i960.c: Likewise.
906 * bfd/coff-m68k.c: Likewise.
907 * bfd/coff-mcore.c: Likewise.
908 * bfd/coff-mips.c: Likewise.
909 * bfd/coff-ppc.c: Likewise.
910 * bfd/coff-rs6000.c: Likewise.
911 * bfd/coff-sh.c: Likewise.
912 * bfd/coff-tic80.c: Likewise.
913 * bfd/coff-x86_64.c: Likewise.
914 * bfd/coff64-rs6000.c: Likewise.
915 * bfd/coffgen.c: Likewise.
916 * bfd/cofflink.c: Likewise.
917 * bfd/ecoff.c: Likewise.
918 * bfd/ecofflink.c: Likewise.
919 * bfd/elf-bfd.h: Likewise.
920 * bfd/elf-eh-frame.c: Likewise.
921 * bfd/elf-ifunc.c: Likewise.
922 * bfd/elf-m10200.c: Likewise.
923 * bfd/elf-m10300.c: Likewise.
924 * bfd/elf-s390-common.c: Likewise.
925 * bfd/elf-vxworks.c: Likewise.
926 * bfd/elf.c: Likewise.
927 * bfd/elf32-arm.c: Likewise.
928 * bfd/elf32-avr.c: Likewise.
929 * bfd/elf32-bfin.c: Likewise.
930 * bfd/elf32-cr16.c: Likewise.
931 * bfd/elf32-cr16c.c: Likewise.
932 * bfd/elf32-cris.c: Likewise.
933 * bfd/elf32-crx.c: Likewise.
934 * bfd/elf32-d10v.c: Likewise.
935 * bfd/elf32-dlx.c: Likewise.
936 * bfd/elf32-epiphany.c: Likewise.
937 * bfd/elf32-fr30.c: Likewise.
938 * bfd/elf32-frv.c: Likewise.
939 * bfd/elf32-ft32.c: Likewise.
940 * bfd/elf32-h8300.c: Likewise.
941 * bfd/elf32-hppa.c: Likewise.
942 * bfd/elf32-i370.c: Likewise.
943 * bfd/elf32-i386.c: Likewise.
944 * bfd/elf32-i860.c: Likewise.
945 * bfd/elf32-ip2k.c: Likewise.
946 * bfd/elf32-iq2000.c: Likewise.
947 * bfd/elf32-lm32.c: Likewise.
948 * bfd/elf32-m32c.c: Likewise.
949 * bfd/elf32-m32r.c: Likewise.
950 * bfd/elf32-m68hc11.c: Likewise.
951 * bfd/elf32-m68hc1x.c: Likewise.
952 * bfd/elf32-m68k.c: Likewise.
953 * bfd/elf32-mcore.c: Likewise.
954 * bfd/elf32-mep.c: Likewise.
955 * bfd/elf32-metag.c: Likewise.
956 * bfd/elf32-microblaze.c: Likewise.
957 * bfd/elf32-moxie.c: Likewise.
958 * bfd/elf32-msp430.c: Likewise.
959 * bfd/elf32-mt.c: Likewise.
960 * bfd/elf32-nds32.c: Likewise.
961 * bfd/elf32-nios2.c: Likewise.
962 * bfd/elf32-or1k.c: Likewise.
963 * bfd/elf32-ppc.c: Likewise.
964 * bfd/elf32-rl78.c: Likewise.
965 * bfd/elf32-rx.c: Likewise.
966 * bfd/elf32-s390.c: Likewise.
967 * bfd/elf32-score.c: Likewise.
968 * bfd/elf32-score7.c: Likewise.
969 * bfd/elf32-sh-symbian.c: Likewise.
970 * bfd/elf32-sh.c: Likewise.
971 * bfd/elf32-sh64.c: Likewise.
972 * bfd/elf32-spu.c: Likewise.
973 * bfd/elf32-tic6x.c: Likewise.
974 * bfd/elf32-tilepro.c: Likewise.
975 * bfd/elf32-v850.c: Likewise.
976 * bfd/elf32-vax.c: Likewise.
977 * bfd/elf32-visium.c: Likewise.
978 * bfd/elf32-xc16x.c: Likewise.
979 * bfd/elf32-xstormy16.c: Likewise.
980 * bfd/elf32-xtensa.c: Likewise.
981 * bfd/elf64-alpha.c: Likewise.
982 * bfd/elf64-hppa.c: Likewise.
983 * bfd/elf64-ia64-vms.c: Likewise.
984 * bfd/elf64-mmix.c: Likewise.
985 * bfd/elf64-ppc.c: Likewise.
986 * bfd/elf64-s390.c: Likewise.
987 * bfd/elf64-sh64.c: Likewise.
988 * bfd/elf64-x86-64.c: Likewise.
989 * bfd/elflink.c: Likewise.
990 * bfd/elfnn-aarch64.c: Likewise.
991 * bfd/elfnn-ia64.c: Likewise.
992 * bfd/elfxx-mips.c: Likewise.
993 * bfd/elfxx-sparc.c: Likewise.
994 * bfd/elfxx-tilegx.c: Likewise.
995 * bfd/i386linux.c: Likewise.
996 * bfd/linker.c: Likewise.
997 * bfd/m68klinux.c: Likewise.
998 * bfd/pdp11.c: Likewise.
999 * bfd/pe-mips.c: Likewise.
1000 * bfd/peXXigen.c: Likewise.
1001 * bfd/reloc.c: Likewise.
1002 * bfd/reloc16.c: Likewise.
1003 * bfd/sparclinux.c: Likewise.
1004 * bfd/sunos.c: Likewise.
1005 * bfd/vms-alpha.c: Likewise.
1006 * bfd/xcofflink.c: Likewise.
1007
fe875424
AM
10082015-08-18 Alan Modra <amodra@gmail.com>
1009
1010 PR 18667
1011 * Makefile.am: Use $(SED) in place of sed throughout.
1012 * Makefile.in: Regenerate.
1013
43417696
AM
10142015-08-18 Alan Modra <amodra@gmail.com>
1015
1016 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't redefine .TOC.
1017 if already defined, and set linker_def.
1018 (ppc64_elf_set_toc): Use .TOC. value if defined other than by
1019 the backend.
1020
9b57267f
AM
10212015-08-14 Alan Modra <amodra@gmail.com>
1022
1023 PR ld/18759
1024 * elf32-or1k.c: Revert 2015-08-11 change.
1025
8efa2874
L
10262015-08-13 H.J. Lu <hongjiu.lu@intel.com>
1027
1028 PR ld/18801
1029 * elf32-i386.c (elf_i386_size_dynamic_sections): Issue an error
1030 for read-only segment with dynamic IFUNC relocations.
1031 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
1032
40fc1451
SD
10332015-08-12 Simon Dardis <simon.dardis@imgtec.com>
1034
1035 * elfxx-mips.c (STUB_MOVE): Change to use 'or' only.
1036 (mips_o32_exec_plt0_entry, mips_n32_exec_plt0_entry,
1037 mips_n64_exec_plt0_entry, micromips_insn32_o32_exec_plt0_entry):
1038 Update to use 'or' instead of 'addu/daddu'.
1039 (_bfd_mips_elf_finish_dynamic_symbol): Update usage of STUB_MOVE.
1040 (move_insns_32): Reorder table.
1041
0eace210
L
10422015-08-11 H.J. Lu <hongjiu.lu@intel.com>
1043
1044 * elf32-i386.c (elf_i386_relocate_section): Properly skip IFUNC
1045 relocations in debug sections.
1046 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
1047
c674f5cd
JW
10482015-08-11 Jiong Wang <jiong.wang@arm.com>
1049
1050 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Improve warning
1051 message for R_AARCH64_LD64_GOTPAGE_LO15/R_AARCH64_LD32_GOTPAGE_LO14.
1052
9331eea1
JW
10532015-08-11 Jiong Wang <jiong.wang@arm.com>
1054
1055 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): New.
1056 (aarch64_can_relax_tls): Use the new IS_AARCH64_TLS_RELAX_RELOC.
1057
f678ded7
JW
10582015-08-11 Jiong Wang <jiong.wang@arm.com>
1059
1060 * bfd/elfnn-aarch64.c (aarch64_type_of_stub): New parameter "sym_sec".
1061 Loose the check for symbol from ABS section.
1062 (elfNN_aarch64_size_stubs): Pass sym_sec.
1063
07f9ddfe
JW
10642015-08-11 Jiong Wang <jiong.wang@arm.com>
1065
1066 PR ld/18668
1067 * elfnn-aarch64.c (aarch64_type_of_stub): Update destination for
1068 calls go through plt stub.
1069 (elfNN_aarch64_final_link_relocate): Adjust code logic for CALL26,
1070 JUMP26 relocation to support inserting veneer for call to plt stub.
1071
40fbed84
JW
10722015-08-11 Jiong Wang <jiong.wang@arm.com>
1073
1074 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
1075 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12.
1076 (aarch64_reloc_got_type): Likewise.
1077 (elfNN_aarch64_final_link_relocate): Likewise.
1078 (elfNN_aarch64_relocate_section): Likewise.
1079 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1080 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1081
70151fb5
JW
10822015-08-11 Jiong Wang <jiong.wang@arm.com>
1083
1084 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12): New entry.
1085 * bfd-in2.h: Regenerate.
1086 * libbfd.h: Regenerate.
1087 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1088 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12.
1089
73f925cc
JW
10902015-08-11 Jiong Wang <jiong.wang@arm.com>
1091
1092 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
1093 BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC.
1094 (aarch64_reloc_got_type): Likewise.
1095 (elfNN_aarch64_final_link_relocate): Likewise.
1096 (elfNN_aarch64_relocate_section): Likewise.
1097 (elfNN_aarch64_gc_sweep_hook): Likewise.
1098 (elfNN_aarch64_check_relocs): Likewise.
1099 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1100 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1101
a12fad50
JW
11022015-08-11 Jiong Wang <jiong.wang@arm.com>
1103
1104 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC): New entry.
1105 * bfd-in2.h: Regenerate.
1106 * libbfd.h: Regenerate.
1107 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1108 BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC.
1109
f69e4920
JW
11102015-08-11 Jiong Wang <jiong.wang@arm.com>
1111
1112 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
1113 BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21.
1114 (aarch64_reloc_got_type): Likewise.
1115 (elfNN_aarch64_final_link_relocate): Likewise.
1116 (elfNN_aarch64_relocate_section): Likewise.
1117 (elfNN_aarch64_gc_sweep_hook): Likewise.
1118 (elfNN_aarch64_check_relocs): Likewise.
1119 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1120 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1121
1107e076
JW
11222015-08-11 Jiong Wang <jiong.wang@arm.com>
1123
1124 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21): New entry.
1125 * bfd-in2.h: Regenerate.
1126 * libbfd.h: Regenerate.
1127 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1128 BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21.
1129
97dc35c8
L
11302015-08-11 H.J. Lu <hongjiu.lu@intel.com>
1131
1132 PR ld/18808
1133 * elf32-i386.c (elf_i386_relocate_section): Skip IFUNC
1134 relocations in debug sections.
1135 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
1136
dbac553d
PZ
11372015-08-11 Peter Zotov <whitequark@whitequark.org>
1138
1139 PR ld/18759
1140 * elf32-or1k.c (R_OR1K_32_PCREL): Set pcrel_offset to TRUE.
1141 (R_OR1K_16_PCREL): Likewise.
1142 (R_OR1K_8_PCREL): Likewise.
1143
4b0e8a5f
NC
11442015-08-11 Nick Clifton <nickc@redhat.com>
1145
4c0160b8
NC
1146 PR binutils/18747
1147 * coff-sh.c (_bfd_sh_align_load_span): Fix typo when setting
1148 opcode count.
1149
4b0e8a5f
NC
1150 PR binutils/18758
1151 * elf.c (_bfd_elf_setup_sections): Add checks for corrupt section
1152 group information.
1153 * peicode.h (pe_ILF_make_a_section): Ensure alignment of the
1154 used_by_bfd pointer.
1155 (pe_ILF_build_a_bfd): Ensure alignment of vars.data pointer.
1156
64140f86
L
11572015-08-11 H.J. Lu <hongjiu.lu@intel.com>
1158
1159 * elf.c (_bfd_elf_copy_private_bfd_data): Fix a typo.
1160
422f1182
L
11612015-08-10 H.J. Lu <hongjiu.lu@intel.com>
1162
1163 * elf-bfd.h (elf_symbol_version): New enum.
1164 (elf_link_hash_entry): Replace hidden with versioned.
1165 * elflink.c (_bfd_elf_merge_symbol): Don't look for symbol
1166 version if the symbol is unversioned. Initialize versioned.
1167 (_bfd_elf_add_default_symbol): Don't look for symbol version
1168 if the symbol is unversioned or hidden. Initialize versioned.
1169 (elf_collect_hash_codes): Don't look for symbol version if the
1170 symbol is unversioned.
1171 (elf_collect_gnu_hash_codes): Likewise.
1172 (bfd_elf_gc_mark_dynamic_ref_symbol): Likewise.
1173 (_bfd_elf_link_hash_copy_indirect): Check versioned instead of
1174 hidden.
1175 (elf_link_output_extsym): Likewise.
1176
d4ac1f87
L
11772015-08-07 H.J. Lu <hongjiu.lu@intel.com>
1178
1179 PR binutils/18785
1180 * elf.c (_bfd_elf_copy_private_bfd_data): When copying the
1181 sh_link and sh_info fields in stripped section headers, we also
64140f86 1182 check if the sh_type, sh_flags, sh_addralign and sh_entsize
d4ac1f87
L
1183 fields of the output section match the output. Since
1184 --only-keep-debug turns all non-debug sections into SHT_NOBITS
1185 sections, the output SHT_NOBITS type matches any input type.
1186
6e33951e
L
11872015-08-07 H.J. Lu <hongjiu.lu@intel.com>
1188
1189 PR ld/18720
1190 * elflink.c (_bfd_elf_merge_symbol): Add a parameter to indicate
1191 if the new symbol matches the existing one. The new hidden
1192 versioned symbol matches the existing symbol if they have the
1193 same symbol version. Update the existing symbol only if they
1194 match.
1195 (_bfd_elf_add_default_symbol): Update call to
1196 _bfd_elf_merge_symbol.
1197 (_bfd_elf_link_assign_sym_version): Don't set the hidden field
1198 here.
1199 (elf_link_add_object_symbols): Override a definition only if the
1200 new symbol matches the existing one.
1201 (_bfd_elf_link_hash_copy_indirect): Don't copy any references to
1202 the hidden versioned symbol.
1203 (elf_link_output_extsym): Bind a symbol locally when linking
1204 executable if it is locally defined, hidden versioned, not
1205 referenced by shared library and not exported. Turn on
422f1182 1206 VERSYM_HIDDEN only if the hidden versioned symbol is defined
6e33951e
L
1207 locally.
1208
63b9bbb7
NC
12092015-08-05 Nick Clifton <nickc@redhat.com>
1210
1211 * elf.c (_bfd_elf_copy_private_bfd_data): Copy the sh_link and
1212 sh_info fields of sections whose type has been changed to
1213 SHT_NOBITS.
1214
7e27a9d5
YK
12152015-08-04 Yuriy M. Kaminskiy" <yumkam@gmail.com>
1216 Tyler Hicks <tyhicks@canonical.com>
1217
1218 PR binutils/18750
1219 * ihex.c (ihex_scan): Fixes incorrect escape sequence in error message
1220 and stack overflow when char is signed and \200-\376 was in place of hex
1221 digit; also fixes \377 was handled as EOF instead of "incorrect character".
1222 (ihex_read_section): Changed for consistency.
1223 (ihex_bad_byte): Prevent (now impossible to trigger) stack
1224 overflow and incorrect escape sequence handling.
1225 * srec.c (srec_bad_byte): Likewise.
1226
cb1c8103
HPN
12272015-08-03 Hans-Peter Nilsson <hp@axis.com>
1228
1229 * elf32-cris.c (cris_elf_relocate_section)
1230 (elf_cris_finish_dynamic_symbol, cris_elf_check_relocs)
1231 (elf_cris_discard_excess_dso_dynamics): Use SYMBOLIC_BIND, not
4122b413 1232 just link_info->symbolic, to check if a symbol should be bound
cb1c8103
HPN
1233 symbolically.
1234
c6e8a9a8
L
12352015-07-30 H.J. Lu <hongjiu.lu@intel.com>
1236
1237 PR ld/18735
1238 * elflink.c (_bfd_elf_add_default_symbol): Add the default
1239 symbol if not performing a relocatable link.
1240 (elf_link_add_object_symbols): Adjust the default symbol if
1241 not performing a relocatable link.
1242
e77e648e
L
12432015-07-29 H.J. Lu <hongjiu.lu@intel.com>
1244
1245 * elflink.c (elf_link_add_object_symbols): Remove
1246 !info->relocatable check for info->executable. Add
1247 !info->relocatable check for !info->executable.
1248 (elf_link_output_extsym): Remove
1249 !info->relocatable check for info->executable.
1250
11509220
HPN
12512015-07-29 Hans-Peter Nilsson <hp@bitrange.com>
1252
1253 * mmo.c (mmo_write_symbols_and_terminator): Skip symbol-type
1254 assignment loop for bfd plugin objects.
1255
e5654c0f
AM
12562015-07-28 Alan Modra <amodra@gmail.com>
1257
1258 * elf.c (_bfd_elf_map_sections_to_segments): Do not make a new
1259 segment for loaded sections after nonloaded sections if the
1260 sections are on the same page.
1261
d6f1bafa
IB
12622015-07-28 Iain Buclaw <ibuclaw@gdcproject.org>
1263
1264 * configure.in: Add asprintf and vasprintf to AC_CHECK_DECLS.
1265 * config.in, configure: Regenerate.
1266
37a42ee9
L
12672015-07-27 H.J. Lu <hongjiu.lu@intel.com>
1268
1269 * configure: Regenerated.
1270
79559014
NC
12712015-07-27 Nick Clifton <nickc@redhat.com>
1272
1273 * elf32-msp430.c (uses_large_model): New function.
1274 (msp430_elf_eh_frame_address_size): New function.
1275 (elf_backend_eh_frame_address_size): Define.
1276
32f573bc
SN
12772015-07-27 Szabolcs Nagy <szabolcs.nagy@arm.com>
1278
1279 PR ld/18705
1280 * elfnn-aarch64.c (elf_backend_extern_protected_data): Define.
1281
b68a20d6
SN
12822015-07-27 Szabolcs Nagy <szabolcs.nagy@arm.com>
1283
1284 PR ld/18705
1285 * elf32-arm.c (elf_backend_extern_protected_data): Define.
1286
18d9555c
L
12872015-07-25 H.J. Lu <hongjiu.lu@intel.com>
1288
1289 PR ld/18718
1290 * elflink.c (elf_link_output_extsym): Check symbol version
1291 section check only if not linking executable, the symbol is
1292 referenced by shared library or not locally defined.
1293
a496fbc8
AM
12942015-07-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
1295
1296 * elf32-arm.c (elf32_arm_final_link_relocate): Use SYMBOLIC_BIND to
1297 check if a symbol should be bound symbolically.
1298 * elf32-hppa.c (elf32_hppa_check_relocs,
1299 elf32_hppa_adjust_dynamic_symbol, elf32_hppa_relocate_section,
1300 elf32_hppa_finish_dynamic_symbol): Likewise.
1301 * elf32-m68k.c (elf_m68k_check_relocs,
1302 elf_m68k_relocate_section): Likewise.
1303 * elf32-nios2.c (nios2_elf32_relocate_section,
1304 nios2_elf32_check_relocs, allocate_dynrelocs): Likewise.
1305 * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol,
1306 elf32_tic6x_relocate_section): Likewise.
1307
91cb26da
AM
13082015-07-24 Alan Modra <amodra@gmail.com>
1309
1310 * elf.c (_bfd_elf_assign_file_positions_for_non_load): Use .rela
1311 prefix for reloc section corresponding to rela section associated
1312 with renamed debug section.
1313
2fb9328d
AM
13142015-07-24 Alan Modra <amodra@gmail.com>
1315
1316 * section.c (bfd_get_section_by_name_if): Iterate over entire hash
1317 chain.
1318
d5cff5df
JM
13192015-07-23 Joseph Myers <joseph@codesourcery.com>
1320
1321 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections)
1322 <DT_MIPS_RLD_MAP_REL>: Add target address to host address
1323 difference, not to host pointer.
1324
bb854a36
AM
13252015-07-22 Alan Modra <amodra@gmail.com>
1326
1327 * elf64-ppc.c (opd_entry_value): Remove assertion. Instead,
1328 return -1 if symbol referenced is not defined. Tidy.
1329
f2d7e0f4
AM
13302015-07-20 Alan Modra <amodra@gmail.com>
1331
1332 * po/SRC-POTFILES.in: Regenerate.
1333
4c0a9a6f
JW
13342015-07-17 Jiong Wang <jiong.wang@arm.com>
1335
1336 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Sort alphabetically.
1337 (IS_AARCH64_TLSDESC_RELOC): Sort alphabetically.
1338
77a69ff8
JW
13392015-07-16 Jiong Wang <jiong.wang@arm.com>
1340
1341 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
1342 BFD_RELOC_AARCH64_TLSLD_ADR_PREL21.
1343 (aarch64_reloc_got_type): Ditto.
1344 (elfNN_aarch64_final_link_relocate): Ditto.
1345 (elfNN_aarch64_relocate_section): Ditto.
1346 (elfNN_aarch64_gc_sweep_hook): Ditto.
1347 (elfNN_aarch64_check_relocs): Ditto.
1348 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
1349 (_bfd_aarch64_elf_resolve_relocation): Ditto.
1350
6c37fedc
JW
13512015-07-16 Jiong Wang <jiong.wang@arm.com>
1352
1353 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADR_PREL21): New entry.
1354 * bfd-in2.h: Regenerate.
1355 * libbfd.h: Regenerate.
1356 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1357 BFD_RELOC_AARCH64_TLSLD_ADR_PREL21.
1358
88988473
L
13592015-07-10 H.J. Lu <hongjiu.lu@intel.com>
1360
1361 PR binutils/18656
1362 * bfd.c (bfd_convert_section_size): New function.
1363 (bfd_convert_section_contents): Likewise.
1364 * bfd-in2.h: Regenerated.
1365
de231f20
CM
13662015-07-09 Catherine Moore <clm@codesourcery.com>
1367
1368 * elflink.c (bfd_elf_size_dynamic_sections): Call to
1369 _bfd_elf_maybe_strip_eh_frame_hdr should be before
1370 bed->elf_backend_size_dynamic_sections.
1371
328e7bfd
DC
13722015-07-08 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
1373
1374 * elf32-avr.c: Add 32 bit PC relative relocation for AVR target.
1375
92a9c616
RS
13762015-07-05 Richard Sandiford <richard.sandiford@arm.com>
1377
1378 * elf64-ppc.c (toc_adjusting_stub_needed): Use the symbol value
1379 plus addend rather than the original st_value when looking up
1380 entries in opd->adjust.
1381
0f088b2a
KT
13822015-07-03 Kai Tietz <ktietz@redhat.com>
1383 Nick Clifton <nickc@redhat.com>
1384
1385 PR ld/11539
1386 * coffcode.h (coff_bfd_gc_sections): Define default
1387 to bfd_coff_gc_sections function.
1388 (coff_gc_mark_hook_fn): New type.
1389 * coffgen.c (init_reloc_cookie): Copy and adjust coff
1390 related code about gc-sections from elflink.c to here.
1391 (fini_reloc_cookie): Likewise.
1392 (init_reloc_cookie_rels): Likewise.
1393 (fini_reloc_cookie_rels): Likewise.
1394 (init_reloc_cookie_for_section): Likewise.
1395 (fini_reloc_cookie_for_section): Likewise.
1396 (_bfd_coff_gc_mark_hook): Likewise.
1397 (_bfd_coff_gc_mark_rsec): Likewise.
1398 (_bfd_coff_gc_mark_reloc): Likewise.
1399 (_bfd_coff_gc_mark): Likewise.
1400 (_bfd_coff_gc_mark_extra_sections): Likewise.
1401 (coff_gc_sweep_symbol_info): Likewise.
1402 (coff_gc_sweep_symbol): Likewise.
1403 (gc_sweep_hook_fn): Likewise.
1404 (coff_gc_sweep): Likewise.
1405 (bfd_coff_gc_sections): Likewise.
1406 (_bfd_coff_gc_keep): Likewise.
1407 * libcoff-in.h (coff_reloc_cookie): New struct.
1408 (bfd_coff_gc_sections): New prototype.
1409 * libcoff.h: Regenerate.
1410
8c163c5a
SL
14112015-07-01 Sandra Loosemore <sandra@codesourcery.com>
1412 Cesar Philippidis <cesar@codesourcery.com>
1413
1414 * bfd-in2.h: Regenerated.
1415 * elf32-nios2.c (elf_nios2_howto_table_rel): Rename to...
1416 (elf_nios2_r1_howto_table_rel): This.
1417 (elf_nios2_r2_howto_table_rel): New.
1418 (BFD_IS_R2): New.
1419 (lookup_howto): Add ABFD parameter. Adjust to look up in either
1420 the R1 or R2 relocation table, as determined by ABFD.
1421 (nios2_reloc_map): Add R2 relocations.
1422 (nios2_elf32_bfd_reloc_type_lookup): Do lookup using lookup_howto.
1423 Pass it the ABFD parameter.
1424 (nios2_elf32_bfd_reloc_name_lookup): Use ABFD to decide whether to
1425 return an R1 or R2 relocation.
1426 (nios2_elf32_info_to_howto): Do lookup using lookup_howto.
1427 Pass it the ABFD parameter.
1428 (nios2_elf32_do_call26_relocate): Check for alignment on a 4-byte
1429 boundary.
1430 (nios2_elf32_relocate_section): Adjust call to lookup_howto.
1431 * libbfd.h: Regenerated.
1432 * reloc.c (BFD_RELOC_NIOS2_R2_S12): New.
1433 (BFD_RELOC_NIOS2_R2_I10_1_PCREL): New.
1434 (BFD_RELOC_NIOS2_R2_T1I7_1_PCREL): New.
1435 (BFD_RELOC_NIOS2_R2_T1I7_2): New.
1436 (BFD_RELOC_NIOS2_R2_T2I4): New.
1437 (BFD_RELOC_NIOS2_R2_T2I4_1): New.
1438 (BFD_RELOC_NIOS2_R2_T2I4_2): New.
1439 (BFD_RELOC_NIOS2_R2_X1I7_2): New.
1440 (BFD_RELOC_NIOS2_R2_X2L5): New.
1441 (BFD_RELOC_NIOS2_R2_F1I5_2): New.
1442 (BFD_RELOC_NIOS2_R2_L5I4X1): New.
1443 (BFD_RELOC_NIOS2_R2_T1X1I6): New.
1444 (BFD_RELOC_NIOS2_R2_T1X1I6_2): New.
1445
965b1d80
SL
14462015-07-01 Sandra Loosemore <sandra@codesourcery.com>
1447 Cesar Philippidis <cesar@codesourcery.com>
1448
1449 * archures.c (bfd_mach_nios2r1, bfd_mach_nios2r2): New.
1450 * bfd-in2.h: Regenerated.
1451 * cpu-nios2.c (nios2_compatible): New.
1452 (N): Use nios2_compatible instead of bfd_default_compatible.
1453 (NIOS2R1_NEXT, NIOS2R2_NEXT): Define.
1454 (arch_info_struct): New.
1455 (bfd_nios2_arch): Chain to NIOS2R1_NEXT.
1456 * elf32-nios2.c (is_nios2_elf): New.
1457 (nios2_elf32_merge_private_bfd_data): New.
1458 (nios2_elf32_object_p): New.
1459 (bfd_elf32_bfd_merge_private_bfd_data): Define.
1460 (elf_backend_object_p): Define.
1461
dfc87947
L
14622015-07-01 H.J. Lu <hongjiu.lu@intel.com>
1463
1464 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Refactor.
1465
5ee4a1ca
NC
14662015-06-30 Nick Clifton <nickc@redhat.com>
1467
1468 PR binutils/18570
1469 * elf-attrs.c (obj_attr_size): Use an unsigned int type for the tag.
1470 (write_obj_attribute): Likewise.
1471 (elf_new_obj_attr): Likewise.
1472 (bfd_elf_get_obj_attr_int): Likewise.
1473 (bfd_elf_add_obj_attr_int): Likewise.
1474 (bfd_elf_add_obj_attr_string): Likewise.
1475 (bfd_elf_add_obj_attr_int_string): Likewise.
1476 (gnu_obj_attrs_arg_type): Likewise.
1477 (_bfd_elf_obj_attrs_arg_type): Likewise.
1478 (_bfd_elf_parse_attributes): Likewise.
1479 (_bfd_elf_merge_unknown_attribute_list): Likewise.
1480 * elf-bfd.h (struct obj_attribute_list): Likewise.
1481 Update prototypes.
1482
ee0c0c50
L
14832015-06-28 H.J. Lu <hongjiu.lu@intel.com>
1484
1485 * bfd-in.h (compressed_debug_section_type): Remove
1486 COMPRESS_DEBUG_ZLIB.
1487 * bfd-in2.h : Regenerated.
1488
a5499fa4
MF
14892015-06-26 Matthew Fortune <matthew.fortune@imgtec.com>
1490
1491 * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Use executable
1492 instead of !shared to indicate an application vs shared library.
1493 (_bfd_mips_elf_size_dynamic_sections): Likewise.
1494 (_bfd_mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP_REL.
1495 (_bfd_mips_elf_get_target_dtag): Likewise.
1496
3f307074
DD
14972015-06-25 DJ Delorie <dj@redhat.com>
1498
1499 * elf32-msp430.c (msp430_final_link_relocate): Fix comments. Fix
1500 REL loads to match RELA stores.
1501
946748d5
L
15022015-06-25 H.J. Lu <hongjiu.lu@intel.com>
1503
1504 * elf.c (_bfd_elf_compute_section_file_positions): Don't
1505 initialize sh_size for .shstrtab here.
1506
ef10c3ac
L
15072015-06-25 H.J. Lu <hongjiu.lu@intel.com>
1508
1509 PR gas/18451
1510 * elf-bfd.h (elf_sym_strtab): New.
1511 (elf_link_hash_table): Add strtabcount, strtabsize and
1512 strtab.
1513 (_bfd_elf_stringtab_init): Removed.
1514 * elf.c (_bfd_elf_stringtab_init): Removed.
1515 (_bfd_elf_compute_section_file_positions): Replace
1516 bfd_strtab_hash/_bfd_elf_stringtab_init/_bfd_stringtab_free/
1517 _bfd_stringtab_size with
1518 elf_strtab_hash/_bfd_elf_strtab_init/_bfd_elf_strtab_free/
1519 _bfd_elf_strtab_size. Use _bfd_elf_strtab_add,
1520 _bfd_elf_strtab_finalize and _bfd_elf_strtab_offset to get
1521 st_name.
1522 (swap_out_syms): Likewise.
1523 * elflink.c (elf_final_link_info): Replace bfd_strtab_hash
1524 with elf_strtab_hash. Remove symbuf, symbuf_count,
1525 symbuf_size and shndxbuf_size.
1526 (elf_link_flush_output_syms): Removed.
1527 (elf_link_output_sym): Renamed to ...
1528 (elf_link_output_symstrtab): This. Replace _bfd_stringtab_add
1529 with _bfd_elf_strtab_add. Don't flush symbols to the file nor
1530 swap out symbols.
1531 (elf_link_swap_symbols_out): New.
1532 (elf_link_output_extsym): Replace elf_link_output_sym with
1533 elf_link_output_symstrtab.
1534 (elf_link_input_bfd): Likewise.
1535 (elf_final_link_free): Replace _bfd_stringtab_free with
1536 _bfd_elf_strtab_free. Remove symbuf.
1537 (bfd_elf_final_link): Replace _bfd_elf_stringtab_init with
1538 _bfd_elf_strtab_init. Don't set symbuf, symbuf_count,
1539 symbuf_size nor shndxbuf_size. Initialize strtabsize and
1540 strtab. Initialize symshndxbuf to -1 when number of sections
1541 >= 64K. Replace elf_link_output_sym/elf_link_output_sym with
1542 elf_link_output_symstrtab/elf_link_output_symstrtab. Don't
1543 call elf_link_flush_output_syms. Call _bfd_elf_strtab_finalize
1544 and elf_link_swap_symbols_out. Replace _bfd_stringtab_size
1545 and _bfd_stringtab_emit with _bfd_elf_strtab_size and
1546 _bfd_elf_strtab_emit.
1547
7cc152be
L
15482015-06-24 H.J. Lu <hongjiu.lu@intel.com>
1549
1550 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Silence older
1551 GCC warning.
1552
7c1e8d3e
L
15532015-06-24 H.J. Lu <hongjiu.lu@intel.com>
1554
1555 * elf32-i386.c (elf_i386_allocate_dynrelocs): Always allocate
1556 space for the first .plt entry.
1557 (elf_i386_size_dynamic_sections): Always add DT_PLTGOT for .plt
1558 section. Add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL only if
1559 there are PLT relocations.
1560 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Always
1561 allocate space for the first .plt entry.
1562 (elf_x86_64_size_dynamic_sections): Always add DT_PLTGOT for
1563 .plt section. Add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL only if
1564 there are PLT relocations.
1565
59cab532
L
15662015-06-24 H.J. Lu <hongjiu.lu@intel.com>
1567
1568 PR ld/18591
1569 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Don't convert
1570 R_X86_64_GOTPCREL to R_X86_64_PC32 if it will cause relocation
1571 overflow.
1572
c2170589
JW
15732015-06-23 Jiong Wang <jiong.wang@arm.com>
1574
1575 * elfnn-aarch64.c (aarch64_readonly_dynrelocs): New function.
1576 (elfNN_aarch64_size_dynamic_sections): Traverse hash table to check
1577 relocations against read-only sections.
1578
75c11999
NC
15792015-06-18 Nick Clifton <nickc@redhat.com>
1580
1581 PR 18481
1582 * elf32-arm.c (R_ARM_TLS_LE32): Set the special function to NULL.
1583
56f40832
JT
15842015-06-15 Jon Turney <jon.turney@dronecode.org.uk>
1585
1586 * bfd.c: Change struct bfd_build_id to use bfd_size_type.
1587 * bfd-in2.h : Regenerate.
1588
1d5c94cb
AM
15892015-06-16 Alan Modra <amodra@gmail.com>
1590
1591 * elf32-ppc.c (ppc_elf_relocate_section): Correct binary search of
1592 dynamic relocs.
1593
c74f7d1c
JT
15942015-06-10 Jon Turney <jon.turney@dronecode.org.uk>
1595
1596 * elf-bfd.h : Remove struct elf_build_id.
1597 * bfd.c : Add struct bfd_build_id.
1598 * bfd-in2.h: Regenerate.
1599 * elf.c (elfobj_grok_gnu_build_id): Update to use bfd_build_id.
1600 * libpei.h: Add protoype and macros for
1601 bfd_XXi_slurp_codeview_record.
1602 * peXXigen.c (_bfd_XXi_slurp_codeview_record): Make public
1603 * peicode.h (pe_bfd_read_buildid): Add.
1604 (pe_bfd_object_p): Use pe_bfd_read_buildid().
1605
87f5fbcc
RL
16062015-06-15 Renlin Li <renlin.li@arm.com>
1607
1608 * reloc.c (BFD_RELOC_AARCH64_LD64_GOTOFF_LO15): New entry.
1609 * bfd-in2.h: Regenerate.
1610 * libbfd.h: Regenerate.
1611 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1612 BFD_RELOC_AARCH64_LD64_GOTOFF_LO15.
1613
3a062fa1
AM
16142015-06-15 Alan Modra <amodra@gmail.com>
1615
1616 * cofflink.c (_bfd_coff_generic_relocate_section): Revert
1617 2014-03-26 change. Call _bfd_clear_contents for relocs against
1618 local and global symbols defined in discarded input sections.
1619
1ade7175
NC
16202015-06-05 Nick Clifton <nickc@redhat.com>
1621
1622 * elf32-msp430.c (rl78_sym_diff_handler): New function.
1623 (msp430_howto_table): Use the new function for the SYM_DIFF reloc.
1624 (msp430x_howto_table): Likewise.
1625
f8b44781
AM
16262015-06-05 Alan Modra <amodra@gmail.com>
1627
1628 * elf64-ppc.c (ppc_elf_relocate_section): Move dynamic text
1629 relocs with insns moved by --ppc476-workaround. Correct
1630 output of REL16 relocs.
1631
7018c030
JW
16322015-06-01 Jiong Wang <jiong.wang@arm.com>
1633
1634 * elfnn-aarch64.c (aarch64_reloc_got_type): Support
1635 BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14.
1636 (elfNN_aarch64_final_link_relocate): Ditto.
1637 (elfNN_aarch64_gc_swap_hook): Ditto.
1638 (elfNN_aarch64_check_relocs): Ditto.
1639 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
1640
3d715ce4
JW
16412015-06-01 Jiong Wang <jiong.wang@arm.com>
1642
1643 * reloc.c (BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14): New entry.
1644 * bfd-in2.h: Regenerate.
1645 * libbfd.h: Regenerate.
1646 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1647 BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14.
1648
36e6c140
JW
16492015-06-01 Jiong Wang <jiong.wang@arm.com>
1650
1651 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Set overflow type to
1652 complain_overflow_unsigned for BFD_RELOC_AARCH64_TLSLE_ADD_LO12.
1653 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Don't use
1654 PGOFF for BFD_RELOC_AARCH64_TLSLE_ADD_LO12.
1655
99ad26cb
JW
16562015-06-01 Jiong Wang <jiong.wang@arm.com>
1657
1658 * elfnn-aarch64.c (aarch64_reloc_got_type): Support
1659 BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15.
1660 (elfNN_aarch64_final_link_relocate): Ditto.
1661 (elfNN_aarch64_gc_swap_hook): Ditto.
1662 (elfNN_aarch64_check_relocs): Ditto.
1663 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
1664
a921b5bd
JW
16652015-06-01 Jiong Wang <jiong.wang@arm.com>
1666
1667 * reloc.c (BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15): New entry.
1668 * bfd-in2.h: Regenerate.
1669 * libbfd.h: Regenerate.
1670 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1671 BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15.
1672
2f0c68f2
CM
16732015-05-28 Catherine Moore <clm@codesourcery.com>
1674 Bernd Schmidt <bernds@codesourcery.com>
1675 Paul Brook <paul@codesourcery.com>
1676
1677 bfd/
1678 * bfd-in2.h: Regenerated.
1679 * elf-bfd.h (DWARF2_EH_HDR, COMPACT_EH_HDR): Define.
1680 (COMPACT_EH_CANT_UNWIND_OPCODE): Define.
1681 (dwarf_eh_frame_hdr_info): Move dwarf-specific fields from
1682 eh_frame_hdr_info.
1683 (compact_eh_frame_hdr_info): Declare.
1684 (eh_frame_hdr_info): Redeclare with union for dwarf-specific
1685 fields and compact-eh fields.
1686 (elf_backend_data): Add cant_unwind_opcode and compact_eh_encoding.
1687 (bfd_elf_section_data): Add eh_frame_entry_field.
1688 (elf_section_eh_frame_entry): Define.
1689 (bfd_elf_parse_eh_frame_entries): Declare.
1690 (_bfd_elf_parse_eh_frame_entry): Declare.
1691 (_bfd_elf_end_eh_frame_parsing): Declare.
1692 (_bfd_elf_write_section_eh_frame_entry): Declare.
1693 (_bfd_elf_eh_frame_entry_present): Declare.
1694 (_bfd_elf_section_for_symbol): Declare.
1695 * elf-eh-frame.c (bfd_elf_discard_eh_frame_entry): New function.
1696 (bfd_elf_record_eh_frame_entry): New function.
1697 (_bfd_elf_parse_eh_frame_entry): New function.
1698 (_bfd_elf_parse_eh_frame): Update hdr_info field references.
1699 (cmp_eh_frame_hdr): New function.
1700 (add_eh_frame_hdr_terminator): New function.
1701 (_bfd_elf_end_eh_frame_parsing): New function.
1702 (find_merged_cie): Update hdr_info field references.
1703 (_bfd_elf_discard_section_eh_frame): Likewise.
1704 (_bfd_elf_discard_section_eh_frame_hdr): Add Compact EH support.
1705 (_bfd_elf_eh_frame_entry_present): New function.
1706 (_bfd_elf_maybe_strip_eh_frame_hdr): Add Compact EH support.
1707 (_bfd_elf_write_section_eh_frame_entry): New function.
1708 (_bfd_elf_write_section_eh_frame): Update hdr_info field references.
1709 (_bfd_elf_fixup_eh_frame_hdr): New function.
1710 (write_compact_eh_frame_hdr): New function.
1711 (write_dwarf_eh_frame_hdr): New function.
1712 (_bfd_elf_write_section_eh_frame_hdr): Add Compact EH support.
1713 * elflink.c (_bfd_elf_section_for_symbol): New function.
1714 (elf_section_ignore_discarded_relocs): Add Compact EH support.
1715 (elf_link_input_bfd): Likewise.
1716 (bfd_elf_final_link): Likewise.
1717 (_bfd_elf_gc_mark): Likewise.
1718 (bfd_elf_parse_eh_frame_entries): New function.
1719 (bfd_elf_gc_sections): Add Compact EH support.
1720 (bfd_elf_discard_info): Likewise.
1721 * elfxx-mips.c: Include dwarf2.h.
1722 (_bfd_mips_elf_compact_eh_encoding): New function.
1723 (_bfd_mips_elf_cant_unwind_opcode): New function.
1724 * elfxx-mips.h (_bfd_mips_elf_compact_eh_encoding): Declare.
1725 (_bfd_mips_elf_cant_unwind_opcode): Declare.
1726 (elf_backend_compact_eh_encoding): Define.
1727 (elf_backend_cant_unwind_opcode): Define.
1728 * elfxx-target.h (elf_backend_compact_eh_encoding): Provide default.
1729 (elf_backend_cant_unwind_opcode): Provide default.
1730 (elf_backend_data elfNN_bed): Add elf_backend_compact_eh_encoding and
1731 elf_backend_cant_unwind_opcode.
1732 * section.c (SEC_INFO_TYPE_EH_FRAME_ENTRY): Add definition.
1733
8ded2ddc
L
17342015-05-27 H.J. Lu <hongjiu.lu@intel.com>
1735
1736 PR binutils/18458
1737 * elf32-i386.c (elf_i386_check_relocs): Create .plt.got section
1738 for now binding only if pointer equality isn't needed.
1739 (elf_i386_allocate_dynrelocs): Use .plt.got section for now
1740 binding only if pointer equality isn't needed.
1741 * elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got
1742 section for now binding only if pointer equality isn't needed.
1743 (elf_x86_64_allocate_dynrelocs): Use .plt.got section for now
1744 binding only if pointer equality isn't needed.
1745
fca6ae69
L
17462015-05-26 H.J. Lu <hongjiu.lu@intel.com>
1747
1748 PR binutils/18437
1749 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip extra relocations
1750 in .rel.plt/.rela.plt.
1751 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
1752
ce336788
JW
17532015-05-19 Jiong Wang <jiong.wang@arm.com>
1754
1755 * elfnn-aarch64.c (aarch64_tls_transition_without_check): Sort
1756 relocation case labels alphabetically.
1757 (elfNN_aarch64_final_link_relocate): Ditto.
1758 (elfNN_aarch64_tls_relax): Ditto.
1759 (elfNN_aarch64_relocate_section): Ditto.
1760 (elfNN_aarch64_gc_sweep_hook): Ditto.
1761 (elfNN_aarch64_check_relocs): Ditto.
1762 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
1763 (_bfd_aarch64_elf_resolve_relocation): Ditto.
1764
80de0c6d
JW
17652015-05-18 Jiong Wang <jiong.wang@arm.com>
1766
1767 * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Rewrite
1768 comments.
1769
25070364
L
17702015-05-16 H.J. Lu <hongjiu.lu@intel.com>
1771
1772 * elf32-i386.c (elf_i386_check_relocs): Create .plt.got section
1773 for now binding.
1774 (elf_i386_allocate_dynrelocs): Use .plt.got section for now
1775 binding.
1776 * elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got
1777 section for now binding.
1778 (elf_x86_64_allocate_dynrelocs): Use .plt.got section for now
1779 binding.
1780
dab394de
L
17812015-05-14 H.J. Lu <hongjiu.lu@intel.com>
1782
1783 * bfd.c (bfd_update_compression_header): Also write the zlib
1784 header if the SHF_COMPRESSED bit cleared..
1785 (bfd_check_compression_header): Return the uncompressed size.
1786 * compress.c (decompress_contents): Don't skip the zlib header.
1787 (bfd_compress_section_contents): Properly handle ELFCOMPRESS_ZLIB,
1788 which doesn't have the zlib header.
1789 (bfd_init_section_decompress_status): Likewise.
1790 (bfd_get_full_section_contents): Updated.
1791 (bfd_is_section_compressed): Likewise.
1792 (bfd_is_section_compressed_with_header): Return the uncompressed
1793 size.
1794 * elf.c (_bfd_elf_make_section_from_shdr): Updated.
1795 * bfd-in2.h: Regenerated.
1796
fdc3b1b1
JW
17972015-05-14 Jiong Wang <jiong.wang@arm.com>
1798
1799 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Remove overflow
1800 check restrictions.
1801
e6c9a083
MF
18022015-05-14 Max Filippov <jcmvbkbc@gmail.com>
1803
1804 * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference
1805 as GOT reference when plt.refcount is not positive.
1806
a3747075
L
18072015-05-12 H.J. Lu <hongjiu.lu@intel.com>
1808
1809 * elf32-i386.c (elf_i386_allocate_dynrelocs): Allocate space
1810 for the first .plt entry only if needed.
1811 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
1812
bf64a951
L
18132015-05-11 H.J. Lu <hongjiu.lu@intel.com>
1814
1815 * Makefile.am (ALL_MACHINES): Add cpu-iamcu.lo.
1816 (ALL_MACHINES_CFILES): Likewise.
1817 * archures.c (bfd_mach_iamcu): New.
1818 (bfd_mach_i386_iamcu): Likewise.
1819 (bfd_mach_i386_iamcu_intel_syntax): Likewise.
1820 (bfd_iamcu_arch): Likewise.
1821 (bfd_archures_list): Add &bfd_iamcu_arch.
1822 * config.bfd (targ_selvecs): Add iamcu_elf32_vec to
1823 i386_elf32_vec.
1824 (targ_archs): Add bfd_iamcu_arch if needed.
1825 * configure.ac: Support iamcu_elf32_vec.
1826 * cpu-iamcu.c: New file.
1827 * elf32-i386.c (elf32_iamcu_elf_object_p): New function.
1828 Add support for iamcu_elf32_vec and elf32_iamcu_bed.
1829 * targets.c (iamcu_elf32_vec): New.
1830 (_bfd_target_vector): Add iamcu_elf32_vec.
1831 * Makefile.in: Regenerated.
1832 * bfd-in2.h: Likewise.
1833 * configure: Likewise.
1834
22abe556
L
18352015-05-11 H.J. Lu <hongjiu.lu@intel.com>
1836
1837 * elfcode.h (elf_object_p): Replace EM_486 with EM_IAMCU.
1838
4b71eec6
L
18392015-05-10 H.J. Lu <hongjiu.lu@intel.com>
1840
1841 * elf32-i386.c (elf_i386_convert_mov_to_lea): Replace input_bfd
1842 and output_bfd with abfd.
1843 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
1844
9ac47a43
TS
18452015-05-06 Toni Spets <toni.spets@iki.fi>
1846
1847 PR ld/18372
1848 * peXXigen.c (rsrc_process_section): Skip discarded resource
1849 sections.
1850
b633b725
L
18512015-05-01 H.J. Lu <hongjiu.lu@intel.com>
1852
1853 * config.bfd: Support i[3-7]86-*-elf*.
1854
914082d1
L
18552015-04-30 H.J. Lu <hongjiu.lu@intel.com>
1856
1857 * elf32-i386.c (elf_backend_post_process_headers): Undef for
1858 Solaris 2.
1859
153a2776
NC
18602015-04-30 Nick Clifton <nickc@redhat.com>
1861
1862 PR 18317
1863 * elf32-mep.c (MEPREL): Use bfd_elf_generic_reloc instead of
1864 mep_reloc.
1865 (mep_reloc): Delete unused function.
1866
a93d5cb1
NC
18672015-04-29 Nick Clifton <nickc@redhat.com>
1868
1869 PR 17099
1870 * coff-i386.c (coff_i386_rtype_to_howto): Allow absolute PCRLONG
1871 relocs.
1872
643f7afb
AK
18732015-04-27 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1874
1875 * elf-s390-common.c (elf_s390_merge_obj_attributes): New function.
1876 * elf32-s390.c (elf32_s390_merge_private_bfd_data): Call
1877 elf_s390_merge_obj_attributes.
1878 * elf64-s390.c (elf64_s390_merge_private_bfd_data): New function.
1879
b53b1bed
JW
18802015-04-24 Jiong Wang <jiong.wang@arm.com>
1881
1882 PR ld/18270
1883 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic): Count local symbol for
1884 GOT_NORMAL for both sgot/srelgot section.
1885 (elfNN_aarch64_final_link_relocate): Relocate against GOT entry address
1886 and generate necessary runtime relocation for GOT entry.
1887
69b52ab8
L
18882015-04-24 H.J. Lu <hongjiu.lu@intel.com>
1889
1890 PR binutils/18209
1891 * archive.c (_bfd_get_elt_at_filepos): Copy is_linker_input.
1892
dcbd20eb
JW
18932015-04-24 Jiong Wang <jiong.wang@arm.com>
1894
1895 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Reject
1896 PC-relative relocation for external symbol.
1897
de13ef81
NC
18982015-04-24 Nick Clifton <nickc@redhat.com>
1899
1900 PR 18313
1901 * compress.c (decompress_contents): Zero initialse the z_stream
1902 structure.
1903
b1fa9dd6
NC
19042015-04-24 Nick Clifton <nickc@redhat.com>
1905
1906 * elf.c (_bfd_elf_is_local_label_name): Extend test for assembler
1907 local labels to include local labels with a numeric suffix and
1908 fake symbols.
1909
9361e630
L
19102015-04-24 H.J. Lu <hongjiu.lu@intel.com>
1911
1912 PR binutils/18316
1913 * section.c (SEC_MEP_VLIW): New.
1914 * bfd-in2.h: Regenerated.
1915
3e19fb8f
L
19162015-04-23 H.J. Lu <hongjiu.lu@intel.com>
1917
1918 PR ld/18277
1919 * compress.c (bfd_compress_section_contents): Remove the
1920 write_compress argument.
1921 (bfd_init_section_compress_status): Updated.
1922 (bfd_compress_section): Likewise.
1923 * elf.c (_bfd_elf_set_reloc_sh_name): New.
1924 (_bfd_elf_init_reloc_shdr): Add delay_st_name_p. Set sh_name
1925 to (unsigned int) -1 if delay_st_name_p is TRUE. Use
1926 _bfd_elf_set_reloc_sh_name.
1927 (elf_fake_sections): Don't rename DWARF debug section for
1928 linker output if it will be compressed. Instead, set
1929 delay_st_name_p to TRUE and pass it to _bfd_elf_init_reloc_shdr.
1930 (assign_section_numbers): Call _bfd_elf_strtab_addref only if
1931 sh_name != (unsigned int) -1. Don't finalize nor assign
1932 shstrtab section here. Delay setting output section names to
1933 _bfd_elf_write_object_contents.
1934 (_bfd_elf_compute_section_file_positions): Update comments on
1935 sh_offset for shstrtab section.
1936 (assign_file_positions_for_non_load_sections): Set sh_offset to
1937 -1 for shstrtab section.
1938 (assign_file_positions_except_relocs): Likewise.
1939 (_bfd_elf_assign_file_positions_for_non_load): Set up sh_name
1940 when compressing DWARF debug sections. Place shstrtab section
1941 after DWARF debug sections have been compressed.
1942 (_bfd_elf_write_object_contents): Setting sh_name for output
1943 sections.
1944
f6fe1ccd
L
19452015-04-23 H.J. Lu <hongjiu.lu@intel.com>
1946
1947 PR binutils/18209
1948 * bfd.c (bfd): Add is_linker_input.
1949 * elf.c (convert_debug_to_zdebug): New.
1950 (convert_zdebug_to_debug): Likewise.
1951 (_bfd_elf_make_section_from_shdr): Don't convert .debug_* to
1952 .zdebug_* here. Use convert_zdebug_to_debug. Set SEC_ELF_RENAME.
1953 (_bfd_elf_init_reloc_shdr): Pass a pointer to section name
1954 instead of a pointer to section.
1955 (elf_fake_sections): Rename the section name if SEC_ELF_RENAME
1956 is set.
1957 * section.c (SEC_ELF_RENAME): New.
1958 * bfd-in2.h: Regenerated.
1959
a27e685f
AM
19602015-04-23 Alan Modra <amodra@gmail.com>
1961
1962 * elf64-ppc.c (TOC_BASE_ALIGN): Define.
1963 (ppc64_elf_next_toc_section): Align multi-got toc base.
1964 (ppc64_elf_set_toc): Likewise initial toc base and .TOC. symbol.
1965
d5597ebc
L
19662015-04-22 H.J. Lu <hongjiu.lu@intel.com>
1967
1968 PR ld/18289
1969 * elf32-i386.c (elf_i386_link_hash_entry): Add gotoff_ref.
1970 (elf_i386_link_hash_newfunc): Initialize gotoff_ref to 0.
1971 (elf_i386_create_dynamic_sections): Always allow copy relocs for
1972 building executables.
1973 (elf_i386_copy_indirect_symbol): Also copy gotoff_ref.
1974 (elf_i386_check_relocs): Set gotoff_ref for R_386_GOTOFF.
1975 (elf_i386_adjust_dynamic_symbol): Also allocate copy relocs for
1976 PIE and R_386_GOTOFF.
1977 (elf_i386_relocate_section): Allow R_386_GOTOFF in executable.
1978
e9702963
L
19792015-04-20 H.J. Lu <hongjiu.lu@intel.com>
1980
1981 * elf.c (assign_section_numbers): Always set up sh_name.
1982
e06efbf1
L
19832015-04-20 H.J. Lu <hongjiu.lu@intel.com>
1984
1985 * elf.c (assign_file_positions_for_non_load_sections): Iterate
1986 sections by pointer.
1987 (_bfd_elf_assign_file_positions_for_non_load): Likewise.
1988
0ce398f1
L
19892015-04-14 H.J. Lu <hongjiu.lu@intel.com>
1990
1991 * bfd-in.h (compressed_debug_section_type): New.
1992 * compress.c (bfd_compress_section_contents): Add an argument
1993 for linker write compression and always generate .zdebug_*
1994 section when linking.
1995 (bfd_init_section_compress_status): Pass FALSE to
1996 bfd_compress_section_contents.
1997 (bfd_compress_section): New function.
1998 * elf.c (elf_fake_sections): For linking, set SEC_ELF_COMPRESS
1999 on DWARF debug sections if COMPRESS_DEBUG is set and rename
2000 section if COMPRESS_DEBUG_GABI_ZLIB isn't set.
2001 (assign_file_positions_for_non_load_sections): Set sh_offset
2002 to -1 if SEC_ELF_COMPRESS is set.
2003 (assign_file_positions_except_relocs): Likwise.
2004 (_bfd_elf_assign_file_positions_for_relocs): Renamed to ...
2005 (_bfd_elf_assign_file_positions_for_non_load): This. Change
2006 return time to bfd_boolean. Compress the section if
2007 SEC_ELF_COMPRESS is set.
2008 (_bfd_elf_write_object_contents): Updated.
2009 (_bfd_elf_set_section_contents): Write section contents to
2010 the buffer if SEC_ELF_COMPRESS is set.
2011 * merge.c: Include "elf-bfd.h".
2012 (sec_merge_emit): Add arguments for contents and offset. Write
2013 to contents with offset if contents isn't NULL.
2014 (_bfd_write_merged_section): Write section contents to the
2015 buffer if SEC_ELF_COMPRESS is set. Pass contents and
2016 output_offset to sec_merge_emit.
2017 * elflink.c (bfd_elf_final_link): Allocate the buffer for
2018 output section contents if SEC_ELF_COMPRESS is set.
2019 * section.c (SEC_ELF_COMPRESS): New.
2020 * bfd-in2.h: Regenerated.
2021
95b57ade
AM
20222015-04-15 Alan Modra <amodra@gmail.com>
2023
2024 * elf32-rl78.c (rl78_elf_relocate_section): Typo fix.
2025
6ff71e76
NC
20262015-04-14 Nick Clifton <nickc@redhat.com>
2027
2028 * elf32-rl78.c (RL78_OP_REL): New macro.
2029 (rl78_elf_howto_table): Use it for complex relocs.
2030 (get_symbol_value): Handle the cases when the info or status
2031 arguments are NULL.
2032 (get_romstart): Cache the status returned by get_symbol_value.
2033 (get_ramstart): Likewise.
2034 (RL78_STACK_PUSH): Generate an error message if the stack
2035 overflows.
2036 (RL78_STACK_POP): Likewise for underflows.
2037 (rl78_compute_complex_reloc): New function. Contains the basic
2038 processing code for all RL78 complex relocs.
2039 (rl78_special_reloc): New function. Provides special reloc
2040 handling for complex relocs.
2041 (rl78_elf_relocate_section): Use rl78_compute_complex_reloc.
2042 (rl78_offset_for_reloc): Likewise.
2043
889c2a67
L
20442015-04-14 H.J. Lu <hongjiu.lu@intel.com>
2045
2046 PR ld/pr17709
2047 * elflink.c (_bfd_elf_adjust_dynamic_copy): Check
2048 info->extern_protected_data when warning copy relocs against
2049 protected symbols.
2050 (_bfd_elf_symbol_refs_local_p): Check info->extern_protected_data
2051 when checking protected non-function symbols.
2052
97de3545
JB
20532015-04-13 John Baldwin <jhb@FreeBSD.org>
2054
2055 * elf.c (elfcore_grok_note): Recognize NT_X86_XSTATE on
2056 FreeBSD.
2057 (elfcore_write_xstatereg): Use correct note name on FreeBSD.
2058
f0bf6bfd
L
20592015-04-13 H.J. Lu <hongjiu.lu@intel.com>
2060
2061 PR ld/18250
2062 * elflink.c (elf_link_is_defined_archive_symbol): Return FALSE
2063 if the object has been claimed by plugin.
2064
e3c0e327
L
20652015-04-11 H.J. Lu <hongjiu.lu@intel.com>
2066
2067 * elf32-i386.c (elf_i386_relocate_section): Replace SYMBOLIC_BIND
2068 with SYMBOL_REFERENCES_LOCAL when checking R_386_GOTOFF against
2069 protected data symbol when building shared library.
2070 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
2071 R_X86_64_GOTOFF64 against undefined symbol and replace
2072 SYMBOLIC_BIND with SYMBOL_REFERENCES_LOCAL when checking
2073 R_X86_64_GOTOFF64 against protected data symbol when building
2074 shared library.
2075
3d949995
L
20762015-04-10 H.J. Lu <hongjiu.lu@intel.com>
2077
2078 PR ld/pr17709
2079 * elf32-i386.c (elf_i386_relocate_section): Also check R_386_GOTOFF
2080 against protected data symbol when building shared library.
2081 * elf64-x86-64.c (elf_x86_64_relocate_section): Also check
2082 R_X86_64_GOTOFF64 against protected data symbol when building
2083 shared library.
2084
f7483970
L
20852015-04-10 H.J. Lu <hongjiu.lu@intel.com>
2086
2087 PR ld/pr15228
2088 PR ld/pr17709
2089 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
2090 * elf32-i386.c (elf_backend_extern_protected_data): New.
2091 Defined to 1.
2092 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
2093 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
2094 copy relocs against protected symbols if extern_protected_data
2095 is true.
2096 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
2097 non-function symbols if extern_protected_data is true.
2098 * elfxx-target.h (elf_backend_extern_protected_data): New.
2099 Default to 0.
2100 (elfNN_bed): Initialize extern_protected_data with
2101 elf_backend_extern_protected_data.
2102
030aeb75
L
21032015-04-10 H.J. Lu <hongjiu.lu@intel.com>
2104
2105 * compress.c (bfd_compress_section_contents): Replace bfd_malloc
2106 and free with bfd_alloc and bfd_release on compressed buffer.
2107 Release buffer if compressed section isn't smaller.
2108
d07a1b05
AM
21092015-04-10 Alan Modra <amodra@gmail.com>
2110
2111 PR ld/18222
2112 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't report an error
2113 on adding a protected visibility variable to .dynbss.
2114
8d2ea2a8
AM
21152015-04-10 Alan Modra <amodra@gmail.com>
2116
2117 Revert 2015-03-05 H.J. Lu <hongjiu.lu@intel.com>
2118 PR ld/pr15228
2119 PR ld/pr17709
2120 * elf-bfd.h (elf_backend_data): Delete extern_protected_data.
2121 * elf32-i386.c (elf_backend_extern_protected_data): Delete.
2122 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
2123 * elflink.c (_bfd_elf_adjust_dynamic_copy): Remove
2124 extern_protected_data test.
2125 (_bfd_elf_symbol_refs_local_p): Likewise.
2126 * elfxx-target.h (elf_backend_extern_protected_data): Delete.
2127 (elfNN_bed): Delete elf_backend_extern_protected_data init.
2128
18ece1de
L
21292015-04-09 H.J. Lu <hongjiu.lu@intel.com>
2130
2131 * compress.c (bfd_compress_section_contents): Update comments.
2132 (bfd_init_section_decompress_status): Likewise.
2133 (bfd_init_section_compress_status): Likewise.
2134
cd6faa73
L
21352015-04-09 H.J. Lu <hongjiu.lu@intel.com>
2136
2137 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_COMPRESS_GABI to
2138 object_flags.
2139 (TARGET_LITTLE_SYM): Likewise.
2140
19424843
MF
21412015-04-09 Max Filippov <jcmvbkbc@gmail.com>
2142
2143 * elf32-xtensa.c (splay-tree.h): include header.
2144 (text_action_struct): drop next pointer.
2145 (text_action_list_struct): drop head pointer, add count and
2146 tree fields.
2147 (find_fill_action): instead of linear search in text_action_list
2148 search in the tree.
2149 (text_action_compare, action_first, action_next): new functions.
2150 (text_action_add, text_action_add_literal): instead of linear
2151 search and insertion insert new node into the tree.
2152 (removed_by_actions): pass additional parameter: action_list,
2153 use it to traverse the tree.
2154 (offset_with_removed_text): pass additional action_list parameter
2155 to removed_by_actions.
2156 (map_action_fn_context): new typedef.
2157 (map_action_fn_context_struct): new structure.
2158 (map_action_fn): new function.
2159 (map_removal_by_action): use splay_tree_foreach to build map.
2160 (find_insn_action): replace linear search in text_action_list
2161 with series of splay_tree_lookups.
2162 (print_action, print_action_list_fn): new functions.
2163 (print_action_list): use splay_tree_foreach.
2164 (init_xtensa_relax_info): drop action_list.head initialization.
2165 Initialize the tree.
2166 (compute_text_actions): use non-zero action_list_count instead of
2167 non-NULL action list.
2168 (xlate_map_context): new typedef.
2169 (xlate_map_context_struct): new structure.
2170 (xlate_map_fn): new function.
2171 (build_xlate_map): use splay_tree_foreach to build map.
2172 (action_remove_bytes_fn): new function.
2173 (relax_section): use zero action_list_count instead of NULL
2174 action list. Use splay_tree_foreach to count final section size.
2175 Drop unused variable 'removed'.
2176
21772015-04-09 Max Filippov <jcmvbkbc@gmail.com>
2178
2179 * elf32-xtensa.c (removed_literal_map_entry): new typedef.
2180 (removed_literal_map_entry_struct): new structure.
2181 (removed_literal_list_struct): add new fields: n_map and map.
2182 (map_removed_literal, removed_literal_compare): new functions.
2183 (find_removed_literal): build index array for literals ordered
2184 by VMA, use binary search to find removed literal.
2185
21862015-04-09 Max Filippov <jcmvbkbc@gmail.com>
2187
2188 * elf32-xtensa.c (removal_by_action_entry_struct,
2189 removal_by_action_map_struct): new structures.
2190 (removal_by_action_entry, removal_by_action_map): new typedefs.
2191 (text_action_list_struct): add new field: map.
2192 (map_removal_by_action, removed_by_actions_map,
2193 offset_with_removed_text_map): new functions.
2194 (relax_section): replace offset_with_removed_text with
2195 offset_with_removed_text_map.
2196 (translate_reloc, relax_property_section, relax_section_symbols):
2197 replace removed_by_actions with removed_by_actions_map.
2198
21992015-04-09 Max Filippov <jcmvbkbc@gmail.com>
2200
2201 * elf32-xtensa.c (reloc_range_list, reloc_range_list_entry,
2202 reloc_range): new typedef.
2203 (reloc_range_list_struct, reloc_range_list_entry_struct,
2204 reloc_range_struct): new structures.
2205 (reloc_range_compare, build_reloc_ranges,
2206 reloc_range_list_append, reloc_range_list_remove,
2207 reloc_range_list_update_range, free_reloc_range_list): new
2208 functions.
2209 (compute_text_actions): precompute relocation opcodes before the
2210 loop. Add relevant_relocs variable, initialize it before the
2211 loop, pass it to the check_section_ebb_pcrels_fit.
2212 (check_section_ebb_pcrels_fit): add new parameter:
2213 relevant_relocs. Update address range in the relevant_relocs if
2214 it's non-NULL and iterate only over relevant relocations.
2215
3525236c
NC
22162015-04-09 Nick Clifton <nickc@redhat.com>
2217
2218 * elf32-rx.c (describe_flags): Report the settings of the string
2219 insn using bits.
2220 (rx_elf_merge_private_bfd_data): Handle merging of the string insn
2221 using bits.
2222
51509926
L
22232015-04-08 H.J. Lu <hongjiu.lu@intel.com>
2224
2225 * compress.c (bfd_compress_section_contents): Work around a GCC
2226 uninitialized warning bug fixed in GCC 4.7.
2227
151411f8
L
22282015-04-08 H.J. Lu <hongjiu.lu@intel.com>
2229
2230 * archive.c (_bfd_get_elt_at_filepos): Also copy BFD_COMPRESS_GABI
2231 bit.
2232 * bfd.c (bfd::flags): Increase size to 18 bits.
2233 (BFD_COMPRESS_GABI): New.
2234 (BFD_FLAGS_SAVED): Add BFD_COMPRESS_GABI.
2235 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
2236 (bfd_update_compression_header): New fuction.
2237 (bfd_check_compression_header): Likewise.
2238 (bfd_get_compression_header_size): Likewise.
2239 (bfd_is_section_compressed_with_header): Likewise.
2240 * compress.c (MAX_COMPRESSION_HEADER_SIZE): New.
2241 (bfd_compress_section_contents): Return the uncompressed size if
2242 the full section contents is compressed successfully. Support
2243 converting from/to .zdebug* sections.
2244 (bfd_get_full_section_contents): Call
2245 bfd_get_compression_header_size to get compression header size.
2246 (bfd_is_section_compressed): Renamed to ...
2247 (bfd_is_section_compressed_with_header): This. Add a pointer
2248 argument to return compression header size.
2249 (bfd_is_section_compressed): Use it.
2250 (bfd_init_section_decompress_status): Call
2251 bfd_get_compression_header_size to get compression header size.
2252 Return FALSE if uncompressed section size is 0.
2253 * elf.c (_bfd_elf_make_section_from_shdr): Support converting
2254 from/to .zdebug* sections.
2255 * bfd-in2.h: Regenerated.
2256
87070c08
AM
22572015-04-07 Alan Modra <amodra@gmail.com>
2258
2259 * elf.c (_bfd_elf_get_reloc_section): Allow for .got.plt being
2260 mapped to output .got section.
2261
d3e454b9
AM
22622015-04-07 Alan Modra <amodra@gmail.com>
2263
2264 * elf32-ppc.c (struct ppc_elf_link_hash_entry): Add has_addr16_ha
2265 and has_addr16_lo. Make has_sda_refs a bitfield.
2266 (ppc_elf_check_relocs): Set new flags.
2267 (ppc_elf_link_hash_table_create): Update default_params.
2268 (ppc_elf_adjust_dynamic_symbol): Clear protected_def in cases
2269 where we won't be making .dynbss entries or editing code. Set
2270 params->pic_fixup when we'll edit code for protected var access.
2271 (allocate_dynrelocs): Allocate got entry for edited code and
2272 discard dyn_relocs.
2273 (struct ppc_elf_relax_info): Add picfixup_size.
2274 (ppc_elf_relax_section): Rename struct one_fixup to struct
2275 one_branch_fixup. Rename fixups to branch_fixups. Size space for
2276 pic fixups.
2277 (ppc_elf_relocate_section): Edit non-PIC accessing protected
2278 visibility variables to PIC. Don't emit dyn_relocs for code
2279 we've edited.
2280 * elf32-ppc.h (struct ppc_elf_params): Add pic_fixup.
2281
ffa54770
NC
22822015-04-07 Nick Clifton <nickc@redhat.com>
2283
2284 * elf.c (_bfd_elf_is_local_label_name): Treat assembler generated
2285 local labels as local.
2286
4aa90cc0
L
22872015-04-06 H.J. Lu <hongjiu.lu@intel.com>
2288
2289 * compress.c (get_uncompressed_size): Removed.
2290 (bfd_compress_section_contents): Use bfd_putb64 to write
2291 uncompressed section size.
2292 (bfd_init_section_decompress_status): Replace
2293 get_uncompressed_size with bfd_getb64.
2294
68f5ff89
L
22952015-04-04 H.J. Lu <hongjiu.lu@intel.com>
2296
2297 * elf.c (_bfd_elf_init_private_section_data): Also preserve the
2298 SHF_COMPRESSED bit if not decompress.
2299
8bed4e0f
L
23002015-04-04 H.J. Lu <hongjiu.lu@intel.com>
2301
2302 * compress.c (get_uncompressed_size): New. Extracted from ...
2303 (bfd_init_section_decompress_status): This. Use it.
2304
15c7659f
AT
23052015-04-02 Andrew Turner <andrew@freebsd.org>
2306
2307 * config.bfd: Add aarch64-*-freebsd* target triple.
2308
39f3de7c
L
23092015-04-02 H.J. Lu <hongjiu.lu@intel.com>
2310
2311 * configure: Regenerated.
2312
4106101c
MS
23132015-04-01 Tejas Belagod <tejas.belagod@arm.com>
2314 Marcus Shawcroft <marcus.shawcroft@arm.com>
2315 Jiong Wang <jiong.wang@arm.com>
2316
2317 * bfd-in.h (bfd_elf64_aarch64_set_options)
2318 (bfd_elf32_aarch64_set_options): Add parameter.
2319 * bfd-in2.h: Regenerated.
2320 * elfnn-aarch64.c (aarch64_erratum_843419_stub)
2321 (_bfd_aarch64_adrp_p, _bfd_aarch64_erratum_843419_sequence_p)
2322 (_bfd_aarch64_erratum_843419_stub_name)
2323 (_bfd_aarch64_erratum_843419_fixup)
2324 (_bfd_aarch64_erratum_843419_scan)
2325 (_bfd_aarch64_erratum_843419_branch_to_stub)
2326 (_bfd_aarch64_erratum_843419_p): Define.
2327 (enum elf_aarch64_stub_type): Define
2328 aarch64_stub_erratum_843419_veneer.
2329 (struct elf_aarch64_stub_hash_entry): Define adrp_offset.
2330 (struct elf_aarch64_link_hash_table): Define fix_erratum_843419
2331 and fix_erratum_843419_adr.
2332 (stub_hash_newfunc): Initialize adrp_offset;
2333 (_bfd_aarch64_add_stub_entry_after): Define.
2334 (aarch64_map_one_stub, aarch64_build_one_stub)
2335 (aarch64_size_one_stub): Handle
2336 aarch64_stub_erratum_843419_veneer.
2337 (_bfd_aarch64_resize_stubs): Round stub section size.
2338 (elfNN_aarch64_size_stubs): Add scan for 843419.
2339 (bfd_elfNN_aarch64_set_options): Add parameter. Initialize
2340 fix_erratum_843419 and fix_erratum_843419_adr.
2341 (struct erratum_835769_branch_to_stub_data): Add info.
2342 (elfNN_aarch64_write_section): Initialise info. Handle 843419.
2343 (elfNN_aarch64_size_dynamic_sections): Handle 843419.
2344 * elfxx-aarch64.c (_bfd_aarch64_decode_adrp_imm)
2345 (_bfd_aarch64_sign_extend): Define.
2346 (reencode_adr_imm): Remove static. Rename to:
2347 (_bfd_aarch64_reencode_adr_imm): Define.
2348 (_bfd_aarch64_elf_put_addend): Call _bfd_aarch64_reencode_adr_imm.
2349 * elfxx-aarch64.h (AARCH64_ADR_OP, AARCH64_ADRP_OP)
2350 (AARCH64_ADRP_OP_MASK, _bfd_aarch64_sign_extend)
2351 (_bfd_aarch64_decode_adrp_imm, _bfd_aarch64_reencode_adr_imm):
2352 Define.
2353
afa59b79
L
23542015-04-01 H.J. Lu <hongjiu.lu@intel.com>
2355
2356 * configure: Regenerated.
2357
6036f486
ES
23582015-03-31 Ed Schouten <ed@nuxi.nl>
2359
2360 * config.bfd (targ_defvec): Set to x86_64_elf64_cloudabi_vec
2361 for x86_64-*-cloudabi*.
2362 * configure.ac: Handle x86_64_elf64_cloudabi_vec.
2363 * configure: Regenerated.
2364 * elf64-x86-64.c (TARGET_LITTLE_SYM): Support x86_64-*-cloudabi*.
2365 (TARGET_LITTLE_NAME): Likewise.
2366 (ELF_OSABI): Likewise.
2367 (elf64_bed): Likewise.
2368 * targets.c (x86_64_elf64_cloudabi_vec): New.
2369 (_bfd_target_vector): Add x86_64_elf64_cloudabi_vec.
2370
9ae46699
L
23712015-03-31 H.J. Lu <hongjiu.lu@intel.com>
2372
2373 * configure.ac: Revert the AM_ZLIB change.
2374 * Makefile.in: Regenerated.
2375 * aclocal.m4: Likewise.
2376 * configure: Likewise.
2377 * doc/Makefile.in: Likewise.
2378
bd53a53a
L
23792015-03-30 H.J. Lu <hongjiu.lu@intel.com>
2380
2381 PR ld/18169
2382 * elf-bfd.h (elf_backend_data): Add get_reloc_section.
2383 (_bfd_elf_get_reloc_section): New.
2384 * elf.c (_bfd_elf_get_reloc_section): Likewise.
2385 (assign_section_numbers): Call get_reloc_section to look up the
2386 section the relocs apply.
2387 * elfxx-target.h (elf_backend_get_reloc_section): Likewise.
2388 (elfNN_bed): Initialize get_reloc_section with
2389 elf_backend_get_reloc_section.
2390
243340ad
L
23912015-03-29 H.J. Lu <hongjiu.lu@intel.com>
2392
2393 * Makefile.am (ZLIB): New.
2394 (ZLIBINC): Likewise.
2395 (AM_CFLAGS): Add $(ZLIBINC).
2396 (libbfd_la_LIBADD): Add $(ZLIB).
2397 * compress.c: Don't check HAVE_ZLIB_H to include <zlib.h>.
2398 (decompress_contents): Don't check HAVE_ZLIB_H.
243340ad
L
2399 (bfd_compress_section_contents): Likewise.
2400 (bfd_get_full_section_contents): Likewise.
2401 (bfd_init_section_decompress_status): Likewise.
2402 (bfd_init_section_compress_status): Likewise.
b51724e8 2403 * configure.ac (AM_ZLIB): Removed.
243340ad
L
2404 (zlibdir): New. AC_SUBST.
2405 (zlibinc): Likewise.
2406 Add --with-system-zlib.
2407 * Makefile.in: Regenerated.
2408 * acinclude.m4: Likewise.
2409 * config.in: Likewise.
2410 * configure: Likewise.
2411 * doc/Makefile.in: Likewise.
2412
b8417128
AM
24132015-03-27 Alan Modra <amodra@gmail.com>
2414
2415 PR ld/15228
2416 PR ld/18167
2417 * elflink.c (elf_merge_st_other): Add "sec" parameter. Don't set
2418 protected_def when symbol section is read-only. Adjust all calls.
2419 * elf-bfd.h (struct elf_link_hash_entry): Update protected_def comment.
2420
93ca8569
TB
24212015-03-26 Tejas Belagod <tejas.belagod@arm.com>
2422
2423 * elfnn-aarch64.c (aarch64_build_one_stub): Replace the call to generic
2424 _bfd_final_link_relocate with aarch64_relocate.
2425
b19a8f85
L
24262015-03-26 H.J. Lu <hongjiu.lu@intel.com>
2427
2428 PR ld/18160
2429 * elflink.c (elf_gc_sweep): Skip if relocation is incompatible.
2430 (bfd_elf_gc_sections): Likewise.
2431
61865519
MS
24322015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
2433
2434 * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Adjust stub section
2435 size for initial branch.
2436 (elfNN_aarch64_build_stubs): Write initial branch.
2437 _bfd_aarch64_decode_(elfNN_aarch64_output_arch_local_syms): Write
2438 mapping symbol on initial branch.
2439
d9ced15d 24402015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
357d1523
MS
2441
2442 * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_scan):
2443 Update erratum count.
2444
d422d1c4
SKS
24452015-03-25 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2446
2447 * elflink.c (_bfd_elf_gc_mark_extra_sections): Don't break on
2448 first matching debug section.
2449
8d001214
L
24502015-03-24 H.J. Lu <hongjiu.lu@intel.com>
2451
2452 PR gas/18087
2453 * compress.c (bfd_compress_section_contents): Don't write the
2454 zlib header and set contents as well as compress_status if
2455 compression didn't make the section smaller.
2456 (bfd_init_section_compress_status): Don't check compression
2457 size here.
2458
fc42baf3
NC
24592015-03-24 Nick Clifton <nickc@redhat.com>
2460
2461 PR binutils/17512
2462 * coffgen.c (coff_get_normalized_symtab): Fix test for out of
2463 range auxillary sections.
2464
fc6d53be
MS
24652015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
2466
2467 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor
2468 code into:
2469 (_bfd_aarch64_get_stub_for_link_section): Define.
2470
30068a6d
MS
24712015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
2472
2473 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Adjust
2474 update of section_group[].stub_sec.
2475
5421cc6e
MS
24762015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
2477
2478 * elfnn-aarch64.c (struct aarch64_erratum_835769_fix) Remove.
2479 (erratum_835769_scan) Drop fix_table_size_p and fixes_p arguments.
2480 Delete fixes, fix_table_size and associated code. Call
2481 _bfd_aarch64_add_stub_entry_in_group. Rename to...
2482 (bfd_aarch64_erratum_835769_scan): Define.
2483 (elfNN_aarch64_size_stubs): Delete erratum_835769_fixes,
2484 erratum_835769_fix_table_size, i and associated code. Relocate
2485 call to _bfd_aarch64_erratum_835769_scan. Delete adhoc stub size
2486 correction. Delete construction of stub entry from
2487 erratum_835769_fixes array.
2488
e572930b
MS
24892015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
2490
2491 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Use
2492 _bfd_aarch64_add_stub_entry_in_group.
2493
8131c122
AM
24942015-03-24 Alan Modra <amodra@gmail.com>
2495
2496 * elf64-ppc.c (ppc64_elf_relocate_section): Report overflow to
2497 stubs, even those for undefined weak symbols. Otherwise, don't
2498 report relocation overflow on branches to undefined strong
2499 symbols. Fix memory leak.
2500 * elf32-ppc.c (ppc_elf_relocate_section): Don't report relocation
2501 overflow on branches to undefined strong symbols.
2502
c53ed7cf
KS
25032015-03-23 Keith Seitz <keiths@redhat.com>
2504
2505 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Add
2506 missing ';'.
2507
94a75bde
MS
25082015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2509
2510 * elfnn-aarch64.c (erratum_835769_scan): Factor stub name
2511 construction into...
2512 (_bfd_aarch64_erratum_835769_stub_name): Define.
2513
13f622ec
MS
25142015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2515
2516 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Factor out
2517 stub resize code into...
2518 (bfd_aarch64_resize_stubs): Define.
2519
66585675
MS
25202015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2521
2522 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor stub
2523 creation code into...
2524 (bfd_aarch64_create_stub_section): Define.
2525
ef857521
MS
25262015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2527
2528 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Rename
2529 from elf_aarch64_create_or_find_stub_sec.
2530 (_bfd_aarch64_add_stub_entry_in_group): Rename from
2531 elfNN_aarch64_add_stub. Call
2532 _bfd_aarch64_create_or_find_stub_sec.
2533 (elfNN_aarch64_size_stubs, elfNN_aarch64_size_stubs): Call
2534 _bfd_aarch64_add_stub_entry_in_group.
2535
2144188d
MS
25362015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2537
2538 * elfnn-aarch64.c (erratum_835769_scan) Add comment. Reverse
2539 sense of boolean return.
2540 (elfNN_aarch64_size_stubs): Adjust for above.
2541
4c77202d
MS
25422015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2543
2544 * elfnn-aarch64.c (elf_aarch64_create_or_find_stub_sec):
2545 Remove unused parameter.
2546 (elfNN_aarch64_size_stubs): Adjust for above.
2547
9b9971aa
MS
25482015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2549
2550 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Remove bfd_indx.
2551
e2cdef47
MS
25522015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2553
2554 * elfnn-aarch64.c (aarch64_erratum_835769_fixes)
2555 (num_aarch64_erratum_835769_fixes): Remove.
2556 (elfNN_aarch64_size_stubs): Remove assignments to above.
2557
3d14faea
MS
25582015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2559
23956543
MS
2560 * elfnn-aarch64.c (aarch64_mem_op_p): Update comment. Rename rtn
2561 to rt2.
3d14faea
MS
2562 (aarch64_erratum_seqeunce): Rename rtn to rt2.
2563
f872121a
MS
25642015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2565
2566 * elfnn-aarch64.c (elfNN_aarch64_write_section): Adjust layout.
2567
1740ba0c
NC
25682015-03-19 Nick Clifton <nickc@redhat.com>
2569
2570 * elf32-rl78.c (rl78_cpu_name): New function. Prints the name of
2571 the RL78 core based upon the flags.
2572 (rl78_elf_merge_private_bfd_data): Handle merging of G13 and G14
2573 flags.
2574 (rl78_elf_print_private_bfd_data): Use rl78_cpu_name.
2575 (elf32_rl78_machine): Always return bfd_mach_rl78.
2576
e2575e05
NC
25772015-03-19 Nick Clifton <nickc@redhat.com>
2578
2579 PR 18078
2580 * compress.c (bfd_compress_section_contents): Do not define this
2581 function if it is not used.
2582
0b0732e1
L
25832015-03-18 H.J. Lu <hongjiu.lu@intel.com>
2584
2585 * compress.c (bfd_compress_section_contents): Make it static.
2586 * bfd/bfd-in2.h: Regenerated.
2587
27aaeda0
NC
25882015-03-18 Eric Youngdale <eyoungdale@ptc.com>
2589
2590 PR ld/16598
2591 * peicode.h (pe_ILF_build_a_bfd): Add support for creating relocs
2592 suitable for the AMD64.
2593
273a4985
JT
25942015-03-18 Jon Turney <jon.turney@dronecode.org.uk>
2595 Nick Clifton <nickc@redhat.com>
2596
2597 PR binutils/18087
2598 * coffgen.c (make_a_section_from_file): Only prepend a z to a
2599 debug section's name if the section was actually compressed.
2600 * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
2601 * compress.c (bfd_init_section_compress_status): Do not compress
2602 the section if doing so would make it bigger. In such cases leave
2603 the section alone and return COMPRESS_SECTION_NONE.
2604
c4b0b099
AM
26052015-03-17 Alan Modra <amodra@gmail.com>
2606
2607 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return count of 0
2608 on nothing to do, before malloc of returned symbol array.
2609
9c761a55
NC
26102015-03-16 Nick Clifton <nickc@redhat.com>
2611
2612 * elf32-rx.c (elf32_rx_relax_delete_bytes): If the relocs are not
2613 stored in the elf_section_data structure then load them as
2614 necessary.
2615
b9005ba7
AK
26162015-03-14 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2617
2618 * elf-s390-common.c (elf_s390_elf_sort_relocs_p): Don't sort
2619 relocs against code sections.
2620 * elf32-s390.c: Define elf_backend_sort_relocs_p.
2621 * elf64-s390.c: Likewise.
2622
1079403c
AM
26232015-03-11 Alan Modra <amodra@gmail.com>
2624
2625 * elf32-ppc.c (ppc_elf_get_synthetic_symtab): Examine stubs in
2626 reverse order. Account for larger size of __tls_get_addr_opt stub.
2627
a5721edd
JW
26282015-03-10 Yuri Gribov <y.gribov@samsung.arm>
2629
2630 PR ld/16572
2631 * elf32-arm.c (elf32_arm_final_link_relocate): Remove support for
2632 ELF_ARM_HASENTRY.
2633 (elf32_arm_print_private_bfd_data): Likewise.
2634
65164438
NC
26352015-03-06 Nick Clifton <nickc@redhat.com>
2636
2637 PR binutils/17765
2638 * elflink.c (put_value): Like previous delta, but for the 32-bit
2639 case.
2640
41cd1ad1
NC
26412015-03-05 Nick Clifton <nickc@redhat.com>
2642
2643 PR binutils/17765
2644 * elflink.c (put_value): Avoid using an undefined shift
2645 operation.
2646
ca3fe95e
L
26472015-03-05 H.J. Lu <hongjiu.lu@intel.com>
2648
2649 PR ld/pr15228
2650 PR ld/pr17709
2651 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
2652 * elf32-i386.c (elf_backend_extern_protected_data): New.
2653 Defined to 1.
2654 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
2655 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
2656 copy relocs against protected symbols if extern_protected_data
2657 is true.
2658 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
2659 non-function symbols if extern_protected_data is true.
2660 * elfxx-target.h (elf_backend_extern_protected_data): New.
2661 Default to 0.
2662 (elfNN_bed): Initialize extern_protected_data with
2663 elf_backend_extern_protected_data.
2664
425bd9e1
NC
26652015-03-05 Nick Clifton <nickc@redhat.com>
2666
2667 PR binutils/18025
2668 * coffgen.c (coff_find_nearest_line_with_names): If the dwarf2
2669 lookup fails, check for an address bias in the dwarf info, and if
2670 one exists, retry the lookup with the biased value.
2671 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): New function.
2672 Determines if a bias exists bewteen the addresses of functions
2673 based on DWARF information vs symbol table information.
2674 * libbfd-in.h (_bfd_dwarf2_find_symbol_bias): Prototype.
2675 * libbfd.h: Regenerate.
2676
8ef229f3
MS
26772015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
2678
2679 * elfxx-aarch64.c (decode_add_imm, decode_movw_imm)
2680 (decode_tst_branch_ofs_14, decode_ld_lit_ofs_19)
2681 (decode_cond_branch_ofs_19, decode_branch_ofs_26): Remove.
2682
8e2fe09f
MS
26832015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
2684
2685 * elfnn-aarch64.c (aarch64_build_one_stub): Call abort.
2686 (aarch64_size_one_stub): Likewise.
2687 (aarch64_map_one_stub): Likewise.
2688
df88b702
AA
26892015-03-04 Andreas Arnez <arnez@linux.vnet.ibm.com>
2690
2691 * cpu-s390.c (N): New macro.
2692 (bfd_s390_31_arch): New. Define only if default target word size
2693 is 64 bits. Otherwise define...
2694 (bfd_390_64_arch): ...this. Make static.
2695 (bfd_s390_arch): Define according to the default target word size.
2696 Let the 'next' field point to the alternate arch.
2697
e09ab7ac
RS
26982015-03-04 Richard Sandiford <richard.sandiford@arm.com>
2699
2700 PR gas/17843
2701 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Expect
2702 R_AARCH64_TLSLE_MOVW_TPREL_G0_NC and R_AARCH64_TLSLE_MOVW_TPREL_G1_NC
2703 to be used with MOVK rather than MOVZ.
2704
71eef2bd
DD
27052015-03-03 DJ Delorie <dj@redhat.com>
2706
2707 * elf32-rl78.c (rl78_elf_relax_section): Only relax ADDR16's if
2708 there's a symbol.
2709
f01f1741
AM
27102015-02-28 Alan Modra <amodra@gmail.com>
2711
2712 * elf32-ppc.c (ppc_elf_tls_setup): Set no_tls_get_addr_opt if
2713 not PLT_NEW.
2714
c1d11331
L
27152015-02-27 H.J. Lu <hongjiu.lu@intel.com>
2716
2717 * elf32-i386.c (need_convert_mov_to_lea): New.
2718 (elf_i386_check_relocs): Set need_convert_mov_to_lea if needed.
2719 (elf_i386_convert_mov_to_lea): Return TRUE if
2720 need_convert_mov_to_lea is unset.
2721 * elf64-x86-64.c (need_convert_mov_to_lea): New.
2722 (elf_x86_64_check_relocs): Set need_convert_mov_to_lea if needed.
2723 (elf_x86_64_convert_mov_to_lea): Return TRUE if
2724 need_convert_mov_to_lea is unset.
2725
cdb602b1
NC
27262015-02-27 Nick Clifton <nickc@redhat.com>
2727
2728 PR binutils/17910
2729 * coffgen.c (_bfd_coff_internal_syment_name): Only check for
2730 string length overflow when the string table length is actually
2731 set.
2732
96c20bc1
MS
27332015-02-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
2734
2735 * bfd/bfd-in2.h: Regenerate.
2736 * bfd/libbfd.h: Regenerate.
2737
1ada945d
MS
27382015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2739
2740 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix
2741 TLSDESC_LD_PREL19 field width and masks.
2742 (aarch64_tls_transition_without_check)
2743 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
2744 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
2745 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
2746 BFD_RELOC_AARCH64_TLSDESC_LD_PREL19.
2747 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
2748 (_bfd_aarch64_elf_resolve_relocation): Likewise.
2749
389b8029
MS
27502015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2751
73920eed
MS
2752 * elfnn-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Reorder R_TYPE
2753 tests.
389b8029
MS
2754 (aarch64_tls_transition_without_check)
2755 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
2756 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
2757 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
2758 BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21.
2759 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
2760 (_bfd_aarch64_elf_resolve_relocation): Likewise.
2761 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
2762
3c12b054
MS
27632015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2764
2765 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC)
2766 (elfNN_aarch64_howto_table, aarch64_tls_transition_without_check)
2767 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
2768 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
2769 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
2770 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
2771 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
2772 (_bfd_aarch64_elf_resolve_relocation): Likewise.
2773 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
2774
043bf05a
MS
27752015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2776
2777 * elfnn-aarch64.c: (TLSIE_LD_GOTTREL_PREL19): Fix HOWTO bit field width.
2778 (aarch64_tls_transition_without_check, aarch64_reloc_got_type)
2779 (elfNN_aarch64_final_link_relocate, elfNN_aarch64_tls_relax)
2780 (elfNN_aarch64_relocate_section, elfNN_aarch64_gc_sweep_hook)
2781 (elfNN_aarch64_check_relocs): Handle
2782 BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19.
2783
2784 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
2785 (_bfd_aarch64_elf_resolve_relocation): Likewise.
2786
7366006f
MS
27872015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2788
2789 * elfnn-aarch64.c: (TLSDESC_CALL): Fix HOWTO bit field width.
2790
07875fbc
MS
27912015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2792
2793 * elfnn-aarch64.c (TLSLE_MOVW_TPREL_G2)
2794 (TLSLE_MOVW_TPREL_G1, TLSLE_MOVW_TPREL_G1_NC)
2795 (TLSLE_MOVW_TPREL_G0, TLSLE_MOVW_TPREL_G0_NC): Fix bit field
2796 width.
2797
49d8f92c
MS
27982015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2799
2800 * elfnn-aarch64.c: (TLSIE_MOVW_GOTTPREL_G0_NC): Fix HOWTO bit
2801 field width.
2802
c86934ce
NC
28032015-02-26 Nick Clifton <nickc@redhat.com>
2804
2805 PR binutils/17512
2806 * coffcode.h (coff_compute_section_file_positions): Report
2807 negative page sizes.
2808 * elf.c (elf_fake_sections): Handle excessive alignmment powers.
2809 (assign_file_positions_for_non_load_sections): Replace assertion
2810 with an error message.
2811 (rewrite_elf_program_header): Handle excessive segment
2812 alignments.
2813 * mach-o.c (bfd_mach_o_read_section_32): Likewise.
2814 (bfd_mach_o_read_section_64): Likewise.
2815 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Use %B to
2816 print a bfd name, not %A.
2817
bd4d2eaa
AM
28182015-02-26 Alan Modra <amodra@gmail.com>
2819
2820 * elf64-ppc.c (plt_stub_size, build_plt_stub): Don't build
2821 thread-safe stubs for iplt.
2822 (build_tls_get_addr_stub): Restore r2 immediately after call.
2823
99654aaf
TG
28242015-02-26 Terry Guo <terry.guo@arm.com>
2825
2826 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Update how we
2827 merge Tag_ABI_HardFP_use.
2828
a127494f
AM
28292015-02-26 Alan Modra <amodra@gmail.com>
2830
2831 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Heed -z nocopyreloc.
2832 Use text relocs rather than giving an error on trying to use
2833 .dynbss for protected shared lib vars.
2834 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
2835
bac13f5a
AB
28362015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
2837
2838 * elf32-avr.c (struct elf_avr_section_data): New structure.
2839 (struct avr_relax_info): New structure.
2840 (elf_avr_new_section_hook): New function.
2841 (struct elf_avr_section_data): Add relax_info.
2842 (get_avr_relax_info): New function.
2843 (init_avr_relax_info): New function.
2844 (elf32_avr_relax_delete_bytes): Find next property record before
2845 deleting bytes. When deleting don't move bytes beyond the next
2846 property record.
2847 (avr_elf32_assign_records_to_section): New function.
2848 (avr_property_record_compare): New function.
2849 (avr_load_all_property_sections): New function.
2850 (elf32_avr_relax_section): Load property data. After relaxing the
2851 section, move any .align directives that have enough deleted bytes
2852 before them.
2853 (bfd_elf32_new_section_hook): Define.
2854
137c83d6
AB
28552015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
2856
2857 * elf32-avr.h (struct avr_property_header): New strucure.
2858 (avr_elf32_load_property_records): Declare.
2859 (avr_elf32_property_record_name): Declare.
2860 * elf32-avr.c: Add bfd_stdint.h include.
2861 (retrieve_local_syms): New function.
2862 (get_elf_r_symndx_section): New function.
2863 (get_elf_r_symndx_offset): New function.
2864 (internal_reloc_compare): New function.
2865 (struct avr_find_section_data): New structure.
2866 (avr_is_section_for_address): New function.
2867 (avr_find_section_for_address): New function.
2868 (avr_elf32_load_records_from_section): New function.
2869 (avr_elf32_load_property_records): New function.
2870 (avr_elf32_property_record_name): New function.
2871
fdd410ac
AB
28722015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
2873
2874 * elf32-avr.h (AVR_PROPERTY_RECORD_SECTION_NAME): Define.
2875 (AVR_PROPERTY_RECORDS_VERSION): Define.
2876 (AVR_PROPERTY_SECTION_HEADER_SIZE): Define.
2877 (struct avr_property_record): New structure.
2878
685080f2
NC
28792015-02-24 Nick Clifton <nickc@redhat.com>
2880
2881 * elf32-v850.c (v850_set_note): New function. Creates a Renesas
2882 style note entry.
2883 (v850_elf_make_note_section): New function. Creates a note
2884 section.
2885 (v850_elf_create_sections): New function. Create a note section
2886 if one is not already present.
2887 (v850_elf_set_note): New function. Adds a note to a bfd.
2888 (v850_elf_copy_private_bfd_data): New function. Copies V850
2889 notes.
2890 (v850_elf_merge_notes): New function. Merges V850 notes.
2891 (print_v850_note): New function. Displays a V850 note.
2892 (v850_elf_print_notes): New function. Displays all notes attached
2893 to a bfd.
2894 (v850_elf_merge_private_bfd_data): Call v850_elf_merge_notes.
2895 (v850_elf_print_private_bfd_data): Call v850_elf_print_notes.
2896 (v850_elf_fake_sections): Set the type of the V850 note section.
2897 * bfd-in.h (v850_elf_create_sections): Add prototype.
2898 (v850_elf_set_note): Add prototype.
2899 * bfd-in2.h: Regenerate.
2900
31593e1b
NC
29012015-02-24 Nick Clifton <nickc@redhat.com>
2902
2903 * configure.ac (AC_CHECK_HEADERS): Add wctype.h.
2904 * configure: Regenerate.
2905 * config.in: Regenerate.
2906 * peXXigen.c: Include wctype.h if HAVE_WCTYPE_H is defined.
2907 (u16_mbtowc): Use wint_t types if HAVE_WCTYPE_H is defined.
2908 (rsrc_cmp): Use towlower instead of wcsncasecmp if HAVE_WCTYPE_H
2909 is defined.
2910
3ad797fd
NC
29112015-02-24 Nick Clifton <nickc@redhat.com>
2912
2913 * pdp11.c (set_section_contents): Pad the .text and .data sections
2914 to their aligned sizes.
2915
5518c738
YS
29162015-02-23 Yoshinori Sato <ysato@users.sourceforge.jp>
2917
2918 * config.bfd: Add h8300-*-linux.
2919 * configure.ac: Add h8300_elf32_linux_vec.
2920 * configure: Regenerate.
2921 * elf32-h8300.c: Likewise.
2922 * targets.c(_bfd_target_vector): Likewise.
2923
cb967f0d
NC
29242015-02-23 Nick Clifton <nickc@redhat.com>
2925
2926 PR 17914
2927 * cpu-w65.c: Correct typos in license notice.
2928
0f8f0c57
NC
2929 PR 17940
2930 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust debug
2931 symbols at end of sections. Adjust function sizes.
2932
4ef9f41a
AA
29332015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
2934
2935 * elf-bfd.h (elfcore_write_s390_vxrs_low): Add prototype.
2936 (elfcore_write_s390_vxrs_high): Likewise.
2937 * elf.c (elfcore_grok_s390_vxrs_low): New function.
2938 (elfcore_grok_s390_vxrs_high): New function.
2939 (elfcore_grok_note): Call them.
2940 (elfcore_write_s390_vxrs_low): New function.
2941 (elfcore_write_s390_vxrs_high): New function.
2942 (elfcore_write_register_note): Call them.
2943
837914ee
BD
29442015-02-19 Branko Drevensek <branko.drevensek@gmail.com>
2945
2946 PR 17995
2947 * verilog.c (verilog_write_record): Correct buffer size.
2948
cf18fda4
AM
29492015-02-19 Alan Modra <amodra@gmail.com>
2950
2951 * elflink.c (_bfd_elf_define_linkage_sym): Set 'bed' earlier.
2952
d983c8c5
AM
29532015-02-19 Alan Modra <amodra@gmail.com>
2954
2955 PR ld/4317
2956 * elflink.c (elf_link_input_bfd): Drop undefined local syms.
2957 (elf_link_output_extsym): Drop local and global undefined syms.
2958 Tidy. Expand comment.
2959
2ec55de3
AM
29602015-02-17 Alan Modra <amodra@gmail.com>
2961
2962 PR ld/17975
2963 * elflink.c (struct elf_outext_info): Remove need_second_pass
2964 and second_pass.
2965 (elf_link_output_extsym): Delete code handling second forced
2966 local pass. Move code emitting NULL STT_FILE symbol later, so
2967 that it can be omitted if forced local is stripped. Don't
2968 emit the NULL STT_FILE if no file symbols have been output.
2969 (bfd_elf_final_link): Remove second forced local pass.
2970 * elf32-ppc.c (add_stub_sym): Set linker_def on linker syms.
2971 (ppc_elf_size_dynamic_sections): Likewise.
2972 * elf64-ppc.c (ppc_build_one_stub): Likewise.
2973 (build_global_entry_stubs): Likewise.
2974 (ppc64_elf_build_stubs): Likewise.
2975
6dfb72b9
L
29762015-02-16 H.J. Lu <hongjiu.lu@intel.com>
2977
2978 PR ld/17975
2979 * elflink.c (elf_link_output_extsym): Only check filesym_count
2980 when outputting a NULL FILE symbol. Set second_pass_sym to
2981 h->forced_local && !h->root.linker_def.
2982
576fa883
L
29832015-02-15 H.J. Lu <hongjiu.lu@intel.com>
2984
2985 * elf32-i386.c (elf_i386_always_size_sections): Set root.linker_def
2986 on _TLS_MODULE_BASE_.
2987 * elf64-x86-64.c (elf_x86_64_always_size_sections): Likewise.
2988
62f8d217
AM
29892015-02-15 Alan Modra <amodra@gmail.com>
2990
2991 * dwarf2.c (read_rangelist): Correct buffer overflow check
2992 Whitespace throughout file.
2993
ce875075
AM
29942015-02-14 Alan Modra <amodra@gmail.com>
2995
2996 PR ld/17973
2997 * bfd.c (struct bfd): Add lto_output.
2998 * linker.c (_bfd_handle_already_linked): Explicitly test for
2999 objects added by the lto plugin.
3000 * opncls.c (_bfd_new_bfd_contained_in): Copy lto_output and
3001 no_export flags from archive.
3002 * archive.c (open_nested_file): New function, setting lto_output
3003 and no_export, extracted from..
3004 (find_nested_archive): ..here. Flip params. Rename from
3005 _bfd_find_nested_archive.
3006 (_bfd_get_elt_at_filepos): Correct var typo. Use open_nested_file.
3007 (_bfd_look_for_bfd_in_cache): Copy no_export.
3008 * elflink.c (elf_link_add_object_symbols): Remove now unnecessary
3009 my_archive->no_export test.
3010 (elf_link_input_bfd): Drop existing lto_output STT_FILE syms.
3011 Don't use the file name when adding lto_output STT_FILE sym.
3012 * bfd-in2.h: Regenerate.
3013
451dfd38
AM
30142015-02-13 Alan Modra <amodra@gmail.com>
3015
3016 PR binutils/17512
3017 * elf64-ppc.c (opd_entry_value): Tighten offset check. Remove
3018 now redundant assert.
3019
dbb3fbbb
NC
30202015-02-12 Nick Clifton <nickc@redhat.com>
3021
3022 PR binutils/17512
3023 * dwarf.c (read_1_byte, read_1_signed_byte, read_2_bytes)
3024 (read_4_bytes, read_8_bytes, read_n_bytes, read_string)
3025 (read_indirect_string, read_alt_indirect_string)
3026 (read_alt_indirect_ref, read_address, read_abbrevs)
3027 (read_attribute_value, read_attribute, decode_line_info)
3028 (find_abstract_instance_name, read_rangelist)
3029 (scan_unit_for_symbols, parse_comp_unit)
3030 (_bfd_dwarf2_find_nearest_line): Harden DWARF reading code. Pass
3031 end pointers to reading functions and check for offsets taking
3032 pointers out of range. Replace calls to read_*_leb128 with calls
3033 to safe_read_leb128.
3034
3035 (* elf64-ppc.c (opd_entry_value): Add a check for an overlarge
3036 offset.
3037 * syms.c (_bfd_stab_section_find_nearest_line): Add checks for
3038 computed file_name address being before the start of the string
3039 table.
3040
b9dc5a87
L
30412015-02-11 H.J. Lu <hongjiu.lu@intel.com>
3042
3043 PR ld/17878
3044 * bfd.c (bfd_plugin_format): New.
3045 (bfd): Add plugin_format and plugin_dummy_bfd.
3046 * plugin.c (try_load_plugin): Take a pointer to bfd_boolean
3047 argument to return TRUE if any plugin is found. Set plugin_format.
3048 (has_plugin): New.
3049 (bfd_plugin_target_p): New.
3050 (bfd_plugin_specified_p): Likewise.
3051 (bfd_plugin_target_p): Likewise.
3052 (register_ld_plugin_object_p): Likewise.
3053 (bfd_plugin_set_plugin): Set has_plugin.
3054 (load_plugin): Cache try_load_plugin result.
3055 (bfd_plugin_object_p): Try ld_plugin_object_p first. Check
3056 plugin_format.
3057 * plugin.h (bfd_plugin_target_p): New.
3058 (bfd_plugin_specified_p): Likewise.
3059 (register_ld_plugin_object_p): Likewise.
3060 * bfd-in2.h: Regenerated.
3061
55172d69
PA
30622015-02-11 Pedro Alves <palves@redhat.com>
3063
3064 * libbfd-in.h [__cplusplus]: Open extern "C" scope.
3065 * libcoff-in.h [__cplusplus]: Open extern "C" scope.
3066 * libbfd.h: Regenerate.
3067 * libcoff.h: Regenerate.
3068
3069 * elf-bfd.h [__cplusplus]: Wrap in extern "C".
3070 * mach-o.h [__cplusplus]: Wrap in extern "C".
3071 * som.h [__cplusplus]: Wrap in extern "C".
3072
77ef8654
NC
30732015-02-10 Nick Clifton <nickc@redhat.com>
3074
3075 PR binutils/17512
3076 * coffcode.h (styp_to_sec_flags): Use an unsigned long type to
3077 hold the flag bits.
3078 * peXXigen.c (pe_print_reloc): Use unsigned types to hold the
3079 size and number of relocs.
3080 (pe_print_debugdata): Use a 32-bit aligned buffer to store the
3081 codeview record.
3082 * versados.c (process_otr): Check the esdid value before using it
3083 to access the EDATA.
3084
35181b3e
EM
30852015-02-09 Ed Maste <emaste@freebsd.org>
3086
3087 * elf32-i386.c (elf_i386_get_plt_sym_val): Avoid incrementing
3088 uninitialized and unused variable.
3089 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
3090
989f9879
AM
30912015-02-09 Alan Modra <amodra@gmail.com>
3092
3093 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault on NULL
3094 tls_sec.
3095 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
3096 * elflink.c (elf_link_output_extsym): Don't assert on NULL tls_sec.
3097
ca4be51c
AM
30982015-02-09 Alan Modra <amodra@gmail.com>
3099
3100 * elflink.c: Whitespace, formatting fixes.
3101 (elf_link_input_bfd): Clarify comment.
3102 (elf_link_output_extsym): Exclude symbols in linker created
3103 sections when testing for plugin symbols.
3104
1952c5cd
L
31052015-02-07 H.J. Lu <hongjiu.lu@intel.com>
3106
3107 PR ld/17935
3108 * elf32-i386.c (elf_i386_readonly_dynrelocs): Also issue a
3109 warning for relocation in readonly section for -z text.
3110 (elf_i386_size_dynamic_sections): Likewise.
3111 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
3112 (elf_x86_64_size_dynamic_sections): Likewise.
3113
9e2dec47
L
31142015-02-06 H.J. Lu <hongjiu.lu@intel.com>
3115
3116 PR ld/12365
3117 PR ld/14272
3118 * elflink.c (_bfd_elf_fix_symbol_flags): Revert the last change.
3119 (elf_link_input_bfd): Mark the plugin symbol undefined if it is
3120 referenced from a non-IR file.
3121
5929c344
NC
31222015-02-06 Nick Clifton <nickc@redhat.com>
3123
3124 PR binutils/17512
3125 * peXXigen.c (rsrc_print_resource_entries): Add range check for
3126 addresses that wrap around the address space.
3127 (rsrc_parse_entry): Likewise.
3128
60f79275
L
31292015-02-03 H.J. Lu <hongjiu.lu@intel.com>
3130
3131 PR ld/12365
3132 PR ld/14272
3133 * elflink.c (_bfd_elf_fix_symbol_flags): Mark the plugin symbol
3134 undefined if it is referenced from a non-IR file.
3135
64d29018
NC
31362015-02-03 Nick Clifton <nickc@redhat.com>
3137
3138 PR binutils/17512
3139 * ecoff.c: Use bfd_alloc2 to allocate space for structure arrays.
3140 (_bfd_ecoff_slurp_symbol_table): Check for a negative symbol
3141 index or an out of range fdr index.
3142 * elf-m10300.c (mn10300_info_to_howto): Fix typo in error message.
3143 * elf32-arc.c (arc_info_to_howto_rel): Likewise.
3144 * elf32-avr.c (avr_info_to_howto_rela): Likewise.
3145 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
3146 * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
3147 * elf32-cris.c (cris_info_to_howto_rela): Likewise.
3148 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
3149 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
3150 * elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
3151 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
3152 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
3153 * elf32-frv.c (frv_info_to_howto_rela): Likewise.
3154 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
3155 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
3156 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
3157 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
3158 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
3159 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
3160 * elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
3161 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
3162 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
3163 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
3164 * elf32-mep.c (mep_info_to_howto_rela): Likewise.
3165 * elf32-metag.c (metag_info_to_howto_rela): Likewise.
3166 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
3167 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
3168 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
3169 * elf32-mt.c (mt_info_to_howto_rela): Likewise.
3170 * elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
3171 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
3172 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
3173 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
3174 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
3175 * elf32-rx.c (rx_info_to_howto_rela): Likewise.
3176 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
3177 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
3178 * elf32-v850.c (v850_elf_perform_relocation): Likewise.
3179 * elf32-vax.c (rtype_to_howto): Likewise.
3180 * elf32-visium.c (visium_info_to_howto_rela): Likewise.
3181 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
3182 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
3183 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
3184 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
3185 * mach-o.c: Use bfd_alloc2 to allocate space for structure arrays.
3186 (bfd_mach_o_canonicalize_one_reloc): Fix check on out
3187 of range symbol indicies.
3188 (bfd_mach_o_canonicalize_relocs): Check for out of range alloc.
3189 (bfd_mach_o_canonicalize_dynamic_reloc): Likewise.
3190 (bfd_mach_o_build_dysymtab): Likewise.
3191 (bfd_mach_o_write_symtab_content): Set the string table size to
3192 zero upon error.
3193 (bfd_mach_o_read_symtab_symbols): Reset the nsyms value if the
3194 read fails.
3195 * peXXigen.c (pe_print_edata): Check for numeric overflow in edt
3196 fields.
3197 * tekhex.c (first_phase): Check for src pointer reaching end of
3198 buffer.
3199
3a635617
WN
32002015-02-03 Will Newton <will.newton@linaro.org>
3201
46b87d49
WN
3202 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol):
3203 Set st_value to zero for undefined symbols if the reference
3204 is weak or pointer_equality_needed is FALSE.
3205
3a635617
WN
3206 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve
3207 comment discussing why we clear st_value for some symbols.
3208
0c4bd9d9
KLC
32092015-02-02 Kuan-Lin Chen <kuanlinchentw@gmail.com>
3210
3211 * elf32-nds32.c (nds32_get_section_contents): Add one more argument.
3212 (nds32_elf_relocate_section): Do not relocate R_NDS32_LONGJUMP7.
3213
b86ac8e3
AM
32142015-01-29 Alan Modra <amodra@gmail.com>
3215
3216 * elf64-ppc.c (ppc64_elf_relocate_section): Correct GOT_TLSLD
3217 optimization. Tidy mask for GOT_TLSGD optimization.
3218 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Correct
3219 location of nop zapping high insn too.
3220
dbd1e97e
AM
32212015-01-28 Alan Modra <amodra@gmail.com>
3222
3223 * elf64-ppc.h (struct ppc64_elf_params): Add "object_in_toc".
3224 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Assume that global symbols
3225 in .toc indicate xlc compiled code that might require a rw .toc.
3226
3f8107ab
AM
32272015-01-28 James Bowman <james.bowman@ftdichip.com>
3228
3229 * Makefile.am: Add FT32 files.
3230 * archures.c (enum bfd_architecture): Add bfd_arch_ft32.
3231 (bfd_mach_ft32): Define.
3232 (bfd_ft32_arch): Declare.
3233 (bfd_archures_list): Add bfd_ft32_arch.
3234 * config.bfd: Handle FT32.
3235 * configure.ac: Likewise.
3236 * cpu-ft32.c: New file.
3237 * elf32-ft32.c: New file.
3238 * reloc.c (BFD_RELOC_FT32_10, BFD_RELOC_FT32_20, BFD_RELOC_FT32_17,
3239 BFD_RELOC_FT32_18): Define.
3240 * targets.c (_bfd_target_vector): Add ft32_elf32_vec.
3241 * bfd-in2.h: Regenerate.
3242 * libbfd.h: Regenerate.
3243 * Makefile.in: Regenerate.
3244 * configure: Regenerate.
3245 * po/SRC-POTFILES.in: Regenerate.
3246
37e3922e
NC
32472015-01-27 Nick Clifton <nickc@redhat.com>
3248
3249 PR binutils/17512
3250 * pdp11.c (aout_get_external_symbols): Return false if there are
3251 no symbols.
3252
877a8638
NC
3253 * dwarf2.c (concat_filename): Check for an empty directory table.
3254 (scan_unit_for_symbols): Check for reading off the end of the
3255 unit.
3256 (parse_comp_unit): Check for a DW_AT_comp_dir attribute with a
3257 non-string form.
3258 * elf64-ppc.c (opd_entry_value): Fail if there are no relocs
3259 available.
3260
18393a2e
KLC
32612015-01-26 Kuan-Lin Chen <kuanlinchentw@gmail.com>
3262
3263 * elf32-nds32.c (nds32_elf_pick_relax): Fix again setting.
3264
055173ca
DD
32652015-01-22 DJ Delorie <dj@redhat.com>
3266
3267 * elf32-m32c.c (m32c_apply_reloc_24): New.
3268 (m32c_elf_howto_table): Use it for R_M32C_24.
3269 (m32c_elf_relocate_section): Handle R_M32C_24 specially.
3270
4e5cb37e
NC
32712015-01-22 Nick Clifton <nickc@redhat.com>
3272
3273 PR binutils/17512
3274 * coffcode.h (handle_COMDAT): When searching for the section
3275 symbol, make sure that there is space left in the symbol table.
3276 * vms-alpha.c (_bfd_vms_slurp_ehdr): Add range checks.
3277
86eafac0
NC
32782015-01-21 Nick Clifton <nickc@redhat.com>
3279
3280 PR binutils/17512
3281 * coffcode.h (coff_set_arch_mach_hook): Check return value from
3282 bfd_malloc.
3283 (coff_slurp_line_table): Return FALSE if the line number
3284 information was corrupt.
3285 (coff_slurp_symbol_table): Return FALSE if the symbol information
3286 was corrupt.
3287 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Always
3288 initialise the fields of the dyld_info structure.
3289 (bfd_mach_o_build_exec_seg_command): Replace assertion with an
3290 error message and a return value.
3291 (bfd_mach_o_layout_commands): Change the function to boolean.
3292 Return FALSE if the function fails.
3293 (bfd_mach_o_build_commands): Fail if bfd_mach_o_layout_commands
3294 fails.
3295 (bfd_mach_o_read_command): Fail if an unrecognised command is
3296 encountered.
3297 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Set bfd_error if the
3298 read fails.
3299 (slurp_symtab): Check the return from bfd_malloc.
3300 (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if the copy
3301 encountered an error.
3302 (_bfd_XXi_final_link_postscript): Fail if a section could not be
3303 copied.
3304 * peicode.h (pe_bfd_object_p): Fail if the header could not be
3305 swapped in.
3306 * tekhex.c (first_phase): Fail if the section is too big.
3307 * versados.c (struct esdid): Add content_size field.
3308 (process_otr): Use and check the new field.
3309 (versados_get_section_contents): Check that the section exists and
3310 that the requested data is available.
3311
03d5b773
CLT
33122015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
3313
3314 * elf32-nios2.c (elf_backend_default_execstack): Define as 0.
3315
1c9177d9
AM
33162015-01-20 Alan Modra <amodra@gmail.com>
3317
3318 PR ld/17615
3319 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Don't drop
3320 ELF_COMMON_DEF syms.
3321
c4621b33
AM
33222015-01-19 Alan Modra <amodra@gmail.com>
3323
3e2aa5bb 3324 PR ld/17615
c4621b33
AM
3325 * elf-bfd.h (ELF_COMMON_DEF_P): Note that this might be true for
3326 linker script assignments too.
3327 * elflink.c (elf_gc_sweep_symbol): Don't drop ELF_COMMON_DEF syms.
3328 (bfd_elf_gc_mark_dynamic_ref_symbol): Similarly.
3329
0ba38529
AM
33302015-01-19 Alan Modra <amodra@gmail.com>
3331
3332 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Correct loop iteration
3333 to allow return of first howto.
3334 * elf32-fr30.c (fr30_reloc_type_lookup): Likewise.
3335 * elf32-m32c.c (m32c_reloc_type_lookup): Likewise.
3336 * elf32-moxie.c (moxie_reloc_type_lookup): Likewise.
3337 * elf32-or1k.c (or1k_reloc_type_lookup): Likewise.
3338 * elf32-rl78.c (rl78_reloc_type_lookup): Likewise.
3339 * elf32-rx.c (rx_reloc_type_lookup): Likewise.
3340 * elf32-tilepro.c (tilepro_reloc_type_lookup): Likewise.
3341 * elf32-xstormy16.c (xstormy16_reloc_type_lookup): Likewise.
3342 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
3343 * elf32-nios2.c (nios2_reloc_map): Add mapping for R_NIOS2_NONE.
3344 * elf32-spu.c (spu_elf_bfd_to_reloc_type): Allow return of R_SPU_NONE.
3345 (spu_elf_reloc_type_lookup): Adjust to suit.
3346
6346d5ca
AM
33472015-01-19 Alan Modra <amodra@gmail.com>
3348
3349 * bfd-in.h (bfd_get_section_limit_octets): New define, extracted from..
3350 (bfd_get_section_limit): ..here.
3351 * reloc.c (bfd_perform_relocation): Correct bfd_reloc_outofrange check.
3352 (bfd_install_relocation, _bfd_final_link_relocate): Add same check here.
3353 * elf32-sh.c (sh_elf_reloc): Correct bfd_reloc_outofrange check.
3354 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Remove duplicated
3355 bfd_reloc_outofrange check.
3356 * bfd-in2.h: Regenerate.
3357
3358 * cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Return bfd_reloc_ok
3359 on zero size relocs.
3360 * ecoff.c (ecoff_reloc_link_order): Likewise.
3361 * elf32-nds32.c (nds32_relocate_contents): Likewise.
3362 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
3363
3364 * reloc.c (_bfd_relocate_contents): Don't bomb on zero size relocs.
3365 (_bfd_clear_contents): Likewise.
3366 * elfxx-mips.c (mips_elf_obtain_contents): Likewise.
3367 (mips_elf_perform_relocation): Likewise.
3368
3369 * aoutx.h (aout_link_reloc_link_order): Allow for NULL return
3370 from malloc on zero size alloc.
3371 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
3372 * elflink.c (elf_reloc_link_order): Likewise.
3373 * linker.c (_bfd_generic_reloc_link_order): Likewise.
3374 * pdp11.c (aout_link_reloc_link_order): Likewise.
3375 * xcofflink.c (xcoff_reloc_link_order): Likewise.
3376
3377 * aoutx.h (howto_table_ext): Ensure NONE relocs have size 3,
3378 bitsize 0, and complain_overflow_dont.
3379 * coff-sparc.c (coff_sparc_howto_table): Likewise.
3380 * elf-hppa.h (elf_hppa_howto_table): Likewise.
3381 * elf-m10200.c (elf_mn10200_howto_table): Likewise.
3382 * elf-m10300.c (elf_mn10300_howto_table): Likewise.
3383 * elf32-arc.c (elf_arc_howto_table): Likewise.
3384 * elf32-arm.c (elf32_arm_howto_table_1): Likewise.
3385 * elf32-avr.c (elf_avr_howto_table): Likewise.
3386 * elf32-bfin.c (bfin_howto_table): Likewise.
3387 * elf32-cr16.c (cr16_elf_howto_table): Likewise.
3388 * elf32-cris.c (cris_elf_howto_table): Likewise.
3389 * elf32-crx.c (crx_elf_howto_table): Likewise.
3390 * elf32-d10v.c (elf_d10v_howto_table): Likewise.
3391 * elf32-d30v.c (elf_d30v_howto_table): Likewise.
3392 * elf32-dlx.c (dlx_elf_howto_table): Likewise.
3393 * elf32-epiphany.c (epiphany_elf_howto_table): Likewise.
3394 * elf32-fr30.c (fr30_elf_howto_table): Likewise.
3395 * elf32-frv.c (elf32_frv_howto_table): Likewise.
3396 * elf32-h8300.c (h8_elf_howto_table): Likewise.
3397 * elf32-i370.c (i370_elf_howto_raw): Likewise.
3398 * elf32-i386.c (elf_howto_table): Likewise.
3399 * elf32-i860.c (elf32_i860_howto_table): Likewise.
3400 * elf32-i960.c (elf32_i960_relocate): Likewise.
3401 * elf32-ip2k.c (ip2k_elf_howto_table): Likewise.
3402 * elf32-iq2000.c (iq2000_elf_howto_table): Likewise.
3403 * elf32-lm32.c (lm32_elf_howto_table): Likewise.
3404 * elf32-m32c.c (m32c_elf_howto_table): Likewise.
3405 * elf32-m32r.c (m32r_elf_howto_table): Likewise.
3406 * elf32-m68hc11.c (elf_m68hc11_howto_table): Likewise.
3407 * elf32-m68hc12.c (elf_m68hc11_howto_table): Likewise.
3408 * elf32-m68k.c (howto_table): Likewise.
3409 * elf32-mcore.c (mcore_elf_howto_raw): Likewise.
3410 * elf32-mep.c (mep_elf_howto_table): Likewise.
3411 * elf32-metag.c (elf_metag_howto_table): Likewise.
3412 * elf32-microblaze.c (microblaze_elf_howto_raw): Likewise.
3413 * elf32-mips.c (elf_mips_howto_table_rel): Likewise.
3414 * elf32-moxie.c (moxie_elf_howto_table): Likewise.
3415 * elf32-msp430.c (elf_msp430_howto_table): Likewise.
3416 * elf32-mt.c (mt_elf_howto_table): Likewise.
3417 * elf32-nds32.c (nds32_elf_howto_table): Likewise.
3418 * elf32-nios2.c (elf_nios2_howto_table_rel): Likewise.
3419 * elf32-or1k.c (or1k_elf_howto_table): Likewise.
3420 * elf32-pj.c (pj_elf_howto_table): Likewise.
3421 * elf32-ppc.c (ppc_elf_howto_raw): Likewise.
3422 * elf32-rl78.c (rl78_elf_howto_table): Likewise.
3423 * elf32-rx.c (rx_elf_howto_table): Likewise.
3424 * elf32-s390.c (elf_howto_table): Likewise.
3425 * elf32-score.c (elf32_score_howto_table): Likewise.
3426 * elf32-score7.c (elf32_score_howto_table): Likewise.
3427 * elf32-sh-relocs.h (R_SH_NONE): Likewise.
3428 * elf32-spu.c (elf_howto_table): Likewise.
3429 * elf32-tic6x.c (elf32_tic6x_howto_table): Likewise.
3430 * elf32-tilepro.c (tilepro_elf_howto_table): Likewise.
3431 * elf32-v850.c (v850_elf_howto_table): Likewise.
3432 * elf32-vax.c (howto_table): Likewise.
3433 * elf32-visium.c (visium_elf_howto_table): Likewise.
3434 * elf32-xc16x.c (xc16x_elf_howto_table): Likewise.
3435 * elf32-xgate.c (elf_xgate_howto_table): Likewise.
3436 * elf32-xstormy16.c (xstormy16_elf_howto_table): Likewise.
3437 * elf32-xtensa.c (elf_howto_table): Likewise.
3438 * elf64-alpha.c (elf64_alpha_howto_table): Likewise.
3439 * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
3440 * elf64-mmix.c (elf_mmix_howto_table): Likewise.
3441 * elf64-ppc.c (ppc64_elf_howto_raw): Likewise.
3442 * elf64-s390.c (elf_howto_table): Likewise.
3443 * elf64-sh64.c (sh_elf64_howto_table): Likewise.
3444 * elf64-x86-64.c (x86_64_elf_howto_table): Likewise.
3445 * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
3446 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
3447 (elfNN_aarch64_howto_none): Likewise.
3448 * elfxx-ia64.c (ia64_howto_table): Likewise.
3449 * elfxx-sparc.c (_bfd_sparc_elf_howto_table): Likewise.
3450 * elfxx-tilegx.c (tilegx_elf_howto_table): Likewise.
3451 * nlm32-sparc.c (nlm32_sparc_howto_table): Likewise.
3452
6333bc0d
L
34532015-01-15 H.J. Lu <hongjiu.lu@intel.com>
3454
3455 PR ld/17847
3456 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't complain
3457 about -fPIC if the symbol is undefined when building executable.
3458
cd21f5da
NC
34592015-01-15 Nick Clifton <nickc@redhat.com>
3460
3461 PR binutils/17512
3462 * elf-m10300.c (mn10300_info_to_howto): Replace assertion with an
3463 error message. Never return an invalid howto pointer.
3464 * elf32-cr16.c (cr16_info_to_howto): Likewise.
3465 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
3466 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
3467 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
3468 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
3469 * elf32-mips.c (mips_elf32_rtype_to_howto): Likewise.
3470 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
3471 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
3472 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
3473 * elf32-v850.c (v850_elf_info_to_howto_rela): Likewise.
3474 * elf32-vax.c (rtype_to_howto): Likewise.
3475 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
3476 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
3477 * elfn32-mips.c (sh_elf_info_to_howto): Likewise.
3478 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
3479 (sh_elf_reloc): Check that the reloc is in range.
3480 * reloc.c (bfd_perform_relocation): Check that the section is big
3481 enough for the entire reloc.
3482 (bfd_generic_get_relocated_section_contents): Report unexpected
3483 return values from perform_reloc.
3484
2d071cfc
NC
34852015-01-15 Nick Clifton <nickc@redhat.com>
3486
3487 * elf32-msp430.c (msp430_elf_relax_section): Skip unhandled
3488 relocs. Include PC-relative adjustment for R_MSP430X_ABS16
3489 relaxation.
3490
ca55926c
AM
34912015-01-15 Alan Modra <amodra@gmail.com>
3492
3493 * elflink.c (_bfd_elf_link_omit_section_dynsym): Return true for
3494 any output section matching a linker created dynobj section.
3495
8539e4e8
AM
34962015-01-15 Alan Modra <amodra@gmail.com>
3497
3498 PR 17842
3499 * elflink.c (elf_link_output_sym): Assert elf_onesymtab set.
3500 (bfd_elf_final_link): Always create a symbol table when emit_relocs.
3501 Don't assign symtab file position unless symbols will be output.
3502 Merge blocks with condition in common. Don't call
3503 elf_backend_output_arch_local_syms or elf_backend_output_arch_syms
3504 unless other symbols are output. Move assignment of symtab_shndx
3505 file position. Localize variable.
3506
52db4ec2
JW
35072015-01-14 Jiong Wang <jiong.wang@arm.com>
3508
3509 * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when
3510 trying to defer them to runtime.
3511
0941db69
JW
35122015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
3513
3514 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND
3515 to check if a symbol should be bound symbolically.
3516
0172429c
JW
35172015-01-13 Jiong Wang <jiong.wang@arm.com>
3518
3519 * elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
3520 for TLSLE_MOVW_TPREL_G2.
3521
bab91cce
JW
35222015-01-13 Jiong Wang <jiong.wang@arm.com>
3523
3524 PR ld/17415
3525 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Mark
3526 R_AARCH64_TLSLE_ADD_TPREL_HI12 as complain_overflow_unsigned.
3527 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Correct the
3528 bit mask.
3529
3c758495
TG
35302015-01-12 Terry Guo <terry.guo@arm.com>
3531
3532 * elflink.c (_bfd_elf_gc_mark_debug_special_section_group): New
3533 function.
3534 (_bfd_elf_gc_mark_extra_sections): Use it.
3535
9d1d54d5
L
35362015-01-11 H.J. Lu <hongjiu.lu@intel.com>
3537
3538 PR ld/17827
3539 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): For PIE,
3540 only discard space for pc-relative relocs symbols which turn
3541 out to need copy relocs.
3542
c6e8e93a
NC
35432015-01-09 Nick Clifton <nickc@redhat.com>
3544
3545 * tekhex.c (getvalue): Fix thinko in test for correct extraction
3546 of value.
3547 (getsym): Return false if there was not enough data to extract the
3548 symbol.
3549
400cf8cb
AG
35502015-01-09 Anthony Green <green@moxielogic.com>
3551
3552 * elf32-moxie.c (ELF_MACHINE_ALT1): Define.
3553
23d4663e
NC
35542015-01-08 Nick Clifton <nickc@redhat.com>
3555
3556 * elf32-msp430.c (msp430_elf_relax_section): Add relaxation of
3557 16-bit absolute BR instructions to 10-bit pc-relative JMP
3558 instructions.
3559
063bb025
NC
35602015-01-08 Nick Clifton <nickc@redhat.com>
3561
3562 PR binutils/17512
3563 * coffcode.h (coff_slurp_symbol_table): Return false if we failed
3564 to load the line table.
3565 * elf.c (_bfd_elf_map_sections_to_segments): Enforce a minimum
3566 maxpagesize of 1.
3567 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if
3568 the Data Directory Size is too large.
3569
6f25f223
L
35702015-01-06 H.J. Lu <hongjiu.lu@intel.com>
3571
3572 PR binutils/17512
3573 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocation.
3574 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
3575
85880250
NC
35762015-01-06 Nick Clifton <nickc@redhat.com>
3577
3578 PR binutils/17512
e7287c7f
NC
3579 * mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the
3580 string table.
3581
ec93045b
NC
3582 * reloc.c (bfd_get_reloc_size): Handle a reloc size of -1.
3583 (bfd_perform_relocation): Include the size of the reloc in the
3584 test for an out of range relocation.
3585 (bfd_generic_get_relocated_section_contents): Remove reloc range
3586 test.
3587
85880250
NC
3588 * coff-i860.c (CALC_ADDEND): Always set an addend value.
3589 * tekhex.c (getvalue): Add an end pointer parameter. Use it to
3590 avoid reading off the end of the buffer.
3591 (getsym): Likewise.
3592 (first_phase): Likewise.
3593 (pass_over): Pass an end pointer to the invoked function.
3594
533d0af0
L
35952015-01-05 H.J. Lu <hongjiu.lu@intel.com>
3596
3597 PR binutils/17512
3598 * elf32-i386.c (elf_i386_get_plt_sym_val): Return NULL on corrupt
3599 input.
3600 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
3601
896ca098
NC
36022015-01-05 Nick Clifton <nickc@redhat.com>
3603
3604 PR binutils/17512
3605 * archive.c (do_slurp_bsd_armap): Make sure that the parsed sized
3606 is at least big enough for the header to be read.
3607 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocs.
3608 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add range checks.
3609 (bfd_mach_o_read_command): Prevetn duplicate error messages about
3610 unrecognized commands.
3611 * syms.c (_bfd_stab_section_find_nearest_line): Add range checks
3612 when indexing into the string table.
3613
b90efa5b 36142015-01-01 Alan Modra <amodra@gmail.com>
ee3b52e9 3615
b90efa5b 3616 Update year range in copyright notice of all files.
ee3b52e9 3617
b90efa5b 3618For older changes see ChangeLog-2014
56882138 3619\f
b90efa5b 3620Copyright (C) 2015 Free Software Foundation, Inc.
752937aa
NC
3621
3622Copying and distribution of this file, with or without modification,
3623are permitted in any medium without royalty provided the copyright
3624notice and this notice are preserved.
3625
56882138
AM
3626Local Variables:
3627mode: change-log
3628left-margin: 8
3629fill-column: 74
3630version-control: never
3631End:
This page took 1.389298 seconds and 4 git commands to generate.