]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - bfd/ChangeLog
Add an expect for running commands with CLI jump
[thirdparty/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
c9f20320
L
12015-12-18 H.J. Lu <hongjiu.lu@intel.com>
2
3 * coff-x86_64.c (coff_amd64_reloc): Fix formatting.
4
ec70be9f
NC
52015-12-18 Nick Clifton <nickc@redhat.com>
6
7 * coff-i386.c (coff_i386_reloc): Fix formatting.
8
0bef0414
CL
92015-12-16 Mickael Guene <mickael.guene@st.com>
10
11 * bfd-in2.h: Regenerate.
12 * reloc.c: Add new relocations.
13 * libbfd.h (bfd_reloc_code_real_names): Add new relocations
14 display names.
15 * elf32-arm.c (elf32_arm_howto_table_1): Add HOWTO for new
16 relocations.
17 (elf32_arm_reloc_map): Add bfd/arm mapping for new relocations.
18 (elf32_arm_final_link_relocate): Implement new relocations
19 resolution.
20
270f8245
JB
212015-12-15 Jan Beulich <jbeulich@suse.com>
22
23 * coffgen.c (coff_write_alien_symbol): New parameter "iaux".
24 (coff_write_symbols): Pass NULL for new argument.
25 * cofflink.c (_bfd_coff_final_link): New local variables
26 "iaux".
27 Extend scope of local variables "indx" and "hash". Pass address
28 of "iaux" to coff_write_alien_symbol(). Handle ".file" and the
29 file name ending up in the string table separately. Avoid
30 setting "rewrite" on more than one path.
31 * libcoff-in.h (coff_write_alien_symbol): New parameter of type
32 "union internal_auxent *".
33 * libcoff.h: Re-generate.
34
08832196
NC
352015-12-15 Nick Clifton <nickc@redhat.com>
36
37 PR 19339
38 * elf-vxworks.h: Update copyright notice.
39 * elf-vxworks.c: Update copyright notice.
40 * elf-nacl.h: Update copyright notice.
41 * elf-nacl.c: Update copyright notice.
42
c5847ba7
L
432015-12-10 H.J. Lu <hongjiu.lu@intel.com>
44
45 PR ld/19317
46 * linker.c (_bfd_generic_link_add_one_symbol): Don't complain
47 plugin needed to handle slim lto object for relocatable link.
48
33d4099f
SL
492015-12-09 Sandra Loosemore <sandra@codesourcery.com>
50
51 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Correct
52 %hiadj/%lo computations for _GLOBAL_OFFSET_TABLE_ in initial
53 PLT entries. Assert alignment requirements.
54
7859afc4
DD
552015-12-08 DJ Delorie <dj@redhat.com>
56
e896287c
DD
57 * elf32-rl78.c (rl78_offset_for_reloc): Add more relocs.
58 (rl78_elf_relax_section): Add bc/bz/bnc/bnz/bh/bnh. Fix reloc
59 choices.
60
7859afc4
DD
61 * elf32-rx.c (rx_elf_object_p): Ignore empty and nobits sections.
62
60562446
NC
632015-12-07 Nick Clifton <nickc@redhat.com>
64
65 * elf32-rx.c (elf32_rx_relax_delete_bytes): Add extra parameter -
66 the start of the relocs for the section. Delete code to load in
67 the relocs.
68 (elf32_rx_relax_section): Do not free the loaded relocs.
69
cbf95972
AM
702015-12-07 Alan Modra <amodra@gmail.com>
71
72 * elf32-ppc.c (ppc_elf_check_relocs): Don't error on local ifunc
73 plt call. Wrap long lines.
74 (ppc_elf_relocate_section): Wrap long lines.
75 * elf64-ppc.c (ppc64_elf_check_relocs): Don't error on local ifunc
76 plt calls. Move __tls_get_addr checks later. Don't create plt
77 for addr14/addr24 relocs.
78 (ppc64_elf_gc_sweep_hook): Adjust to suit check_relocs changes.
79 (ppc64_elf_relocate_section): Correct local ifunc handling for
80 PLT64, PLT32 and PLT16 relocs.
81
c20f6f63
AM
822015-12-07 Alan Modra <amodra@gmail.com>
83
84 PR19323
85 * elfcode.h (elf_object_p): Check for ridiculous e_shnum and
86 e_phnum values.
87
006589cf
AM
882015-12-07 Alan Modra <amodra@gmail.com>
89
90 * reloc.c (BFD_RELOC_PPC64_ENTRY): New.
91 * elf64-ppc.c (reloc_howto_type ppc64_elf_howto_raw): Add
92 entry for R_PPC64_ENTRY.
93 (LD_R2_0R12, ADD_R2_R2_R12, LIS_R2, ADDIS_R2_R12): Define.
94 (ppc64_elf_reloc_type_lookup): Handle R_PPC64_ENTRY.
95 (ppc64_elf_relocate_section): Edit code at R_PPC64_ENTTY. Use
96 new insn defines.
97 * libbfd.h: Regenerate.
98 * bfd-in2.h: Regenerate.
99
2b213129
KK
1002015-12-07 Kaz Kojima <kkojima@rr.iij4u.or.jp>
101
102 * config.bfd: Mark sh5*-*-* and sh64*-*-* as obsolete.
103
02e2aef8
L
1042015-12-04 H.J. Lu <hongjiu.lu@intel.com>
105
106 * elf32-i386.c (elf_i386_convert_load): Skip if addend isn't 0.
107 (elf_i386_relocate_section): Skip R_386_GOT32X optimization if
108 addend isn't 0.
109
461c4b2e
TG
1102015-12-04 Tristan Gingold <gingold@adacore.com>
111
112 * elf.c (rewrite_elf_program_header): Remove useless loop.
113
923b198a
AM
1142015-12-02 Alan Modra <amodra@gmail.com>
115
116 PR binutils/19315
117 * dwarf2.c (_bfd_elf_find_function): Return symbol matched.
118 (_bfd_dwarf2_find_nearest_line): Check symbol returned above
119 against dwarf range.
120 * elf-bfd.h (_bfd_elf_find_function): Update prototype.
121
c27b8c2a
AM
1222015-12-02 Alan Modra <amodra@gmail.com>
123
124 * elf64-ppc.c (ppc64_elf_tls_optimize): Don't segfault on NULL
125 symbol section or output section.
126 (ppc64_elf_edit_toc): Similarly for ld -R objects.
127 (ppc64_elf_size_stubs): Likewise.
128
ead3d542
L
1292015-12-01 H.J. Lu <hongjiu.lu@intel.com>
130
131 PR ld/19319
132 * elf32-i386.c (elf_i386_convert_load): Check h->def_regular
133 instead of bfd_link_hash_new.
134 * elf64-x86-64.c (elf_x86_64_convert_load): Likewise. Skip
135 relocation overflow for bfd_link_hash_undefined and
136 bfd_link_hash_new if h->def_regular is set.
137
3a8c4a5b
AM
1382015-12-01 Alan Modra <amodra@gmail.com>
139
140 * aoutx.h (adjust_sizes_and_vmas): Remove unused text_size and
141 text_end parameters. Update callers.
142 * aout-tic30.c: Update adjust_sizes_and_vmas callers.
143 * hp300hpux.c: Likewise.
144 * i386lynx.c: Likewise.
145 * libaout.h: Likewise.
146 * netbsd.h: Likewise.
147 * pdp11.c: Likewise.
148 * riscix.c: Likewise.
149
bbb1afc8
AM
1502015-12-01 Alan Modra <amodra@gmail.com>
151
152 * aout-adobe.c: Invoke aout N_* macros with pointer to
153 struct internal_exec.
154 * aout-arm.c: Likewise.
155 * aout-cris.c: Likewise.
156 * aout-target.h: Likewise.
157 * aout-tic30.c: Likewise.
158 * aoutf1.h: Likewise.
159 * aoutx.h: Likewise.
160 * bout.c: Likewise.
161 * freebsd.h: Likewise.
162 * gen-aout.c: Likewise.
163 * hp300hpux.c: Likewise.
164 * i386aout.c: Likewise.
165 * i386linux.c: Likewise.
166 * i386lynx.c: Likewise.
167 * i386mach3.c: Likewise.
168 * i386os9k.c: Likewise.
169 * libaout.h: Likewise.
170 * m68klinux.c: Likewise.
171 * m88kmach3.c: Likewise.
172 * mipsbsd.c: Likewise.
173 * netbsd.h: Likewise.
174 * pc532-mach.c: Likewise.
175 * pdp11.c: Likewise.
176 * riscix.c: Likewise.
177 * sparclinux.c: Likewise.
178 * sparclynx.c: Likewise.
179
b560e2ac
AM
1802015-12-01 Alan Modra <amodra@gmail.com>
181
182 * coff-rs6000.c (_bfd_xcoff_put_symbol_name): Replace abfd param
183 with info param. Test info->traditional_format rather than
184 BFD_TRADITIONAL_FORMAT flag.
185 * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Likewise.
186 * libxcoff.h (struct xcoff_backend_data_rec): Update
187 _xcoff_put_symbol_name prototype.
188 (bfd_xcoff_put_symbol_name): Add info param.
189 * xcofflink.c (xcoff_find_tc0): Update bfd_xcoff_put_symbol_name call.
190 (xcoff_write_global_symbol): Likewise.
191 (xcoff_link_input_bfd): Test info->traditional_format rather than
192 BFD_TRADITIONAL_FORMAT flag.
193 * cofflink.c (_bfd_coff_final_link): Likewise.
194 (_bfd_coff_link_input_bfd, _bfd_coff_write_global_sym): Likewise.
195
44c2e680
AM
1962015-12-01 Alan Modra <amodra@gmail.com>
197
198 * po/SRC-POTFILES.in: Regenerate.
199
f26dd308
AM
2002015-12-01 Alan Modra <amodra@gmail.com>
201
202 * elf32-arc.c (ARC_ELF_HOWTO): Delete.
203 (arc_elf_howto): New function.
204 (bfd_elf32_bfd_reloc_type_lookup): Use it in place of existing
205 init code.
206 (bfd_elf32_bfd_reloc_name_lookup): Use arc_elf_howto.
207 (arc_info_to_howto_rel, elf_arc_relocate_section): Likwise.
208 (elf_arc_check_relocs): Likewise.
209
0a5ff21b
AM
2102015-12-01 Cupertino Miranda <cupertino.miranda@synopsys.com>
211
212 * elf32-arc.c (arc_elf_howto_init): Init dst_mask.
213
0b1fa288
ST
2142015-11-20 Stefan Teleman <stefan.teleman@oracle.com>
215
216 PR ld/19260
217 * cache.c (bfd_cache_max_open): Avoid using getrlimit on 32-bit
218 Solaris as the result is unreliable.
219
9b334a2c
TG
2202015-11-20 Tristan Gingold <gingold@adacore.com>
221
222 * mach-o-x86-64.c (x86_64_howto_table): Change name here too.
223
f075eb5e
TG
2242015-11-20 Tristan Gingold <gingold@adacore.com>
225
226 * targets.c (aarch64_mach_o_vec, arm_mach_o_vec): Declare.
227 (_bfd_target_vector): Add new vectors.
228 * reloc.c (BFD_RELOC_MACH_O_SUBTRACTOR32)
229 (BFD_RELOC_MACH_O_SUBTRACTOR64, BFD_RELOC_MACH_O_ARM64_ADDEND)
230 (BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21)
231 (BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12)
232 (BFD_RELOC_MACH_O_ARM64_POINTER_TO_GOT): New relocations.
233 (BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32)
234 (BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64): Remove.
235 * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Change
236 name of subtractor relocations.
237 * config.bfd: Handle aarch64-*-darwin*, arm-*-darwin*.
238 * Makefile.am (BFD32_BACKENDS): Add mach-o-arm.lo.
239 (BFD32_BACKENDS_CFILES): Add mach-o-arm.c.
240 (BFD64_BACKENDS): Add mach-o-aarch64.lo.
241 (BFD64_BACKENDS_CFILES): Add mach-o-aarch64.c.
242 * configure.ac: Handle aarch64_mach_o_vec and arm_mach_o_vec.
243 * mach-o-aarch64.c: New file.
244 * mach-o-arm.c: New file.
245 * Makefile.in: Regenerate.
246 * bfd-in2.h: Regenerate.
247 * configure: Regenerate.
248 * libbfd.h: Regenerate.
249
11b8aeb8
DB
2502015-11-20 David Bridgham <dab@froghouse.org>
251
252 * pdp11.c (TARGET_PAGE_SIZE): Set to 256 to match definition in
253 ld/emulparams/pdp11.sh.
254
d47b13e0
AK
2552015-11-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
256
257 PR ld/19263
258 * elf32-s390.c (elf_s390_gc_sweep_hook): Add null ptr check.
259 * elf64-s390.c (elf_s390_check_relocs): Port the GOTOFF handling
260 over from the 32 bit code.
261 (elf_s390_relocate_section): Likewise.
262
4978e369
AM
2632015-11-18 Alan Modra <amodra@gmail.com>
264
265 PR 19256
266 * archive.c (bfd_generic_openr_next_archived_file): Don't allow
267 backward file movement via "negative" sizes.
268 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Likewise.
269
bcb51645
TG
2702015-11-18 Tristan Gingold <gingold@adacore.com>
271
272 * mach-o.h (bfd_mach_o_swap_in_non_scattered_reloc)
273 (bfd_mach_o_canonicalize_non_scattered_reloc)
274 (bfd_mach_o_pre_canonicalize_one_reloc): Declare.
275 (bfd_mach_o_backend_data): Rename field
276 _bfd_mach_o_swap_reloc_in to _bfd_mach_o_canonicalize_one_reloc.
277 * mach-o.c (bfd_mach_o_swap_in_non_scattered_reloc): Now public.
278 (bfd_mach_o_canonicalize_non_scattered_reloc): Renames from
279 bfd_mach_o_canonicalize_one_reloc.
280 (bfd_mach_o_pre_canonicalize_one_reloc): New function.
281 (bfd_mach_o_canonicalize_relocs): Adjust.
282 (bfd_mach_o_canonicalize_relocs): Rename define from
283 bfd_mach_o_swap_reloc_in.
284 * mach-o-target.c (TARGET_NAME_BACKEND): Use
285 bfd_mach_o_canonicalize_one_reloc instead of
286 bfd_mach_o_swap_reloc_in.
287 * mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc): Renames
288 from bfd_mach_o_i386_swap_reloc_in and adjust.
289 (bfd_mach_o_canonicalize_one_reloc): Renames from
290 bfd_mach_o_i386_canonicalize_one_reloc.
291 * mach-o-x86_64.c (bfd_mach_o_x86_64_canonicalize_one_reloc): Renames
292 from bfd_mach_o_x86_64_swap_reloc_in and adjust.
293 (bfd_mach_o_canonicalize_one_reloc): Renames from
294 bfd_mach_o_x86_64_canonicalize_one_reloc.
295
47daa70f
TG
2962015-11-18 Tristan Gingold <gingold@adacore.com>
297
298 * mach-o.h (struct mach_o_data_struct): Add hdr_offset field.
299 (bfd_mach_o_fat_archive_p): Renames prototype.
300 (bfd_mach_o_fat_openr_next_archived_file): Renames.
301 (bfd_mach_o_header_p): Add argument.
302 * mach-o.c (bfd_mach_o_read_header): Add hdr_off argument and
303 use it.
304 (bfd_mach_o_read_section_32, bfd_mach_o_read_section_64)
305 (bfd_mach_o_read_section): Remove offset argument.
306 (bfd_mach_o_read_dylinker): Remove bfd_seek call.
307 (bfd_mach_o_read_dylib, bfd_mach_o_read_prebound_dylib)
308 (bfd_mach_o_read_prebind_cksum, bfd_mach_o_read_twolevel_hints)
309 (bfd_mach_o_read_fvmlib, bfd_mach_o_read_dysymtab)
310 (bfd_mach_o_read_symtab, bfd_mach_o_read_uuid)
311 (bfd_mach_o_read_linkedit, bfd_mach_o_read_str)
312 (bfd_mach_o_read_dyld_info, bfd_mach_o_read_version_min)
313 (bfd_mach_o_read_encryption_info): Likewise.
314 (bfd_mach_o_read_encryption_info_64): New function.
315 (bfd_mach_o_read_main, bfd_mach_o_read_source_version)
316 (bfd_mach_o_read_segment): Remove call to bfd_seek.
317 (bfd_mach_o_read_command): Use hdr_offset in bfd_seek.
318 Handle BFD_MACH_O_LC_LINKER_OPTIMIZATION_HINT,
319 BFD_MACH_O_LC_ENCRYPTION_INFO_64, BFD_MACH_O_LC_VERSION_MIN_WATCHOS.
320 (bfd_mach_o_header_p): Add hdr_off argument.
321 (bfd_mach_o_gen_object_p, bfd_mach_o_gen_core_p): Adjust calls.
322 (bfd_mach_o_fat_archive_p): Renames.
323 (bfd_mach_o_fat_openr_next_archived_file): Renames.
324 (bfd_mach_o_close_and_cleanup): Remove useless code.
325 (bfd_mach_o_close_and_cleanup): Define.
326 * mach-o-x86-64.c (bfd_mach_o_x86_64_object_p)
327 (bfd_mach_o_x86_64_core_p): Adjust calls.
328 * mach-o-target.c: Move defines for archive from mach-o.c.
329 Remove check on TARGET_ARCHIVE.
330 * mach-o-i386.c (bfd_mach_o_i386_object_p)
331 (bfd_mach_o_i386_core_p): Adjust calls.
332
eee926f2
CL
3332015-11-17 Christophe Lyon <christophe.lyon@linaro.org>
334
335 * elf32-arm.c (elf32_arm_write_section): Force offset output as
336 long (%ld).
337
d8bd95ef
TG
3382015-11-13 Tristan Gingold <gingold@adacore.com>
339
340 * version.m4: Bump version to 2.26.51
341 * configure: Regenerate.
342
a680de9a
PB
3432015-11-11 Alan Modra <amodra@gmail.com>
344 Peter Bergner <bergner@vnet.ibm.com>
345
346 * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_REL16DX_HA.
347 (ppc_elf_reloc_type_lookup): Handle R_PPC_REL16DX_HA.
348 (ppc_elf_addr16_ha_reloc): Likewise.
349 (ppc_elf_check_relocs): Likewise.
350 (ppc_elf_relocate_section): Likewise.
351 (is_insn_dq_form): Handle lxv and stxv instructions.
352 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_REL16DX_HA.
353 (ppc64_elf_reloc_type_lookup): Handle R_PPC64_REL16DX_HA.
354 (ppc64_elf_ha_reloc): Likewise.
355 (ppc64_elf_check_relocs): Likewise.
356 (ppc64_elf_relocate_section): Likewise.
357 * bfd-in2.h: Regenerate.
358 * libbfd.h: Likewise.
359 * reloc.c (BFD_RELOC_PPC_REL16DX_HA): New.
360
18954b29
L
3612015-11-10 H.J. Lu <hongjiu.lu@intel.com>
362
363 * elf32-i386.c (elf_i386_relocate_section): Handle VTINHERIT
364 and VTENTRY relocations when deleting relocations.
365 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
366
2d5da473
L
3672015-11-10 H.J. Lu <hongjiu.lu@intel.com>
368
369 * elf32-i386.c (elf_i386_relocate_section): Properly move
370 kept relocations when deleting relocations.
371 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
372
60f2e42e
L
3732015-11-09 H.J. Lu <hongjiu.lu@intel.com>
374
375 * elf32-i386.c (elf_i386_relocate_section): Use read and write
376 pointers to reloc array, rather than memmove when deleting a
377 reloc. Don't use RELOC_AGAINST_DISCARDED_SECTION. Adjust
378 reloc counts at end of loop.
379 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
380
c316a17c
AM
3812015-11-10 Alan Modra <amodra@gmail.com>
382
383 * elf64-ppc.c (ppc64_elf_relocate_section): Use read and write
384 pointers to reloc array, rather than memmove when deleting a
385 reloc. Don't use RELOC_AGAINST_DISCARDED_SECTION. Adjust
386 reloc counts at end of loop.
387 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
388
29f628db
DV
3892015-11-09 Dominik Vogt <vogt@linux.vnet.ibm.com>
390
391 * elf64-ppc.c (ppc64_elf_size_stubs, ppc64_elf_build_stubs): Fix left
392 shift of negative value.
393 * libbfd.c (safe_read_leb128): Likewise.
394 * dwarf2.c (place_sections): Likewise.
395 * bfd-in.h (align_power): Likewise.
396 * bfd-in2.h (align_power): Likewise.
397
26f187cd
NC
3982015-10-30 Nick Clifton <nickc@redhat.com>
399
400 * po/zh_CN.po: Updated (simplified) Chinese translation.
401
ca9584fb 4022015-10-29 Catherine Moore <clm@codesourcery.com>
26f187cd 403
ca9584fb
CM
404 * elfxx-mips.c (mips_elf_check_mips16_stubs): Set a stub's output
405 section to bfd_abs_section_ptr if the stub is discarded.
406
a75cf613
ES
4072015-10-29 Ed Schouten <ed@nuxi.nl>
408
409 * config.bfd (targ_defvec): Add support for CloudABI on aarch64.
410 For this target we have to make sure we use ELFOSABI_CLOUDABI
411 instead of ELFOSABI_NONE.
412 * configure.ac (tb): Likewise.
413 * elfnn-aarch64.c: Likewise.
414 * targets.c (_bfd_target_vector): Likewise.
415 * configure: Regenerate.
416
968bc5cc
PA
4172015-10-29 Pedro Alves <palves@redhat.com>
418
419 * libhppa.h (bfd_hppa_insn2fmt): Add cast.
420
a3718e9e
L
4212015-10-28 H.J. Lu <hongjiu.lu@intel.com>
422
423 * elf32-i386.c (elf_i386_relocate_section): Fix a typo in
424 comment.
425
82188b29
NC
4262015-10-28 Nick Clifton <nickc@redhat.com>
427
428 * elf32-arm.c (create_instruction_branch_absolute): Replace
429 pointer parameters with a simple integer parameter.
430 (stm32l4xx_create_replacing_stub_ldmia): Update calls to
431 create_instruction_branch_absolute.
432 (stm32l4xx_create_replacing_stub_ldmdb): Likewise.
433 (stm32l4xx_create_replacing_stub_vldm): Likewise.
434 (elf32_arm_write_section): Use pointer type for veneer addresses.
435
6f4b1afc
CM
4362015-10-28 Cupertino Miranda <cmiranda@synopsys.com>
437
438 * reloc.c (BFD_RELOC_ARC_32_PCREL): New entry.
439 * elf32-arc.c (arc_elf_howto_ini): Update formula.
440 (get_middle_endian_relocation): New function.
441 (PDATA): Define.
442 * bfd-in2.h: Regenerate.
443 * libbfd.h: Likewise.
444
199af150
AM
4452015-10-28 Alan Modra <amodra@gmail.com>
446
447 PR ld/19162
448 * elflink.c (_bfd_elf_gc_mark_reloc): Move code iterating over
449 linker input bfds..
450 * section.c (bfd_get_next_section_by_name): ..to here. Add ibfd param.
451 (bfd_get_linker_section): Adjust bfd_get_next_section_by_name call.
452 * tekhex.c (first_phase): Likewise.
453 * elflink.c (bfd_elf_gc_sections): Likewise.
454 * bfd-in2.h: Regenerate.
455
a504d23a
LA
4562015-10-27 Laurent Alfonsi <laurent.alfonsi@st.com>
457 Christophe Monat <christophe.monat@st.com>
458
459 * bfd-in2.h: Regenerate.
460 * bfd-in.h (bfd_arm_stm32l4xx_fix): New enum. Specify how
461 STM32L4XX instruction scanning should be done.
462 (bfd_elf32_arm_set_stm32l4xx_fix)
463 (bfd_elf32_arm_stm32l4xx_erratum_scan)
464 (bfd_elf32_arm_stm32l4xx_fix_veneer_locations): Add prototypes.
465 (bfd_elf32_arm_set_target_relocs): Add stm32l4xx fix type argument
466 to prototype.
467 * elf32-arm.c (STM32L4XX_ERRATUM_VENEER_SECTION_NAME)
468 (STM32L4XX_ERRATUM_VENEER_ENTRY_NAME): Define macros.
469 (elf32_stm32l4xx_erratum_type): New enum.
470 (elf32_stm32l4xx_erratum_list): New struct. List of veneers or
471 jumps to veneers.
472 (_arm_elf_section_data): Add stm32l4xx_erratumcount,
473 stm32l4xx_erratumlist.
474 (elf32_arm_link_hash_table): Add stm32l4xx_erratum_glue_size,
475 stm32l4xx_fix and num_stm32l4xx_fixes fields.
476 (ctz): New function.
477 (popcount): New function.
478 (elf32_arm_link_hash_table_create): Initialize stm32l4xx_fix.
479 (put_thumb2_insn): New function.
480 (STM32L4XX_ERRATUM_LDM_VENEER_SIZE): Define. Size of a veneer for
481 LDM instructions.
482 (STM32L4XX_ERRATUM_VLDM_VENEER_SIZE): Define. Size of a veneer for
483 VLDM instructions.
484 (bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
485 glue section.
486 (record_stm32l4xx_erratum_veneer) : New function. Create a single
487 veneer, and its associated symbols.
488 (bfd_elf32_arm_add_glue_sections_to_bfd): Add STM32L4XX erratum glue.
489 (bfd_elf32_arm_set_stm32l4xx_fix): New function. Set the type of
490 erratum workaround required.
491 (bfd_elf32_arm_stm32l4xx_fix_veneer_locations): New function. Find
492 out where veneers and branches to veneers have been placed in
493 virtual memory after layout.
494 (is_thumb2_ldmia): New function.
495 (is_thumb2_ldmdb): Likewise.
496 (is_thumb2_vldm ): Likewise.
497 (stm32l4xx_need_create_replacing_stub): New function. Decide if a
498 veneer must be emitted.
499 (bfd_elf32_arm_stm32l4xx_erratum_scan): Scan the sections of an
500 input BFD for potential erratum-triggering insns. Record results.
501 (bfd_elf32_arm_set_target_relocs): Set stm32l4xx_fix field in
502 global hash table.
503 (elf32_arm_size_dynamic_sections): Collect glue information.
504 (create_instruction_branch_absolute): New function.
505 (create_instruction_ldmia): Likewise.
506 (create_instruction_ldmdb): Likewise.
507 (create_instruction_mov): Likewise.
508 (create_instruction_sub): Likewise.
509 (create_instruction_vldmia): Likewise.
510 (create_instruction_vldmdb): Likewise.
511 (create_instruction_udf_w): Likewise.
512 (create_instruction_udf): Likewise.
513 (push_thumb2_insn32): Likewise.
514 (push_thumb2_insn16): Likewise.
515 (stm32l4xx_fill_stub_udf): Likewise.
516 (stm32l4xx_create_replacing_stub_ldmia): New function. Expands the
517 replacing stub for ldmia instructions.
518 (stm32l4xx_create_replacing_stub_ldmdb): Likewise for ldmdb.
519 (stm32l4xx_create_replacing_stub_vldm): Likewise for vldm.
520 (stm32l4xx_create_replacing_stub): New function. Dispatches the
521 stub emission to the appropriate functions.
522 (elf32_arm_write_section): Output veneers, and branches to veneers.
523
d6867a75
SM
5242015-10-27 Sangamesh Mallayya <nickc@redhat.com>sangamesh.swamy@in.ibm.com>
525
526 * configure.ac (powerpc64-*-aix[5-9].*): Match powerpc64 running
527 aix for core file support.
528 * configure: Regenerate.
529 * rs6000-core.c: Check for __ld_info64 if compiling 64-bit gdb.
530 Added BFD64 check if we are using old core file format for 32-bit gdb.
531 Set sizeof CORE_COMMONSZ appropriately in case of either new or
532 old core file format.
533 (read_hdr): Added BFD64 check for 64-bit support.
534 (rs6000coff_core_p): Likewise.
535 (rs6000coff_core_file_matches_executable_p): Likewise.
536 (rs6000coff_core_file_failing_command): Likewise.
537 (rs6000coff_core_file_failing_signal): Likewise.
538 Add support for debugging core files generated by binaries in
539 Large Memory model.
540 (rs6000coff_core_p): If Large Memory Model is used, then the .data
541 segment should start from BDATAORG which has been defined in the
542 system header files.
543
7b7e7f1d
L
5442015-10-26 H.J. Lu <hongjiu.lu@intel.com>
545
546 PR ld/19175
547 * elf32-i386.c (elf_i386_convert_load): Check bfd_link_hash_new
548 instead of calling bfd_link_get_defined_symbol.
549 * elf64-x86-64.c (elf_x86_64_convert_load): Likewise. Skip
550 relocation overflow for bfd_link_hash_new.
551 * linker.c (bfd_link_get_defined_symbol): Removed.
552 * bfd-in2.h: Regenerated.
553
a6af384b
L
5542015-10-26 H.J. Lu <hongjiu.lu@intel.com>
555
556 PR ld/19171
557 * elf32-i386.c (elf_i386_convert_load): Call
558 bfd_link_get_defined_symbol to check if a symbol is defined.
559 * elf64-x86-64.c (elf_x86_64_convert_load): Call
560 bfd_link_get_defined_symbol to get defined symbol section and
561 value.
562 * linker.c (bfd_link_get_defined_symbol): New function.
563 * bfd-in2.h: Regenerated.
564
1cce69b9
AM
5652015-10-23 Alan Modra <amodra@gmail.com>
566
567 PR ld/11133
568 PR ld/19161
569 PR ld/19167
570 * elflink.c (_bfd_elf_gc_mark_hook): Delete code handling __start_*
571 and __stop_* symbol refs.
572 (_bfd_elf_gc_mark_rsec): Add start_stop parameter. Handle __start_*
573 and __stop_* symbol refs here..
574 (_bfd_elf_gc_mark_reloc): ..and here.
575 * elf-bfd.h (_bfd_elf_gc_mark_hook): Update prototype.
576 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Update
577 _bfd_elf_gc_mark_rsec call.
578
1e7eae0d
AM
5792015-10-23 Alan Modra <amodra@gmail.com>
580
581 PR ld/11133
582 PR ld/19161
583 * elflink.c (elf_gc_sweep): Revert last patch.
584 (_bfd_elf_gc_mark_hook): Don't set SEC_KEEP here.
585
bba037e0
L
5862015-10-22 H.J. Lu <hongjiu.lu@intel.com>
587
588 PR ld/19161
589 * elflink.c (elf_gc_sweep): Always keep sections marked with
590 SEC_KEEP.
591
c287bfe4
HPN
5922015-10-22 Hans-Peter Nilsson <hp@bitrange.com>
593
594 * mmo.c (struct mmo_data_struct): New members
595 symbol_consistency_override_calculated and ignore_symbol_consistency.
596 (mmo_section_has_contents, mmo_ignore_symbol_consistency): New
597 functions.
598 (mmo_create_symbol): Check with mmo_ignore_symbol_consistency if to
599 report an error for unexpected value of Main.
600 (mmo_write_symbols_and_terminator): Similar.
601
caa65211
L
6022015-10-22 H.J. Lu <hongjiu.lu@intel.com>
603
604 * elf32-i386.c (elf_i386_convert_load): Use call_nop_byte and
605 check call_nop_as_suffix for 1-byte NOP padding to pad call.
606 * elf64-x86-64.c (elf_x86_64_convert_load): Likewise.
607
56ceb5b5
L
6082015-10-22 H.J. Lu <hongjiu.lu@intel.com>
609
610 * elf64-x86-64.c: Include opcode/i386.h.
611 (x86_64_elf_howto_table): Add R_X86_64_GOTPCRELX and
612 R_X86_64_REX_GOTPCRELX.
613 (R_X86_64_standard): Replace R_X86_64_PLT32_BND with
614 R_X86_64_REX_GOTPCRELX.
615 (x86_64_reloc_map): Add BFD_RELOC_X86_64_GOTPCRELX and
616 BFD_RELOC_X86_64_REX_GOTPCRELX.
617 (need_convert_mov_to_lea): Renamed to ...
618 (need_convert_load): This.
619 (elf_x86_64_check_relocs): Handle R_X86_64_GOTPCRELX and
620 R_X86_64_REX_GOTPCRELX. Replace need_convert_mov_to_lea with
621 need_convert_load.
622 (elf_x86_64_gc_sweep_hook): Handle R_X86_64_GOTPCRELX and
623 R_X86_64_REX_GOTPCRELX.
624 (elf_x86_64_size_dynamic_sections): Likewise.
625 (elf_x86_64_relocate_section): Likewise.
626 (elf_x86_64_convert_mov_to_lea): Renamed to ...
627 (elf_x86_64_convert_load): This. Replace need_convert_mov_to_lea
628 with need_convert_load. Support R_X86_64_GOTPCRELX and
629 R_X86_64_REX_GOTPCRELX transformations.
630 * reloc.c (BFD_RELOC_X86_64_GOTPCRELX): New.
631 (BFD_RELOC_X86_64_REX_GOTPCRELX): Likewise.
632 * bfd-in2.h: Regenerated.
633 * libbfd.h: Likewise.
634
02a86693
L
6352015-10-22 H.J. Lu <hongjiu.lu@intel.com>
636
637 * elf32-i386.c: Include opcode/i386.h.
638 (elf_howto_table): Add R_386_GOT32X.
639 (R_386_ext2): Replace R_386_IRELATIVE with R_386_GOT32X.
640 (elf_i386_reloc_type_lookup): Handle BFD_RELOC_386_GOT32X.
641 (need_convert_mov_to_lea): Renamed to ...
642 (need_convert_load): This.
643 (elf_i386_check_relocs): Handle R_386_GOT32X. Replace
644 need_convert_mov_to_lea with need_convert_load.
645 (elf_i386_gc_sweep_hook): Handle R_386_GOT32X.
646 (elf_i386_size_dynamic_sections): Likewise.
647 (elf_i386_relocate_section): Likewise.
648 (elf_i386_convert_mov_to_lea): Renamed to ...
649 (elf_i386_convert_load): This. Replace need_convert_mov_to_lea
650 with need_convert_load. Support R_386_GOT32X transformations.
651 * reloc.c (BFD_RELOC_386_GOT32X): New.
652 * bfd-in2.h: Regenerated.
653 * libbfd.h: Likewise.
654
99ba5125
AK
6552015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
656
657 * elf32-s390.c (elf_s390_check_relocs): Set the non_got_ref marker
658 only when linking an executable.
659 (elf_s390_relocate_section): Redirect PC-relative relocs to a IPLT
660 slot.
661 * elf64-s390.c (elf_s390_check_relocs): Set the non_got_ref marker
662 only when linking an executable.
663 (elf_s390_relocate_section): Redirect PC-relative relocs to a IPLT
664 slot.
665
d8ee9e44
AK
6662015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
667
668 * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Set the PLT
669 reference counters for local IFUNC calls.
670 * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
671
01a53584
AK
6722015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
673
674 * elf32-s390.c (elf_s390_check_relocs): Fallthrough to the PLT
675 slot allocating code for GOTOFF relocs on ifunc symbols.
676 (elf_s390_gc_sweep_hook): Decrement plt refcount for GOTOFF relocs
677 on ifunc symbols.
678 (elf_s390_relocate_section): Redirect a GOTOFF reloc to an iplt
679 slot.
680
0f042c67
AK
6812015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
682
683 PR ld/18841
684 * elf32-s390.c (elf_s390_reloc_type_class): Return
685 reloc_class_ifunc for ifunc symbols.
686 * elf64-s390.c (elf_s390_reloc_type_class): Likewise.
687
0a511368
AK
6882015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
689
690 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Call
691 elf_s390_finish_ifunc_symbol only for actually defined symbols.
692 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
693
61643fba
AK
6942015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
695
696 * elf-s390-common.c (s390_elf_allocate_ifunc_dyn_relocs): Remove
697 `head' parameter.
698 * elf32-s390.c (allocate_dynrelocs): Don't use last parameter.
699 * elf64-s390.c (allocate_dynrelocs): Don't use last parameter.
700
f9c62303
HPN
7012015-10-20 Hans-Peter Nilsson <hp@bitrange.com>
702
703 * mmo.c (mmo_write_symbols_and_terminator): Correct printed value
704 of Main in error message.
705
434d28e0
DE
7062015-10-18 Doug Evans <xdje42@gmail.com>
707
708 * targets.c (bfd_flavour_name): "MMO" is spelled "mmo".
709
9f08fa5c
AM
7102015-10-17 Alan Modra <amodra@gmail.com>
711
712 * elf64-ppc.c (ppc64_elf_size_stubs): Correct __glink_PLTresolve
713 eh_frame FDE for ELFv1.
714
75a06c79
L
7152015-10-16 H.J. Lu <hongjiu.lu@intel.com>
716
717 * elf32-i386.c (elf_i386_convert_mov_to_lea): Check if symbol
718 is defined.
719 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
720
b31bcacc
L
7212015-10-16 H.J. Lu <hongjiu.lu@intel.com>
722
723 * elf32-i386.c (elf_i386_convert_mov_to_lea): Don't check
724 def_regular.
725 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
726
ae7683d2
L
7272015-10-15 H.J. Lu <hongjiu.lu@intel.com>
728
729 * elflink.c (_bfd_elf_merge_symbol): Fix typos in comments
730
e43fb831
AM
7312015-10-15 Alan Modra <amodra@gmail.com>
732
733 * elf32-v850.c (v850_elf_copy_private_bfd_data): Remove assertion
734 that input and output .note.renesas sections are same size.
735 Instead, only copy input to output if they are.
736
b32a5c16
RV
7372015-10-15 Riku Voipio <riku.voipio@iki.fi>
738
739 PR ld/19123
740 * elfcore.h (elf_core_file_p): Use the file_ptr type to hold the
741 offset for bfd_seek.
742 * elfcode.h (elf_object_p): Likewise.
743
b4b0e149
RF
7442015-10-14 Rich Felker <dalias@libc.org>
745
746 PR ld/19091
747 * elf32-sh.c (sh_elf_size_dynamic_sections): Always emit
748 DT_PLTGOT for FDPIC output.
749
341b8ee7
AM
7502015-10-13 Alan Modra <amodra@gmail.com>
751
752 * elf.c (_bfd_elf_map_sections_to_segments): Don't set
753 PT_GNU_RELRO p_flags.
754 (assign_file_positions_for_non_load_sections): Set PT_GNU_RELRO
755 flags to PF_R here.
756
4373f8af
L
7572015-10-12 H.J. Lu <hongjiu.lu@intel.com>
758
759 PR ld/19073
760 * elflink.c (_bfd_elf_add_default_symbol): Skip the unversioned
761 definition after the default version.
762
ef05be83
AK
7632015-10-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
764
765 PR ld/19083
766 * elf32-s390.c (elf_s390_gc_sweep_hook): Do not reduce got
767 refcount for relocs not really requiring a got slot.
768 * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
769
da6e19a9
JDA
7702015-10-11 John David Anglin <danglin@gcc.gnu.org>
771
772 * elf-hppa.h (elf_hppa_action_discarded): Ignore relocations in
773 .data.rel.ro.local.
774
886a2506
NC
7752015-10-07 Cupertino Miranda <cmiranda@synopsys.com>
776
777 * archures.c: Remove support for older ARC. Added support for new
778 ARC cpus (ARC600, ARC601, ARC700, ARCV2).
779 * bfd-in2.h: Likewise.
780 * config.bfd: Likewise.
781 * cpu-arc.c: Likewise.
782 * elf32-arc.c: Totally changed file with a refactored
783 inplementation of the ARC port.
784 * libbfd.h: Added ARC specific relocation types.
785 * reloc.c: Likewise.
786
8c6da3df
L
7872015-10-06 H.J. Lu <hongjiu.lu@intel.com>
788
789 * bfd.c (bfd_update_compression_header): Clear the ch_reserved
790 field in 64-bit output.
791 (bfd_convert_section_contents): Likewise.
792
a0d49154
L
7932015-10-05 H.J. Lu <hongjiu.lu@intel.com>
794
795 PR ld/18914
796 * elflink.c (elf_link_add_object_symbols): Don't re-export a
797 symbol if it isn't undefined.
798
d00c2bc9
L
7992015-10-04 H.J. Lu <hongjiu.lu@intel.com>
800
801 * config.bfd (targ_selvecs, targ64_selvecs): Add iamcu_elf32_vec,
802 i386_pei_vec and x86_64_pei_vec for Solaris2/x86.
803
0484b454
RL
8042015-10-02 Renlin Li <renlin.li@arm.com>
805
806 * elfnn-aarch64.c (aarch64_tls_transition_without_check): Add
807 relax transitions for TLSDESC_ADD, TLSDESC_LDR, TLSDESC_OFF_G0_NC,
808 TLSDESC_OFF_G1.
809 (aarch64_tls_transition_without_check): Add relaxation support.
810 (aarch64_reloc_got_type): Add support.
811 (elfNN_aarch64_final_link_relocate): Likewise.
812 (elfNN_aarch64_tls_relax): Likewise.
813 (elfNN_aarch64_relocate_section): Likewise.
814 (elfNN_aarch64_gc_sweep_hook): Likewise.
815 (elfNN_aarch64_check_relocs): Likewise.
816 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
817 (_bfd_aarch64_elf_resolve_relocation): Likewise.
818
43a357f9
RL
8192015-10-02 Renlin Li <renlin.li@arm.com>
820
821 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Check overflow for
822 BFD_RELOC_AARCH64_TLSDESC_OFF_G1.
823
ac734732
RL
8242015-10-02 Renlin Li <renlin.li@arm.com>
825
826 * elfnn-aarch64.c(IS_AARCH64_TLS_RELAX_RELOC):
827 Add relaxation support for TLSGD_MOVW_G0_NC and TLSGD_MOVW_G1.
828 (aarch64_tls_transition_without_check): Likewise
829 (elfNN_aarch64_tls_relax): Likwise.
830
b7a944fe
RL
8312015-10-02 Renlin Li <renlin.li@arm.com>
832
833 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Create GOT section
834 for TLSLE_MOVW_TPREL_G(1, 1_NC, 2) relocation.
835
3b957e5b
RL
8362015-10-02 Renlin Li <renlin.li@arm.com>
837
838 * reloc.c: Make AARCH64_TLSIE_MOVW_GOTTPREL_G1 and
839 AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC defined in alphabetical order.
840 * libbfd.h: Regenerate.
841 * bfd-in2.h: Likewise.
842 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Make
843 TLSIE_MOVW_GOTTPREL_G1 check overflow.
844 (aarch64_reloc_got_type): Add support for TLSIE_MOVW_GOTTPREL_G1
845 and TLSIE_MOVW_GOTTPREL_G0_NC.
846 (elfNN_aarch64_final_link_relocate): Likewise.
847 (elfNN_aarch64_relocate_section): Likewise.
848 (elfNN_aarch64_gc_sweep_hook): Likewise.
849 (elfNN_aarch64_check_relocs): Likewise.
850 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
851 (_bfd_aarch64_elf_resolve_relocation): Likewise.
852
7ba7cfe4
RL
8532015-10-02 Renlin Li <renlin.li@arm.com>
854
855 * elfnn-aarch64.c (aarch64_reloc_got_type): Add
856 BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC support.
857 (elfNN_aarch64_final_link_relocate): Likewise.
858 (elfNN_aarch64_relocate_section): Likewise.
859 (elfNN_aarch64_gc_sweep_hook): Likewise.
860 (elfNN_aarch64_check_relocs): Likewise.
861 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
862 (_bfd_aarch64_elf_resolve_relocation): Likewise.
863
3e8286c0
RL
8642015-10-02 Renlin Li <renlin.li@arm.com>
865
866 * reloc.c (BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC): New entry.
867 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
868 BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC.
869 * libbfd.h: Regenerate.
870 * bfd-in2.h: Likewise
871
94facae3
RL
8722015-10-02 Renlin Li <renlin.li@arm.com>
873
874 * elfnn-aarch64.c (aarch64_reloc_got_type): Add
875 BFD_RELOC_AARCH64_TLSGD_MOVW_G1 support.
876 (elfNN_aarch64_final_link_relocate): Likewise.
877 (elfNN_aarch64_relocate_section): Likewise.
878 (elfNN_aarch64_gc_sweep_hook): Likewise.
879 (elfNN_aarch64_check_relocs): Likewise.
880 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
881 (_bfd_aarch64_elf_resolve_relocation): Likewise.
882
1aa66fb1
RL
8832015-10-02 Renlin Li <renlin.li@arm.com>
884
885 * reloc.c (BFD_RELOC_AARCH64_TLSGD_MOVW_G1): New entry.
886 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
887 BFD_RELOC_AARCH64_TLSGD_MOVW_G1.
888 * bfd-in2.h: Regenerate.
889 * libbfd.h: Likewise.
890
dc8008f5
RL
8912015-10-02 Renlin Li <renlin.li@arm.com>
892
893 * elfnn-aarch64.c (aarch64_reloc_got_type): Add
894 BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC support.
895 (elfNN_aarch64_final_link_relocate): Likewise.
896 (elfNN_aarch64_gc_sweep_hook): Likewise.
897 (elfNN_aarch64_check_relocs): Likewise.
898 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
899 (_bfd_aarch64_elf_resolve_relocation): Likewise.
900
ca632371
RL
9012015-10-02 Renlin Li <renlin.li@arm.com>
902
903 * reloc.c (BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC): New.
904 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry
905 MOVW_GOTOFF_G0_NC.
906 * libbfd.h: Regnerate.
907 * bfd-in2.h: Regenerate.
908
74a1bfe1
RL
9092015-10-02 Renlin Li <renlin.li@arm.com>
910
911 * elfnn-aarch64.c (aarch64_reloc_got_type): Add support
912 for BFD_RELOC_AARCH64_MOVW_GOTOFF_G1.
913 (elfNN_aarch64_gc_sweep_hook): Likewise.
914 (elfNN_aarch64_check_relocs): Likewise
915 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
916 (_bfd_aarch64_elf_resolve_relocation): Likewise
917 (elfNN_aarch64_final_link_relocate): Likewise
918
654248e7
RL
9192015-010-02 Renlin Li <renlin.li@arm.com>
920
921 * reloc.c (BFD_RELOC_AARCH64_MOVW_GOTOFF_G1): New.
922 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
923 MOVW_GOTOFF_G1.
924 * libbfd.h: Regenerate.
925 * bfd-in2.h: Regenerate.
926
a2e1db00
RL
9272015-10-02 Renlin Li <renlin.li@arm.com>
928
929 * elfnn-aarch64.c (aarch64_reloc_got_type): Add
930 BFD_RELOC_AARCH64_LD_64_GOTOFF_LO15 support.
931 (elfNN_aarch64_gc_sweep_hook): Likewise.
932 (elfNN_aarch64_check_relocs): Likewise
933 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
934 (_bfd_aarch64_elf_resolve_relocation): Likewise
935 (elfNN_aarch64_final_link_relocate): Calculate offset within GOT.
936
a0becb89
RL
9372015-10-02 Renlin Li <renlin.li@arm.com>
938
939 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Change if to
940 switch statement.
941
5db4f0d3
L
9422015-10-01 H.J. Lu <hongjiu.lu@intel.com>
943
944 PR ld/19031
945 * elf64-x86-64.c (elf_x86_64_check_relocs): Set
946 pointer_equality_needed for R_X86_64_PC32 reloc in non-code
947 sections.
948
73524045
RL
9492015-10-01 Renlin Li <renlin.li@arm.com>
950
951 * elfnn-aarch64.c (elfNN_aarch64_output_plt_map): Remove.
952 (elfNN_aarch64_output_arch_local_syms): Emit AARCH64_MAP_INSN once.
953
de48f481
KK
9542015-10-01 Kaz Kojima <kkojima@rr.iij4u.or.jp>
955
956 * config.bfd (targ_selvecs): Remove sh_elf32_vec and
957 sh_elf32_le_vec from sh*-*-linux cases.
958
017e6bce
AM
9592015-10-01 Alan Modra <amodra@gmail.com>
960
961 PR ld/19013
962 * elflink.c (_bfd_elf_merge_sections): Revert last change.
963
4b627c18
L
9642015-09-30 H.J. Lu <hongjiu.lu@intel.com>
965
966 PR ld/19031
967 * elf32-i386.c (elf_i386_check_relocs): Set
968 pointer_equality_needed for R_386_PC32 reloc in non-code
969 sections.
970
9865bd0d
L
9712015-09-30 H.J. Lu <hongjiu.lu@intel.com>
972
973 PR ld/19013
974 * elflink.c (_bfd_elf_merge_sections): Only merge input bfds
975 that have the compatible ELF machine code with the output bfd.
976
630993ec
AM
9772015-09-30 Alan Modra <amodra@gmail.com>
978
979 PR ld/19013
980 * elflink.c (_bfd_elf_merge_sections): Only merge input bfds that
981 will be handled by elf_link_input_bfd. Rename abfd param to obfd.
982
6c4f2328
RF
9832015-09-30 Rich Felker <dalias@libc.org>
984
985 * config.bfd (targ_selvecs): Add fdpic and misc targets
986 for sh*-*-linux*.
987
cbd44e24
L
9882015-09-29 Andrew Stubbs <ams@codesourcery.com>
989 H.J. Lu <hongjiu.lu@intel.com>
990
991 PR binutils/19020
992 * bfd.c (bfd_convert_section_contents): Add ptr_size parameter.
993 * bfd-in2.h: Regenerated.
994
8a9e7a91
PZ
9952015-08-11 Peter Zotov <whitequark@whitequark.org>
996
997 PR ld/18759
998 * elf32-or1k.c (R_OR1K_32_PCREL): Set pcrel_offset to TRUE.
999 (R_OR1K_16_PCREL): Likewise.
1000 (R_OR1K_8_PCREL): Likewise.
1001
b6518b38
NC
10022015-09-23 Nick Clifton <nickc@redhat.com>
1003
1004 * bout.c (b_out_slurp_reloc_table): Cast constant to unsigned in
1005 order to avoid problems with left shifting negative values.
1006 (abs32code): Likewise.
1007 * mach-o.c (FILE_ALIGN): Likewise.
1008 * coff-rs6000.c (xcoff_debug_sections): Delete unused static
1009 array.
1010 * elf32-visium.c (visium_reloc_map): Likewise.
1011 * elf32-arm.c (elf32_arm_final_link_relocate): Remove useless
1012 calls to abs function.
1013 * elf32-frv.c (_frvfdpic_relax_tls_entries): Likewise.
1014 * elf32-score.c (score_elf_final_link_relocate): Likewise.
1015 * elf32-score7.c (score_elf_final_link_relocate): Likewise.
1016 * elf32-i860.c (i860_howto_pc26_reloc): Use multiplication instead
1017 of shifting to create a negative mask.
1018 * elf32-msp430.c (elf_backend_special_sections): Define.
1019 * elfxx-mips.c (got_ofst_reloc_p): Delete unused function.
1020 (got_hi16_reloc_p): Delete unused function.
1021 * ppcboot.c (ppcboot_bfd_print_private_bfd_data): Fix test of
1022 partition name.
1023
6a40cf0c
NC
10242015-09-23 Nick Clifton <nickc@redhat.com>
1025
1026 PR binutils/15835
1027 * elf-bfd.h (struct elf_section_list): New structure.
1028 (struct elf_obj_tdata): Replace symtab_shndx_hdr with
1029 symtab_shndx_list. Delete symtab_shndx_section.
1030 (elf_symtab_shndx): Replace macro with elf_symtab_shndx_list.
1031 * elf.c (bfd_elf_get_syms): If symtab index sections are present,
1032 scan them for the section that matches the provided symbol table.
1033 (bfd_section_from_shdr): Record all SHT_SYMTAB_SHNDX sections.
1034 (assign_section_numbers): Use the first symtab index table in the
1035 list.
1036 (_bfd_elf_compute_section_file_positions): Replace use of
1037 symtab_shndx_hdr with use of symtab_shndx_list.
1038 (find_section_in_list): New function.
1039 (assign_file_postions_except_relocs): Use new function.
1040 (_bfd_elf_copy_private_symbol_data): Likewise.
1041 (swap_out_syms): Handle multiple symbol table index sections.
1042 * elf32-m32c.c (m32c_elf_relax_section): Replace use of
1043 symtab_shndx_hdr with use of symtab_shndx_list.
1044 * elf32-rl78.c (rl78_elf_relax_section): Likewise.
1045 * elf32-rx.c (rx_relax_section): Likewise.
1046 * elf32-v850.c (v850_elf_relax_delete_bytes): Likewise.
1047 * elflink.c (bfd_elf_final_link): Likewise.
1048
c8b187ea
L
10492015-09-21 H.J. Lu <hongjiu.lu@intel.com>
1050
1051 * bfd.c (bfd_update_compression_header): Use bfd_put_32 on
1052 ch_type.
1053 (bfd_check_compression_header): Use bfd_get_32 on ch_type.
1054 (bfd_convert_section_contents): Use bfd_get_32 and bfd_put_32
1055 on ch_type.
1056
9b8b325a
RF
10572015-09-20 Rich Felker <dalias@libc.org>
1058
1059 * elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create
1060 .interp when info->nointerp.
1061 (bfd_elf_size_dynamic_sections): Adjust assert.
1062 * elf32-arm.c (elf32_arm_size_dynamic_sections): Don't size .interp
1063 when info->nointerp.
1064 * elf32-bfin.c (elf32_bfinfdpic_size_dynamic_sections): Likewise.
1065 * elf32-cr16.c (_bfd_cr16_elf_size_dynamic_sections): Likewise.
1066 * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
1067 * elf32-frv.c (elf32_frvfdpic_size_dynamic_sections): Likewise.
1068 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
1069 * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
1070 * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
1071 * elf32-lm32.c (lm32_elf_size_dynamic_sections): Likewise.
1072 * elf32-m32r.c (m32r_elf_size_dynamic_sections): Likewise.
1073 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
1074 * elf32-metag.c (elf_metag_size_dynamic_sections): Likewise.
1075 * elf32-nds32.c (nds32_elf_size_dynamic_sections): Likewise.
1076 * elf32-nios2.c (nios2_elf32_size_dynamic_sections): Likewise.
1077 * elf32-or1k.c (or1k_elf_size_dynamic_sections): Likewise.
1078 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
1079 * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
1080 * elf32-score.c (s3_bfd_score_elf_size_dynamic_sections): Likewise.
1081 * elf32-score7.c (s7_bfd_score_elf_size_dynamic_sections): Likewise.
1082 * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
1083 * elf32-tic6x.c (elf32_tic6x_size_dynamic_sections): Likewise.
1084 * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Likewise.
1085 * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
1086 * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
1087 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
1088 * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
1089 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Likewise.
1090 * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
1091 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
1092 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
1093 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Likewise.
1094 * elfnn-ia64.c (elfNN_ia64_size_dynamic_sections): Likewise.
1095 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise.
1096 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
1097 * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): Likewise.
1098
015d2e7e
DE
10992015-09-18 Doug Evans <xdje42@gmail.com>
1100
1101 * targets.c (enum bfd_flavour): Add comment.
1102 (bfd_flavour_name): New function.
1103 * bfd-in2.h: Regenerate.
1104
7c9cf415
AM
11052015-09-18 Alan Modra <amodra@gmail.com>
1106
1107 * elf64-ppc.h (struct ppc64_elf_params <tls_get_addr_opt>): Rename
1108 from no_tls_get_addr_opt.
1109 * elf64-ppc.c: Update for rename and inversion of tls_get_addr_opt.
1110 (ppc64_elf_tls_setup): Set tls_get_addr_opt to 0 only when at
1111 default of -1.
1112
b29b8669
AM
11132015-09-17 Alan Modra <amodra@gmail.com>
1114
1115 PR 18867
1116 * elflink.c (elf_link_adjust_relocs): Correct start of insertion
1117 sort main loop.
1118
bca6d0e3
AM
11192015-09-16 Alan Modra <amodra@gmail.com>
1120
1121 PR 18867
1122 * elflink.c (elf_link_adjust_relocs): Modify insertion sort to
1123 insert a run. Return status in case of malloc failure.
1124 Adjust callers.
1125
92b3f008
MF
11262015-09-15 Max Filippov <jcmvbkbc@gmail.com>
1127
1128 * elf32-xtensa.c (elf_xtensa_be_plt_entry)
1129 (elf_xtensa_le_plt_entry): Emit 'entry' instruction only for
1130 windowed ABI.
1131 (elf_xtensa_create_plt_entry): Generate 'l32r' offsets and fix
1132 up instructions according to ABI.
1133
fbedb42d
RF
11342015-09-14 Rich Felker <dalias@libc.org>
1135
1136 * elf32-sh.c (sh_elf_relocate_section): Set EF_SH_PIC flag
1137 instead of clearing it on cross-section relocations.
1138 (sh_elf_merge_private_data): Clear EF_SH_PIC flag by default.
1139
f3c3938c
JDA
11402015-09-12 Helge Deller <deller@gmx.de>
1141
1142 PR ld/18514
1143 * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Set .plt entry
1144 size to 0.
1145
4af68b9c
JW
11462015-09-09 Jiong Wang <jiong.wang@arm.com>
1147
1148 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Sort alphabetically.
1149
259364ad
JW
11502015-09-09 Jiong Wang <jiong.wang@arm.com>
1151
1152 * elfnn-aarch64.c (aarch64_tls_transition_without_check): Support three
1153 TLS local dynamic traditional relocations types.
1154 (elfNN_aarch64_tls_relax): Support TLS local dynamic traditional to
1155 local executable relaxation.
1156
77697d41
L
11572015-09-03 H.J. Lu <hongjiu.lu@intel.com>
1158
1159 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Remove
1160 convert_mov_to_lea.
1161
c74be520
L
11622015-09-02 H.J. Lu <hongjiu.lu@intel.com>
1163
1164 * elf32-i386.c (R_386_irelative): Renamed to ...
1165 (R_386_ext2): This.
1166 (R_386_vt_offset): Updated.
1167 (elf_i386_rtype_to_howto): Likewise.
1168 (elf_i386_relocate_section): Likewise.
1169
04ebc307
L
11702015-09-01 H.J. Lu <hongjiu.lu@intel.com>
1171
1172 PR ld/18900
1173 * elf32-i386.c (elf_i386_link_hash_entry): Add
1174 func_pointer_refcount.
1175 (elf_i386_link_hash_newfunc): Clear func_pointer_refcount.
1176 (elf_i386_get_local_sym_hash): Likewise.
1177 (elf_i386_copy_indirect_symbol): Also copy
1178 func_pointer_refcount.
1179 (elf_i386_check_relocs): Increment func_pointer_refcount.
1180 (elf_i386_gc_sweep_hook): Decrement func_pointer_refcount.
1181 (elf_i386_allocate_dynrelocs): Don't create the PLT entry if
1182 there are only function pointer relocations which can be
1183 resolved at run-time. Keep dynanamic relocations for run-time
1184 function pointer initialization.
1185 (elf_i386_relocate_section): Copy dynamic function pointer
1186 relocations.
1187 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add
1188 func_pointer_refcount.
1189 (elf_x86_64_link_hash_newfunc): Clear func_pointer_refcount.
1190 (elf_x86_64_get_local_sym_hash): Likewise.
1191 (elf_x86_64_copy_indirect_symbol): Also copy
1192 func_pointer_refcount.
1193 (elf_x86_64_check_relocs): Increment func_pointer_refcount.
1194 (elf_x86_64_gc_sweep_hook): Decrement func_pointer_refcount.
1195 (elf_x86_64_allocate_dynrelocs): Don't create the PLT entry if
1196 there are only function pointer relocations which can be
1197 resolved at run-time. Keep dynanamic relocations for run-time
1198 function pointer initialization.
1199 (elf_x86_64_relocate_section): Copy dynamic function pointer
1200 relocations.
1201
b07bca4e
AM
12022015-09-01 Alan Modra <amodra@gmail.com>
1203
1204 * elf64-ppc.c (ppc64_elf_maybe_function_sym): Adjust symbol value
1205 if .opd section has been edited.
1206
a4b6fadd
AM
12072015-09-01 Alan Modra <amodra@gmail.com>
1208
1209 PR 18878
1210 * elf64-ppc.c (ARRAY_SIZE): Define. Use throughout.
1211 (enum ppc_stub_type): Add ppc_stub_save_res.
1212 (struct map_stub): Add "next" and "needs_save_res".
1213 (struct ppc_link_hash_entry): Add "save_res" flag.
1214 (struct ppc_link_hash_table): Add "group".
1215 (sfpr_define): Add stub_sec param. Define symbol in stub_sec if
1216 stub_sec is non-null. Set "save_res".
1217 (save_res_funcs): Make file scope, rename from funcs. Adjust uses.
1218 (ppc64_elf_adjust_dynamic_symbol): Prohibit plt call to save_res syms.
1219 (ppc_build_one_stub): Handle ppc_stub_save_res.
1220 (ppc_size_one_stub): Set stub type to ppc_size_one_stub on finding
1221 stub for linker defined save_res sym.
1222 (group_sections): Init new fields of struct map_stub.
1223 (ppc64_elf_size_stubs): Reserve space for save/restore func copy.
1224 (ppc64_elf_build_stubs): Copy save/restore funcs to groups. Emit
1225 alias syms too.
1226 (ppc64_elf_relocate_section): Set destination for ppc_stub_save_res.
1227
a7c49797
AM
12282015-08-31 Alan Modra <amodra@gmail.com>
1229
1230 * elf64-ppc.c (get_r2off): Return -1 on error.
1231 (ppc_build_one_stub): Adjust for get_r2off change. Don't emit
1232 addi r2,r2,0 on r2off stubs when the low 16-bit delta is zero.
1233 (ppc_size_one_stub): Corresponding size changes for r2off stubs.
1234 Add condition in test for -R objects.
1235
6f20ed8a
AM
12362015-08-31 Alan Modra <amodra@gmail.com>
1237
1238 * section.c (section_id): Make file scope.
1239 (bfd_get_next_section_id): New function.
1240 * elf64-ppc.c (struct map_stub): Remove toc_off field. Move decl.
1241 (struct ppc_stub_hash_entry): Delete stub_sec and id_sec. Add
1242 group. Update all uses.
1243 (struct ppc_link_hash_table): Delete top_id, top_index, and
1244 input_list. Add sec_info_arr_size. Rename stub_group to
1245 sec_info, and make group info indirect. Update stub_group refs
1246 throughout file.
1247 (ppc_add_stub): Don't look for stub_sec on link_sec stub_group
1248 entry.
1249 (ppc_build_one_stub): Delete FIXME.
1250 (ppc64_elf_setup_section_lists): Size htab->sec_info for all
1251 sections, not just input sections. Don't create htab->input_list.
1252 (ppc64_elf_next_input_section): Update to use sec_info union as
1253 list pointer.
1254 (PREV_SEC): Delete.
1255 (group_sections): Pass "info" param rather than "htab". Iterate
1256 over output sections rather than input_list. Use sec_info union
1257 as list pointers. Alloc atruct map_stub, and return fail status.
1258 * bfd-in2.h: Regenerate.
1259
d3435ae8
AM
12602015-08-31 Alan Modra <amodra@gmail.com>
1261
1262 * elflink.c (elf_sort_symbol): Use correctly sized type for
1263 calculating signed section->id difference.
1264 (elf_link_add_object_symbols): Likewise.
1265 * pef.c (bfd_pef_scan_start_address): Warning fix.
1266 * vms-alpha.c (vms_new_section_hook): Likewise.
1267
6cae483a
AM
12682015-08-31 Alan Modra <amodra@gmail.com>
1269
1270 * elf32-nds32.c (nds32_convert_32_to_16_alu1): Warning fix.
1271 (find_relocs_at_address_addr): Make "reloc_type" an enum.
1272 (nds32_elf_relax_delete_blanks): Warning fix.
1273 (nds32_elf_relax_loadstore): Correct loop bound.
1274
7292b3ac
AM
12752015-08-31 Alan Modra <amodra@gmail.com>
1276
1277 * section.c (struct bfd_section): Make "id" and "index" unsigned.
1278 * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Adjust local var to suit.
1279 * elf.c (elf_map_symbols): Likewise.
1280 * elf64-ppc.c (sym_exists_at): Make "id" param unsigned.
1281 (struct ppc_link_hash_table): Make "top_id" and "top_index" unsigned.
1282 (ppc64_elf_setup_section_lists): Ditto for local vars.
1283 * elf32-arm.c: Similarly to elf64-ppc.c.
1284 * elf32-avr.c: Likewise.
1285 * elf32-hppa.c: Likewise.
1286 * elf32-m68hc1x.c: Likewise.
1287 * elf32-metag.c: Likewise.
1288 * elf32-nios2.c: Likewise.
1289 * elfnn-aarch64.c: Likewise.
1290 * simple.c (struct saved_offsets): Make "section_count" unsigned.
1291 * bfd-in2.h: Regenerate.
1292
6fc5bb57
AM
12932015-08-27 Alan Modra <amodra@gmail.com>
1294
a40d44c4 1295 PR 18867
6fc5bb57
AM
1296 * elf64-alpha.c (elf64_alpha_sort_relocs_p): New function.
1297 (elf_backend_sort_relocs_p): Define.
1298
0e287786
AM
12992015-08-26 Alan Modra <amodra@gmail.com>
1300
1301 PR 18867
1302 * elflink.c (cmp_ext32l_r_offset, cmp_ext32b_r_offset): Delete.
1303 (cmp_ext64l_r_offset, cmp_ext64b_r_offset): Delete.
1304 (ext32l_r_offset, ext32b_r_offset, ext64l_r_offset, ext64b_r_offset):
1305 New functions.
1306 (elf_link_adjust_relocs): Use an insertion sort to sort relocs.
1307
c97c330b
MF
13082015-08-26 Matthew Fortune <matthew.fortune@imgtec.com>
1309
1310 PR ld/18401
1311 * elfxx-mips.c (bfd_mips_isa_ext_mach): New function: Converts an
1312 ISA value to a bfd machine number.
1313 (bfd_mips_isa_ext): Update the ISA level and revision if
1314 necessary. Use mips_mach_extends_p to decide if the ISA extension
1315 needs to be set.
1316 (_bfd_mips_elf_merge_private_bfd_data): Allow the ISA extension to
1317 be inferred from the ABI setting. Set the ISA level from the
1318 maximum of the incoming and outgoing ISA levels.
1319
16ad13ec
NC
13202015-08-25 Nick Clifton <nickc@redhat.com>
1321
1322 PR binutils/18854
1323 * elf.c (bfd_section_from_shdr): Replace assertions with warnings
1324 about multiple symbol tables.
1325
7c2bea1a
RL
13262015-08-25 Renlin Li <renlin.li@arm.com>
1327
1328 * reloc.c (BFD_RELOC_AARCH64_LD64_GOTOFF_LO15): Use LP64 instead of
1329 ILP64.
1330 * bfd-in2.h: Regenerate.
1331
595bce75
AM
13322015-08-22 Alan Modra <amodra@gmail.com>
1333
1334 * elf.c (_bfd_elf_slurp_version_tables): Always init vd_nodename.
1335 Don't copy fields not set by _bfd_elf_swap_verdef_in.
1336
07c9aa07
JW
13372015-08-19 Jiong Wang <jiong.wang@arm.com>
1338
1339 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize new relocation
1340 types, including BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12,
1341 BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
1342 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12,
1343 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
1344 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12,
1345 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC,
1346 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12,
1347 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC.
1348 (elfNN_aarch64_final_link_relocate): Likewise.
1349 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1350 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1351
4c562523
JW
13522015-08-19 Jiong Wang <jiong.wang@arm.com>
1353
1354 * reloc.c (BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12,
1355 BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
1356 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12,
1357 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
1358 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12,
1359 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC.
1360 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12,
1361 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC): New entries.
1362 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
1363 * bfd-in2.h: Regenerate.
1364 * libbfd.h: Regenerate.
1365
6ffe9a1b
JW
13662015-08-19 Jiong Wang <jiong.wang@arm.com>
1367
1368 PR ld/18276
1369 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize new relocation
1370 types, including BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12,
1371 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0,
1372 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC,
1373 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1,
1374 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC,
1375 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2.
1376 (elfNN_aarch64_final_link_relocate): Likewise.
1377 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1378 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1379
49df5539
JW
13802015-08-19 Jiong Wang <jiong.wang@arm.com>
1381
1382 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12,
1383 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0,
1384 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC,
1385 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1,
1386 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC,
1387 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2): New entries.
1388 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
1389 * bfd-in2.h: Regenerate.
1390 * libbfd.h: Regenerate.
1391
753999c1
JW
13922015-08-19 Jiong Wang <jiong.wang@arm.com>
1393
1394 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
1395 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC.
1396 (aarch64_reloc_got_type): Likewise.
1397 (elfNN_aarch64_final_link_relocate): Likewise.
1398 (elfNN_aarch64_relocate_section): Likewise.
1399 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1400 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1401
13289c10
JW
14022015-08-19 Jiong Wang <jiong.wang@arm.com>
1403
1404 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC): New entry.
1405 * bfd-in2.h: Regenerate.
1406 * libbfd.h: Regenerate.
1407 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1408 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC.
1409
3cbc1e5e
AM
14102015-08-19 Alan Modra <amodra@gmail.com>
1411
1412 * elf-s390-common.c: Simplify expressions using
1413 bfd_linke_executable, bfd_link_pie and bfd_link_pic.
1414 * elf32-arm.c: Likewise.
1415 * elf32-bfin.c: Likewise.
1416 * elf32-frv.c: Likewise.
1417 * elf32-m68k.c: Likewise.
1418 * elf32-nios2.c: Likewise.
1419 * elf32-ppc.c: Likewise.
1420 * elf32-s390.c: Likewise.
1421 * elf32-sh.c: Likewise.
1422 * elf64-alpha.c: Likewise.
1423 * elf64-ppc.c: Likewise.
1424 * elf64-s390.c: Likewise.
1425 * elflink.c: Likewise.
1426
44b4145b
JW
14272015-08-18 Jiong Wang <jiong.wang@arm.com>
1428
1429 * elfnn-aarch64.c (aarch64_reloc_got_type): Delete useless check.
1430 (elfNN_aarch64_relocate_section): Likewise.
1431 (elfNN_aarch64_gc_sweep_hook): Likewise.
1432 (elfNN_aarch64_check_relocs): Likewise.
1433
cae1fbbb
L
14342015-08-18 H.J. Lu <hongjiu.lu@intel.com>
1435
1436 PR ld/18841
1437 * elf-bfd.h (elf_link_hash_table): Add dynsym.
1438 * elf32-i386.c (elf_i386_reloc_type_class): Return
1439 reloc_class_ifunc for relocation against STT_GNU_IFUNC symbol.
1440 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
1441 * elflink.c (_bfd_elf_link_create_dynamic_sections): Set dynsym.
1442 (bfd_elf_size_dynsym_hash_dynstr): Use dynsym.
1443 (elf_final_link_info): Remove dynsym_sec.
1444 (elf_link_output_extsym): Replace dynsym_sec with dynsym.
1445 (bfd_elf_final_link): Remove reference to dynsym_sec. Replace
1446 dynsym_sec with dynsym.
1447
0e1862bb
L
14482015-08-18 H.J. Lu <hongjiu.lu@intel.com>
1449
1450 * bfd/aoutx.h: Replace shared, executable, relocatable and pie
1451 fields with bfd_link_executable, bfd_link_dll,
1452 bfd_link_relocatable, bfd_link_pic and bfd_link_pie.
1453 * bfd/bout.c: Likewise.
1454 * bfd/coff-alpha.c: Likewise.
1455 * bfd/coff-arm.c: Likewise.
1456 * bfd/coff-i386.c: Likewise.
1457 * bfd/coff-i960.c: Likewise.
1458 * bfd/coff-m68k.c: Likewise.
1459 * bfd/coff-mcore.c: Likewise.
1460 * bfd/coff-mips.c: Likewise.
1461 * bfd/coff-ppc.c: Likewise.
1462 * bfd/coff-rs6000.c: Likewise.
1463 * bfd/coff-sh.c: Likewise.
1464 * bfd/coff-tic80.c: Likewise.
1465 * bfd/coff-x86_64.c: Likewise.
1466 * bfd/coff64-rs6000.c: Likewise.
1467 * bfd/coffgen.c: Likewise.
1468 * bfd/cofflink.c: Likewise.
1469 * bfd/ecoff.c: Likewise.
1470 * bfd/ecofflink.c: Likewise.
1471 * bfd/elf-bfd.h: Likewise.
1472 * bfd/elf-eh-frame.c: Likewise.
1473 * bfd/elf-ifunc.c: Likewise.
1474 * bfd/elf-m10200.c: Likewise.
1475 * bfd/elf-m10300.c: Likewise.
1476 * bfd/elf-s390-common.c: Likewise.
1477 * bfd/elf-vxworks.c: Likewise.
1478 * bfd/elf.c: Likewise.
1479 * bfd/elf32-arm.c: Likewise.
1480 * bfd/elf32-avr.c: Likewise.
1481 * bfd/elf32-bfin.c: Likewise.
1482 * bfd/elf32-cr16.c: Likewise.
1483 * bfd/elf32-cr16c.c: Likewise.
1484 * bfd/elf32-cris.c: Likewise.
1485 * bfd/elf32-crx.c: Likewise.
1486 * bfd/elf32-d10v.c: Likewise.
1487 * bfd/elf32-dlx.c: Likewise.
1488 * bfd/elf32-epiphany.c: Likewise.
1489 * bfd/elf32-fr30.c: Likewise.
1490 * bfd/elf32-frv.c: Likewise.
1491 * bfd/elf32-ft32.c: Likewise.
1492 * bfd/elf32-h8300.c: Likewise.
1493 * bfd/elf32-hppa.c: Likewise.
1494 * bfd/elf32-i370.c: Likewise.
1495 * bfd/elf32-i386.c: Likewise.
1496 * bfd/elf32-i860.c: Likewise.
1497 * bfd/elf32-ip2k.c: Likewise.
1498 * bfd/elf32-iq2000.c: Likewise.
1499 * bfd/elf32-lm32.c: Likewise.
1500 * bfd/elf32-m32c.c: Likewise.
1501 * bfd/elf32-m32r.c: Likewise.
1502 * bfd/elf32-m68hc11.c: Likewise.
1503 * bfd/elf32-m68hc1x.c: Likewise.
1504 * bfd/elf32-m68k.c: Likewise.
1505 * bfd/elf32-mcore.c: Likewise.
1506 * bfd/elf32-mep.c: Likewise.
1507 * bfd/elf32-metag.c: Likewise.
1508 * bfd/elf32-microblaze.c: Likewise.
1509 * bfd/elf32-moxie.c: Likewise.
1510 * bfd/elf32-msp430.c: Likewise.
1511 * bfd/elf32-mt.c: Likewise.
1512 * bfd/elf32-nds32.c: Likewise.
1513 * bfd/elf32-nios2.c: Likewise.
1514 * bfd/elf32-or1k.c: Likewise.
1515 * bfd/elf32-ppc.c: Likewise.
1516 * bfd/elf32-rl78.c: Likewise.
1517 * bfd/elf32-rx.c: Likewise.
1518 * bfd/elf32-s390.c: Likewise.
1519 * bfd/elf32-score.c: Likewise.
1520 * bfd/elf32-score7.c: Likewise.
1521 * bfd/elf32-sh-symbian.c: Likewise.
1522 * bfd/elf32-sh.c: Likewise.
1523 * bfd/elf32-sh64.c: Likewise.
1524 * bfd/elf32-spu.c: Likewise.
1525 * bfd/elf32-tic6x.c: Likewise.
1526 * bfd/elf32-tilepro.c: Likewise.
1527 * bfd/elf32-v850.c: Likewise.
1528 * bfd/elf32-vax.c: Likewise.
1529 * bfd/elf32-visium.c: Likewise.
1530 * bfd/elf32-xc16x.c: Likewise.
1531 * bfd/elf32-xstormy16.c: Likewise.
1532 * bfd/elf32-xtensa.c: Likewise.
1533 * bfd/elf64-alpha.c: Likewise.
1534 * bfd/elf64-hppa.c: Likewise.
1535 * bfd/elf64-ia64-vms.c: Likewise.
1536 * bfd/elf64-mmix.c: Likewise.
1537 * bfd/elf64-ppc.c: Likewise.
1538 * bfd/elf64-s390.c: Likewise.
1539 * bfd/elf64-sh64.c: Likewise.
1540 * bfd/elf64-x86-64.c: Likewise.
1541 * bfd/elflink.c: Likewise.
1542 * bfd/elfnn-aarch64.c: Likewise.
1543 * bfd/elfnn-ia64.c: Likewise.
1544 * bfd/elfxx-mips.c: Likewise.
1545 * bfd/elfxx-sparc.c: Likewise.
1546 * bfd/elfxx-tilegx.c: Likewise.
1547 * bfd/i386linux.c: Likewise.
1548 * bfd/linker.c: Likewise.
1549 * bfd/m68klinux.c: Likewise.
1550 * bfd/pdp11.c: Likewise.
1551 * bfd/pe-mips.c: Likewise.
1552 * bfd/peXXigen.c: Likewise.
1553 * bfd/reloc.c: Likewise.
1554 * bfd/reloc16.c: Likewise.
1555 * bfd/sparclinux.c: Likewise.
1556 * bfd/sunos.c: Likewise.
1557 * bfd/vms-alpha.c: Likewise.
1558 * bfd/xcofflink.c: Likewise.
1559
fe875424
AM
15602015-08-18 Alan Modra <amodra@gmail.com>
1561
1562 PR 18667
1563 * Makefile.am: Use $(SED) in place of sed throughout.
1564 * Makefile.in: Regenerate.
1565
43417696
AM
15662015-08-18 Alan Modra <amodra@gmail.com>
1567
1568 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't redefine .TOC.
1569 if already defined, and set linker_def.
1570 (ppc64_elf_set_toc): Use .TOC. value if defined other than by
1571 the backend.
1572
9b57267f
AM
15732015-08-14 Alan Modra <amodra@gmail.com>
1574
1575 PR ld/18759
1576 * elf32-or1k.c: Revert 2015-08-11 change.
1577
8efa2874
L
15782015-08-13 H.J. Lu <hongjiu.lu@intel.com>
1579
1580 PR ld/18801
1581 * elf32-i386.c (elf_i386_size_dynamic_sections): Issue an error
1582 for read-only segment with dynamic IFUNC relocations.
1583 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
1584
40fc1451
SD
15852015-08-12 Simon Dardis <simon.dardis@imgtec.com>
1586
1587 * elfxx-mips.c (STUB_MOVE): Change to use 'or' only.
1588 (mips_o32_exec_plt0_entry, mips_n32_exec_plt0_entry,
1589 mips_n64_exec_plt0_entry, micromips_insn32_o32_exec_plt0_entry):
1590 Update to use 'or' instead of 'addu/daddu'.
1591 (_bfd_mips_elf_finish_dynamic_symbol): Update usage of STUB_MOVE.
1592 (move_insns_32): Reorder table.
1593
0eace210
L
15942015-08-11 H.J. Lu <hongjiu.lu@intel.com>
1595
1596 * elf32-i386.c (elf_i386_relocate_section): Properly skip IFUNC
1597 relocations in debug sections.
1598 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
1599
c674f5cd
JW
16002015-08-11 Jiong Wang <jiong.wang@arm.com>
1601
1602 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Improve warning
1603 message for R_AARCH64_LD64_GOTPAGE_LO15/R_AARCH64_LD32_GOTPAGE_LO14.
1604
9331eea1
JW
16052015-08-11 Jiong Wang <jiong.wang@arm.com>
1606
1607 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): New.
1608 (aarch64_can_relax_tls): Use the new IS_AARCH64_TLS_RELAX_RELOC.
1609
f678ded7
JW
16102015-08-11 Jiong Wang <jiong.wang@arm.com>
1611
1612 * bfd/elfnn-aarch64.c (aarch64_type_of_stub): New parameter "sym_sec".
1613 Loose the check for symbol from ABS section.
1614 (elfNN_aarch64_size_stubs): Pass sym_sec.
1615
07f9ddfe
JW
16162015-08-11 Jiong Wang <jiong.wang@arm.com>
1617
1618 PR ld/18668
1619 * elfnn-aarch64.c (aarch64_type_of_stub): Update destination for
1620 calls go through plt stub.
1621 (elfNN_aarch64_final_link_relocate): Adjust code logic for CALL26,
1622 JUMP26 relocation to support inserting veneer for call to plt stub.
1623
40fbed84
JW
16242015-08-11 Jiong Wang <jiong.wang@arm.com>
1625
1626 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
1627 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12.
1628 (aarch64_reloc_got_type): Likewise.
1629 (elfNN_aarch64_final_link_relocate): Likewise.
1630 (elfNN_aarch64_relocate_section): Likewise.
1631 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1632 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1633
70151fb5
JW
16342015-08-11 Jiong Wang <jiong.wang@arm.com>
1635
1636 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12): New entry.
1637 * bfd-in2.h: Regenerate.
1638 * libbfd.h: Regenerate.
1639 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1640 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12.
1641
73f925cc
JW
16422015-08-11 Jiong Wang <jiong.wang@arm.com>
1643
1644 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
1645 BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC.
1646 (aarch64_reloc_got_type): Likewise.
1647 (elfNN_aarch64_final_link_relocate): Likewise.
1648 (elfNN_aarch64_relocate_section): Likewise.
1649 (elfNN_aarch64_gc_sweep_hook): Likewise.
1650 (elfNN_aarch64_check_relocs): Likewise.
1651 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1652 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1653
a12fad50
JW
16542015-08-11 Jiong Wang <jiong.wang@arm.com>
1655
1656 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC): New entry.
1657 * bfd-in2.h: Regenerate.
1658 * libbfd.h: Regenerate.
1659 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1660 BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC.
1661
f69e4920
JW
16622015-08-11 Jiong Wang <jiong.wang@arm.com>
1663
1664 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
1665 BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21.
1666 (aarch64_reloc_got_type): Likewise.
1667 (elfNN_aarch64_final_link_relocate): Likewise.
1668 (elfNN_aarch64_relocate_section): Likewise.
1669 (elfNN_aarch64_gc_sweep_hook): Likewise.
1670 (elfNN_aarch64_check_relocs): Likewise.
1671 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1672 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1673
1107e076
JW
16742015-08-11 Jiong Wang <jiong.wang@arm.com>
1675
1676 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21): New entry.
1677 * bfd-in2.h: Regenerate.
1678 * libbfd.h: Regenerate.
1679 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1680 BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21.
1681
97dc35c8
L
16822015-08-11 H.J. Lu <hongjiu.lu@intel.com>
1683
1684 PR ld/18808
1685 * elf32-i386.c (elf_i386_relocate_section): Skip IFUNC
1686 relocations in debug sections.
1687 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
1688
dbac553d
PZ
16892015-08-11 Peter Zotov <whitequark@whitequark.org>
1690
1691 PR ld/18759
1692 * elf32-or1k.c (R_OR1K_32_PCREL): Set pcrel_offset to TRUE.
1693 (R_OR1K_16_PCREL): Likewise.
1694 (R_OR1K_8_PCREL): Likewise.
1695
4b0e8a5f
NC
16962015-08-11 Nick Clifton <nickc@redhat.com>
1697
4c0160b8
NC
1698 PR binutils/18747
1699 * coff-sh.c (_bfd_sh_align_load_span): Fix typo when setting
1700 opcode count.
1701
4b0e8a5f
NC
1702 PR binutils/18758
1703 * elf.c (_bfd_elf_setup_sections): Add checks for corrupt section
1704 group information.
1705 * peicode.h (pe_ILF_make_a_section): Ensure alignment of the
1706 used_by_bfd pointer.
1707 (pe_ILF_build_a_bfd): Ensure alignment of vars.data pointer.
1708
64140f86
L
17092015-08-11 H.J. Lu <hongjiu.lu@intel.com>
1710
1711 * elf.c (_bfd_elf_copy_private_bfd_data): Fix a typo.
1712
422f1182
L
17132015-08-10 H.J. Lu <hongjiu.lu@intel.com>
1714
1715 * elf-bfd.h (elf_symbol_version): New enum.
1716 (elf_link_hash_entry): Replace hidden with versioned.
1717 * elflink.c (_bfd_elf_merge_symbol): Don't look for symbol
1718 version if the symbol is unversioned. Initialize versioned.
1719 (_bfd_elf_add_default_symbol): Don't look for symbol version
1720 if the symbol is unversioned or hidden. Initialize versioned.
1721 (elf_collect_hash_codes): Don't look for symbol version if the
1722 symbol is unversioned.
1723 (elf_collect_gnu_hash_codes): Likewise.
1724 (bfd_elf_gc_mark_dynamic_ref_symbol): Likewise.
1725 (_bfd_elf_link_hash_copy_indirect): Check versioned instead of
1726 hidden.
1727 (elf_link_output_extsym): Likewise.
1728
d4ac1f87
L
17292015-08-07 H.J. Lu <hongjiu.lu@intel.com>
1730
1731 PR binutils/18785
1732 * elf.c (_bfd_elf_copy_private_bfd_data): When copying the
1733 sh_link and sh_info fields in stripped section headers, we also
64140f86 1734 check if the sh_type, sh_flags, sh_addralign and sh_entsize
d4ac1f87
L
1735 fields of the output section match the output. Since
1736 --only-keep-debug turns all non-debug sections into SHT_NOBITS
1737 sections, the output SHT_NOBITS type matches any input type.
1738
6e33951e
L
17392015-08-07 H.J. Lu <hongjiu.lu@intel.com>
1740
1741 PR ld/18720
1742 * elflink.c (_bfd_elf_merge_symbol): Add a parameter to indicate
1743 if the new symbol matches the existing one. The new hidden
1744 versioned symbol matches the existing symbol if they have the
1745 same symbol version. Update the existing symbol only if they
1746 match.
1747 (_bfd_elf_add_default_symbol): Update call to
1748 _bfd_elf_merge_symbol.
1749 (_bfd_elf_link_assign_sym_version): Don't set the hidden field
1750 here.
1751 (elf_link_add_object_symbols): Override a definition only if the
1752 new symbol matches the existing one.
1753 (_bfd_elf_link_hash_copy_indirect): Don't copy any references to
1754 the hidden versioned symbol.
1755 (elf_link_output_extsym): Bind a symbol locally when linking
1756 executable if it is locally defined, hidden versioned, not
1757 referenced by shared library and not exported. Turn on
422f1182 1758 VERSYM_HIDDEN only if the hidden versioned symbol is defined
6e33951e
L
1759 locally.
1760
63b9bbb7
NC
17612015-08-05 Nick Clifton <nickc@redhat.com>
1762
1763 * elf.c (_bfd_elf_copy_private_bfd_data): Copy the sh_link and
1764 sh_info fields of sections whose type has been changed to
1765 SHT_NOBITS.
1766
7e27a9d5
YK
17672015-08-04 Yuriy M. Kaminskiy" <yumkam@gmail.com>
1768 Tyler Hicks <tyhicks@canonical.com>
1769
1770 PR binutils/18750
1771 * ihex.c (ihex_scan): Fixes incorrect escape sequence in error message
1772 and stack overflow when char is signed and \200-\376 was in place of hex
1773 digit; also fixes \377 was handled as EOF instead of "incorrect character".
1774 (ihex_read_section): Changed for consistency.
1775 (ihex_bad_byte): Prevent (now impossible to trigger) stack
1776 overflow and incorrect escape sequence handling.
1777 * srec.c (srec_bad_byte): Likewise.
1778
cb1c8103
HPN
17792015-08-03 Hans-Peter Nilsson <hp@axis.com>
1780
1781 * elf32-cris.c (cris_elf_relocate_section)
1782 (elf_cris_finish_dynamic_symbol, cris_elf_check_relocs)
1783 (elf_cris_discard_excess_dso_dynamics): Use SYMBOLIC_BIND, not
4122b413 1784 just link_info->symbolic, to check if a symbol should be bound
cb1c8103
HPN
1785 symbolically.
1786
c6e8a9a8
L
17872015-07-30 H.J. Lu <hongjiu.lu@intel.com>
1788
1789 PR ld/18735
1790 * elflink.c (_bfd_elf_add_default_symbol): Add the default
1791 symbol if not performing a relocatable link.
1792 (elf_link_add_object_symbols): Adjust the default symbol if
1793 not performing a relocatable link.
1794
e77e648e
L
17952015-07-29 H.J. Lu <hongjiu.lu@intel.com>
1796
1797 * elflink.c (elf_link_add_object_symbols): Remove
1798 !info->relocatable check for info->executable. Add
1799 !info->relocatable check for !info->executable.
1800 (elf_link_output_extsym): Remove
1801 !info->relocatable check for info->executable.
1802
11509220
HPN
18032015-07-29 Hans-Peter Nilsson <hp@bitrange.com>
1804
1805 * mmo.c (mmo_write_symbols_and_terminator): Skip symbol-type
1806 assignment loop for bfd plugin objects.
1807
e5654c0f
AM
18082015-07-28 Alan Modra <amodra@gmail.com>
1809
1810 * elf.c (_bfd_elf_map_sections_to_segments): Do not make a new
1811 segment for loaded sections after nonloaded sections if the
1812 sections are on the same page.
1813
d6f1bafa
IB
18142015-07-28 Iain Buclaw <ibuclaw@gdcproject.org>
1815
1816 * configure.in: Add asprintf and vasprintf to AC_CHECK_DECLS.
1817 * config.in, configure: Regenerate.
1818
37a42ee9
L
18192015-07-27 H.J. Lu <hongjiu.lu@intel.com>
1820
1821 * configure: Regenerated.
1822
79559014
NC
18232015-07-27 Nick Clifton <nickc@redhat.com>
1824
1825 * elf32-msp430.c (uses_large_model): New function.
1826 (msp430_elf_eh_frame_address_size): New function.
1827 (elf_backend_eh_frame_address_size): Define.
1828
32f573bc
SN
18292015-07-27 Szabolcs Nagy <szabolcs.nagy@arm.com>
1830
1831 PR ld/18705
1832 * elfnn-aarch64.c (elf_backend_extern_protected_data): Define.
1833
b68a20d6
SN
18342015-07-27 Szabolcs Nagy <szabolcs.nagy@arm.com>
1835
1836 PR ld/18705
1837 * elf32-arm.c (elf_backend_extern_protected_data): Define.
1838
18d9555c
L
18392015-07-25 H.J. Lu <hongjiu.lu@intel.com>
1840
1841 PR ld/18718
1842 * elflink.c (elf_link_output_extsym): Check symbol version
1843 section check only if not linking executable, the symbol is
1844 referenced by shared library or not locally defined.
1845
a496fbc8
AM
18462015-07-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
1847
1848 * elf32-arm.c (elf32_arm_final_link_relocate): Use SYMBOLIC_BIND to
1849 check if a symbol should be bound symbolically.
1850 * elf32-hppa.c (elf32_hppa_check_relocs,
1851 elf32_hppa_adjust_dynamic_symbol, elf32_hppa_relocate_section,
1852 elf32_hppa_finish_dynamic_symbol): Likewise.
1853 * elf32-m68k.c (elf_m68k_check_relocs,
1854 elf_m68k_relocate_section): Likewise.
1855 * elf32-nios2.c (nios2_elf32_relocate_section,
1856 nios2_elf32_check_relocs, allocate_dynrelocs): Likewise.
1857 * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol,
1858 elf32_tic6x_relocate_section): Likewise.
1859
91cb26da
AM
18602015-07-24 Alan Modra <amodra@gmail.com>
1861
1862 * elf.c (_bfd_elf_assign_file_positions_for_non_load): Use .rela
1863 prefix for reloc section corresponding to rela section associated
1864 with renamed debug section.
1865
2fb9328d
AM
18662015-07-24 Alan Modra <amodra@gmail.com>
1867
1868 * section.c (bfd_get_section_by_name_if): Iterate over entire hash
1869 chain.
1870
d5cff5df
JM
18712015-07-23 Joseph Myers <joseph@codesourcery.com>
1872
1873 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections)
1874 <DT_MIPS_RLD_MAP_REL>: Add target address to host address
1875 difference, not to host pointer.
1876
bb854a36
AM
18772015-07-22 Alan Modra <amodra@gmail.com>
1878
1879 * elf64-ppc.c (opd_entry_value): Remove assertion. Instead,
1880 return -1 if symbol referenced is not defined. Tidy.
1881
f2d7e0f4
AM
18822015-07-20 Alan Modra <amodra@gmail.com>
1883
1884 * po/SRC-POTFILES.in: Regenerate.
1885
4c0a9a6f
JW
18862015-07-17 Jiong Wang <jiong.wang@arm.com>
1887
1888 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Sort alphabetically.
1889 (IS_AARCH64_TLSDESC_RELOC): Sort alphabetically.
1890
77a69ff8
JW
18912015-07-16 Jiong Wang <jiong.wang@arm.com>
1892
1893 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
1894 BFD_RELOC_AARCH64_TLSLD_ADR_PREL21.
1895 (aarch64_reloc_got_type): Ditto.
1896 (elfNN_aarch64_final_link_relocate): Ditto.
1897 (elfNN_aarch64_relocate_section): Ditto.
1898 (elfNN_aarch64_gc_sweep_hook): Ditto.
1899 (elfNN_aarch64_check_relocs): Ditto.
1900 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
1901 (_bfd_aarch64_elf_resolve_relocation): Ditto.
1902
6c37fedc
JW
19032015-07-16 Jiong Wang <jiong.wang@arm.com>
1904
1905 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADR_PREL21): New entry.
1906 * bfd-in2.h: Regenerate.
1907 * libbfd.h: Regenerate.
1908 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1909 BFD_RELOC_AARCH64_TLSLD_ADR_PREL21.
1910
88988473
L
19112015-07-10 H.J. Lu <hongjiu.lu@intel.com>
1912
1913 PR binutils/18656
1914 * bfd.c (bfd_convert_section_size): New function.
1915 (bfd_convert_section_contents): Likewise.
1916 * bfd-in2.h: Regenerated.
1917
de231f20
CM
19182015-07-09 Catherine Moore <clm@codesourcery.com>
1919
1920 * elflink.c (bfd_elf_size_dynamic_sections): Call to
1921 _bfd_elf_maybe_strip_eh_frame_hdr should be before
1922 bed->elf_backend_size_dynamic_sections.
1923
328e7bfd
DC
19242015-07-08 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
1925
1926 * elf32-avr.c: Add 32 bit PC relative relocation for AVR target.
1927
92a9c616
RS
19282015-07-05 Richard Sandiford <richard.sandiford@arm.com>
1929
1930 * elf64-ppc.c (toc_adjusting_stub_needed): Use the symbol value
1931 plus addend rather than the original st_value when looking up
1932 entries in opd->adjust.
1933
0f088b2a
KT
19342015-07-03 Kai Tietz <ktietz@redhat.com>
1935 Nick Clifton <nickc@redhat.com>
1936
1937 PR ld/11539
1938 * coffcode.h (coff_bfd_gc_sections): Define default
1939 to bfd_coff_gc_sections function.
1940 (coff_gc_mark_hook_fn): New type.
1941 * coffgen.c (init_reloc_cookie): Copy and adjust coff
1942 related code about gc-sections from elflink.c to here.
1943 (fini_reloc_cookie): Likewise.
1944 (init_reloc_cookie_rels): Likewise.
1945 (fini_reloc_cookie_rels): Likewise.
1946 (init_reloc_cookie_for_section): Likewise.
1947 (fini_reloc_cookie_for_section): Likewise.
1948 (_bfd_coff_gc_mark_hook): Likewise.
1949 (_bfd_coff_gc_mark_rsec): Likewise.
1950 (_bfd_coff_gc_mark_reloc): Likewise.
1951 (_bfd_coff_gc_mark): Likewise.
1952 (_bfd_coff_gc_mark_extra_sections): Likewise.
1953 (coff_gc_sweep_symbol_info): Likewise.
1954 (coff_gc_sweep_symbol): Likewise.
1955 (gc_sweep_hook_fn): Likewise.
1956 (coff_gc_sweep): Likewise.
1957 (bfd_coff_gc_sections): Likewise.
1958 (_bfd_coff_gc_keep): Likewise.
1959 * libcoff-in.h (coff_reloc_cookie): New struct.
1960 (bfd_coff_gc_sections): New prototype.
1961 * libcoff.h: Regenerate.
1962
8c163c5a
SL
19632015-07-01 Sandra Loosemore <sandra@codesourcery.com>
1964 Cesar Philippidis <cesar@codesourcery.com>
1965
1966 * bfd-in2.h: Regenerated.
1967 * elf32-nios2.c (elf_nios2_howto_table_rel): Rename to...
1968 (elf_nios2_r1_howto_table_rel): This.
1969 (elf_nios2_r2_howto_table_rel): New.
1970 (BFD_IS_R2): New.
1971 (lookup_howto): Add ABFD parameter. Adjust to look up in either
1972 the R1 or R2 relocation table, as determined by ABFD.
1973 (nios2_reloc_map): Add R2 relocations.
1974 (nios2_elf32_bfd_reloc_type_lookup): Do lookup using lookup_howto.
1975 Pass it the ABFD parameter.
1976 (nios2_elf32_bfd_reloc_name_lookup): Use ABFD to decide whether to
1977 return an R1 or R2 relocation.
1978 (nios2_elf32_info_to_howto): Do lookup using lookup_howto.
1979 Pass it the ABFD parameter.
1980 (nios2_elf32_do_call26_relocate): Check for alignment on a 4-byte
1981 boundary.
1982 (nios2_elf32_relocate_section): Adjust call to lookup_howto.
1983 * libbfd.h: Regenerated.
1984 * reloc.c (BFD_RELOC_NIOS2_R2_S12): New.
1985 (BFD_RELOC_NIOS2_R2_I10_1_PCREL): New.
1986 (BFD_RELOC_NIOS2_R2_T1I7_1_PCREL): New.
1987 (BFD_RELOC_NIOS2_R2_T1I7_2): New.
1988 (BFD_RELOC_NIOS2_R2_T2I4): New.
1989 (BFD_RELOC_NIOS2_R2_T2I4_1): New.
1990 (BFD_RELOC_NIOS2_R2_T2I4_2): New.
1991 (BFD_RELOC_NIOS2_R2_X1I7_2): New.
1992 (BFD_RELOC_NIOS2_R2_X2L5): New.
1993 (BFD_RELOC_NIOS2_R2_F1I5_2): New.
1994 (BFD_RELOC_NIOS2_R2_L5I4X1): New.
1995 (BFD_RELOC_NIOS2_R2_T1X1I6): New.
1996 (BFD_RELOC_NIOS2_R2_T1X1I6_2): New.
1997
965b1d80
SL
19982015-07-01 Sandra Loosemore <sandra@codesourcery.com>
1999 Cesar Philippidis <cesar@codesourcery.com>
2000
2001 * archures.c (bfd_mach_nios2r1, bfd_mach_nios2r2): New.
2002 * bfd-in2.h: Regenerated.
2003 * cpu-nios2.c (nios2_compatible): New.
2004 (N): Use nios2_compatible instead of bfd_default_compatible.
2005 (NIOS2R1_NEXT, NIOS2R2_NEXT): Define.
2006 (arch_info_struct): New.
2007 (bfd_nios2_arch): Chain to NIOS2R1_NEXT.
2008 * elf32-nios2.c (is_nios2_elf): New.
2009 (nios2_elf32_merge_private_bfd_data): New.
2010 (nios2_elf32_object_p): New.
2011 (bfd_elf32_bfd_merge_private_bfd_data): Define.
2012 (elf_backend_object_p): Define.
2013
dfc87947
L
20142015-07-01 H.J. Lu <hongjiu.lu@intel.com>
2015
2016 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Refactor.
2017
5ee4a1ca
NC
20182015-06-30 Nick Clifton <nickc@redhat.com>
2019
2020 PR binutils/18570
2021 * elf-attrs.c (obj_attr_size): Use an unsigned int type for the tag.
2022 (write_obj_attribute): Likewise.
2023 (elf_new_obj_attr): Likewise.
2024 (bfd_elf_get_obj_attr_int): Likewise.
2025 (bfd_elf_add_obj_attr_int): Likewise.
2026 (bfd_elf_add_obj_attr_string): Likewise.
2027 (bfd_elf_add_obj_attr_int_string): Likewise.
2028 (gnu_obj_attrs_arg_type): Likewise.
2029 (_bfd_elf_obj_attrs_arg_type): Likewise.
2030 (_bfd_elf_parse_attributes): Likewise.
2031 (_bfd_elf_merge_unknown_attribute_list): Likewise.
2032 * elf-bfd.h (struct obj_attribute_list): Likewise.
2033 Update prototypes.
2034
ee0c0c50
L
20352015-06-28 H.J. Lu <hongjiu.lu@intel.com>
2036
2037 * bfd-in.h (compressed_debug_section_type): Remove
2038 COMPRESS_DEBUG_ZLIB.
2039 * bfd-in2.h : Regenerated.
2040
a5499fa4
MF
20412015-06-26 Matthew Fortune <matthew.fortune@imgtec.com>
2042
2043 * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Use executable
2044 instead of !shared to indicate an application vs shared library.
2045 (_bfd_mips_elf_size_dynamic_sections): Likewise.
2046 (_bfd_mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP_REL.
2047 (_bfd_mips_elf_get_target_dtag): Likewise.
2048
3f307074
DD
20492015-06-25 DJ Delorie <dj@redhat.com>
2050
2051 * elf32-msp430.c (msp430_final_link_relocate): Fix comments. Fix
2052 REL loads to match RELA stores.
2053
946748d5
L
20542015-06-25 H.J. Lu <hongjiu.lu@intel.com>
2055
2056 * elf.c (_bfd_elf_compute_section_file_positions): Don't
2057 initialize sh_size for .shstrtab here.
2058
ef10c3ac
L
20592015-06-25 H.J. Lu <hongjiu.lu@intel.com>
2060
2061 PR gas/18451
2062 * elf-bfd.h (elf_sym_strtab): New.
2063 (elf_link_hash_table): Add strtabcount, strtabsize and
2064 strtab.
2065 (_bfd_elf_stringtab_init): Removed.
2066 * elf.c (_bfd_elf_stringtab_init): Removed.
2067 (_bfd_elf_compute_section_file_positions): Replace
2068 bfd_strtab_hash/_bfd_elf_stringtab_init/_bfd_stringtab_free/
2069 _bfd_stringtab_size with
2070 elf_strtab_hash/_bfd_elf_strtab_init/_bfd_elf_strtab_free/
2071 _bfd_elf_strtab_size. Use _bfd_elf_strtab_add,
2072 _bfd_elf_strtab_finalize and _bfd_elf_strtab_offset to get
2073 st_name.
2074 (swap_out_syms): Likewise.
2075 * elflink.c (elf_final_link_info): Replace bfd_strtab_hash
2076 with elf_strtab_hash. Remove symbuf, symbuf_count,
2077 symbuf_size and shndxbuf_size.
2078 (elf_link_flush_output_syms): Removed.
2079 (elf_link_output_sym): Renamed to ...
2080 (elf_link_output_symstrtab): This. Replace _bfd_stringtab_add
2081 with _bfd_elf_strtab_add. Don't flush symbols to the file nor
2082 swap out symbols.
2083 (elf_link_swap_symbols_out): New.
2084 (elf_link_output_extsym): Replace elf_link_output_sym with
2085 elf_link_output_symstrtab.
2086 (elf_link_input_bfd): Likewise.
2087 (elf_final_link_free): Replace _bfd_stringtab_free with
2088 _bfd_elf_strtab_free. Remove symbuf.
2089 (bfd_elf_final_link): Replace _bfd_elf_stringtab_init with
2090 _bfd_elf_strtab_init. Don't set symbuf, symbuf_count,
2091 symbuf_size nor shndxbuf_size. Initialize strtabsize and
2092 strtab. Initialize symshndxbuf to -1 when number of sections
2093 >= 64K. Replace elf_link_output_sym/elf_link_output_sym with
2094 elf_link_output_symstrtab/elf_link_output_symstrtab. Don't
2095 call elf_link_flush_output_syms. Call _bfd_elf_strtab_finalize
2096 and elf_link_swap_symbols_out. Replace _bfd_stringtab_size
2097 and _bfd_stringtab_emit with _bfd_elf_strtab_size and
2098 _bfd_elf_strtab_emit.
2099
7cc152be
L
21002015-06-24 H.J. Lu <hongjiu.lu@intel.com>
2101
2102 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Silence older
2103 GCC warning.
2104
7c1e8d3e
L
21052015-06-24 H.J. Lu <hongjiu.lu@intel.com>
2106
2107 * elf32-i386.c (elf_i386_allocate_dynrelocs): Always allocate
2108 space for the first .plt entry.
2109 (elf_i386_size_dynamic_sections): Always add DT_PLTGOT for .plt
2110 section. Add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL only if
2111 there are PLT relocations.
2112 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Always
2113 allocate space for the first .plt entry.
2114 (elf_x86_64_size_dynamic_sections): Always add DT_PLTGOT for
2115 .plt section. Add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL only if
2116 there are PLT relocations.
2117
59cab532
L
21182015-06-24 H.J. Lu <hongjiu.lu@intel.com>
2119
2120 PR ld/18591
2121 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Don't convert
2122 R_X86_64_GOTPCREL to R_X86_64_PC32 if it will cause relocation
2123 overflow.
2124
c2170589
JW
21252015-06-23 Jiong Wang <jiong.wang@arm.com>
2126
2127 * elfnn-aarch64.c (aarch64_readonly_dynrelocs): New function.
2128 (elfNN_aarch64_size_dynamic_sections): Traverse hash table to check
2129 relocations against read-only sections.
2130
75c11999
NC
21312015-06-18 Nick Clifton <nickc@redhat.com>
2132
2133 PR 18481
2134 * elf32-arm.c (R_ARM_TLS_LE32): Set the special function to NULL.
2135
56f40832
JT
21362015-06-15 Jon Turney <jon.turney@dronecode.org.uk>
2137
2138 * bfd.c: Change struct bfd_build_id to use bfd_size_type.
2139 * bfd-in2.h : Regenerate.
2140
1d5c94cb
AM
21412015-06-16 Alan Modra <amodra@gmail.com>
2142
2143 * elf32-ppc.c (ppc_elf_relocate_section): Correct binary search of
2144 dynamic relocs.
2145
c74f7d1c
JT
21462015-06-10 Jon Turney <jon.turney@dronecode.org.uk>
2147
2148 * elf-bfd.h : Remove struct elf_build_id.
2149 * bfd.c : Add struct bfd_build_id.
2150 * bfd-in2.h: Regenerate.
2151 * elf.c (elfobj_grok_gnu_build_id): Update to use bfd_build_id.
2152 * libpei.h: Add protoype and macros for
2153 bfd_XXi_slurp_codeview_record.
2154 * peXXigen.c (_bfd_XXi_slurp_codeview_record): Make public
2155 * peicode.h (pe_bfd_read_buildid): Add.
2156 (pe_bfd_object_p): Use pe_bfd_read_buildid().
2157
87f5fbcc
RL
21582015-06-15 Renlin Li <renlin.li@arm.com>
2159
2160 * reloc.c (BFD_RELOC_AARCH64_LD64_GOTOFF_LO15): New entry.
2161 * bfd-in2.h: Regenerate.
2162 * libbfd.h: Regenerate.
2163 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
2164 BFD_RELOC_AARCH64_LD64_GOTOFF_LO15.
2165
3a062fa1
AM
21662015-06-15 Alan Modra <amodra@gmail.com>
2167
2168 * cofflink.c (_bfd_coff_generic_relocate_section): Revert
2169 2014-03-26 change. Call _bfd_clear_contents for relocs against
2170 local and global symbols defined in discarded input sections.
2171
1ade7175
NC
21722015-06-05 Nick Clifton <nickc@redhat.com>
2173
2174 * elf32-msp430.c (rl78_sym_diff_handler): New function.
2175 (msp430_howto_table): Use the new function for the SYM_DIFF reloc.
2176 (msp430x_howto_table): Likewise.
2177
f8b44781
AM
21782015-06-05 Alan Modra <amodra@gmail.com>
2179
2180 * elf64-ppc.c (ppc_elf_relocate_section): Move dynamic text
2181 relocs with insns moved by --ppc476-workaround. Correct
2182 output of REL16 relocs.
2183
7018c030
JW
21842015-06-01 Jiong Wang <jiong.wang@arm.com>
2185
2186 * elfnn-aarch64.c (aarch64_reloc_got_type): Support
2187 BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14.
2188 (elfNN_aarch64_final_link_relocate): Ditto.
2189 (elfNN_aarch64_gc_swap_hook): Ditto.
2190 (elfNN_aarch64_check_relocs): Ditto.
2191 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
2192
3d715ce4
JW
21932015-06-01 Jiong Wang <jiong.wang@arm.com>
2194
2195 * reloc.c (BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14): New entry.
2196 * bfd-in2.h: Regenerate.
2197 * libbfd.h: Regenerate.
2198 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
2199 BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14.
2200
36e6c140
JW
22012015-06-01 Jiong Wang <jiong.wang@arm.com>
2202
2203 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Set overflow type to
2204 complain_overflow_unsigned for BFD_RELOC_AARCH64_TLSLE_ADD_LO12.
2205 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Don't use
2206 PGOFF for BFD_RELOC_AARCH64_TLSLE_ADD_LO12.
2207
99ad26cb
JW
22082015-06-01 Jiong Wang <jiong.wang@arm.com>
2209
2210 * elfnn-aarch64.c (aarch64_reloc_got_type): Support
2211 BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15.
2212 (elfNN_aarch64_final_link_relocate): Ditto.
2213 (elfNN_aarch64_gc_swap_hook): Ditto.
2214 (elfNN_aarch64_check_relocs): Ditto.
2215 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
2216
a921b5bd
JW
22172015-06-01 Jiong Wang <jiong.wang@arm.com>
2218
2219 * reloc.c (BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15): New entry.
2220 * bfd-in2.h: Regenerate.
2221 * libbfd.h: Regenerate.
2222 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
2223 BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15.
2224
2f0c68f2
CM
22252015-05-28 Catherine Moore <clm@codesourcery.com>
2226 Bernd Schmidt <bernds@codesourcery.com>
2227 Paul Brook <paul@codesourcery.com>
2228
2229 bfd/
2230 * bfd-in2.h: Regenerated.
2231 * elf-bfd.h (DWARF2_EH_HDR, COMPACT_EH_HDR): Define.
2232 (COMPACT_EH_CANT_UNWIND_OPCODE): Define.
2233 (dwarf_eh_frame_hdr_info): Move dwarf-specific fields from
2234 eh_frame_hdr_info.
2235 (compact_eh_frame_hdr_info): Declare.
2236 (eh_frame_hdr_info): Redeclare with union for dwarf-specific
2237 fields and compact-eh fields.
2238 (elf_backend_data): Add cant_unwind_opcode and compact_eh_encoding.
2239 (bfd_elf_section_data): Add eh_frame_entry_field.
2240 (elf_section_eh_frame_entry): Define.
2241 (bfd_elf_parse_eh_frame_entries): Declare.
2242 (_bfd_elf_parse_eh_frame_entry): Declare.
2243 (_bfd_elf_end_eh_frame_parsing): Declare.
2244 (_bfd_elf_write_section_eh_frame_entry): Declare.
2245 (_bfd_elf_eh_frame_entry_present): Declare.
2246 (_bfd_elf_section_for_symbol): Declare.
2247 * elf-eh-frame.c (bfd_elf_discard_eh_frame_entry): New function.
2248 (bfd_elf_record_eh_frame_entry): New function.
2249 (_bfd_elf_parse_eh_frame_entry): New function.
2250 (_bfd_elf_parse_eh_frame): Update hdr_info field references.
2251 (cmp_eh_frame_hdr): New function.
2252 (add_eh_frame_hdr_terminator): New function.
2253 (_bfd_elf_end_eh_frame_parsing): New function.
2254 (find_merged_cie): Update hdr_info field references.
2255 (_bfd_elf_discard_section_eh_frame): Likewise.
2256 (_bfd_elf_discard_section_eh_frame_hdr): Add Compact EH support.
2257 (_bfd_elf_eh_frame_entry_present): New function.
2258 (_bfd_elf_maybe_strip_eh_frame_hdr): Add Compact EH support.
2259 (_bfd_elf_write_section_eh_frame_entry): New function.
2260 (_bfd_elf_write_section_eh_frame): Update hdr_info field references.
2261 (_bfd_elf_fixup_eh_frame_hdr): New function.
2262 (write_compact_eh_frame_hdr): New function.
2263 (write_dwarf_eh_frame_hdr): New function.
2264 (_bfd_elf_write_section_eh_frame_hdr): Add Compact EH support.
2265 * elflink.c (_bfd_elf_section_for_symbol): New function.
2266 (elf_section_ignore_discarded_relocs): Add Compact EH support.
2267 (elf_link_input_bfd): Likewise.
2268 (bfd_elf_final_link): Likewise.
2269 (_bfd_elf_gc_mark): Likewise.
2270 (bfd_elf_parse_eh_frame_entries): New function.
2271 (bfd_elf_gc_sections): Add Compact EH support.
2272 (bfd_elf_discard_info): Likewise.
2273 * elfxx-mips.c: Include dwarf2.h.
2274 (_bfd_mips_elf_compact_eh_encoding): New function.
2275 (_bfd_mips_elf_cant_unwind_opcode): New function.
2276 * elfxx-mips.h (_bfd_mips_elf_compact_eh_encoding): Declare.
2277 (_bfd_mips_elf_cant_unwind_opcode): Declare.
2278 (elf_backend_compact_eh_encoding): Define.
2279 (elf_backend_cant_unwind_opcode): Define.
2280 * elfxx-target.h (elf_backend_compact_eh_encoding): Provide default.
2281 (elf_backend_cant_unwind_opcode): Provide default.
2282 (elf_backend_data elfNN_bed): Add elf_backend_compact_eh_encoding and
2283 elf_backend_cant_unwind_opcode.
2284 * section.c (SEC_INFO_TYPE_EH_FRAME_ENTRY): Add definition.
2285
8ded2ddc
L
22862015-05-27 H.J. Lu <hongjiu.lu@intel.com>
2287
2288 PR binutils/18458
2289 * elf32-i386.c (elf_i386_check_relocs): Create .plt.got section
2290 for now binding only if pointer equality isn't needed.
2291 (elf_i386_allocate_dynrelocs): Use .plt.got section for now
2292 binding only if pointer equality isn't needed.
2293 * elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got
2294 section for now binding only if pointer equality isn't needed.
2295 (elf_x86_64_allocate_dynrelocs): Use .plt.got section for now
2296 binding only if pointer equality isn't needed.
2297
fca6ae69
L
22982015-05-26 H.J. Lu <hongjiu.lu@intel.com>
2299
2300 PR binutils/18437
2301 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip extra relocations
2302 in .rel.plt/.rela.plt.
2303 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
2304
ce336788
JW
23052015-05-19 Jiong Wang <jiong.wang@arm.com>
2306
2307 * elfnn-aarch64.c (aarch64_tls_transition_without_check): Sort
2308 relocation case labels alphabetically.
2309 (elfNN_aarch64_final_link_relocate): Ditto.
2310 (elfNN_aarch64_tls_relax): Ditto.
2311 (elfNN_aarch64_relocate_section): Ditto.
2312 (elfNN_aarch64_gc_sweep_hook): Ditto.
2313 (elfNN_aarch64_check_relocs): Ditto.
2314 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
2315 (_bfd_aarch64_elf_resolve_relocation): Ditto.
2316
80de0c6d
JW
23172015-05-18 Jiong Wang <jiong.wang@arm.com>
2318
2319 * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Rewrite
2320 comments.
2321
25070364
L
23222015-05-16 H.J. Lu <hongjiu.lu@intel.com>
2323
2324 * elf32-i386.c (elf_i386_check_relocs): Create .plt.got section
2325 for now binding.
2326 (elf_i386_allocate_dynrelocs): Use .plt.got section for now
2327 binding.
2328 * elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got
2329 section for now binding.
2330 (elf_x86_64_allocate_dynrelocs): Use .plt.got section for now
2331 binding.
2332
dab394de
L
23332015-05-14 H.J. Lu <hongjiu.lu@intel.com>
2334
2335 * bfd.c (bfd_update_compression_header): Also write the zlib
2336 header if the SHF_COMPRESSED bit cleared..
2337 (bfd_check_compression_header): Return the uncompressed size.
2338 * compress.c (decompress_contents): Don't skip the zlib header.
2339 (bfd_compress_section_contents): Properly handle ELFCOMPRESS_ZLIB,
2340 which doesn't have the zlib header.
2341 (bfd_init_section_decompress_status): Likewise.
2342 (bfd_get_full_section_contents): Updated.
2343 (bfd_is_section_compressed): Likewise.
2344 (bfd_is_section_compressed_with_header): Return the uncompressed
2345 size.
2346 * elf.c (_bfd_elf_make_section_from_shdr): Updated.
2347 * bfd-in2.h: Regenerated.
2348
fdc3b1b1
JW
23492015-05-14 Jiong Wang <jiong.wang@arm.com>
2350
2351 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Remove overflow
2352 check restrictions.
2353
e6c9a083
MF
23542015-05-14 Max Filippov <jcmvbkbc@gmail.com>
2355
2356 * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference
2357 as GOT reference when plt.refcount is not positive.
2358
a3747075
L
23592015-05-12 H.J. Lu <hongjiu.lu@intel.com>
2360
2361 * elf32-i386.c (elf_i386_allocate_dynrelocs): Allocate space
2362 for the first .plt entry only if needed.
2363 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2364
bf64a951
L
23652015-05-11 H.J. Lu <hongjiu.lu@intel.com>
2366
2367 * Makefile.am (ALL_MACHINES): Add cpu-iamcu.lo.
2368 (ALL_MACHINES_CFILES): Likewise.
2369 * archures.c (bfd_mach_iamcu): New.
2370 (bfd_mach_i386_iamcu): Likewise.
2371 (bfd_mach_i386_iamcu_intel_syntax): Likewise.
2372 (bfd_iamcu_arch): Likewise.
2373 (bfd_archures_list): Add &bfd_iamcu_arch.
2374 * config.bfd (targ_selvecs): Add iamcu_elf32_vec to
2375 i386_elf32_vec.
2376 (targ_archs): Add bfd_iamcu_arch if needed.
2377 * configure.ac: Support iamcu_elf32_vec.
2378 * cpu-iamcu.c: New file.
2379 * elf32-i386.c (elf32_iamcu_elf_object_p): New function.
2380 Add support for iamcu_elf32_vec and elf32_iamcu_bed.
2381 * targets.c (iamcu_elf32_vec): New.
2382 (_bfd_target_vector): Add iamcu_elf32_vec.
2383 * Makefile.in: Regenerated.
2384 * bfd-in2.h: Likewise.
2385 * configure: Likewise.
2386
22abe556
L
23872015-05-11 H.J. Lu <hongjiu.lu@intel.com>
2388
2389 * elfcode.h (elf_object_p): Replace EM_486 with EM_IAMCU.
2390
4b71eec6
L
23912015-05-10 H.J. Lu <hongjiu.lu@intel.com>
2392
2393 * elf32-i386.c (elf_i386_convert_mov_to_lea): Replace input_bfd
2394 and output_bfd with abfd.
2395 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
2396
9ac47a43
TS
23972015-05-06 Toni Spets <toni.spets@iki.fi>
2398
2399 PR ld/18372
2400 * peXXigen.c (rsrc_process_section): Skip discarded resource
2401 sections.
2402
b633b725
L
24032015-05-01 H.J. Lu <hongjiu.lu@intel.com>
2404
2405 * config.bfd: Support i[3-7]86-*-elf*.
2406
914082d1
L
24072015-04-30 H.J. Lu <hongjiu.lu@intel.com>
2408
2409 * elf32-i386.c (elf_backend_post_process_headers): Undef for
2410 Solaris 2.
2411
153a2776
NC
24122015-04-30 Nick Clifton <nickc@redhat.com>
2413
2414 PR 18317
2415 * elf32-mep.c (MEPREL): Use bfd_elf_generic_reloc instead of
2416 mep_reloc.
2417 (mep_reloc): Delete unused function.
2418
a93d5cb1
NC
24192015-04-29 Nick Clifton <nickc@redhat.com>
2420
2421 PR 17099
2422 * coff-i386.c (coff_i386_rtype_to_howto): Allow absolute PCRLONG
2423 relocs.
2424
643f7afb
AK
24252015-04-27 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2426
2427 * elf-s390-common.c (elf_s390_merge_obj_attributes): New function.
2428 * elf32-s390.c (elf32_s390_merge_private_bfd_data): Call
2429 elf_s390_merge_obj_attributes.
2430 * elf64-s390.c (elf64_s390_merge_private_bfd_data): New function.
2431
b53b1bed
JW
24322015-04-24 Jiong Wang <jiong.wang@arm.com>
2433
2434 PR ld/18270
2435 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic): Count local symbol for
2436 GOT_NORMAL for both sgot/srelgot section.
2437 (elfNN_aarch64_final_link_relocate): Relocate against GOT entry address
2438 and generate necessary runtime relocation for GOT entry.
2439
69b52ab8
L
24402015-04-24 H.J. Lu <hongjiu.lu@intel.com>
2441
2442 PR binutils/18209
2443 * archive.c (_bfd_get_elt_at_filepos): Copy is_linker_input.
2444
dcbd20eb
JW
24452015-04-24 Jiong Wang <jiong.wang@arm.com>
2446
2447 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Reject
2448 PC-relative relocation for external symbol.
2449
de13ef81
NC
24502015-04-24 Nick Clifton <nickc@redhat.com>
2451
2452 PR 18313
2453 * compress.c (decompress_contents): Zero initialse the z_stream
2454 structure.
2455
b1fa9dd6
NC
24562015-04-24 Nick Clifton <nickc@redhat.com>
2457
2458 * elf.c (_bfd_elf_is_local_label_name): Extend test for assembler
2459 local labels to include local labels with a numeric suffix and
2460 fake symbols.
2461
9361e630
L
24622015-04-24 H.J. Lu <hongjiu.lu@intel.com>
2463
2464 PR binutils/18316
2465 * section.c (SEC_MEP_VLIW): New.
2466 * bfd-in2.h: Regenerated.
2467
3e19fb8f
L
24682015-04-23 H.J. Lu <hongjiu.lu@intel.com>
2469
2470 PR ld/18277
2471 * compress.c (bfd_compress_section_contents): Remove the
2472 write_compress argument.
2473 (bfd_init_section_compress_status): Updated.
2474 (bfd_compress_section): Likewise.
2475 * elf.c (_bfd_elf_set_reloc_sh_name): New.
2476 (_bfd_elf_init_reloc_shdr): Add delay_st_name_p. Set sh_name
2477 to (unsigned int) -1 if delay_st_name_p is TRUE. Use
2478 _bfd_elf_set_reloc_sh_name.
2479 (elf_fake_sections): Don't rename DWARF debug section for
2480 linker output if it will be compressed. Instead, set
2481 delay_st_name_p to TRUE and pass it to _bfd_elf_init_reloc_shdr.
2482 (assign_section_numbers): Call _bfd_elf_strtab_addref only if
2483 sh_name != (unsigned int) -1. Don't finalize nor assign
2484 shstrtab section here. Delay setting output section names to
2485 _bfd_elf_write_object_contents.
2486 (_bfd_elf_compute_section_file_positions): Update comments on
2487 sh_offset for shstrtab section.
2488 (assign_file_positions_for_non_load_sections): Set sh_offset to
2489 -1 for shstrtab section.
2490 (assign_file_positions_except_relocs): Likewise.
2491 (_bfd_elf_assign_file_positions_for_non_load): Set up sh_name
2492 when compressing DWARF debug sections. Place shstrtab section
2493 after DWARF debug sections have been compressed.
2494 (_bfd_elf_write_object_contents): Setting sh_name for output
2495 sections.
2496
f6fe1ccd
L
24972015-04-23 H.J. Lu <hongjiu.lu@intel.com>
2498
2499 PR binutils/18209
2500 * bfd.c (bfd): Add is_linker_input.
2501 * elf.c (convert_debug_to_zdebug): New.
2502 (convert_zdebug_to_debug): Likewise.
2503 (_bfd_elf_make_section_from_shdr): Don't convert .debug_* to
2504 .zdebug_* here. Use convert_zdebug_to_debug. Set SEC_ELF_RENAME.
2505 (_bfd_elf_init_reloc_shdr): Pass a pointer to section name
2506 instead of a pointer to section.
2507 (elf_fake_sections): Rename the section name if SEC_ELF_RENAME
2508 is set.
2509 * section.c (SEC_ELF_RENAME): New.
2510 * bfd-in2.h: Regenerated.
2511
a27e685f
AM
25122015-04-23 Alan Modra <amodra@gmail.com>
2513
2514 * elf64-ppc.c (TOC_BASE_ALIGN): Define.
2515 (ppc64_elf_next_toc_section): Align multi-got toc base.
2516 (ppc64_elf_set_toc): Likewise initial toc base and .TOC. symbol.
2517
d5597ebc
L
25182015-04-22 H.J. Lu <hongjiu.lu@intel.com>
2519
2520 PR ld/18289
2521 * elf32-i386.c (elf_i386_link_hash_entry): Add gotoff_ref.
2522 (elf_i386_link_hash_newfunc): Initialize gotoff_ref to 0.
2523 (elf_i386_create_dynamic_sections): Always allow copy relocs for
2524 building executables.
2525 (elf_i386_copy_indirect_symbol): Also copy gotoff_ref.
2526 (elf_i386_check_relocs): Set gotoff_ref for R_386_GOTOFF.
2527 (elf_i386_adjust_dynamic_symbol): Also allocate copy relocs for
2528 PIE and R_386_GOTOFF.
2529 (elf_i386_relocate_section): Allow R_386_GOTOFF in executable.
2530
e9702963
L
25312015-04-20 H.J. Lu <hongjiu.lu@intel.com>
2532
2533 * elf.c (assign_section_numbers): Always set up sh_name.
2534
e06efbf1
L
25352015-04-20 H.J. Lu <hongjiu.lu@intel.com>
2536
2537 * elf.c (assign_file_positions_for_non_load_sections): Iterate
2538 sections by pointer.
2539 (_bfd_elf_assign_file_positions_for_non_load): Likewise.
2540
0ce398f1
L
25412015-04-14 H.J. Lu <hongjiu.lu@intel.com>
2542
2543 * bfd-in.h (compressed_debug_section_type): New.
2544 * compress.c (bfd_compress_section_contents): Add an argument
2545 for linker write compression and always generate .zdebug_*
2546 section when linking.
2547 (bfd_init_section_compress_status): Pass FALSE to
2548 bfd_compress_section_contents.
2549 (bfd_compress_section): New function.
2550 * elf.c (elf_fake_sections): For linking, set SEC_ELF_COMPRESS
2551 on DWARF debug sections if COMPRESS_DEBUG is set and rename
2552 section if COMPRESS_DEBUG_GABI_ZLIB isn't set.
2553 (assign_file_positions_for_non_load_sections): Set sh_offset
2554 to -1 if SEC_ELF_COMPRESS is set.
2555 (assign_file_positions_except_relocs): Likwise.
2556 (_bfd_elf_assign_file_positions_for_relocs): Renamed to ...
2557 (_bfd_elf_assign_file_positions_for_non_load): This. Change
2558 return time to bfd_boolean. Compress the section if
2559 SEC_ELF_COMPRESS is set.
2560 (_bfd_elf_write_object_contents): Updated.
2561 (_bfd_elf_set_section_contents): Write section contents to
2562 the buffer if SEC_ELF_COMPRESS is set.
2563 * merge.c: Include "elf-bfd.h".
2564 (sec_merge_emit): Add arguments for contents and offset. Write
2565 to contents with offset if contents isn't NULL.
2566 (_bfd_write_merged_section): Write section contents to the
2567 buffer if SEC_ELF_COMPRESS is set. Pass contents and
2568 output_offset to sec_merge_emit.
2569 * elflink.c (bfd_elf_final_link): Allocate the buffer for
2570 output section contents if SEC_ELF_COMPRESS is set.
2571 * section.c (SEC_ELF_COMPRESS): New.
2572 * bfd-in2.h: Regenerated.
2573
95b57ade
AM
25742015-04-15 Alan Modra <amodra@gmail.com>
2575
2576 * elf32-rl78.c (rl78_elf_relocate_section): Typo fix.
2577
6ff71e76
NC
25782015-04-14 Nick Clifton <nickc@redhat.com>
2579
2580 * elf32-rl78.c (RL78_OP_REL): New macro.
2581 (rl78_elf_howto_table): Use it for complex relocs.
2582 (get_symbol_value): Handle the cases when the info or status
2583 arguments are NULL.
2584 (get_romstart): Cache the status returned by get_symbol_value.
2585 (get_ramstart): Likewise.
2586 (RL78_STACK_PUSH): Generate an error message if the stack
2587 overflows.
2588 (RL78_STACK_POP): Likewise for underflows.
2589 (rl78_compute_complex_reloc): New function. Contains the basic
2590 processing code for all RL78 complex relocs.
2591 (rl78_special_reloc): New function. Provides special reloc
2592 handling for complex relocs.
2593 (rl78_elf_relocate_section): Use rl78_compute_complex_reloc.
2594 (rl78_offset_for_reloc): Likewise.
2595
889c2a67
L
25962015-04-14 H.J. Lu <hongjiu.lu@intel.com>
2597
2598 PR ld/pr17709
2599 * elflink.c (_bfd_elf_adjust_dynamic_copy): Check
2600 info->extern_protected_data when warning copy relocs against
2601 protected symbols.
2602 (_bfd_elf_symbol_refs_local_p): Check info->extern_protected_data
2603 when checking protected non-function symbols.
2604
97de3545
JB
26052015-04-13 John Baldwin <jhb@FreeBSD.org>
2606
2607 * elf.c (elfcore_grok_note): Recognize NT_X86_XSTATE on
2608 FreeBSD.
2609 (elfcore_write_xstatereg): Use correct note name on FreeBSD.
2610
f0bf6bfd
L
26112015-04-13 H.J. Lu <hongjiu.lu@intel.com>
2612
2613 PR ld/18250
2614 * elflink.c (elf_link_is_defined_archive_symbol): Return FALSE
2615 if the object has been claimed by plugin.
2616
e3c0e327
L
26172015-04-11 H.J. Lu <hongjiu.lu@intel.com>
2618
2619 * elf32-i386.c (elf_i386_relocate_section): Replace SYMBOLIC_BIND
2620 with SYMBOL_REFERENCES_LOCAL when checking R_386_GOTOFF against
2621 protected data symbol when building shared library.
2622 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
2623 R_X86_64_GOTOFF64 against undefined symbol and replace
2624 SYMBOLIC_BIND with SYMBOL_REFERENCES_LOCAL when checking
2625 R_X86_64_GOTOFF64 against protected data symbol when building
2626 shared library.
2627
3d949995
L
26282015-04-10 H.J. Lu <hongjiu.lu@intel.com>
2629
2630 PR ld/pr17709
2631 * elf32-i386.c (elf_i386_relocate_section): Also check R_386_GOTOFF
2632 against protected data symbol when building shared library.
2633 * elf64-x86-64.c (elf_x86_64_relocate_section): Also check
2634 R_X86_64_GOTOFF64 against protected data symbol when building
2635 shared library.
2636
f7483970
L
26372015-04-10 H.J. Lu <hongjiu.lu@intel.com>
2638
2639 PR ld/pr15228
2640 PR ld/pr17709
2641 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
2642 * elf32-i386.c (elf_backend_extern_protected_data): New.
2643 Defined to 1.
2644 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
2645 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
2646 copy relocs against protected symbols if extern_protected_data
2647 is true.
2648 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
2649 non-function symbols if extern_protected_data is true.
2650 * elfxx-target.h (elf_backend_extern_protected_data): New.
2651 Default to 0.
2652 (elfNN_bed): Initialize extern_protected_data with
2653 elf_backend_extern_protected_data.
2654
030aeb75
L
26552015-04-10 H.J. Lu <hongjiu.lu@intel.com>
2656
2657 * compress.c (bfd_compress_section_contents): Replace bfd_malloc
2658 and free with bfd_alloc and bfd_release on compressed buffer.
2659 Release buffer if compressed section isn't smaller.
2660
d07a1b05
AM
26612015-04-10 Alan Modra <amodra@gmail.com>
2662
2663 PR ld/18222
2664 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't report an error
2665 on adding a protected visibility variable to .dynbss.
2666
8d2ea2a8
AM
26672015-04-10 Alan Modra <amodra@gmail.com>
2668
2669 Revert 2015-03-05 H.J. Lu <hongjiu.lu@intel.com>
2670 PR ld/pr15228
2671 PR ld/pr17709
2672 * elf-bfd.h (elf_backend_data): Delete extern_protected_data.
2673 * elf32-i386.c (elf_backend_extern_protected_data): Delete.
2674 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
2675 * elflink.c (_bfd_elf_adjust_dynamic_copy): Remove
2676 extern_protected_data test.
2677 (_bfd_elf_symbol_refs_local_p): Likewise.
2678 * elfxx-target.h (elf_backend_extern_protected_data): Delete.
2679 (elfNN_bed): Delete elf_backend_extern_protected_data init.
2680
18ece1de
L
26812015-04-09 H.J. Lu <hongjiu.lu@intel.com>
2682
2683 * compress.c (bfd_compress_section_contents): Update comments.
2684 (bfd_init_section_decompress_status): Likewise.
2685 (bfd_init_section_compress_status): Likewise.
2686
cd6faa73
L
26872015-04-09 H.J. Lu <hongjiu.lu@intel.com>
2688
2689 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_COMPRESS_GABI to
2690 object_flags.
2691 (TARGET_LITTLE_SYM): Likewise.
2692
19424843
MF
26932015-04-09 Max Filippov <jcmvbkbc@gmail.com>
2694
2695 * elf32-xtensa.c (splay-tree.h): include header.
2696 (text_action_struct): drop next pointer.
2697 (text_action_list_struct): drop head pointer, add count and
2698 tree fields.
2699 (find_fill_action): instead of linear search in text_action_list
2700 search in the tree.
2701 (text_action_compare, action_first, action_next): new functions.
2702 (text_action_add, text_action_add_literal): instead of linear
2703 search and insertion insert new node into the tree.
2704 (removed_by_actions): pass additional parameter: action_list,
2705 use it to traverse the tree.
2706 (offset_with_removed_text): pass additional action_list parameter
2707 to removed_by_actions.
2708 (map_action_fn_context): new typedef.
2709 (map_action_fn_context_struct): new structure.
2710 (map_action_fn): new function.
2711 (map_removal_by_action): use splay_tree_foreach to build map.
2712 (find_insn_action): replace linear search in text_action_list
2713 with series of splay_tree_lookups.
2714 (print_action, print_action_list_fn): new functions.
2715 (print_action_list): use splay_tree_foreach.
2716 (init_xtensa_relax_info): drop action_list.head initialization.
2717 Initialize the tree.
2718 (compute_text_actions): use non-zero action_list_count instead of
2719 non-NULL action list.
2720 (xlate_map_context): new typedef.
2721 (xlate_map_context_struct): new structure.
2722 (xlate_map_fn): new function.
2723 (build_xlate_map): use splay_tree_foreach to build map.
2724 (action_remove_bytes_fn): new function.
2725 (relax_section): use zero action_list_count instead of NULL
2726 action list. Use splay_tree_foreach to count final section size.
2727 Drop unused variable 'removed'.
2728
27292015-04-09 Max Filippov <jcmvbkbc@gmail.com>
2730
2731 * elf32-xtensa.c (removed_literal_map_entry): new typedef.
2732 (removed_literal_map_entry_struct): new structure.
2733 (removed_literal_list_struct): add new fields: n_map and map.
2734 (map_removed_literal, removed_literal_compare): new functions.
2735 (find_removed_literal): build index array for literals ordered
2736 by VMA, use binary search to find removed literal.
2737
27382015-04-09 Max Filippov <jcmvbkbc@gmail.com>
2739
2740 * elf32-xtensa.c (removal_by_action_entry_struct,
2741 removal_by_action_map_struct): new structures.
2742 (removal_by_action_entry, removal_by_action_map): new typedefs.
2743 (text_action_list_struct): add new field: map.
2744 (map_removal_by_action, removed_by_actions_map,
2745 offset_with_removed_text_map): new functions.
2746 (relax_section): replace offset_with_removed_text with
2747 offset_with_removed_text_map.
2748 (translate_reloc, relax_property_section, relax_section_symbols):
2749 replace removed_by_actions with removed_by_actions_map.
2750
27512015-04-09 Max Filippov <jcmvbkbc@gmail.com>
2752
2753 * elf32-xtensa.c (reloc_range_list, reloc_range_list_entry,
2754 reloc_range): new typedef.
2755 (reloc_range_list_struct, reloc_range_list_entry_struct,
2756 reloc_range_struct): new structures.
2757 (reloc_range_compare, build_reloc_ranges,
2758 reloc_range_list_append, reloc_range_list_remove,
2759 reloc_range_list_update_range, free_reloc_range_list): new
2760 functions.
2761 (compute_text_actions): precompute relocation opcodes before the
2762 loop. Add relevant_relocs variable, initialize it before the
2763 loop, pass it to the check_section_ebb_pcrels_fit.
2764 (check_section_ebb_pcrels_fit): add new parameter:
2765 relevant_relocs. Update address range in the relevant_relocs if
2766 it's non-NULL and iterate only over relevant relocations.
2767
3525236c
NC
27682015-04-09 Nick Clifton <nickc@redhat.com>
2769
2770 * elf32-rx.c (describe_flags): Report the settings of the string
2771 insn using bits.
2772 (rx_elf_merge_private_bfd_data): Handle merging of the string insn
2773 using bits.
2774
51509926
L
27752015-04-08 H.J. Lu <hongjiu.lu@intel.com>
2776
2777 * compress.c (bfd_compress_section_contents): Work around a GCC
2778 uninitialized warning bug fixed in GCC 4.7.
2779
151411f8
L
27802015-04-08 H.J. Lu <hongjiu.lu@intel.com>
2781
2782 * archive.c (_bfd_get_elt_at_filepos): Also copy BFD_COMPRESS_GABI
2783 bit.
2784 * bfd.c (bfd::flags): Increase size to 18 bits.
2785 (BFD_COMPRESS_GABI): New.
2786 (BFD_FLAGS_SAVED): Add BFD_COMPRESS_GABI.
2787 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
2788 (bfd_update_compression_header): New fuction.
2789 (bfd_check_compression_header): Likewise.
2790 (bfd_get_compression_header_size): Likewise.
2791 (bfd_is_section_compressed_with_header): Likewise.
2792 * compress.c (MAX_COMPRESSION_HEADER_SIZE): New.
2793 (bfd_compress_section_contents): Return the uncompressed size if
2794 the full section contents is compressed successfully. Support
2795 converting from/to .zdebug* sections.
2796 (bfd_get_full_section_contents): Call
2797 bfd_get_compression_header_size to get compression header size.
2798 (bfd_is_section_compressed): Renamed to ...
2799 (bfd_is_section_compressed_with_header): This. Add a pointer
2800 argument to return compression header size.
2801 (bfd_is_section_compressed): Use it.
2802 (bfd_init_section_decompress_status): Call
2803 bfd_get_compression_header_size to get compression header size.
2804 Return FALSE if uncompressed section size is 0.
2805 * elf.c (_bfd_elf_make_section_from_shdr): Support converting
2806 from/to .zdebug* sections.
2807 * bfd-in2.h: Regenerated.
2808
87070c08
AM
28092015-04-07 Alan Modra <amodra@gmail.com>
2810
2811 * elf.c (_bfd_elf_get_reloc_section): Allow for .got.plt being
2812 mapped to output .got section.
2813
d3e454b9
AM
28142015-04-07 Alan Modra <amodra@gmail.com>
2815
2816 * elf32-ppc.c (struct ppc_elf_link_hash_entry): Add has_addr16_ha
2817 and has_addr16_lo. Make has_sda_refs a bitfield.
2818 (ppc_elf_check_relocs): Set new flags.
2819 (ppc_elf_link_hash_table_create): Update default_params.
2820 (ppc_elf_adjust_dynamic_symbol): Clear protected_def in cases
2821 where we won't be making .dynbss entries or editing code. Set
2822 params->pic_fixup when we'll edit code for protected var access.
2823 (allocate_dynrelocs): Allocate got entry for edited code and
2824 discard dyn_relocs.
2825 (struct ppc_elf_relax_info): Add picfixup_size.
2826 (ppc_elf_relax_section): Rename struct one_fixup to struct
2827 one_branch_fixup. Rename fixups to branch_fixups. Size space for
2828 pic fixups.
2829 (ppc_elf_relocate_section): Edit non-PIC accessing protected
2830 visibility variables to PIC. Don't emit dyn_relocs for code
2831 we've edited.
2832 * elf32-ppc.h (struct ppc_elf_params): Add pic_fixup.
2833
ffa54770
NC
28342015-04-07 Nick Clifton <nickc@redhat.com>
2835
2836 * elf.c (_bfd_elf_is_local_label_name): Treat assembler generated
2837 local labels as local.
2838
4aa90cc0
L
28392015-04-06 H.J. Lu <hongjiu.lu@intel.com>
2840
2841 * compress.c (get_uncompressed_size): Removed.
2842 (bfd_compress_section_contents): Use bfd_putb64 to write
2843 uncompressed section size.
2844 (bfd_init_section_decompress_status): Replace
2845 get_uncompressed_size with bfd_getb64.
2846
68f5ff89
L
28472015-04-04 H.J. Lu <hongjiu.lu@intel.com>
2848
2849 * elf.c (_bfd_elf_init_private_section_data): Also preserve the
2850 SHF_COMPRESSED bit if not decompress.
2851
8bed4e0f
L
28522015-04-04 H.J. Lu <hongjiu.lu@intel.com>
2853
2854 * compress.c (get_uncompressed_size): New. Extracted from ...
2855 (bfd_init_section_decompress_status): This. Use it.
2856
15c7659f
AT
28572015-04-02 Andrew Turner <andrew@freebsd.org>
2858
2859 * config.bfd: Add aarch64-*-freebsd* target triple.
2860
39f3de7c
L
28612015-04-02 H.J. Lu <hongjiu.lu@intel.com>
2862
2863 * configure: Regenerated.
2864
4106101c
MS
28652015-04-01 Tejas Belagod <tejas.belagod@arm.com>
2866 Marcus Shawcroft <marcus.shawcroft@arm.com>
2867 Jiong Wang <jiong.wang@arm.com>
2868
2869 * bfd-in.h (bfd_elf64_aarch64_set_options)
2870 (bfd_elf32_aarch64_set_options): Add parameter.
2871 * bfd-in2.h: Regenerated.
2872 * elfnn-aarch64.c (aarch64_erratum_843419_stub)
2873 (_bfd_aarch64_adrp_p, _bfd_aarch64_erratum_843419_sequence_p)
2874 (_bfd_aarch64_erratum_843419_stub_name)
2875 (_bfd_aarch64_erratum_843419_fixup)
2876 (_bfd_aarch64_erratum_843419_scan)
2877 (_bfd_aarch64_erratum_843419_branch_to_stub)
2878 (_bfd_aarch64_erratum_843419_p): Define.
2879 (enum elf_aarch64_stub_type): Define
2880 aarch64_stub_erratum_843419_veneer.
2881 (struct elf_aarch64_stub_hash_entry): Define adrp_offset.
2882 (struct elf_aarch64_link_hash_table): Define fix_erratum_843419
2883 and fix_erratum_843419_adr.
2884 (stub_hash_newfunc): Initialize adrp_offset;
2885 (_bfd_aarch64_add_stub_entry_after): Define.
2886 (aarch64_map_one_stub, aarch64_build_one_stub)
2887 (aarch64_size_one_stub): Handle
2888 aarch64_stub_erratum_843419_veneer.
2889 (_bfd_aarch64_resize_stubs): Round stub section size.
2890 (elfNN_aarch64_size_stubs): Add scan for 843419.
2891 (bfd_elfNN_aarch64_set_options): Add parameter. Initialize
2892 fix_erratum_843419 and fix_erratum_843419_adr.
2893 (struct erratum_835769_branch_to_stub_data): Add info.
2894 (elfNN_aarch64_write_section): Initialise info. Handle 843419.
2895 (elfNN_aarch64_size_dynamic_sections): Handle 843419.
2896 * elfxx-aarch64.c (_bfd_aarch64_decode_adrp_imm)
2897 (_bfd_aarch64_sign_extend): Define.
2898 (reencode_adr_imm): Remove static. Rename to:
2899 (_bfd_aarch64_reencode_adr_imm): Define.
2900 (_bfd_aarch64_elf_put_addend): Call _bfd_aarch64_reencode_adr_imm.
2901 * elfxx-aarch64.h (AARCH64_ADR_OP, AARCH64_ADRP_OP)
2902 (AARCH64_ADRP_OP_MASK, _bfd_aarch64_sign_extend)
2903 (_bfd_aarch64_decode_adrp_imm, _bfd_aarch64_reencode_adr_imm):
2904 Define.
2905
afa59b79
L
29062015-04-01 H.J. Lu <hongjiu.lu@intel.com>
2907
2908 * configure: Regenerated.
2909
6036f486
ES
29102015-03-31 Ed Schouten <ed@nuxi.nl>
2911
2912 * config.bfd (targ_defvec): Set to x86_64_elf64_cloudabi_vec
2913 for x86_64-*-cloudabi*.
2914 * configure.ac: Handle x86_64_elf64_cloudabi_vec.
2915 * configure: Regenerated.
2916 * elf64-x86-64.c (TARGET_LITTLE_SYM): Support x86_64-*-cloudabi*.
2917 (TARGET_LITTLE_NAME): Likewise.
2918 (ELF_OSABI): Likewise.
2919 (elf64_bed): Likewise.
2920 * targets.c (x86_64_elf64_cloudabi_vec): New.
2921 (_bfd_target_vector): Add x86_64_elf64_cloudabi_vec.
2922
9ae46699
L
29232015-03-31 H.J. Lu <hongjiu.lu@intel.com>
2924
2925 * configure.ac: Revert the AM_ZLIB change.
2926 * Makefile.in: Regenerated.
2927 * aclocal.m4: Likewise.
2928 * configure: Likewise.
2929 * doc/Makefile.in: Likewise.
2930
bd53a53a
L
29312015-03-30 H.J. Lu <hongjiu.lu@intel.com>
2932
2933 PR ld/18169
2934 * elf-bfd.h (elf_backend_data): Add get_reloc_section.
2935 (_bfd_elf_get_reloc_section): New.
2936 * elf.c (_bfd_elf_get_reloc_section): Likewise.
2937 (assign_section_numbers): Call get_reloc_section to look up the
2938 section the relocs apply.
2939 * elfxx-target.h (elf_backend_get_reloc_section): Likewise.
2940 (elfNN_bed): Initialize get_reloc_section with
2941 elf_backend_get_reloc_section.
2942
243340ad
L
29432015-03-29 H.J. Lu <hongjiu.lu@intel.com>
2944
2945 * Makefile.am (ZLIB): New.
2946 (ZLIBINC): Likewise.
2947 (AM_CFLAGS): Add $(ZLIBINC).
2948 (libbfd_la_LIBADD): Add $(ZLIB).
2949 * compress.c: Don't check HAVE_ZLIB_H to include <zlib.h>.
2950 (decompress_contents): Don't check HAVE_ZLIB_H.
243340ad
L
2951 (bfd_compress_section_contents): Likewise.
2952 (bfd_get_full_section_contents): Likewise.
2953 (bfd_init_section_decompress_status): Likewise.
2954 (bfd_init_section_compress_status): Likewise.
b51724e8 2955 * configure.ac (AM_ZLIB): Removed.
243340ad
L
2956 (zlibdir): New. AC_SUBST.
2957 (zlibinc): Likewise.
2958 Add --with-system-zlib.
2959 * Makefile.in: Regenerated.
2960 * acinclude.m4: Likewise.
2961 * config.in: Likewise.
2962 * configure: Likewise.
2963 * doc/Makefile.in: Likewise.
2964
b8417128
AM
29652015-03-27 Alan Modra <amodra@gmail.com>
2966
2967 PR ld/15228
2968 PR ld/18167
2969 * elflink.c (elf_merge_st_other): Add "sec" parameter. Don't set
2970 protected_def when symbol section is read-only. Adjust all calls.
2971 * elf-bfd.h (struct elf_link_hash_entry): Update protected_def comment.
2972
93ca8569
TB
29732015-03-26 Tejas Belagod <tejas.belagod@arm.com>
2974
2975 * elfnn-aarch64.c (aarch64_build_one_stub): Replace the call to generic
2976 _bfd_final_link_relocate with aarch64_relocate.
2977
b19a8f85
L
29782015-03-26 H.J. Lu <hongjiu.lu@intel.com>
2979
2980 PR ld/18160
2981 * elflink.c (elf_gc_sweep): Skip if relocation is incompatible.
2982 (bfd_elf_gc_sections): Likewise.
2983
61865519
MS
29842015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
2985
2986 * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Adjust stub section
2987 size for initial branch.
2988 (elfNN_aarch64_build_stubs): Write initial branch.
2989 _bfd_aarch64_decode_(elfNN_aarch64_output_arch_local_syms): Write
2990 mapping symbol on initial branch.
2991
d9ced15d 29922015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
357d1523
MS
2993
2994 * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_scan):
2995 Update erratum count.
2996
d422d1c4
SKS
29972015-03-25 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2998
2999 * elflink.c (_bfd_elf_gc_mark_extra_sections): Don't break on
3000 first matching debug section.
3001
8d001214
L
30022015-03-24 H.J. Lu <hongjiu.lu@intel.com>
3003
3004 PR gas/18087
3005 * compress.c (bfd_compress_section_contents): Don't write the
3006 zlib header and set contents as well as compress_status if
3007 compression didn't make the section smaller.
3008 (bfd_init_section_compress_status): Don't check compression
3009 size here.
3010
fc42baf3
NC
30112015-03-24 Nick Clifton <nickc@redhat.com>
3012
3013 PR binutils/17512
3014 * coffgen.c (coff_get_normalized_symtab): Fix test for out of
3015 range auxillary sections.
3016
fc6d53be
MS
30172015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
3018
3019 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor
3020 code into:
3021 (_bfd_aarch64_get_stub_for_link_section): Define.
3022
30068a6d
MS
30232015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
3024
3025 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Adjust
3026 update of section_group[].stub_sec.
3027
5421cc6e
MS
30282015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
3029
3030 * elfnn-aarch64.c (struct aarch64_erratum_835769_fix) Remove.
3031 (erratum_835769_scan) Drop fix_table_size_p and fixes_p arguments.
3032 Delete fixes, fix_table_size and associated code. Call
3033 _bfd_aarch64_add_stub_entry_in_group. Rename to...
3034 (bfd_aarch64_erratum_835769_scan): Define.
3035 (elfNN_aarch64_size_stubs): Delete erratum_835769_fixes,
3036 erratum_835769_fix_table_size, i and associated code. Relocate
3037 call to _bfd_aarch64_erratum_835769_scan. Delete adhoc stub size
3038 correction. Delete construction of stub entry from
3039 erratum_835769_fixes array.
3040
e572930b
MS
30412015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
3042
3043 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Use
3044 _bfd_aarch64_add_stub_entry_in_group.
3045
8131c122
AM
30462015-03-24 Alan Modra <amodra@gmail.com>
3047
3048 * elf64-ppc.c (ppc64_elf_relocate_section): Report overflow to
3049 stubs, even those for undefined weak symbols. Otherwise, don't
3050 report relocation overflow on branches to undefined strong
3051 symbols. Fix memory leak.
3052 * elf32-ppc.c (ppc_elf_relocate_section): Don't report relocation
3053 overflow on branches to undefined strong symbols.
3054
c53ed7cf
KS
30552015-03-23 Keith Seitz <keiths@redhat.com>
3056
3057 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Add
3058 missing ';'.
3059
94a75bde
MS
30602015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
3061
3062 * elfnn-aarch64.c (erratum_835769_scan): Factor stub name
3063 construction into...
3064 (_bfd_aarch64_erratum_835769_stub_name): Define.
3065
13f622ec
MS
30662015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
3067
3068 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Factor out
3069 stub resize code into...
3070 (bfd_aarch64_resize_stubs): Define.
3071
66585675
MS
30722015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
3073
3074 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor stub
3075 creation code into...
3076 (bfd_aarch64_create_stub_section): Define.
3077
ef857521
MS
30782015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
3079
3080 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Rename
3081 from elf_aarch64_create_or_find_stub_sec.
3082 (_bfd_aarch64_add_stub_entry_in_group): Rename from
3083 elfNN_aarch64_add_stub. Call
3084 _bfd_aarch64_create_or_find_stub_sec.
3085 (elfNN_aarch64_size_stubs, elfNN_aarch64_size_stubs): Call
3086 _bfd_aarch64_add_stub_entry_in_group.
3087
2144188d
MS
30882015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
3089
3090 * elfnn-aarch64.c (erratum_835769_scan) Add comment. Reverse
3091 sense of boolean return.
3092 (elfNN_aarch64_size_stubs): Adjust for above.
3093
4c77202d
MS
30942015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
3095
3096 * elfnn-aarch64.c (elf_aarch64_create_or_find_stub_sec):
3097 Remove unused parameter.
3098 (elfNN_aarch64_size_stubs): Adjust for above.
3099
9b9971aa
MS
31002015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
3101
3102 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Remove bfd_indx.
3103
e2cdef47
MS
31042015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
3105
3106 * elfnn-aarch64.c (aarch64_erratum_835769_fixes)
3107 (num_aarch64_erratum_835769_fixes): Remove.
3108 (elfNN_aarch64_size_stubs): Remove assignments to above.
3109
3d14faea
MS
31102015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
3111
23956543
MS
3112 * elfnn-aarch64.c (aarch64_mem_op_p): Update comment. Rename rtn
3113 to rt2.
3d14faea
MS
3114 (aarch64_erratum_seqeunce): Rename rtn to rt2.
3115
f872121a
MS
31162015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
3117
3118 * elfnn-aarch64.c (elfNN_aarch64_write_section): Adjust layout.
3119
1740ba0c
NC
31202015-03-19 Nick Clifton <nickc@redhat.com>
3121
3122 * elf32-rl78.c (rl78_cpu_name): New function. Prints the name of
3123 the RL78 core based upon the flags.
3124 (rl78_elf_merge_private_bfd_data): Handle merging of G13 and G14
3125 flags.
3126 (rl78_elf_print_private_bfd_data): Use rl78_cpu_name.
3127 (elf32_rl78_machine): Always return bfd_mach_rl78.
3128
e2575e05
NC
31292015-03-19 Nick Clifton <nickc@redhat.com>
3130
3131 PR 18078
3132 * compress.c (bfd_compress_section_contents): Do not define this
3133 function if it is not used.
3134
0b0732e1
L
31352015-03-18 H.J. Lu <hongjiu.lu@intel.com>
3136
3137 * compress.c (bfd_compress_section_contents): Make it static.
3138 * bfd/bfd-in2.h: Regenerated.
3139
27aaeda0
NC
31402015-03-18 Eric Youngdale <eyoungdale@ptc.com>
3141
3142 PR ld/16598
3143 * peicode.h (pe_ILF_build_a_bfd): Add support for creating relocs
3144 suitable for the AMD64.
3145
273a4985
JT
31462015-03-18 Jon Turney <jon.turney@dronecode.org.uk>
3147 Nick Clifton <nickc@redhat.com>
3148
3149 PR binutils/18087
3150 * coffgen.c (make_a_section_from_file): Only prepend a z to a
3151 debug section's name if the section was actually compressed.
3152 * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
3153 * compress.c (bfd_init_section_compress_status): Do not compress
3154 the section if doing so would make it bigger. In such cases leave
3155 the section alone and return COMPRESS_SECTION_NONE.
3156
c4b0b099
AM
31572015-03-17 Alan Modra <amodra@gmail.com>
3158
3159 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return count of 0
3160 on nothing to do, before malloc of returned symbol array.
3161
9c761a55
NC
31622015-03-16 Nick Clifton <nickc@redhat.com>
3163
3164 * elf32-rx.c (elf32_rx_relax_delete_bytes): If the relocs are not
3165 stored in the elf_section_data structure then load them as
3166 necessary.
3167
b9005ba7
AK
31682015-03-14 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3169
3170 * elf-s390-common.c (elf_s390_elf_sort_relocs_p): Don't sort
3171 relocs against code sections.
3172 * elf32-s390.c: Define elf_backend_sort_relocs_p.
3173 * elf64-s390.c: Likewise.
3174
1079403c
AM
31752015-03-11 Alan Modra <amodra@gmail.com>
3176
3177 * elf32-ppc.c (ppc_elf_get_synthetic_symtab): Examine stubs in
3178 reverse order. Account for larger size of __tls_get_addr_opt stub.
3179
a5721edd
JW
31802015-03-10 Yuri Gribov <y.gribov@samsung.arm>
3181
3182 PR ld/16572
3183 * elf32-arm.c (elf32_arm_final_link_relocate): Remove support for
3184 ELF_ARM_HASENTRY.
3185 (elf32_arm_print_private_bfd_data): Likewise.
3186
65164438
NC
31872015-03-06 Nick Clifton <nickc@redhat.com>
3188
3189 PR binutils/17765
3190 * elflink.c (put_value): Like previous delta, but for the 32-bit
3191 case.
3192
41cd1ad1
NC
31932015-03-05 Nick Clifton <nickc@redhat.com>
3194
3195 PR binutils/17765
3196 * elflink.c (put_value): Avoid using an undefined shift
3197 operation.
3198
ca3fe95e
L
31992015-03-05 H.J. Lu <hongjiu.lu@intel.com>
3200
3201 PR ld/pr15228
3202 PR ld/pr17709
3203 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
3204 * elf32-i386.c (elf_backend_extern_protected_data): New.
3205 Defined to 1.
3206 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
3207 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
3208 copy relocs against protected symbols if extern_protected_data
3209 is true.
3210 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
3211 non-function symbols if extern_protected_data is true.
3212 * elfxx-target.h (elf_backend_extern_protected_data): New.
3213 Default to 0.
3214 (elfNN_bed): Initialize extern_protected_data with
3215 elf_backend_extern_protected_data.
3216
425bd9e1
NC
32172015-03-05 Nick Clifton <nickc@redhat.com>
3218
3219 PR binutils/18025
3220 * coffgen.c (coff_find_nearest_line_with_names): If the dwarf2
3221 lookup fails, check for an address bias in the dwarf info, and if
3222 one exists, retry the lookup with the biased value.
3223 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): New function.
3224 Determines if a bias exists bewteen the addresses of functions
3225 based on DWARF information vs symbol table information.
3226 * libbfd-in.h (_bfd_dwarf2_find_symbol_bias): Prototype.
3227 * libbfd.h: Regenerate.
3228
8ef229f3
MS
32292015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
3230
3231 * elfxx-aarch64.c (decode_add_imm, decode_movw_imm)
3232 (decode_tst_branch_ofs_14, decode_ld_lit_ofs_19)
3233 (decode_cond_branch_ofs_19, decode_branch_ofs_26): Remove.
3234
8e2fe09f
MS
32352015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
3236
3237 * elfnn-aarch64.c (aarch64_build_one_stub): Call abort.
3238 (aarch64_size_one_stub): Likewise.
3239 (aarch64_map_one_stub): Likewise.
3240
df88b702
AA
32412015-03-04 Andreas Arnez <arnez@linux.vnet.ibm.com>
3242
3243 * cpu-s390.c (N): New macro.
3244 (bfd_s390_31_arch): New. Define only if default target word size
3245 is 64 bits. Otherwise define...
3246 (bfd_390_64_arch): ...this. Make static.
3247 (bfd_s390_arch): Define according to the default target word size.
3248 Let the 'next' field point to the alternate arch.
3249
e09ab7ac
RS
32502015-03-04 Richard Sandiford <richard.sandiford@arm.com>
3251
3252 PR gas/17843
3253 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Expect
3254 R_AARCH64_TLSLE_MOVW_TPREL_G0_NC and R_AARCH64_TLSLE_MOVW_TPREL_G1_NC
3255 to be used with MOVK rather than MOVZ.
3256
71eef2bd
DD
32572015-03-03 DJ Delorie <dj@redhat.com>
3258
3259 * elf32-rl78.c (rl78_elf_relax_section): Only relax ADDR16's if
3260 there's a symbol.
3261
f01f1741
AM
32622015-02-28 Alan Modra <amodra@gmail.com>
3263
3264 * elf32-ppc.c (ppc_elf_tls_setup): Set no_tls_get_addr_opt if
3265 not PLT_NEW.
3266
c1d11331
L
32672015-02-27 H.J. Lu <hongjiu.lu@intel.com>
3268
3269 * elf32-i386.c (need_convert_mov_to_lea): New.
3270 (elf_i386_check_relocs): Set need_convert_mov_to_lea if needed.
3271 (elf_i386_convert_mov_to_lea): Return TRUE if
3272 need_convert_mov_to_lea is unset.
3273 * elf64-x86-64.c (need_convert_mov_to_lea): New.
3274 (elf_x86_64_check_relocs): Set need_convert_mov_to_lea if needed.
3275 (elf_x86_64_convert_mov_to_lea): Return TRUE if
3276 need_convert_mov_to_lea is unset.
3277
cdb602b1
NC
32782015-02-27 Nick Clifton <nickc@redhat.com>
3279
3280 PR binutils/17910
3281 * coffgen.c (_bfd_coff_internal_syment_name): Only check for
3282 string length overflow when the string table length is actually
3283 set.
3284
96c20bc1
MS
32852015-02-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
3286
3287 * bfd/bfd-in2.h: Regenerate.
3288 * bfd/libbfd.h: Regenerate.
3289
1ada945d
MS
32902015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
3291
3292 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix
3293 TLSDESC_LD_PREL19 field width and masks.
3294 (aarch64_tls_transition_without_check)
3295 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
3296 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
3297 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
3298 BFD_RELOC_AARCH64_TLSDESC_LD_PREL19.
3299 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
3300 (_bfd_aarch64_elf_resolve_relocation): Likewise.
3301
389b8029
MS
33022015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
3303
73920eed
MS
3304 * elfnn-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Reorder R_TYPE
3305 tests.
389b8029
MS
3306 (aarch64_tls_transition_without_check)
3307 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
3308 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
3309 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
3310 BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21.
3311 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
3312 (_bfd_aarch64_elf_resolve_relocation): Likewise.
3313 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
3314
3c12b054
MS
33152015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
3316
3317 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC)
3318 (elfNN_aarch64_howto_table, aarch64_tls_transition_without_check)
3319 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
3320 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
3321 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
3322 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
3323 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
3324 (_bfd_aarch64_elf_resolve_relocation): Likewise.
3325 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
3326
043bf05a
MS
33272015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
3328
3329 * elfnn-aarch64.c: (TLSIE_LD_GOTTREL_PREL19): Fix HOWTO bit field width.
3330 (aarch64_tls_transition_without_check, aarch64_reloc_got_type)
3331 (elfNN_aarch64_final_link_relocate, elfNN_aarch64_tls_relax)
3332 (elfNN_aarch64_relocate_section, elfNN_aarch64_gc_sweep_hook)
3333 (elfNN_aarch64_check_relocs): Handle
3334 BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19.
3335
3336 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
3337 (_bfd_aarch64_elf_resolve_relocation): Likewise.
3338
7366006f
MS
33392015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
3340
3341 * elfnn-aarch64.c: (TLSDESC_CALL): Fix HOWTO bit field width.
3342
07875fbc
MS
33432015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
3344
3345 * elfnn-aarch64.c (TLSLE_MOVW_TPREL_G2)
3346 (TLSLE_MOVW_TPREL_G1, TLSLE_MOVW_TPREL_G1_NC)
3347 (TLSLE_MOVW_TPREL_G0, TLSLE_MOVW_TPREL_G0_NC): Fix bit field
3348 width.
3349
49d8f92c
MS
33502015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
3351
3352 * elfnn-aarch64.c: (TLSIE_MOVW_GOTTPREL_G0_NC): Fix HOWTO bit
3353 field width.
3354
c86934ce
NC
33552015-02-26 Nick Clifton <nickc@redhat.com>
3356
3357 PR binutils/17512
3358 * coffcode.h (coff_compute_section_file_positions): Report
3359 negative page sizes.
3360 * elf.c (elf_fake_sections): Handle excessive alignmment powers.
3361 (assign_file_positions_for_non_load_sections): Replace assertion
3362 with an error message.
3363 (rewrite_elf_program_header): Handle excessive segment
3364 alignments.
3365 * mach-o.c (bfd_mach_o_read_section_32): Likewise.
3366 (bfd_mach_o_read_section_64): Likewise.
3367 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Use %B to
3368 print a bfd name, not %A.
3369
bd4d2eaa
AM
33702015-02-26 Alan Modra <amodra@gmail.com>
3371
3372 * elf64-ppc.c (plt_stub_size, build_plt_stub): Don't build
3373 thread-safe stubs for iplt.
3374 (build_tls_get_addr_stub): Restore r2 immediately after call.
3375
99654aaf
TG
33762015-02-26 Terry Guo <terry.guo@arm.com>
3377
3378 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Update how we
3379 merge Tag_ABI_HardFP_use.
3380
a127494f
AM
33812015-02-26 Alan Modra <amodra@gmail.com>
3382
3383 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Heed -z nocopyreloc.
3384 Use text relocs rather than giving an error on trying to use
3385 .dynbss for protected shared lib vars.
3386 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
3387
bac13f5a
AB
33882015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
3389
3390 * elf32-avr.c (struct elf_avr_section_data): New structure.
3391 (struct avr_relax_info): New structure.
3392 (elf_avr_new_section_hook): New function.
3393 (struct elf_avr_section_data): Add relax_info.
3394 (get_avr_relax_info): New function.
3395 (init_avr_relax_info): New function.
3396 (elf32_avr_relax_delete_bytes): Find next property record before
3397 deleting bytes. When deleting don't move bytes beyond the next
3398 property record.
3399 (avr_elf32_assign_records_to_section): New function.
3400 (avr_property_record_compare): New function.
3401 (avr_load_all_property_sections): New function.
3402 (elf32_avr_relax_section): Load property data. After relaxing the
3403 section, move any .align directives that have enough deleted bytes
3404 before them.
3405 (bfd_elf32_new_section_hook): Define.
3406
137c83d6
AB
34072015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
3408
3409 * elf32-avr.h (struct avr_property_header): New strucure.
3410 (avr_elf32_load_property_records): Declare.
3411 (avr_elf32_property_record_name): Declare.
3412 * elf32-avr.c: Add bfd_stdint.h include.
3413 (retrieve_local_syms): New function.
3414 (get_elf_r_symndx_section): New function.
3415 (get_elf_r_symndx_offset): New function.
3416 (internal_reloc_compare): New function.
3417 (struct avr_find_section_data): New structure.
3418 (avr_is_section_for_address): New function.
3419 (avr_find_section_for_address): New function.
3420 (avr_elf32_load_records_from_section): New function.
3421 (avr_elf32_load_property_records): New function.
3422 (avr_elf32_property_record_name): New function.
3423
fdd410ac
AB
34242015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
3425
3426 * elf32-avr.h (AVR_PROPERTY_RECORD_SECTION_NAME): Define.
3427 (AVR_PROPERTY_RECORDS_VERSION): Define.
3428 (AVR_PROPERTY_SECTION_HEADER_SIZE): Define.
3429 (struct avr_property_record): New structure.
3430
685080f2
NC
34312015-02-24 Nick Clifton <nickc@redhat.com>
3432
3433 * elf32-v850.c (v850_set_note): New function. Creates a Renesas
3434 style note entry.
3435 (v850_elf_make_note_section): New function. Creates a note
3436 section.
3437 (v850_elf_create_sections): New function. Create a note section
3438 if one is not already present.
3439 (v850_elf_set_note): New function. Adds a note to a bfd.
3440 (v850_elf_copy_private_bfd_data): New function. Copies V850
3441 notes.
3442 (v850_elf_merge_notes): New function. Merges V850 notes.
3443 (print_v850_note): New function. Displays a V850 note.
3444 (v850_elf_print_notes): New function. Displays all notes attached
3445 to a bfd.
3446 (v850_elf_merge_private_bfd_data): Call v850_elf_merge_notes.
3447 (v850_elf_print_private_bfd_data): Call v850_elf_print_notes.
3448 (v850_elf_fake_sections): Set the type of the V850 note section.
3449 * bfd-in.h (v850_elf_create_sections): Add prototype.
3450 (v850_elf_set_note): Add prototype.
3451 * bfd-in2.h: Regenerate.
3452
31593e1b
NC
34532015-02-24 Nick Clifton <nickc@redhat.com>
3454
3455 * configure.ac (AC_CHECK_HEADERS): Add wctype.h.
3456 * configure: Regenerate.
3457 * config.in: Regenerate.
3458 * peXXigen.c: Include wctype.h if HAVE_WCTYPE_H is defined.
3459 (u16_mbtowc): Use wint_t types if HAVE_WCTYPE_H is defined.
3460 (rsrc_cmp): Use towlower instead of wcsncasecmp if HAVE_WCTYPE_H
3461 is defined.
3462
3ad797fd
NC
34632015-02-24 Nick Clifton <nickc@redhat.com>
3464
3465 * pdp11.c (set_section_contents): Pad the .text and .data sections
3466 to their aligned sizes.
3467
5518c738
YS
34682015-02-23 Yoshinori Sato <ysato@users.sourceforge.jp>
3469
3470 * config.bfd: Add h8300-*-linux.
3471 * configure.ac: Add h8300_elf32_linux_vec.
3472 * configure: Regenerate.
3473 * elf32-h8300.c: Likewise.
3474 * targets.c(_bfd_target_vector): Likewise.
3475
cb967f0d
NC
34762015-02-23 Nick Clifton <nickc@redhat.com>
3477
3478 PR 17914
3479 * cpu-w65.c: Correct typos in license notice.
3480
0f8f0c57
NC
3481 PR 17940
3482 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust debug
3483 symbols at end of sections. Adjust function sizes.
3484
4ef9f41a
AA
34852015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
3486
3487 * elf-bfd.h (elfcore_write_s390_vxrs_low): Add prototype.
3488 (elfcore_write_s390_vxrs_high): Likewise.
3489 * elf.c (elfcore_grok_s390_vxrs_low): New function.
3490 (elfcore_grok_s390_vxrs_high): New function.
3491 (elfcore_grok_note): Call them.
3492 (elfcore_write_s390_vxrs_low): New function.
3493 (elfcore_write_s390_vxrs_high): New function.
3494 (elfcore_write_register_note): Call them.
3495
837914ee
BD
34962015-02-19 Branko Drevensek <branko.drevensek@gmail.com>
3497
3498 PR 17995
3499 * verilog.c (verilog_write_record): Correct buffer size.
3500
cf18fda4
AM
35012015-02-19 Alan Modra <amodra@gmail.com>
3502
3503 * elflink.c (_bfd_elf_define_linkage_sym): Set 'bed' earlier.
3504
d983c8c5
AM
35052015-02-19 Alan Modra <amodra@gmail.com>
3506
3507 PR ld/4317
3508 * elflink.c (elf_link_input_bfd): Drop undefined local syms.
3509 (elf_link_output_extsym): Drop local and global undefined syms.
3510 Tidy. Expand comment.
3511
2ec55de3
AM
35122015-02-17 Alan Modra <amodra@gmail.com>
3513
3514 PR ld/17975
3515 * elflink.c (struct elf_outext_info): Remove need_second_pass
3516 and second_pass.
3517 (elf_link_output_extsym): Delete code handling second forced
3518 local pass. Move code emitting NULL STT_FILE symbol later, so
3519 that it can be omitted if forced local is stripped. Don't
3520 emit the NULL STT_FILE if no file symbols have been output.
3521 (bfd_elf_final_link): Remove second forced local pass.
3522 * elf32-ppc.c (add_stub_sym): Set linker_def on linker syms.
3523 (ppc_elf_size_dynamic_sections): Likewise.
3524 * elf64-ppc.c (ppc_build_one_stub): Likewise.
3525 (build_global_entry_stubs): Likewise.
3526 (ppc64_elf_build_stubs): Likewise.
3527
6dfb72b9
L
35282015-02-16 H.J. Lu <hongjiu.lu@intel.com>
3529
3530 PR ld/17975
3531 * elflink.c (elf_link_output_extsym): Only check filesym_count
3532 when outputting a NULL FILE symbol. Set second_pass_sym to
3533 h->forced_local && !h->root.linker_def.
3534
576fa883
L
35352015-02-15 H.J. Lu <hongjiu.lu@intel.com>
3536
3537 * elf32-i386.c (elf_i386_always_size_sections): Set root.linker_def
3538 on _TLS_MODULE_BASE_.
3539 * elf64-x86-64.c (elf_x86_64_always_size_sections): Likewise.
3540
62f8d217
AM
35412015-02-15 Alan Modra <amodra@gmail.com>
3542
3543 * dwarf2.c (read_rangelist): Correct buffer overflow check
3544 Whitespace throughout file.
3545
ce875075
AM
35462015-02-14 Alan Modra <amodra@gmail.com>
3547
3548 PR ld/17973
3549 * bfd.c (struct bfd): Add lto_output.
3550 * linker.c (_bfd_handle_already_linked): Explicitly test for
3551 objects added by the lto plugin.
3552 * opncls.c (_bfd_new_bfd_contained_in): Copy lto_output and
3553 no_export flags from archive.
3554 * archive.c (open_nested_file): New function, setting lto_output
3555 and no_export, extracted from..
3556 (find_nested_archive): ..here. Flip params. Rename from
3557 _bfd_find_nested_archive.
3558 (_bfd_get_elt_at_filepos): Correct var typo. Use open_nested_file.
3559 (_bfd_look_for_bfd_in_cache): Copy no_export.
3560 * elflink.c (elf_link_add_object_symbols): Remove now unnecessary
3561 my_archive->no_export test.
3562 (elf_link_input_bfd): Drop existing lto_output STT_FILE syms.
3563 Don't use the file name when adding lto_output STT_FILE sym.
3564 * bfd-in2.h: Regenerate.
3565
451dfd38
AM
35662015-02-13 Alan Modra <amodra@gmail.com>
3567
3568 PR binutils/17512
3569 * elf64-ppc.c (opd_entry_value): Tighten offset check. Remove
3570 now redundant assert.
3571
dbb3fbbb
NC
35722015-02-12 Nick Clifton <nickc@redhat.com>
3573
3574 PR binutils/17512
3575 * dwarf.c (read_1_byte, read_1_signed_byte, read_2_bytes)
3576 (read_4_bytes, read_8_bytes, read_n_bytes, read_string)
3577 (read_indirect_string, read_alt_indirect_string)
3578 (read_alt_indirect_ref, read_address, read_abbrevs)
3579 (read_attribute_value, read_attribute, decode_line_info)
3580 (find_abstract_instance_name, read_rangelist)
3581 (scan_unit_for_symbols, parse_comp_unit)
3582 (_bfd_dwarf2_find_nearest_line): Harden DWARF reading code. Pass
3583 end pointers to reading functions and check for offsets taking
3584 pointers out of range. Replace calls to read_*_leb128 with calls
3585 to safe_read_leb128.
3586
3587 (* elf64-ppc.c (opd_entry_value): Add a check for an overlarge
3588 offset.
3589 * syms.c (_bfd_stab_section_find_nearest_line): Add checks for
3590 computed file_name address being before the start of the string
3591 table.
3592
b9dc5a87
L
35932015-02-11 H.J. Lu <hongjiu.lu@intel.com>
3594
3595 PR ld/17878
3596 * bfd.c (bfd_plugin_format): New.
3597 (bfd): Add plugin_format and plugin_dummy_bfd.
3598 * plugin.c (try_load_plugin): Take a pointer to bfd_boolean
3599 argument to return TRUE if any plugin is found. Set plugin_format.
3600 (has_plugin): New.
3601 (bfd_plugin_target_p): New.
3602 (bfd_plugin_specified_p): Likewise.
3603 (bfd_plugin_target_p): Likewise.
3604 (register_ld_plugin_object_p): Likewise.
3605 (bfd_plugin_set_plugin): Set has_plugin.
3606 (load_plugin): Cache try_load_plugin result.
3607 (bfd_plugin_object_p): Try ld_plugin_object_p first. Check
3608 plugin_format.
3609 * plugin.h (bfd_plugin_target_p): New.
3610 (bfd_plugin_specified_p): Likewise.
3611 (register_ld_plugin_object_p): Likewise.
3612 * bfd-in2.h: Regenerated.
3613
55172d69
PA
36142015-02-11 Pedro Alves <palves@redhat.com>
3615
3616 * libbfd-in.h [__cplusplus]: Open extern "C" scope.
3617 * libcoff-in.h [__cplusplus]: Open extern "C" scope.
3618 * libbfd.h: Regenerate.
3619 * libcoff.h: Regenerate.
3620
3621 * elf-bfd.h [__cplusplus]: Wrap in extern "C".
3622 * mach-o.h [__cplusplus]: Wrap in extern "C".
3623 * som.h [__cplusplus]: Wrap in extern "C".
3624
77ef8654
NC
36252015-02-10 Nick Clifton <nickc@redhat.com>
3626
3627 PR binutils/17512
3628 * coffcode.h (styp_to_sec_flags): Use an unsigned long type to
3629 hold the flag bits.
3630 * peXXigen.c (pe_print_reloc): Use unsigned types to hold the
3631 size and number of relocs.
3632 (pe_print_debugdata): Use a 32-bit aligned buffer to store the
3633 codeview record.
3634 * versados.c (process_otr): Check the esdid value before using it
3635 to access the EDATA.
3636
35181b3e
EM
36372015-02-09 Ed Maste <emaste@freebsd.org>
3638
3639 * elf32-i386.c (elf_i386_get_plt_sym_val): Avoid incrementing
3640 uninitialized and unused variable.
3641 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
3642
989f9879
AM
36432015-02-09 Alan Modra <amodra@gmail.com>
3644
3645 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault on NULL
3646 tls_sec.
3647 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
3648 * elflink.c (elf_link_output_extsym): Don't assert on NULL tls_sec.
3649
ca4be51c
AM
36502015-02-09 Alan Modra <amodra@gmail.com>
3651
3652 * elflink.c: Whitespace, formatting fixes.
3653 (elf_link_input_bfd): Clarify comment.
3654 (elf_link_output_extsym): Exclude symbols in linker created
3655 sections when testing for plugin symbols.
3656
1952c5cd
L
36572015-02-07 H.J. Lu <hongjiu.lu@intel.com>
3658
3659 PR ld/17935
3660 * elf32-i386.c (elf_i386_readonly_dynrelocs): Also issue a
3661 warning for relocation in readonly section for -z text.
3662 (elf_i386_size_dynamic_sections): Likewise.
3663 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
3664 (elf_x86_64_size_dynamic_sections): Likewise.
3665
9e2dec47
L
36662015-02-06 H.J. Lu <hongjiu.lu@intel.com>
3667
3668 PR ld/12365
3669 PR ld/14272
3670 * elflink.c (_bfd_elf_fix_symbol_flags): Revert the last change.
3671 (elf_link_input_bfd): Mark the plugin symbol undefined if it is
3672 referenced from a non-IR file.
3673
5929c344
NC
36742015-02-06 Nick Clifton <nickc@redhat.com>
3675
3676 PR binutils/17512
3677 * peXXigen.c (rsrc_print_resource_entries): Add range check for
3678 addresses that wrap around the address space.
3679 (rsrc_parse_entry): Likewise.
3680
60f79275
L
36812015-02-03 H.J. Lu <hongjiu.lu@intel.com>
3682
3683 PR ld/12365
3684 PR ld/14272
3685 * elflink.c (_bfd_elf_fix_symbol_flags): Mark the plugin symbol
3686 undefined if it is referenced from a non-IR file.
3687
64d29018
NC
36882015-02-03 Nick Clifton <nickc@redhat.com>
3689
3690 PR binutils/17512
3691 * ecoff.c: Use bfd_alloc2 to allocate space for structure arrays.
3692 (_bfd_ecoff_slurp_symbol_table): Check for a negative symbol
3693 index or an out of range fdr index.
3694 * elf-m10300.c (mn10300_info_to_howto): Fix typo in error message.
3695 * elf32-arc.c (arc_info_to_howto_rel): Likewise.
3696 * elf32-avr.c (avr_info_to_howto_rela): Likewise.
3697 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
3698 * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
3699 * elf32-cris.c (cris_info_to_howto_rela): Likewise.
3700 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
3701 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
3702 * elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
3703 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
3704 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
3705 * elf32-frv.c (frv_info_to_howto_rela): Likewise.
3706 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
3707 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
3708 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
3709 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
3710 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
3711 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
3712 * elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
3713 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
3714 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
3715 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
3716 * elf32-mep.c (mep_info_to_howto_rela): Likewise.
3717 * elf32-metag.c (metag_info_to_howto_rela): Likewise.
3718 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
3719 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
3720 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
3721 * elf32-mt.c (mt_info_to_howto_rela): Likewise.
3722 * elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
3723 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
3724 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
3725 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
3726 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
3727 * elf32-rx.c (rx_info_to_howto_rela): Likewise.
3728 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
3729 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
3730 * elf32-v850.c (v850_elf_perform_relocation): Likewise.
3731 * elf32-vax.c (rtype_to_howto): Likewise.
3732 * elf32-visium.c (visium_info_to_howto_rela): Likewise.
3733 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
3734 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
3735 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
3736 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
3737 * mach-o.c: Use bfd_alloc2 to allocate space for structure arrays.
3738 (bfd_mach_o_canonicalize_one_reloc): Fix check on out
3739 of range symbol indicies.
3740 (bfd_mach_o_canonicalize_relocs): Check for out of range alloc.
3741 (bfd_mach_o_canonicalize_dynamic_reloc): Likewise.
3742 (bfd_mach_o_build_dysymtab): Likewise.
3743 (bfd_mach_o_write_symtab_content): Set the string table size to
3744 zero upon error.
3745 (bfd_mach_o_read_symtab_symbols): Reset the nsyms value if the
3746 read fails.
3747 * peXXigen.c (pe_print_edata): Check for numeric overflow in edt
3748 fields.
3749 * tekhex.c (first_phase): Check for src pointer reaching end of
3750 buffer.
3751
3a635617
WN
37522015-02-03 Will Newton <will.newton@linaro.org>
3753
46b87d49
WN
3754 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol):
3755 Set st_value to zero for undefined symbols if the reference
3756 is weak or pointer_equality_needed is FALSE.
3757
3a635617
WN
3758 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve
3759 comment discussing why we clear st_value for some symbols.
3760
0c4bd9d9
KLC
37612015-02-02 Kuan-Lin Chen <kuanlinchentw@gmail.com>
3762
3763 * elf32-nds32.c (nds32_get_section_contents): Add one more argument.
3764 (nds32_elf_relocate_section): Do not relocate R_NDS32_LONGJUMP7.
3765
b86ac8e3
AM
37662015-01-29 Alan Modra <amodra@gmail.com>
3767
3768 * elf64-ppc.c (ppc64_elf_relocate_section): Correct GOT_TLSLD
3769 optimization. Tidy mask for GOT_TLSGD optimization.
3770 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Correct
3771 location of nop zapping high insn too.
3772
dbd1e97e
AM
37732015-01-28 Alan Modra <amodra@gmail.com>
3774
3775 * elf64-ppc.h (struct ppc64_elf_params): Add "object_in_toc".
3776 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Assume that global symbols
3777 in .toc indicate xlc compiled code that might require a rw .toc.
3778
3f8107ab
AM
37792015-01-28 James Bowman <james.bowman@ftdichip.com>
3780
3781 * Makefile.am: Add FT32 files.
3782 * archures.c (enum bfd_architecture): Add bfd_arch_ft32.
3783 (bfd_mach_ft32): Define.
3784 (bfd_ft32_arch): Declare.
3785 (bfd_archures_list): Add bfd_ft32_arch.
3786 * config.bfd: Handle FT32.
3787 * configure.ac: Likewise.
3788 * cpu-ft32.c: New file.
3789 * elf32-ft32.c: New file.
3790 * reloc.c (BFD_RELOC_FT32_10, BFD_RELOC_FT32_20, BFD_RELOC_FT32_17,
3791 BFD_RELOC_FT32_18): Define.
3792 * targets.c (_bfd_target_vector): Add ft32_elf32_vec.
3793 * bfd-in2.h: Regenerate.
3794 * libbfd.h: Regenerate.
3795 * Makefile.in: Regenerate.
3796 * configure: Regenerate.
3797 * po/SRC-POTFILES.in: Regenerate.
3798
37e3922e
NC
37992015-01-27 Nick Clifton <nickc@redhat.com>
3800
3801 PR binutils/17512
3802 * pdp11.c (aout_get_external_symbols): Return false if there are
3803 no symbols.
3804
877a8638
NC
3805 * dwarf2.c (concat_filename): Check for an empty directory table.
3806 (scan_unit_for_symbols): Check for reading off the end of the
3807 unit.
3808 (parse_comp_unit): Check for a DW_AT_comp_dir attribute with a
3809 non-string form.
3810 * elf64-ppc.c (opd_entry_value): Fail if there are no relocs
3811 available.
3812
18393a2e
KLC
38132015-01-26 Kuan-Lin Chen <kuanlinchentw@gmail.com>
3814
3815 * elf32-nds32.c (nds32_elf_pick_relax): Fix again setting.
3816
055173ca
DD
38172015-01-22 DJ Delorie <dj@redhat.com>
3818
3819 * elf32-m32c.c (m32c_apply_reloc_24): New.
3820 (m32c_elf_howto_table): Use it for R_M32C_24.
3821 (m32c_elf_relocate_section): Handle R_M32C_24 specially.
3822
4e5cb37e
NC
38232015-01-22 Nick Clifton <nickc@redhat.com>
3824
3825 PR binutils/17512
3826 * coffcode.h (handle_COMDAT): When searching for the section
3827 symbol, make sure that there is space left in the symbol table.
3828 * vms-alpha.c (_bfd_vms_slurp_ehdr): Add range checks.
3829
86eafac0
NC
38302015-01-21 Nick Clifton <nickc@redhat.com>
3831
3832 PR binutils/17512
3833 * coffcode.h (coff_set_arch_mach_hook): Check return value from
3834 bfd_malloc.
3835 (coff_slurp_line_table): Return FALSE if the line number
3836 information was corrupt.
3837 (coff_slurp_symbol_table): Return FALSE if the symbol information
3838 was corrupt.
3839 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Always
3840 initialise the fields of the dyld_info structure.
3841 (bfd_mach_o_build_exec_seg_command): Replace assertion with an
3842 error message and a return value.
3843 (bfd_mach_o_layout_commands): Change the function to boolean.
3844 Return FALSE if the function fails.
3845 (bfd_mach_o_build_commands): Fail if bfd_mach_o_layout_commands
3846 fails.
3847 (bfd_mach_o_read_command): Fail if an unrecognised command is
3848 encountered.
3849 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Set bfd_error if the
3850 read fails.
3851 (slurp_symtab): Check the return from bfd_malloc.
3852 (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if the copy
3853 encountered an error.
3854 (_bfd_XXi_final_link_postscript): Fail if a section could not be
3855 copied.
3856 * peicode.h (pe_bfd_object_p): Fail if the header could not be
3857 swapped in.
3858 * tekhex.c (first_phase): Fail if the section is too big.
3859 * versados.c (struct esdid): Add content_size field.
3860 (process_otr): Use and check the new field.
3861 (versados_get_section_contents): Check that the section exists and
3862 that the requested data is available.
3863
03d5b773
CLT
38642015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
3865
3866 * elf32-nios2.c (elf_backend_default_execstack): Define as 0.
3867
1c9177d9
AM
38682015-01-20 Alan Modra <amodra@gmail.com>
3869
3870 PR ld/17615
3871 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Don't drop
3872 ELF_COMMON_DEF syms.
3873
c4621b33
AM
38742015-01-19 Alan Modra <amodra@gmail.com>
3875
3e2aa5bb 3876 PR ld/17615
c4621b33
AM
3877 * elf-bfd.h (ELF_COMMON_DEF_P): Note that this might be true for
3878 linker script assignments too.
3879 * elflink.c (elf_gc_sweep_symbol): Don't drop ELF_COMMON_DEF syms.
3880 (bfd_elf_gc_mark_dynamic_ref_symbol): Similarly.
3881
0ba38529
AM
38822015-01-19 Alan Modra <amodra@gmail.com>
3883
3884 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Correct loop iteration
3885 to allow return of first howto.
3886 * elf32-fr30.c (fr30_reloc_type_lookup): Likewise.
3887 * elf32-m32c.c (m32c_reloc_type_lookup): Likewise.
3888 * elf32-moxie.c (moxie_reloc_type_lookup): Likewise.
3889 * elf32-or1k.c (or1k_reloc_type_lookup): Likewise.
3890 * elf32-rl78.c (rl78_reloc_type_lookup): Likewise.
3891 * elf32-rx.c (rx_reloc_type_lookup): Likewise.
3892 * elf32-tilepro.c (tilepro_reloc_type_lookup): Likewise.
3893 * elf32-xstormy16.c (xstormy16_reloc_type_lookup): Likewise.
3894 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
3895 * elf32-nios2.c (nios2_reloc_map): Add mapping for R_NIOS2_NONE.
3896 * elf32-spu.c (spu_elf_bfd_to_reloc_type): Allow return of R_SPU_NONE.
3897 (spu_elf_reloc_type_lookup): Adjust to suit.
3898
6346d5ca
AM
38992015-01-19 Alan Modra <amodra@gmail.com>
3900
3901 * bfd-in.h (bfd_get_section_limit_octets): New define, extracted from..
3902 (bfd_get_section_limit): ..here.
3903 * reloc.c (bfd_perform_relocation): Correct bfd_reloc_outofrange check.
3904 (bfd_install_relocation, _bfd_final_link_relocate): Add same check here.
3905 * elf32-sh.c (sh_elf_reloc): Correct bfd_reloc_outofrange check.
3906 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Remove duplicated
3907 bfd_reloc_outofrange check.
3908 * bfd-in2.h: Regenerate.
3909
3910 * cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Return bfd_reloc_ok
3911 on zero size relocs.
3912 * ecoff.c (ecoff_reloc_link_order): Likewise.
3913 * elf32-nds32.c (nds32_relocate_contents): Likewise.
3914 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
3915
3916 * reloc.c (_bfd_relocate_contents): Don't bomb on zero size relocs.
3917 (_bfd_clear_contents): Likewise.
3918 * elfxx-mips.c (mips_elf_obtain_contents): Likewise.
3919 (mips_elf_perform_relocation): Likewise.
3920
3921 * aoutx.h (aout_link_reloc_link_order): Allow for NULL return
3922 from malloc on zero size alloc.
3923 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
3924 * elflink.c (elf_reloc_link_order): Likewise.
3925 * linker.c (_bfd_generic_reloc_link_order): Likewise.
3926 * pdp11.c (aout_link_reloc_link_order): Likewise.
3927 * xcofflink.c (xcoff_reloc_link_order): Likewise.
3928
3929 * aoutx.h (howto_table_ext): Ensure NONE relocs have size 3,
3930 bitsize 0, and complain_overflow_dont.
3931 * coff-sparc.c (coff_sparc_howto_table): Likewise.
3932 * elf-hppa.h (elf_hppa_howto_table): Likewise.
3933 * elf-m10200.c (elf_mn10200_howto_table): Likewise.
3934 * elf-m10300.c (elf_mn10300_howto_table): Likewise.
3935 * elf32-arc.c (elf_arc_howto_table): Likewise.
3936 * elf32-arm.c (elf32_arm_howto_table_1): Likewise.
3937 * elf32-avr.c (elf_avr_howto_table): Likewise.
3938 * elf32-bfin.c (bfin_howto_table): Likewise.
3939 * elf32-cr16.c (cr16_elf_howto_table): Likewise.
3940 * elf32-cris.c (cris_elf_howto_table): Likewise.
3941 * elf32-crx.c (crx_elf_howto_table): Likewise.
3942 * elf32-d10v.c (elf_d10v_howto_table): Likewise.
3943 * elf32-d30v.c (elf_d30v_howto_table): Likewise.
3944 * elf32-dlx.c (dlx_elf_howto_table): Likewise.
3945 * elf32-epiphany.c (epiphany_elf_howto_table): Likewise.
3946 * elf32-fr30.c (fr30_elf_howto_table): Likewise.
3947 * elf32-frv.c (elf32_frv_howto_table): Likewise.
3948 * elf32-h8300.c (h8_elf_howto_table): Likewise.
3949 * elf32-i370.c (i370_elf_howto_raw): Likewise.
3950 * elf32-i386.c (elf_howto_table): Likewise.
3951 * elf32-i860.c (elf32_i860_howto_table): Likewise.
3952 * elf32-i960.c (elf32_i960_relocate): Likewise.
3953 * elf32-ip2k.c (ip2k_elf_howto_table): Likewise.
3954 * elf32-iq2000.c (iq2000_elf_howto_table): Likewise.
3955 * elf32-lm32.c (lm32_elf_howto_table): Likewise.
3956 * elf32-m32c.c (m32c_elf_howto_table): Likewise.
3957 * elf32-m32r.c (m32r_elf_howto_table): Likewise.
3958 * elf32-m68hc11.c (elf_m68hc11_howto_table): Likewise.
3959 * elf32-m68hc12.c (elf_m68hc11_howto_table): Likewise.
3960 * elf32-m68k.c (howto_table): Likewise.
3961 * elf32-mcore.c (mcore_elf_howto_raw): Likewise.
3962 * elf32-mep.c (mep_elf_howto_table): Likewise.
3963 * elf32-metag.c (elf_metag_howto_table): Likewise.
3964 * elf32-microblaze.c (microblaze_elf_howto_raw): Likewise.
3965 * elf32-mips.c (elf_mips_howto_table_rel): Likewise.
3966 * elf32-moxie.c (moxie_elf_howto_table): Likewise.
3967 * elf32-msp430.c (elf_msp430_howto_table): Likewise.
3968 * elf32-mt.c (mt_elf_howto_table): Likewise.
3969 * elf32-nds32.c (nds32_elf_howto_table): Likewise.
3970 * elf32-nios2.c (elf_nios2_howto_table_rel): Likewise.
3971 * elf32-or1k.c (or1k_elf_howto_table): Likewise.
3972 * elf32-pj.c (pj_elf_howto_table): Likewise.
3973 * elf32-ppc.c (ppc_elf_howto_raw): Likewise.
3974 * elf32-rl78.c (rl78_elf_howto_table): Likewise.
3975 * elf32-rx.c (rx_elf_howto_table): Likewise.
3976 * elf32-s390.c (elf_howto_table): Likewise.
3977 * elf32-score.c (elf32_score_howto_table): Likewise.
3978 * elf32-score7.c (elf32_score_howto_table): Likewise.
3979 * elf32-sh-relocs.h (R_SH_NONE): Likewise.
3980 * elf32-spu.c (elf_howto_table): Likewise.
3981 * elf32-tic6x.c (elf32_tic6x_howto_table): Likewise.
3982 * elf32-tilepro.c (tilepro_elf_howto_table): Likewise.
3983 * elf32-v850.c (v850_elf_howto_table): Likewise.
3984 * elf32-vax.c (howto_table): Likewise.
3985 * elf32-visium.c (visium_elf_howto_table): Likewise.
3986 * elf32-xc16x.c (xc16x_elf_howto_table): Likewise.
3987 * elf32-xgate.c (elf_xgate_howto_table): Likewise.
3988 * elf32-xstormy16.c (xstormy16_elf_howto_table): Likewise.
3989 * elf32-xtensa.c (elf_howto_table): Likewise.
3990 * elf64-alpha.c (elf64_alpha_howto_table): Likewise.
3991 * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
3992 * elf64-mmix.c (elf_mmix_howto_table): Likewise.
3993 * elf64-ppc.c (ppc64_elf_howto_raw): Likewise.
3994 * elf64-s390.c (elf_howto_table): Likewise.
3995 * elf64-sh64.c (sh_elf64_howto_table): Likewise.
3996 * elf64-x86-64.c (x86_64_elf_howto_table): Likewise.
3997 * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
3998 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
3999 (elfNN_aarch64_howto_none): Likewise.
4000 * elfxx-ia64.c (ia64_howto_table): Likewise.
4001 * elfxx-sparc.c (_bfd_sparc_elf_howto_table): Likewise.
4002 * elfxx-tilegx.c (tilegx_elf_howto_table): Likewise.
4003 * nlm32-sparc.c (nlm32_sparc_howto_table): Likewise.
4004
6333bc0d
L
40052015-01-15 H.J. Lu <hongjiu.lu@intel.com>
4006
4007 PR ld/17847
4008 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't complain
4009 about -fPIC if the symbol is undefined when building executable.
4010
cd21f5da
NC
40112015-01-15 Nick Clifton <nickc@redhat.com>
4012
4013 PR binutils/17512
4014 * elf-m10300.c (mn10300_info_to_howto): Replace assertion with an
4015 error message. Never return an invalid howto pointer.
4016 * elf32-cr16.c (cr16_info_to_howto): Likewise.
4017 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
4018 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
4019 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
4020 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
4021 * elf32-mips.c (mips_elf32_rtype_to_howto): Likewise.
4022 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
4023 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
4024 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
4025 * elf32-v850.c (v850_elf_info_to_howto_rela): Likewise.
4026 * elf32-vax.c (rtype_to_howto): Likewise.
4027 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
4028 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
4029 * elfn32-mips.c (sh_elf_info_to_howto): Likewise.
4030 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
4031 (sh_elf_reloc): Check that the reloc is in range.
4032 * reloc.c (bfd_perform_relocation): Check that the section is big
4033 enough for the entire reloc.
4034 (bfd_generic_get_relocated_section_contents): Report unexpected
4035 return values from perform_reloc.
4036
2d071cfc
NC
40372015-01-15 Nick Clifton <nickc@redhat.com>
4038
4039 * elf32-msp430.c (msp430_elf_relax_section): Skip unhandled
4040 relocs. Include PC-relative adjustment for R_MSP430X_ABS16
4041 relaxation.
4042
ca55926c
AM
40432015-01-15 Alan Modra <amodra@gmail.com>
4044
4045 * elflink.c (_bfd_elf_link_omit_section_dynsym): Return true for
4046 any output section matching a linker created dynobj section.
4047
8539e4e8
AM
40482015-01-15 Alan Modra <amodra@gmail.com>
4049
4050 PR 17842
4051 * elflink.c (elf_link_output_sym): Assert elf_onesymtab set.
4052 (bfd_elf_final_link): Always create a symbol table when emit_relocs.
4053 Don't assign symtab file position unless symbols will be output.
4054 Merge blocks with condition in common. Don't call
4055 elf_backend_output_arch_local_syms or elf_backend_output_arch_syms
4056 unless other symbols are output. Move assignment of symtab_shndx
4057 file position. Localize variable.
4058
52db4ec2
JW
40592015-01-14 Jiong Wang <jiong.wang@arm.com>
4060
4061 * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when
4062 trying to defer them to runtime.
4063
0941db69
JW
40642015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
4065
4066 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND
4067 to check if a symbol should be bound symbolically.
4068
0172429c
JW
40692015-01-13 Jiong Wang <jiong.wang@arm.com>
4070
4071 * elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
4072 for TLSLE_MOVW_TPREL_G2.
4073
bab91cce
JW
40742015-01-13 Jiong Wang <jiong.wang@arm.com>
4075
4076 PR ld/17415
4077 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Mark
4078 R_AARCH64_TLSLE_ADD_TPREL_HI12 as complain_overflow_unsigned.
4079 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Correct the
4080 bit mask.
4081
3c758495
TG
40822015-01-12 Terry Guo <terry.guo@arm.com>
4083
4084 * elflink.c (_bfd_elf_gc_mark_debug_special_section_group): New
4085 function.
4086 (_bfd_elf_gc_mark_extra_sections): Use it.
4087
9d1d54d5
L
40882015-01-11 H.J. Lu <hongjiu.lu@intel.com>
4089
4090 PR ld/17827
4091 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): For PIE,
4092 only discard space for pc-relative relocs symbols which turn
4093 out to need copy relocs.
4094
c6e8e93a
NC
40952015-01-09 Nick Clifton <nickc@redhat.com>
4096
4097 * tekhex.c (getvalue): Fix thinko in test for correct extraction
4098 of value.
4099 (getsym): Return false if there was not enough data to extract the
4100 symbol.
4101
400cf8cb
AG
41022015-01-09 Anthony Green <green@moxielogic.com>
4103
4104 * elf32-moxie.c (ELF_MACHINE_ALT1): Define.
4105
23d4663e
NC
41062015-01-08 Nick Clifton <nickc@redhat.com>
4107
4108 * elf32-msp430.c (msp430_elf_relax_section): Add relaxation of
4109 16-bit absolute BR instructions to 10-bit pc-relative JMP
4110 instructions.
4111
063bb025
NC
41122015-01-08 Nick Clifton <nickc@redhat.com>
4113
4114 PR binutils/17512
4115 * coffcode.h (coff_slurp_symbol_table): Return false if we failed
4116 to load the line table.
4117 * elf.c (_bfd_elf_map_sections_to_segments): Enforce a minimum
4118 maxpagesize of 1.
4119 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if
4120 the Data Directory Size is too large.
4121
6f25f223
L
41222015-01-06 H.J. Lu <hongjiu.lu@intel.com>
4123
4124 PR binutils/17512
4125 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocation.
4126 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
4127
85880250
NC
41282015-01-06 Nick Clifton <nickc@redhat.com>
4129
4130 PR binutils/17512
e7287c7f
NC
4131 * mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the
4132 string table.
4133
ec93045b
NC
4134 * reloc.c (bfd_get_reloc_size): Handle a reloc size of -1.
4135 (bfd_perform_relocation): Include the size of the reloc in the
4136 test for an out of range relocation.
4137 (bfd_generic_get_relocated_section_contents): Remove reloc range
4138 test.
4139
85880250
NC
4140 * coff-i860.c (CALC_ADDEND): Always set an addend value.
4141 * tekhex.c (getvalue): Add an end pointer parameter. Use it to
4142 avoid reading off the end of the buffer.
4143 (getsym): Likewise.
4144 (first_phase): Likewise.
4145 (pass_over): Pass an end pointer to the invoked function.
4146
533d0af0
L
41472015-01-05 H.J. Lu <hongjiu.lu@intel.com>
4148
4149 PR binutils/17512
4150 * elf32-i386.c (elf_i386_get_plt_sym_val): Return NULL on corrupt
4151 input.
4152 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
4153
896ca098
NC
41542015-01-05 Nick Clifton <nickc@redhat.com>
4155
4156 PR binutils/17512
4157 * archive.c (do_slurp_bsd_armap): Make sure that the parsed sized
4158 is at least big enough for the header to be read.
4159 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocs.
4160 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add range checks.
4161 (bfd_mach_o_read_command): Prevetn duplicate error messages about
4162 unrecognized commands.
4163 * syms.c (_bfd_stab_section_find_nearest_line): Add range checks
4164 when indexing into the string table.
4165
b90efa5b 41662015-01-01 Alan Modra <amodra@gmail.com>
ee3b52e9 4167
b90efa5b 4168 Update year range in copyright notice of all files.
ee3b52e9 4169
b90efa5b 4170For older changes see ChangeLog-2014
56882138 4171\f
b90efa5b 4172Copyright (C) 2015 Free Software Foundation, Inc.
752937aa
NC
4173
4174Copying and distribution of this file, with or without modification,
4175are permitted in any medium without royalty provided the copyright
4176notice and this notice are preserved.
4177
56882138
AM
4178Local Variables:
4179mode: change-log
4180left-margin: 8
4181fill-column: 74
4182version-control: never
4183End: