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