ARM/BFD: Correct an `index' global shadowing error
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
c48182bf
MR
12016-10-18 Maciej W. Rozycki <macro@imgtec.com>
2
3 * elf32-arm.c (elf32_arm_update_relocs): Rename `index' local
4 variable to `reloc_index'.
5
4d483590
AM
62016-10-12 Alan Modra <amodra@gmail.com>
7
8 * section.c (BFD_FAKE_SECTION): Reorder parameters. Formatting.
9 (STD_SECTION): Adjust to suit.
10 * elf.c (_bfd_elf_large_com_section): Likewise.
11 * bfd-in2.h: Regenerate.
12
f02cb058
AM
132016-10-11 Alan Modra <amodra@gmail.com>
14
15 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Handle symbols
16 defined temporarily with bfd_und_section.
17 * elflink.c (_bfd_elf_gc_keep): Don't set SEC_KEEP for bfd_und_section.
18 * elfxx-mips.c (mips_elf_local_pic_function_p): Exclude defined
19 symbols with bfd_und_section.
20
50e03d47
AM
212016-10-07 Alan Modra <amodra@gmail.com>
22
23 * targets.c (bfd_target <_bfd_merge_private_bfd_data>): Replace
24 obfd param with struct bfd_link_info param. Update all callers.
25 * linker.c (bfd_merge_private_bfd_data): Likewise.
26 (_bfd_generic_verify_endian_match): Likewise.
27 * aoutf1.h (sunos_merge_private_bfd_data): Likewise.
28 * coff-arm.c (coff_arm_merge_private_bfd_data): Likewise.
29 * elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise.
30 * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Likewise.
31 (_bfd_elf_merge_object_attributes): Likewise.
32 * elf-m10300.c (_bfd_mn10300_elf_merge_private_bfd_data): Likewise.
33 * elf-s390-common.c (elf_s390_merge_obj_attributes): Likewise.
34 * elf32-arc.c (arc_elf_merge_private_bfd_data): Likewise.
35 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Likewise.
36 (elf32_arm_merge_private_bfd_data): Likewise.
37 * elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Likewise.
38 * elf32-cr16.c (_bfd_cr16_elf_merge_private_bfd_data): Likewise.
39 * elf32-cris.c (cris_elf_merge_private_bfd_data): Likewise.
40 * elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise.
41 * elf32-h8300.c (elf32_h8_merge_private_bfd_data): Likewise.
42 * elf32-i370.c (i370_elf_merge_private_bfd_data): Likewise.
43 * elf32-iq2000.c (iq2000_elf_merge_private_bfd_data): Likewise.
44 * elf32-m32c.c (m32c_elf_merge_private_bfd_data): Likewise.
45 * elf32-m32r.c (m32r_elf_merge_private_bfd_data): Likewise.
46 * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
47 * elf32-m68hc1x.h (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
48 * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Likewise.
49 * elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise.
50 * elf32-mep.c (mep_elf_merge_private_bfd_data): Likewise.
51 * elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Likewise.
52 (elf32_msp430_merge_private_bfd_data): Likewise.
53 * elf32-mt.c (mt_elf_merge_private_bfd_data): Likewise.
54 * elf32-nds32.c (nds32_elf_merge_private_bfd_data): Likewise.
55 * elf32-nios2.c (nios2_elf32_merge_private_bfd_data): Likewise.
56 * elf32-or1k.c (elf32_or1k_merge_private_bfd_data): Likewise.
57 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Likewise.
58 (ppc_elf_merge_obj_attributes): Likewise.
59 (ppc_elf_merge_private_bfd_data): Likewise.
60 * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Likewise.
61 * elf32-rx.c (rx_elf_merge_private_bfd_data): Likewise.
62 * elf32-s390.c (elf32_s390_merge_private_bfd_data): Likewise.
63 * elf32-score.c (s3_elf32_score_merge_private_bfd_data): Likewise.
64 (elf32_score_merge_private_bfd_data): Likewise.
65 * elf32-score.h (s7_elf32_score_merge_private_bfd_data): Likewise.
66 * elf32-score7.c (s7_elf32_score_merge_private_bfd_data): Likewise.
67 * elf32-sh.c (sh_merge_bfd_arch, sh_elf_merge_private_data): Likewise.
68 * elf32-sh64.c (sh64_elf_merge_private_data): Likewise.
69 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Likewise.
70 * elf32-tic6x.c (elf32_tic6x_merge_attributes): Likewise.
71 (elf32_tic6x_merge_private_bfd_data): Likewise.
72 * elf32-v850.c (v850_elf_merge_private_bfd_data): Likewise.
73 * elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise.
74 * elf32-visium.c (visium_elf_merge_private_bfd_data): Likewise.
75 * elf32-xtensa.c (elf_xtensa_merge_private_bfd_data): Likewise.
76 * elf64-ia64-vms.c (elf64_ia64_merge_private_bfd_data): Likewise.
77 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Likewise.
78 * elf64-s390.c (elf64_s390_merge_private_bfd_data): Likewise.
79 * elf64-sh64.c (sh_elf64_merge_private_data): Likewise.
80 * elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
81 * elfnn-aarch64.c (elfNN_aarch64_merge_private_bfd_data): Likewise.
82 * elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): Likewise.
83 * elfxx-mips.c (mips_elf_merge_obj_e_flags): Likewise.
84 (mips_elf_merge_obj_attributes): Likewise.
85 (_bfd_mips_elf_merge_private_bfd_data): Likewise.
86 * elfxx-mips.h (_bfd_mips_elf_merge_private_bfd_data): Likewise.
87 * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
88 * elfxx-sparc.h (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
89 * elfxx-target.h (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
90 * elfxx-tilegx.c (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
91 * elfxx-tilegx.h (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
92 * libbfd-in.h (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
93 * bfd-in2.h: Regenerate.
94 * libbfd.h: Regenerate.
95
1047201f
AM
962016-10-07 Alan Modra <amodra@gmail.com>
97
98 * Makefile.am (LIBBFD_H_FILES): Update.
99 * doc/Makefile.am (LIBBFD_H_DEP): Likewise.
100 * cpu-sh.c (sh_merge_bfd_arch): Move to..
101 * elf32-sh.c: ..here, and make static.
102 * elf32-arc.c (arc_elf_merge_private_bfd_data): Delete extraneous
103 error.
104 * elf32-cris.c (cris_elf_merge_private_bfd_data): Don't call
105 _bfd_generic_verify_endian_match.
106 * elf32-microblaze.c (microblaze_elf_merge_private_bfd_data): Delete.
107 (bfd_elf32_bfd_merge_private_bfd_data): Define as
108 _bfd_generic_verify_endian_match.
109 * elf32-mt.c (mt_elf_merge_private_bfd_data): Don't test
110 boolean == FALSE.
111 * elf32-xgate.c (_bfd_xgate_elf_merge_private_bfd_data): Delete.
112 (bfd_elf32_bfd_merge_private_bfd_data): Don't define.
113 * elf32-xgate.h (_bfd_xgate_elf_merge_private_bfd_data): Delete.
114 * libbfd-in.h (_bfd_generic_verify_endian_match): Delete.
115 * libbfd.c (_bfd_generic_verify_endian_match): Move to..
116 * linker.c: ..here, and make internal.
117 * bfd.c (bfd_merge_private_bfd_data): Move to..
118 * linker.c: ..here.
119 * Makefile.in: Regenerate.
120 * doc/Makefile.in: Regenerate.
121 * bfd-in2.h: Regenerate.
122 * libbfd.h: Regenerate.
123
1a0670f3
AM
1242016-10-06 Alan Modra <amodra@gmail.com>
125
126 * coff-h8300.c: Spell fall through comments consistently.
127 * coffgen.c: Likewise.
128 * elf32-hppa.c: Likewise.
129 * elf32-ppc.c: Likewise.
130 * elf32-score.c: Likewise.
131 * elf32-score7.c: Likewise.
132 * elf64-ppc.c: Likewise.
133 * elfxx-aarch64.c: Likewise.
134 * elfxx-mips.c: Likewise.
135 * cpu-ns32k.c: Add missing fall through comments.
136 * elf-m10300.c: Likewise.
137 * elf32-arm.c: Likewise.
138 * elf32-avr.c: Likewise.
139 * elf32-bfin.c: Likewise.
140 * elf32-frv.c: Likewise.
141 * elf32-i386.c: Likewise.
142 * elf32-microblaze.c: Likewise.
143 * elf32-nds32.c: Likewise.
144 * elf32-ppc.c: Likewise.
145 * elf32-rl78.c: Likewise.
146 * elf32-rx.c: Likewise.
147 * elf32-s390.c: Likewise.
148 * elf32-sh.c: Likewise.
149 * elf32-tic6x.c: Likewise.
150 * elf64-ia64-vms.c: Likewise.
151 * elf64-ppc.c: Likewise.
152 * elf64-s390.c: Likewise.
153 * elf64-x86-64.c: Likewise.
154 * elflink.c: Likewise.
155 * elfnn-aarch64.c: Likewise.
156 * elfnn-ia64.c: Likewise.
157 * ieee.c: Likewise.
158 * oasys.c: Likewise.
159 * pdp11.c: Likewise.
160 * srec.c: Likewise.
161 * versados.c: Likewise.
162
2b804145
AM
1632016-10-06 Alan Modra <amodra@gmail.com>
164
165 * coffcode.h (coff_slurp_symbol_table): Revert accidental commit
166 made 2015-01-08.
167 * elf32-nds32.c (nds32_elf_grok_psinfo): Add missing break.
168 * reloc.c (bfd_default_reloc_type_lookup): Add missing breaks.
169
616ec358
AM
1702016-10-06 Alan Modra <amodra@gmail.com>
171
172 * elf32-epiphany.c (epiphany_final_link_relocate): Use bitwise
173 OR in arithmetic expression, not boolean OR.
174
92c6e4fe
AM
1752016-09-30 Alan Modra <amodra@gmail.com>
176
177 * Makefile.am (BFD_H_FILES): Add linker.c and simple.c. Sort
178 as per comment at head of bfd-in2.h.
179 * Makefile.in: Regenerate.
180
4eca0228
AM
1812016-09-30 Alan Modra <amodra@gmail.com>
182
183 * aout-adobe.c: Replace (*_bfd_error_handler) (...) with
184 _bfd_error_handler (...) throughout.
185 * aout-cris.c, * aoutx.h, * archive.c, * bfd.c, * binary.c,
186 * cache.c, * coff-alpha.c, * coff-arm.c, * coff-h8300.c,
187 * coff-i860.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c,
188 * coff-sh.c, * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c,
189 * coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c,
190 * coffswap.h, * cpu-arm.c, * cpu-m68k.c, * cpu-sh.c, * dwarf2.c,
191 * ecoff.c, * elf-eh-frame.c, * elf-m10300.c, * elf.c, * elf32-arc.c,
192 * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c,
193 * elf32-cris.c, * elf32-crx.c, * elf32-dlx.c, * elf32-frv.c,
194 * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-lm32.c,
195 * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c,
196 * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c,
197 * elf32-mips.c, * elf32-nds32.c, * elf32-nios2.c, * elf32-or1k.c,
198 * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c,
199 * elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c,
200 * elf32-sparc.c, * elf32-spu.c, * elf32-tic6x.c, * elf32-tilepro.c,
201 * elf32-v850.c, * elf32-vax.c, * elf32-xtensa.c, * elf64-alpha.c,
202 * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c,
203 * elf64-ppc.c, * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c,
204 * elf64-x86-64.c, * elfcode.h, * elfcore.h, * elflink.c,
205 * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-mips.c,
206 * elfxx-sparc.c, * elfxx-tilegx.c, * hpux-core.c, * i386linux.c,
207 * ieee.c, * ihex.c, * libbfd.c, * linker.c, * m68klinux.c,
208 * mach-o.c, * merge.c, * mmo.c, * oasys.c, * osf-core.c, * pdp11.c,
209 * pe-mips.c, * peXXigen.c, * pef.c, * plugin.c, * reloc.c,
210 * rs6000-core.c, * sco5-core.c, * som.c, * sparclinux.c, * srec.c,
211 * stabs.c, * syms.c, * vms-alpha.c, * vms-lib.c, * vms-misc.c,
212 * xcofflink.c: Likewise.
213
52d45da3
AM
2142016-09-30 Alan Modra <amodra@gmail.com>
215
216 * bfd-in.h: Include stdarg.h.
217 * bfd.c (bfd_error_handler_type): Make like vprintf.
218 (_bfd_error_internal): Rename from _bfd_error_handler. Make static.
219 (error_handler_internal): New function, split out from..
220 (_bfd_default_error_handler): ..here. Rename to _bfd_error_handler.
221 (bfd_set_error_handler): Update.
222 (bfd_get_error_handler, bfd_get_assert_handler): Delete.
223 (_bfd_assert_handler): Make static.
224 * coffgen.c (null_error_handler): Update params.
225 * elf-bfd.h (struct elf_backend_data <link_order_error_handler>):
226 Don't use bfd_error_handler_type.
227 * elf64-mmix.c (mmix_dump_bpo_gregs): Likewise.
228 * elfxx-target.h (elf_backend_link_order_error_handler): Default
229 to _bfd_error_handler.
230 * libbfd-in.h (_bfd_default_error_handler): Don't declare.
231 (bfd_assert_handler_type): Likewise.
232 (_bfd_error_handler): Update.
233 * bfd-in2.h: Regenerate.
234 * libbfd.h: Regenerate.
235
9eaff861
AO
2362016-09-28 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
237
238 PR ld/20636
239 * elf-bfd.h (struct elf_backend_data): Delete
240 elf_backend_count_output_relocs callback and add
241 elf_backend_update_relocs.
242 * elf32-arm.c (elf32_arm_count_output_relocs): Deleted.
243 (emit_relocs): Deleted.
244 (elf32_arm_emit_relocs): Deleted.
245 (elf_backend_emit_relocs): Updated not to use the old functions.
246 (elf32_arm_update_relocs): New function.
247 (elf_backend_update_relocs): New define.
248 * elflink.c (bfd_elf_final_link): Add additional_reloc_count to the
249 relocation count. Call elf_backend_emit_relocs.
250 (_bfd_elf_size_reloc_section): Do not call
251 elf_backend_count_output_relocs.
252 * elfxx-target.h (elf_backend_count_output_relocs): Deleted.
253 (elf_backend_update_relocs): New define.
254
2df2751d
CL
2552016-09-28 Christophe Lyon <christophe.lyon@linaro.org>
256
257 PR ld/20608
258 * elf32-arm.c (arm_type_of_stub): Handle the case when the pre-PLT
259 Thumb-ARM stub is too far.
260
1c5f704f
NC
2612016-09-27 Nick Clifton <nickc@redhat.com>
262
263 PR ld/20634
264 * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Put 0 in the
265 timestamp field if real time values are not being stored.
266
c5da1932
VZ
2672016-09-26 Vlad Zakharov <vzakhar@synopsys.com>
268
269 * warning.m4 (AC_EGREP_CPP_FOR_BUILD): Introduce macro
270 to verify CC_FOR_BUILD compiler.
271 (AM_BINUTILS_WARNINGS): Introduce ac_cpp_for_build variable
272 and add CC_FOR_BUILD compiler checks.
273 * Makefile.in: Regenerate.
274 * configure: Likewise.
275 * doc/Makefile.in: Likewise.
276
384f7503
A
2772016-09-26 Awson <kyrab@mail.ru>
278
279 PR ld/17955
280 * coff-x86_64.c (coff_amd64_rtype_to_howto): Use an 8 byte offset
281 for R_AMD64_PCRQUAD relocations.
282
005d79fd
AM
2832016-09-26 Alan Modra <amodra@gmail.com>
284
285 * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Declare.
286 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): New function.
287 (ppc_elf_merge_obj_attributes): Use it. Don't copy first file
288 attributes, merge them. Don't warn about undefined tag bits,
289 or copy unknown values to output.
290 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Call
291 _bfd_elf_ppc_merge_fp_attributes.
292
5025eb7c
AO
2932016-09-23 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
294
295 PR ld/20595
296 * elf-bfd.h (struct elf_backend_data): Add
297 elf_backend_count_output_relocs callback to count relocations in
298 the final output.
299 * elf-arm.c (elf32_arm_add_relocation): Deleted.
300 (elf32_arm_write_section): Move additional relocation to emit_relocs.
301 (elf32_arm_count_output_relocs): New function.
302 (emit_relocs): New function.
303 (elf32_arm_emit_relocs): New function.
304 (elf32_arm_vxworks_emit_relocs): New function.
305 (elf_backend_emit_relocs): Updated to use the new functions.
306 (elf_backend_count_output_relocs): New define.
307 * bfd/elflink.c (bfd_elf_final_link): Do not add additional_reloc_count
308 to the relocation count.
309 (_bfd_elf_link_size_reloc_section): Use callback to count the
310 relocations which will be in output.
311 (_bfd_elf_default_count_output_relocs): New function.
312 * bfd/elfxx-target.h (elf_backend_count_output_relocs): New define.
313
b19753ce
JM
3142016-09-19 Jose E. Marchesi <jose.marchesi@oracle.com>
315
316 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Allow
317 negative offsets to _GLOBAL_OFFSET_TABLE_ if the .got section is
318 bigger than 0x1000 bytes.
319
4f90d84b
TP
3202016-09-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
321
322 * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Only mark section
323 not already marked.
324
e6d042fe
NC
3252016-09-14 Nick Clifton <nickc@redhat.com>
326
327 PR binutils/20605
328 * peicode.h (pe_bfd_read_buildid): Check that the Data Directory
329 contains a valid size for the Debug directory.
330
5d9bbb73
BA
3312016-09-14 Bhushan Attarde <bhushan.attarde@imgtec.com>
332
333 * format.c (struct bfd_preserve): New "build_id" field.
334 (bfd_preserve_save): Save "build_id".
335 (bfd_preserve_restore): Restore "build_id".
336
d8457a04
L
3372016-09-06 H.J. Lu <hongjiu.lu@intel.com>
338
339 PR ld/20550
340 * elf64-x86-64.c (elf_x86_64_relocate_section): Resolve size
341 relocation with copy relocation when building executable.
342
bf186506
SKS
3432016-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
344
345 PR ld/20545
346 * elf32-avr.c (elf32_avr_relax_delete_bytes): Add parameter
347 delete_shrinks_insn. Modify computation of shrinked_insn_address.
348 Compute shrink_boundary and adjust addend only if
349 addend_within_shrink_boundary.
350 (elf32_avr_relax_section): Modify calls to
351 elf32_avr_relax_delete_bytes to pass extra parameter.
352
42484486
TP
3532016-09-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
354
355 * elf32-arm.c (cmse_entry_fct_p): Store instruction encoding in an
356 array of bytes and use bfd_get_16 to interpret its encoding according
357 to endianness of target.
358
cd285db5
AM
3592016-09-01 Alan Modra <amodra@gmail.com>
360
361 * elf64-ppc.c (synthetic_opd): New static var.
362 (compare_symbols): Don't treat symbols in .opd specially for ELFv2.
363 (ppc64_elf_get_synthetic_symtab): Likewise. Comment.
364
09f92717
AM
3652016-08-31 Alan Modra <amodra@gmail.com>
366
367 * elf64-ppc.c (group_sections): Delete stub14_group_size. Instead,
368 track max group size with a new "group_size" var that is reduced
369 by a factor of 1024 from the 24-bit branch size whenever a 14-bit
370 branch is seen.
371
f7d69005
AM
3722016-08-31 Alan Modra <amodra@gmail.com>
373
374 * elf32-ppc.c (ppc_elf_section_processing): Delete.
375 (elf_backend_section_processing): Don't define.
376 (ppc_elf_modify_segment_map): Set p_flags and mark valid. Don't
377 split on non-exec sections differing in SHF_PPC_VLE. When
378 splitting segments, mark size invalid.
379
8941017b
AM
3802016-08-30 Alan Modra <amodra@gmail.com>
381
382 PR 20531
383 * elf32-ppc.c (_bfd_elf_ppc_set_arch): Add missing "break".
384
74437ea2
L
3852016-08-29 H.J. Lu <hongjiu.lu@intel.com>
386
387 PR ld/14961
388 PR ld/20515
389 * elf32-i386.c (elf_i386_check_relocs): Issue an error when
390 R_386_PC32 relocation is used to call IFUNC function in PIC
391 object.
392
53720c49
AM
3932016-08-27 Alan Modra <amodra@gmail.com>
394
395 PR 20520
396 * elf.c (_bfd_elf_setup_sections): Check that SHT_GROUP sections
397 have corresponding SHF_GROUP sections.
398 (bfd_elf_set_group_contents): Comment.
399
8a9e8e72
AM
4002016-08-27 Alan Modra <amodra@gmail.com>
401
402 PR 20519
403 * elf64-ppc.c (pc_dynrelocs): New function.
404 (ppc64_elf_relocate_section): Use it and must_be_dyn_reloc to
405 handle pic dynamic relocs.
406
68c39892
TP
4072016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
408
409 * bfd-in.h (struct elf32_arm_params): Define.
410 (bfd_elf32_arm_set_target_relocs): Rename into ...
411 (bfd_elf32_arm_set_target_params): This. Use a struct
412 elf32_arm_params to pass all parameters but the bfd and bfd_link_info.
413 * bfd-in2.h: Regenerate.
414 * elf32-arm.c (bfd_elf32_arm_set_target_relocs): Rename into ...
415 (bfd_elf32_arm_set_target_params): This. Pass all values via a struct
416 elf32_arm_params rather than as individual parameters.
417
c2abbbeb
TP
4182016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
419
420 * elf32-arm.c (elf32_arm_get_stub_entry): Assert that we don't access
421 passed the end of htab->stub_group array.
422 (elf32_arm_create_or_find_stub_sec): Likewise.
423 (elf32_arm_create_stub): Likewise.
424
980aa3e6
CM
4252016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
426
427 * elf32-arc.c (elf_arc_relocate_section): Changed. Set should_relocate
428 to TRUE for GOT and TLS relocs.
429
65b94e90
CM
4302016-08-26 Cupertino Miranda <cmiranda@synospsys.com>
431
432 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
433
8a36df4d
CM
4342016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
435
436 * elf-bfd.h: Added ARC_ELF_DATA to enum elf_target_id.
437 * elf32-arc.c (struct elf_arc_link_hash_entry): Added.
438 (struct elf_arc_link_hash_table): Likewise.
439 (elf_arc_link_hash_newfunc): Likewise.
440 (elf_arc_link_hash_table_free): Likewise.
441 (arc_elf_link_hash_table_create): Likewise.
442 (elf_arc_relocate_section): Fixed conditions related to dynamic
443 (elf_arc_check_relocs): Likewise.
444 (arc_elf_create_dynamic_sections): Added
445 (elf_arc_adjust_dynamic_symbol): Changed access to .rela.bss to be done
446 through the hash table.
447
4dd72ffd
CM
4482016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
449
450 * arc-got.h (relocate_fix_got_relocs_for_got_info): Fixed addresses in
451 debug comments. Fixed address in .got related to TLS_IE_GOT dynamic
452 relocation.
453
a87aa054
CM
4542016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
455
456 * reloc.c: Fixed type in ARC_SECTOFF relocations. Added ARC_SDA_12
457 relocation.
458 * bfd-in2.h: Regenerated from the previous changes.
459 * libbfd.h: Regenerated from the previous changes.
460
0955507f
TP
4612016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
462
463 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add a new parameter for
464 the input import library bfd.
465 * bfd-in2.h: Regenerate.
466 * elf32-arm.c (struct elf32_arm_link_hash_table): New in_implib_bfd
467 and new_cmse_stub_offset fields.
468 (stub_hash_newfunc): Initialize stub_offset and stub_template_size to
469 -1.
470 (elf32_arm_add_stub): Likewise for stub_offset.
471 (arm_new_stubs_start_offset_ptr): New function.
472 (arm_build_one_stub): Only allocate a stub_offset if it is -1. Allow
473 empty SG veneers to have zero relocations.
474 (arm_size_one_stub): Only initialize stub size and template
475 information for non empty veneers. Do not update veneer section size
476 if veneer already has an offset.
477 (elf32_arm_create_stub): Return the stub entry pointer or NULL instead
478 of a boolean indicating success or failure.
479 (cmse_scan): Change stub_changed parameter into an integer pointer
480 parameter cmse_stub_created to count the number of stub created and
481 adapt to change of return value in elf32_arm_create_stub.
482 (cmse_entry_fct_p): New function.
483 (arm_list_new_cmse_stub): Likewise.
484 (set_cmse_veneer_addr_from_implib): Likewise.
485 (elf32_arm_size_stubs): Define cmse_stub_created, pass its address to
486 cmse_scan instead of that of cmse_stub_changed to compute the number
487 of stub created and use it to initialize stub_changed. Call
488 set_cmse_veneer_addr_from_implib after all cmse_scan. Adapt to change
489 of return value in elf32_arm_create_stub. Use
490 arm_stub_section_start_offset () if not NULL to initialize size of
491 secure gateway veneers section. Initialize stub_offset of Cortex-A8
492 erratum fix to -1. Use ret to hold return value.
493 (elf32_arm_build_stubs): Use arm_stub_section_start_offset () if not
494 NULL to initialize size of secure gateway veneers section. Adapt
495 comment to stress the importance of zeroing veneer section content.
496 (bfd_elf32_arm_set_target_relocs): Add new in_implib_bfd parameter to
497 initialize eponymous field in struct elf32_arm_link_hash_table.
498
e3e9290d
AA
4992016-08-25 Andreas Arnez <arnez@linux.vnet.ibm.com>
500
501 * elf32-s390.c (stdarg.h): New include.
502 (elf_s390_grok_psinfo): New function.
503 (elf_s390_write_core_note): New function.
504 (elf_backend_grok_psinfo): Declare backend hook.
505 (elf_backend_write_core_note): Likewise.
506 * elf64-s390.c (stdarg.h): New include.
507 (elf_s390_grok_prstatus): New function.
508 (elf_s390_grok_psinfo): New function.
509 (elf_s390_write_core_note): New function.
510 (elf_backend_grok_prstatus): Declare backend hook.
511 (elf_backend_grok_psinfo): Likewise.
512 (elf_backend_write_core_note): Likewise.
513
ceada896
AA
5142016-08-25 Andreas Arnez <arnez@linux.vnet.ibm.com>
515
516 * elf32-s390.c (allocate_dynrelocs): Fix indentation.
517 (elf_s390_finish_ifunc_symbol): Likewise.
518 (elf_s390_finish_dynamic_symbol): Likewise.
519 (elf_s390_finish_dynamic_sections): Likewise.
520 (elf_s390_grok_prstatus): Likewise.
521 * elf64-s390.c (elf_s390_hash_table): Fix indentation.
522 (elf_s390_finish_dynamic_symbol): Likewise.
523
47f7f636
AK
5242016-08-24 Anton Kolesov <Anton.Kolesov@synopsys.com>
525
526 * elf32-arc.c (elf32_arc_grok_prstatus): New function.
527
6342be70
NC
5282016-08-23 Nick Clifton <nickc@redhat.com>
529
530 * elf32-arm.c (elf32_arm_count_additional_relocs): Return zero if
531 there is no arm data associated with the section.
532
eacfca90
AM
5332016-08-23 Alan Modra <amodra@gmail.com>
534
535 PR 20475
536 * elf32-or1k.c (or1k_elf_relocate_section): Offset from
537 _GLOBAL_OFFSET_TABLE_, not start of .got section.
538
5fbe0d87
NC
5392016-08-22 Nick Clifton <nickc@redhat.com>
540
541 * doc/chew.c (main): Free the string buffer used to files as they
542 are parsed.
543
888a7fc3
AM
5442016-08-22 Alan Modra <amodra@gmail.com>
545
546 * elf32-ppc.c (ppc_elf_check_relocs): Move error for @local ifunc..
547 (ppc_elf_relocate_section): ..to here. Comment. Error on
548 detecting -mbss-plt -fPIC local ifuncs too.
549 (ppc_elf_size_dynamic_sections): Comment on unnecessary glink
550 branch table entries.
551
dd905818
NC
5522016-08-19 Nick Clifton <nickc@redhat.com>
553
554 * elf.c (assign_section_numbers): Assign number for the .shstrtab
555 section after the symbol table and string table sections.
556
d311bc8b
AM
5572016-08-19 Alan Modra <amodra@gmail.com>
558
559 * elf64-ppc.c (struct ppc_link_hash_entry): Add weakref.
560 (ppc64_elf_copy_indirect_symbol): Set weakref. Don't merge
561 dyn_relocs for weakdefs.
562 (alias_readonly_dynrelocs): New function.
563 (ppc64_elf_adjust_dynamic_symbol): Use alias_readonly_dynrelocs.
564 (ppc64_elf_relocate_section): Simplify condition under which
565 dyn_relocs are emitted.
566
8a2058b5
AM
5672016-08-19 Alan Modra <amodra@gmail.com>
568
569 PR 20472
570 * elf64-ppc.c (ppc64_elf_before_check_relocs): Tweak abiversion test.
571 (readonly_dynrelocs): Comment fix.
572 (global_entry_stub): New function.
573 (ppc64_elf_adjust_dynamic_symbol): Tweak abiversion test. Match
574 ELFv2 code deciding on dynamic relocs vs. global entry stubs to
575 that in size_global_entry_stubs, handling ifunc too. Delete dead
576 weak sym code.
577 (allocate_dynrelocs): Ensure dyn_relocs field is cleared when no
578 dyn_relocs are needed. Correct handling of ifunc dyn_relocs.
579 Tidy ELIMINATE_COPY_RELOCS code, only setting dynindx for
580 undefweak syms. Expand and correct comments.
581 (size_global_entry_stubs): Ensure symbol is defined.
582 (ppc64_elf_relocate_section): Match condition under which
583 dyn_relocs are emitted to that in allocate_dynrelocs.
584
90ac2420
AM
5852016-08-12 Alan Modra <amodra@gmail.com>
586
587 * elf-bfd.h (struct elf_link_hash_table): Add local_dynsymcount.
588 * elflink.c (_bfd_elf_link_renumber_dynsyms): Set local_dynsymcount.
589 (bfd_elf_final_link): Set .dynsym sh_info from local_dynsymcount.
590
d93d1c80
AM
5912016-08-11 Alan Modra <amodra@gmail.com>
592
593 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't exit with
594 non_got_ref true in any case where we could have generated dynbss
595 copies but decide not to do so.
596
fe152e64
MR
5972016-08-10 Maciej W. Rozycki <macro@imgtec.com>
598
599 * elfxx-mips.c (mips_elf_add_la25_stub): Clear the ISA bit of
600 the stub address retrieved if associated with a microMIPS
601 function.
602
a848a227
MR
6032016-08-10 Maciej W. Rozycki <macro@imgtec.com>
604
605 * elfxx-mips.c (mips_elf_create_stub_symbol): For a microMIPS
606 stub also add STO_MICROMIPS annotation.
607
c7318def
MR
6082016-08-10 Maciej W. Rozycki <macro@imgtec.com>
609
610 * elfxx-mips.c (mips_elf_calculate_relocation): Set the ISA bit
611 in microMIPS LA25 stub references.
612
68994ca2
JW
6132016-08-09 Jiaming Wei <jmwei@hxgpt.com>
614
615 * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Fix thinko
616 adjusting the use_count of merged .got entries.
617
8a286b63
NC
6182016-08-08 Nick Clifton <nickc@redhat.com>
619
620 * doc/chew.c (delete_string): Only free the string buffer if it is
621 there. Mark the buffer as NULL after freeing.
622 (drop): Free the dropped string.
623 (free_words): New function: Frees the memory allocated to the
624 dictionary.
625 (add_instrinsic): Duplicate the name string, so that it can be
626 freed later on.
627 (compile): Free unused words.
628 (main): Free the dictionary and top level string buffers at the
629 end.
630
54ddd295
TP
6312016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
632
633 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add one parameter.
634 * bfd-in2.h: Regenerate.
635 * elf32-arm.c (struct elf32_arm_link_hash_table): Declare new
636 cmse_implib field.
637 (bfd_elf32_arm_set_target_relocs): Add new parameter to initialize
638 cmse_implib field in struct elf32_arm_link_hash_table.
639 (elf32_arm_filter_cmse_symbols): New function.
640 (elf32_arm_filter_implib_symbols): Likewise.
641 (elf_backend_filter_implib_symbols): Define to
642 elf32_arm_filter_implib_symbols.
643
4ba2ef8f
TP
6442016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
645
646 * elf32-arm.c (CMSE_PREFIX): Define macro.
647 (elf32_arm_stub_cmse_branch_thumb_only): Define stub sequence.
648 (cmse_branch_thumb_only): Declare stub.
649 (struct elf32_arm_link_hash_table): Define cmse_stub_sec field.
650 (elf32_arm_get_plt_info): Add globals parameter. Use it to return
651 FALSE if there is no PLT.
652 (arm_type_of_stub): Adapt to new elf32_arm_get_plt_info signature.
653 (elf32_arm_final_link_relocate): Likewise.
654 (elf32_arm_gc_sweep_hook): Likewise.
655 (elf32_arm_gc_mark_extra_sections): Mark sections holding ARMv8-M
656 secure entry functions.
657 (arm_stub_is_thumb): Add case for arm_stub_cmse_branch_thumb_only.
658 (arm_dedicated_stub_output_section_required): Change to a switch case
659 and add a case for arm_stub_cmse_branch_thumb_only.
660 (arm_dedicated_stub_output_section_required_alignment): Likewise.
661 (arm_stub_dedicated_output_section_name): Likewise.
662 (arm_stub_dedicated_input_section_ptr): Likewise and remove
663 ATTRIBUTE_UNUSED for htab parameter.
664 (arm_stub_required_alignment): Likewise.
665 (arm_stub_sym_claimed): Likewise.
666 (arm_dedicated_stub_section_padding): Likewise.
667 (cmse_scan): New function.
668 (elf32_arm_size_stubs): Call cmse_scan for ARM M profile targets.
669 Set stub_changed to TRUE if such veneers were created.
670 (elf32_arm_swap_symbol_in): Add detection code for CMSE special
671 symbols.
672
89d77b8a
AM
6732016-08-02 Alan Modra <amodra@gmail.com>
674
675 PR ld/20428
676 * elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group.
677
a94d834c
NC
6782016-08-02 Nick Clifton <nickc@redhat.com>
679
680 PR ld/17739
681 * elf32-sh.c (sh_elf_gc_sweep_hook): Delete.
682 (elf_backend_sweep_hook): Delete.
683
dfdaec14
AJ
6842016-08-01 Andrew Jenner <andrew@codesourcery.com>
685 Kwok Cheung Yeung <kcy@codesourcery.com>
686
687 * elf32-ppc.c (is_branch_reloc): Recognise VLE branch relocations.
688 (ppc_elf_howto_raw): Fix dst_mask of R_PPC_VLE_REL15.
689 (ppc_elf_vle_split16): Clear field before inserting.
690
781bf64d
NC
6912016-08-01 Nick Clifton <nickc@redhat.com>
692
693 * po/sv.po: Updated Swedish translation.
694
147d994b
NC
6952016-07-27 Ozkan Sezer <sezeroz@gmail.com>
696 Nick Clifton <nickc@redhat.com>
697
698 PR ld/20401
699 * coffgen.c (fini_reloc_cookie_rels): Check for the extistence
700 of the coff_section_data before using it.
701
54806ffa
MR
7022016-07-26 Maciej W. Rozycki <macro@imgtec.com>
703
704 * elfxx-mips.c (mips_elf_calculate_relocation): Handle branches
705 in PLT compression selection.
706 (_bfd_mips_elf_check_relocs): Likewise.
707
c02d11a5
CM
7082016-07-22 Cupertino Miranda <cmiranda@synopsys.com>
709
710 * arc-got.h (relocate_fix_got_relocs_for_got_info): Handle the
711 case where there's no elf_link_hash_entry while processing
712 GOT_NORMAL got entries.
713
fecd57f9
L
7142016-07-21 H.J. Lu <hongjiu.lu@intel.com>
715
716 * version.m4 (BFD_VERSION): Set to 2.27.51.
717 * configure: Regenerated.
718
5df1bc57
AM
7192016-07-21 Nick Clifton <nickc@redhat.com>
720
721 * elf.c (_bfd_elf_filter_global_symbols): Skip local symbols.
722 (swap_out_syms): Return an error when not finding ELF output
723 section rather than asserting.
724
7252016-07-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
726
727 * elflink.c (elf_output_implib): Call bfd_set_error on no symbols.
728
0064d223
JB
7292016-07-20 John Baldwin <jhb@FreeBSD.org>
730
731 * elf.c (elfcore_grok_freebsd_psinfo): Check for minimum note size
732 and handle pr_pid if present.
733
89b829a8
L
7342016-07-20 H.J. Lu <hongjiu.lu@intel.com>
735
736 PR ld/20376
737 * elf.c (assign_file_positions_for_load_sections): Also check
738 p_paddr for program header space.
739
3ce51288
AM
7402016-07-20 Alan Modra <amodra@gmail.com>
741
742 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_PLTREL32>): Put
743 ppc64_elf_unhandled_reloc for special_function.
744 * elf32-ppc.c (ppc_elf_howto_raw): Similarly for lots of relocs.
745
a6ebf616
MR
7462016-07-19 Maciej W. Rozycki <macro@imgtec.com>
747
748 * elfxx-mips.c (mips_elf_perform_relocation): Convert cross-mode
749 BAL to JALX.
750 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add a
751 corresponding error message.
752
9d862524
MR
7532016-07-19 Maciej W. Rozycki <macro@imgtec.com>
754
755 * elfxx-mips.c (b_reloc_p): Add R_MICROMIPS_PC16_S1,
756 R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC7_S1.
757 (branch_reloc_p): New function.
758 (mips_elf_calculate_relocation): Handle ISA mode determination
759 for relocations against section symbols, against absolute
760 symbols and absolute relocations. Also set `*cross_mode_jump_p'
761 for branches.
762 <R_MIPS16_26, R_MIPS_26, R_MICROMIPS_26_S1>: Suppress alignment
763 checks for weak undefined symbols. Also check target alignment
764 within the same ISA mode.
765 <R_MIPS_PC16, R_MIPS_GNU_REL16_S2>: Handle cross-mode branches
766 in the alignment check.
767 <R_MICROMIPS_PC7_S1>: Add an alignment check.
768 <R_MICROMIPS_PC10_S1>: Likewise.
769 <R_MICROMIPS_PC16_S1>: Likewise.
770 (mips_elf_perform_relocation): Report a failure for unsupported
771 same-mode JALX instructions and cross-mode branches.
772 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add
773 error messages for jumps to misaligned addresses.
774
7d0b9ebc
AM
7752016-07-16 Alan Modra <amodra@gmail.com>
776
777 * elflink.c: Include plugin-api.h.
778 * plugin.c (bfd_plugin_open_input): New function, extracted from..
779 (try_claim): ..here.
780 * plugin.h: Don't include bfd.h.
781 (bfd_plugin_open_input): Declare.
782
4212b42d
AM
7832016-07-16 Alan Modra <amodra@gmail.com>
784
785 * targets.c (bfd_seach_for_target): Rename to..
786 (bfd_iterate_over_targets): ..this. Rewrite doc.
787 * bfd-in2.h: Regenerate.
788
00dad9a4
AM
7892016-07-16 Alan Modra <amodra@gmail.com>
790
791 * archures.c (bfd_default_set_arch_mach): Make available in bfd.h.
792 * libbfd.h: Regenerate.
793 * bfd-in2.h: Regenerate.
794
76e7a751
AM
7952016-07-16 Alan Modra <amodra@gmail.com>
796
797 * libbfd-in.h (BFD_ALIGN): Move to..
798 * bfd-in.h: ..here.
799 * elf32-ppc.h (struct ppc_elf_params): Add pagesize.
800 * elf32-ppc.c (default_params): Adjust init.
801 (ppc_elf_link_params): Set pagesize_p2.
802 * libbfd.h: Regenerate.
803 * bfd-in2.h: Regenerate.
804
76359541
TP
8052016-07-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
806
807 * elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook.
808 (_bfd_elf_filter_global_symbols): Declare.
809 * elf.c (_bfd_elf_filter_global_symbols): New function.
810 * elflink.c (elf_filter_global_symbols): Likewise.
811 (elf_output_implib): Likewise.
812 (bfd_elf_final_link): Call above function, failing if it does.
813 * elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and
814 default it to NULL.
815 (elf_backend_copy_indirect_symbol): Fix spacing.
816 (elf_backend_hide_symbol): Likewise.
817 (elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook.
818
f7e8b360
NC
8192016-07-15 Andrew Burgess <andrew.burgess@embecosm.com>
820 Nick Clifton <nickc@redhat.com>
821
822 * elf32-arc.c (PR_DEBUG): Delete.
823 Fix printing of debug information. Fix formatting of debug
824 statements.
825 (debug_arc_reloc): Handle symbols that are not from an input file.
826 (arc_do_relocation): Remove excessive exclamation points.
827
828 * arc-got.h: Fix formatting. Fix printing of debug information.
829 (new_got_entry_to_list): Use xmalloc.
830 * config.bfd: use the big-endian arc vector as the default vector
831 for big-endian arc targets.
832
06ab6faf
AM
8332016-07-15 Alan Modra <amodra@gmail.com>
834
835 * cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx
836 from marking sym_indices.
837
0c117286
MR
8382016-07-14 Maciej W. Rozycki <macro@imgtec.com>
839
840 * reloc.c (bfd_perform_relocation): Try the `howto' handler
841 first with relocations against absolute symbols.
842 (bfd_install_relocation): Likewise.
843
37567a2c
L
8442016-07-12 H.J. Lu <hongjiu.lu@intel.com>
845
846 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
847 .got/.got.plt sections to 8 bytes.
848
cf143069
NC
8492016-07-12 Nick Clifton <nickc@redhat.com>
850
851 * binary.c (binary_set_section_contents): Second grammar fix.
852
f231881e
DR
8532016-07-12 Douglas B Rupp <rupp@adacore.com>
854
855 * binary.c (binary_set_section_contents): Fix grammar in warning
856 message.
857
b9316f59
CM
8582016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
859
860 * elf32-arc.c: made PR_DEBUG always defined.
861
08759e0f
CM
8622016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
863
864 * arc-got.h: Moved got related structures from elf32-arc.c to
865 this file. More precisely, tls_type_e, tls_got_entries, got_entry.
866 * (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list,
867 tls_type_for_reloc, symbol_has_entry_of_type,
868 get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc,
869 ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc,
870 relocate_fix_got_relocs_for_got_info,
871 create_got_dynrelocs_for_single_entry,
872 create_got_dynrelocs_for_got_info): Added to file.
873 * elf32-arc.c: Removed GOT & TLS related structs and functions to
874 arc-got.h.
875
458653a9 8762016-07-08 James Bowman <james.bowman@ftdichip.com>
877
878 * elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32.
879
d5a67c02
AV
8802016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
881
882 * elf32-arm.c (THUMB32_MOVT): New veneer macro.
883 (THUMB32_MOVW): Likewise.
884 (elf32_arm_stub_long_branch_thumb2_only_pure): New.
885 (DEF_STUBS): Define long_branch_thumb2_only_pure.
886 (arm_stub_is_thumb): Add new veneer stub.
887 (arm_type_of_stub): Use new veneer.
888 (arm_stub_required_alignment): Add new veneer.
889
f0728ee3
AV
8902016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
891
892 * bfd-in2.h (SEC_ELF_NOREAD): Rename to ...
893 (SEC_ELF_PURECODE): ... this.
894 * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD
895 to SEC_ELF_NOREAD.
896 (elf32_arm_fake_sections): Likewise.
897 (elf_32_arm_section_flags): Likewise.
898 (elf_32_arm_lookup_section_flags): Likewise.
899 * section.c (SEC_ELF_NOREAD): Rename to ...
900 (SEC_ELF_PURECODE): ... this.
901
5e866f5a
TP
9022016-07-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
903
904 * elf32-arm.c (using_thumb2_bl): New function.
905 (arm_type_of_stub): Declare thumb2 variable together and change type
906 to bfd_boolean. Use using_thumb2_bl () to determine whether
907 THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be
908 checked for BL range.
909 (elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine
910 the bit size of BL offset.
911
d691934d
NC
9122016-06-29 Nick Clifton <nickc@redhat.com>
913
914 * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function.
915 Returns TRUE for AArch64 mapping symbols.
916 (elfNN_aarch64_backend_symbol_processing): New function. Marks
917 mapping symbols as precious in object files so that they will not
918 be stripped.
919 (elf_backend_symbol_processing): Define.
920
921 * elf32-arm.c (is_arm_mapping_symbol): New function. Returns TRUE
922 for ARM mapping symbols.
923 (elf32_arm_backend_symbol_processing): Make use of the new function.
924
f4ab0e2d
L
9252016-06-28 H.J. Lu <hongjiu.lu@intel.com>
926
927 PR ld/20306
928 * elflink.c (elf_link_check_versioned_symbol): Return false
929 for unreferenced undefined symbol.
930
fca2a38f
NC
9312016-06-28 Nick Clifton <nickc@redhat.com>
932
1b857aee
NC
933 * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
934 is needed.
935
fca2a38f
NC
936 * elf32-arm.c (elf32_arm_backend_symbol_processing): New
937 function. Marks mapping symbols in object files as precious, so
938 that strip will not remove them.
939 (elf_backend_symbol_processing): Define.
940
7160c10d
JC
9412016-06-28 James Clarke <jrtc27@jrtc27.com>
942
943 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
944 R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
945
c9775dde
MR
9462016-06-28 Maciej W. Rozycki <macro@imgtec.com>
947
948 * elf32-mips.c (elf_mips16_howto_table_rel): Add
949 R_MIPS16_PC16_S1.
950 (mips16_reloc_map): Likewise.
951 * elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
952 (mips16_elf64_howto_table_rela): Likewise.
953 (mips16_reloc_map): Likewise.
954 * elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
955 (elf_mips16_howto_table_rela): Likewise.
956 (mips16_reloc_map): Likewise.
957 * elfxx-mips.c (mips16_branch_reloc_p): New function.
958 (mips16_reloc_p): Handle R_MIPS16_PC16_S1.
959 (b_reloc_p): Likewise.
960 (mips_elf_calculate_relocation): Likewise.
961 (_bfd_mips_elf_check_relocs): Likewise.
962 * reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
963 * bfd-in2.h: Regenerate.
964 * libbfd.h: Regenerate.
965
c9301e31
AM
9662016-06-27 Alan Modra <amodra@gmail.com>
967
968 PR ld/19264
969 * elf64-ppc.c (STUB_SHRINK_ITER): Define.
970 (ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
971 if shrinking stubs.
972 (ppc64_elf_size_stubs): Adjust to suit.
973
3cd72572
TS
9742016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
975
976 * elf32-dlx.h: New file.
977 * elf32-dlx.c: Adjust.
978
7c2c4aa1
TS
9792016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
980
981 * elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
982
3350c5f5
JB
9832016-06-24 John Baldwin <jhb@FreeBSD.org>
984
985 * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
986 notes.
987
aa1ed4a9
JB
9882016-06-24 John Baldwin <jhb@FreeBSD.org>
989
990 * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
991 FreeBSD. Remove case for NT_FREEBSD_THRMISC.
992 (elfcore_grok_freebsd_psinfo): New function.
993 (elfcore_grok_freebsd_prstatus): New function.
994 (elfcore_grok_freebsd_note): New function.
995 (elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD"
996 notes.
997
6e321fa8
JB
9982016-06-24 Joel Brobecker <brobecker@adacore.com>
999
1000 * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
1001 than its existance.
1002
9cc0123f
AM
10032016-06-24 Alan Modra <amodra@gmail.com>
1004
1005 * config.bfd: Delete mips vxworks patterns matched earlier.
1006 Combine mips*-*-none with mips*-*-elf*.
1007
5f68df25
MR
10082016-06-21 Maciej W. Rozycki <macro@imgtec.com>
1009
1010 * elfxx-mips.c (mips_elf_perform_relocation): Call
1011 `info->callbacks->einfo' rather than `*_bfd_error_handler' and
1012 use the `%X%H' format for the cross-mode jump conversion error
1013 message. Remove the full stop from the end of the message.
1014 Continue processing rather than returning failure.
1015
bdd582db
GM
10162016-06-21 Graham Markall <graham.markall@embecosm.com>
1017
1018 * archures.c: Remove bfd_mach_arc_nps400.
1019 * bfd-in2.h: Likewise.
1020 * cpu-arc.c (arch_info_struct): Likewise.
1021 * elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing):
1022 Likewise.
1023
7dc3990e
L
10242016-06-20 H.J. Lu <hongjiu.lu@intel.com>
1025
1026 PR ld/18250
1027 PR ld/20267
1028 * elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is
1029 defined.
1030 (elf_link_is_defined_archive_symbol): Call
1031 bfd_link_plugin_object_p on unknown plugin object and use the
1032 IR symbol table if the input is an IR object.
1033 * plugin.c (bfd_link_plugin_object_p): New function.
1034 * plugin.h (bfd_link_plugin_object_p): New prototype.
1035
0616a280
AM
10362016-06-20 H.J. Lu <hongjiu.lu@intel.com>
1037
1038 PR ld/20276
1039 * elflink.c (elf_link_add_object_symbols): Don't check alignment
1040 on symbol from plugin dummy input.
1041
49f30d83
L
10422016-06-18 H.J. Lu <hongjiu.lu@intel.com>
1043
1044 * bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to
1045 bfd_plugin_unknown.
1046 * bfd-in2.h: Regenerated.
1047 * plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown
1048 with bfd_plugin_unknown.
1049
233cc9c1
L
10502016-06-18 H.J. Lu <hongjiu.lu@intel.com>
1051
1052 PR ld/20253
1053 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an
1054 bfd_boolean argument.
1055 * elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace
1056 "shared object" with "PIC object" in comments.
1057 (_bfd_elf_allocate_ifunc_dyn_relocs): Updated. Replace
1058 "shared object" with "PIC object" in comments. Avoid PLT if
1059 requested. Generate dynamic relocations for non-GOT references.
1060 Make room for the special first entry in PLT and allocate PLT
1061 entry only for PLT and PC-relative references. Store dynamic
1062 GOT relocations in .rel[a].iplt section for static executables.
1063 If PLT isn't used, always use GOT for symbol value. Don't
1064 allocate GOT entry if it isn't used.
1065 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
1066 count only in the code section. Allocate dynamic pointer
1067 relocation against STT_GNU_IFUNC symbol in the non-code section.
1068 (elf_i386_adjust_dynamic_symbol): Increment PLT reference count
1069 only for PC-relative references.
1070 (elf_i386_allocate_dynrelocs): Pass TRUE to
1071 _bfd_elf_allocate_ifunc_dyn_relocs.
1072 (elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X
1073 relocations against STT_GNU_IFUNC symbols without PLT. Generate
1074 dynamic pointer relocation against STT_GNU_IFUNC symbol in
1075 the non-code section and store it in the proper REL section.
1076 Don't allow non-pointer relocation against STT_GNU_IFUNC symbol
1077 without PLT.
1078 (elf_i386_finish_dynamic_symbol): Generate dynamic
1079 R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against
1080 STT_GNU_IFUNC symbols without PLT.
1081 (elf_i386_finish_dynamic_sections): Don't handle local
1082 STT_GNU_IFUNC symbols here.
1083 (elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC
1084 symbols here.
1085 (elf_backend_output_arch_local_syms): New.
1086 * elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference
1087 count only in the code section. Allocate dynamic pointer
1088 relocation against STT_GNU_IFUNC symbol in the non-code section.
1089 (elf_x86_64_adjust_dynamic_symbol): Increment PLT reference
1090 count only for PC-relative references.
1091 (elf_x86_64_allocate_dynrelocs): Pass TRUE to
1092 _bfd_elf_allocate_ifunc_dyn_relocs.
1093 (elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL,
1094 R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and
1095 R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols
1096 without PLT. Generate dynamic pointer relocation against
1097 STT_GNU_IFUNC symbol in the non-code section and store it in
1098 the proper RELA section. Don't allow non-pointer relocation
1099 against STT_GNU_IFUNC symbol without PLT.
1100 (elf_x86_64_finish_dynamic_symbol): Generate dynamic
1101 R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against
1102 STT_GNU_IFUNC symbols without PLT.
1103 (elf_x86_64_finish_dynamic_sections): Don't handle local
1104 STT_GNU_IFUNC symbols here.
1105 (elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC
1106 symbols here.
1107 (elf_backend_output_arch_local_syms): New.
1108 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
1109 Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs.
1110
80c135e5
TP
11112016-06-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
1112 Tony Wang <tony.wang@arm.com>
1113
1114 * elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub
1115 sequence.
1116 (stub_long_branch_thumb2_only): Define stub.
1117 (arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only.
1118 (arm_stub_long_branch_thumb2_only): Likewise.
1119 (arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2
1120 capable targets.
1121
4f26fb3a
JM
11222016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com>
1123
1124 * archures.c (bfd_mach_sparc_v8plusc): Define.
1125 (bfd_mach_sparc_v9c): Likewise.
1126 (bfd_mach_sparc_v8plusd): Likewise.
1127 (bfd_mach_sparc_v9d): Likewise.
1128 (bfd_mach_sparc_v8pluse): Likewise.
1129 (bfd_mach_sparc_v9e): Likewise.
1130 (bfd_mach_sparc_v8plusv): Likewise
1131 (bfd_mach_sparc_v9v): Likewise.
1132 (bfd_mach_sparc_v8plusm): Likewise.
1133 (bfd_mach_sparc_v9m): Likewise.
1134 (bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m.
1135 (bfd_mach_sparc_64bit_p): Likewise.
1136 * bfd-in2.h: Regenerate.
1137 * cpu-sparc.c (arch_info_struct): Add entries for
1138 bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}.
1139 * aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m}
1140 and bfd_mach_sparc_v9{c,d,e,v,m}.
1141 * elf32-sparc.c (elf32_sparc_final_write_processing): Likewise.
1142 * elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise.
1143
ca45f6e9
L
11442016-06-16 H.J. Lu <hongjiu.lu@intel.com>
1145
1146 * elf32-i386.c (elf_i386_check_relocs): Don't check undefined
1147 symbols for relocations against IFUNC symbols.
1148 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1149
f92339b8
MK
11502016-06-16 Marcin Kościelnicki <koriakin@0x04.net>
1151
1152 * elf32-s390.c (elf_s390_finish_dynamic_sections): Include
1153 .rela.iplt in DT_PLTRELSZ.
1154 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise,
1155 for DT_PLTRELSZ and DT_RELASZ as well.
1156
081b1afe
L
11572016-06-16 H.J. Lu <hongjiu.lu@intel.com>
1158
1159 * elf32-i386.c (elf_i386_check_relocs): Skip relocations in
1160 non-loaded, non-alloced sections.
1161 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1162
4c23f2ff
L
11632016-06-15 H.J. Lu <hongjiu.lu@intel.com>
1164
1165 * elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before
1166 allocating dynamic relocation.
1167 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1168
31eef93e
SKS
11692016-06-14 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1170
1171 PR ld/20254
1172 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
1173 offsets until reloc_toaddr.
1174
c428ce9d
L
11752016-06-14 H.J. Lu <hongjiu.lu@intel.com>
1176
1177 * elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE.
1178 Don't check symbol type for STN_UNDEF symbol index.
1179 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Check
1180 R_X86_64_IRELATIVE. Don't check symbol type for STN_UNDEF symbol
1181 index.
1182
60a019a0
TP
11832016-06-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
1184
1185 * elf32-arm.c (using_thumb_only): Force review of arch check logic for
1186 new architecture.
1187 (using_thumb2): Try Tag_THUMB_ISA_use first and check
1188 for exact arch value then. Force review of arch check logic for new
1189 architecture.
1190 (arch_has_arm_nop): Update and fix arch check logic. Force review of
1191 that logic for new architecture.
1192 (arch_has_thumb2_nop): Remove.
1193 (elf32_arm_tls_relax): Use using_thumb2 instead of above function.
1194 (elf32_arm_final_link_relocate): Likewise but using thumb2.
1195
3860d2b4
AM
11962016-06-14 Alan Modra <amodra@gmail.com>
1197
1198 * bfd-in.h (bfd_my_archive): Delete.
1199 * bfd-in2.h: Regenerate.
1200
b0cffb47
AM
12012016-06-14 Alan Modra <amodra@gmail.com>
1202
1203 PR ld/20241
1204 * archive.c (open_nested_file): Set my_archive.
1205 * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
1206 for thin archives.
1207 * bfdio.c (bfd_tell): Don't adjust origin for thin archives.
1208 (bfd_seek): Likewise.
1209 * bfdwin.c (bfd_get_file_window): Likewise.
1210 * cache.c (cache_bmmap): Likewise.
1211 (bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
1212 * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
1213 thin archives.
1214 * plugin.c (try_claim): Likewise.
1215 * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
1216 file within thin archive, not the archive.
1217
712ec279
L
12182016-06-13 H.J. Lu <hongjiu.lu@intel.com>
1219
1220 PR ld/20244
1221 * elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
1222 section address for R_386_GOT32/R_386_GOT32X relocations against
1223 IFUNC symbols if there is no base register and return error for
1224 PIC.
1225
ca8c86ef
L
12262016-06-13 H.J. Lu <hongjiu.lu@intel.com>
1227
1228 * elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
1229 GOT32 adjustment for static executables.
1230
0c9663cb
MR
12312016-06-13 Maciej W. Rozycki <macro@imgtec.com>
1232
1233 * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
1234
815dc1bc
CZ
12352016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
1236
1237 * elf32-arc.c (elf_arc_relocate_section): Fixed condition.
1238
3b63d2ce
CM
12392016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
1240
1241 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
1242
2ab2f40d
CM
12432016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
1244
1245 * elf32-arc.c (arc_local_data, arc_local_data): Removed.
1246 (SECTSTART): Changed.
1247 (elf_arc_relocate_section): Fixed mistake in PIE related
1248 condition.
1249 (elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT.
1250
0f7f3789
CM
12512016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
1252
1253 * elf32-arc.c (elf32_arc_reloc_type_class): Defined function to
1254 enable support for "-z combreloc" and DT_RELACOUNT.
1255 (elf_backend_reloc_type_class): Likewise
1256
74d7f0aa
L
12572016-06-11 H.J. Lu <hongjiu.lu@intel.com>
1258
1259 PR ld/20244
1260 * elf32-i386.c (elf_i386_relocate_section): When relocating
1261 R_386_GOT32, return error without a base register for PIC and
1262 subtract the .got.plt section address only with a base register.
1263
ef53be89
AM
12642016-06-10 Alan Modra <amodra@gmail.com>
1265
1266 * elf-strtab.c (struct strtab_save): Use size_t for "size".
1267 (struct elf_strtab_hash): Likewise for "size" and "alloced".
1268 (_bfd_elf_strtab_init): Formatting.
1269 (_bfd_elf_strtab_add): Return size_t rather than bfd_size_type.
1270 (_bfd_elf_strtab_addref): Take size_t idx param.
1271 (_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise.
1272 (_bfd_elf_strtab_offset): Likewise.
1273 (_bfd_elf_strtab_clear_all_refs): Use size_t idx.
1274 (_bfd_elf_strtab_save): Use size_t "idx" and "size" vars.
1275 (_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly.
1276 (_bfd_elf_strtab_finalize): Similarly.
1277 * elf-bfd.h (_bfd_elf_strtab_add): Update prototypes.
1278 (_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise.
1279 (_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise.
1280 * elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size
1281 using bfd_size_type.
1282 (bfd_section_from_shdr): Delete amt.
1283 (_bfd_elf_init_reloc_shdr): Likewise.
1284 (_bfd_elf_link_assign_sym_version): Likewise.
1285 (assign_section_numbers): Use size_t reloc_count.
1286 * elflink.c (struct elf_symbuf_head): Use size_t "count".
1287 (bfd_elf_link_record_dynamic_symbol): Use size_t for some vars.
1288 (elf_link_is_defined_archive_symbol): Likewise.
1289 (elf_add_dt_needed_tag): Likewise.
1290 (elf_finalize_dynstr): Likewise.
1291 (elf_link_add_object_symbols): Likewise.
1292 (bfd_elf_size_dynamic_sections): Likewise.
1293 (elf_create_symbuf): Similarly.
1294 (bfd_elf_match_symbols_in_sections): Likewise.
1295 (elf_link_swap_symbols_out): Likewise.
1296 (elf_link_check_versioned_symbol): Likewise.
1297 (bfd_elf_gc_record_vtinherit): Likewise.
1298 (bfd_elf_gc_common_finalize_got_offsets): Likewise.
1299
5c41dbc3
DC
13002016-06-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1301
1302 PR ld/20221
1303 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
1304 and relocs only if shrinking occurred.
1305
6eaa7fb5
L
13062016-06-08 H.J. Lu <hongjiu.lu@intel.com>
1307
1308 * elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
1309 (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
1310 (elf_i386_check_tls_transition): Check indirect call and direct
1311 call with the addr32 prefix for general and local dynamic models.
1312 Set the tls_get_addr feild.
1313 (elf_i386_convert_load_reloc): Always use addr32 prefix for
1314 indirect ___tls_get_addr call via GOT.
1315 (elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
1316 transitions with indirect call and direct call with the addr32
1317 prefix.
1318
3b67f094
MK
13192016-06-07 Marcin Kościelnicki <koriakin@0x04.net>
1320
1321 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
1322 * elf64-s390.c (elf_s390x_plt_entry): Fix comment.
1323 (elf_s390_relocate_section): Fix comment.
1324 (elf_s390_finish_dynamic_sections): Fix initialization of fixed
1325 .got.plt entries.
1326
161db279
AK
13272016-06-07 Ulrich Weigand <ulrich.weigand@de.ibm.com>
1328
1329 * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
1330 section offset when calculation the larl operand in the first PLT
1331 entry.
1332
14b57c7c
AM
13332016-06-07 Alan Modra <amodra@gmail.com>
1334
1335 * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
1336 to match other 32-bit archs.
1337 * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
1338 (ppc_elf_object_p): Call it.
1339 (ppc_elf_special_sections): Use APUINFO_SECTION_NAME. Fix
1340 overlong line.
1341 (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
1342 * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
1343 * bfd-in.h (_bfd_elf_ppc_at_tls_transform,
1344 _bfd_elf_ppc_at_tprel_transform): Move to..
1345 * elf-bfd.h: ..here.
1346 (_bfd_elf_ppc_set_arch): Declare.
1347 * bfd-in2.h: Regenerate.
1348
e2cbcd91
L
13492016-06-06 H.J. Lu <hongjiu.lu@intel.com>
1350
1351 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
1352 (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
1353 (elf_x86_64_check_tls_transition): Check indirect call and
1354 direct call with the addr32 prefix for general and local dynamic
1355 models. Set the tls_get_addr feild.
1356 (elf_x86_64_convert_load_reloc): Always use addr32 prefix for
1357 indirect __tls_get_addr call via GOT.
1358 (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
1359 transitions with indirect call and direct call with the addr32
1360 prefix.
1361
2ac27cd3
CG
13622016-06-04 Christian Groessler <chris@groessler.org>
1363
1364 * coff-z8k.c (extra_case): Fix range check for R_JR relocation.
1365
99914dfd
NC
13662016-06-02 Nick Clifton <nickc@redhat.com>
1367
1368 PR target/20088
1369 * cpu-arm.c (processors): Add "arm_any" type to match any ARM
1370 architecture.
1371 (arch_info_struct): Likewise.
1372 (architectures): Likewise.
1373
4ad0bb5f
VG
13742016-06-02 Vineet Gupta <Vineet.Gupta1@synopsys.com>
1375
1376 * config.bfd: Replace -uclibc with *.
1377
3ddf1bdd
L
13782016-06-02 H.J. Lu <hongjiu.lu@intel.com>
1379
1380 * elf64-x86-64.c: Replace data32 with data16 in comments.
1381
5b677558
AM
13822016-05-31 Alan Modra <amodra@gmail.com>
1383
1384 PR ld/20159
1385 PR ld/16467
1386 * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
1387 (_bfd_elf_add_default_symbol): Don't indirect to/from defined
1388 symbol given a version by a script different to the version
1389 of the symbol being added.
1390 (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
1391 _bfd_elf_strtab_restore. Don't fudge dynstr references.
1392 * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
1393 (struct strtab_save): New.
1394 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
1395 * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
1396 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
1397
1fe0971e
TS
13982016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1399
1400 * elf32-hppa.h: Add extern "C".
1401 * elf32-nds32.h: Likewise.
1402 * elf32-tic6x.h: Likewise.
1403
885a1087
NC
14042016-06-01 Nick Clifton <nickc@redhat.com>
1405
1406 * po/sr.po: New Serbian translation.
1407 * configure.ac (ALL_LINGUAS): Add sr.
1408 * configure: Regenerate.
1409
99aefae6
MR
14102016-05-28 Maciej W. Rozycki <macro@imgtec.com>
1411
1412 * elfxx-mips.c (b_reloc_p): New function.
1413 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
1414 branch relocations.
1415
77434823
MR
14162016-05-28 Maciej W. Rozycki <macro@imgtec.com>
1417
1418 * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
1419 <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
1420 reloc location from calculation, treat the addend as signed with
1421 local non-section symbols and enable overflow detection.
1422
1a72702b
AM
14232016-05-28 Alan Modra <amodra@gmail.com>
1424
1425 * aoutx.h: Adjust linker callback calls throughout file,
1426 removing dead code.
1427 * bout.c: Likewise.
1428 * coff-alpha.c: Likewise.
1429 * coff-arm.c: Likewise.
1430 * coff-h8300.c: Likewise.
1431 * coff-h8500.c: Likewise.
1432 * coff-i960.c: Likewise.
1433 * coff-mcore.c: Likewise.
1434 * coff-mips.c: Likewise.
1435 * coff-ppc.c: Likewise.
1436 * coff-rs6000.c: Likewise.
1437 * coff-sh.c: Likewise.
1438 * coff-tic80.c: Likewise.
1439 * coff-w65.c: Likewise.
1440 * coff-z80.c: Likewise.
1441 * coff-z8k.c: Likewise.
1442 * coff64-rs6000.c: Likewise.
1443 * cofflink.c: Likewise.
1444 * ecoff.c: Likewise.
1445 * elf-bfd.h: Likewise.
1446 * elf-m10200.c: Likewise.
1447 * elf-m10300.c: Likewise.
1448 * elf32-arc.c: Likewise.
1449 * elf32-arm.c: Likewise.
1450 * elf32-avr.c: Likewise.
1451 * elf32-bfin.c: Likewise.
1452 * elf32-cr16.c: Likewise.
1453 * elf32-cr16c.c: Likewise.
1454 * elf32-cris.c: Likewise.
1455 * elf32-crx.c: Likewise.
1456 * elf32-d10v.c: Likewise.
1457 * elf32-epiphany.c: Likewise.
1458 * elf32-fr30.c: Likewise.
1459 * elf32-frv.c: Likewise.
1460 * elf32-ft32.c: Likewise.
1461 * elf32-h8300.c: Likewise.
1462 * elf32-hppa.c: Likewise.
1463 * elf32-i370.c: Likewise.
1464 * elf32-i386.c: Likewise.
1465 * elf32-i860.c: Likewise.
1466 * elf32-ip2k.c: Likewise.
1467 * elf32-iq2000.c: Likewise.
1468 * elf32-lm32.c: Likewise.
1469 * elf32-m32c.c: Likewise.
1470 * elf32-m32r.c: Likewise.
1471 * elf32-m68hc1x.c: Likewise.
1472 * elf32-m68k.c: Likewise.
1473 * elf32-mep.c: Likewise.
1474 * elf32-metag.c: Likewise.
1475 * elf32-microblaze.c: Likewise.
1476 * elf32-moxie.c: Likewise.
1477 * elf32-msp430.c: Likewise.
1478 * elf32-mt.c: Likewise.
1479 * elf32-nds32.c: Likewise.
1480 * elf32-nios2.c: Likewise.
1481 * elf32-or1k.c: Likewise.
1482 * elf32-ppc.c: Likewise.
1483 * elf32-s390.c: Likewise.
1484 * elf32-score.c: Likewise.
1485 * elf32-score7.c: Likewise.
1486 * elf32-sh.c: Likewise.
1487 * elf32-sh64.c: Likewise.
1488 * elf32-spu.c: Likewise.
1489 * elf32-tic6x.c: Likewise.
1490 * elf32-tilepro.c: Likewise.
1491 * elf32-v850.c: Likewise.
1492 * elf32-vax.c: Likewise.
1493 * elf32-visium.c: Likewise.
1494 * elf32-xstormy16.c: Likewise.
1495 * elf32-xtensa.c: Likewise.
1496 * elf64-alpha.c: Likewise.
1497 * elf64-hppa.c: Likewise.
1498 * elf64-ia64-vms.c: Likewise.
1499 * elf64-mmix.c: Likewise.
1500 * elf64-ppc.c: Likewise.
1501 * elf64-s390.c: Likewise.
1502 * elf64-sh64.c: Likewise.
1503 * elf64-x86-64.c: Likewise.
1504 * elflink.c: Likewise.
1505 * elfnn-aarch64.c: Likewise.
1506 * elfnn-ia64.c: Likewise.
1507 * elfxx-mips.c: Likewise.
1508 * elfxx-sparc.c: Likewise.
1509 * elfxx-tilegx.c: Likewise.
1510 * linker.c: Likewise.
1511 * pdp11.c: Likewise.
1512 * pe-mips.c: Likewise.
1513 * reloc.c: Likewise.
1514 * reloc16.c: Likewise.
1515 * simple.c: Likewise.
1516 * vms-alpha.c: Likewise.
1517 * xcofflink.c: Likewise.
1518 * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
1519 status param. Adjust calls to these and linker callbacks throughout.
1520 * elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
1521 get_ramstart): Delete status param. Adjust calls to these and
1522 linker callbacks throughout.
1523
bc27bb05
MR
15242016-05-27 Maciej W. Rozycki <macro@imgtec.com>
1525
1526 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
1527 <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
1528 target alignment verification.
1529
ceab86af
MR
15302016-05-27 Maciej W. Rozycki <macro@imgtec.com>
1531
1532 * elfxx-mips.c (mips_elf_calculate_relocation): Also use the
1533 section name if `bfd_elf_string_from_elf_section' returns an
1534 empty string.
1535
ed53407e
MR
15362016-05-26 Maciej W. Rozycki <macro@imgtec.com>
1537
1538 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
1539 <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
1540 for message. Continue processing rather than returning failure.
1541
de341542 15422016-05-25 Maciej W. Rozycki <macro@imgtec.com>
ed53407e 1543
de341542
MR
1544 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
1545 <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
1546 Call `bfd_set_error'.
1547
e6cc316a
L
15482016-05-25 H.J. Lu <hongjiu.lu@intel.com>
1549
1550 PR binutils/14625
1551 * archive.c (bfd_slurp_armap): Replace
1552 bfd_elf64_archive_slurp_armap with
1553 _bfd_archive_64_bit_slurp_armap.
1554 (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
1555 BFD64 is defined and the archive is too big.
1556 (coff_write_armap): Likewise.
1557 * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
1558 (_bfd_archive_64_bit_slurp_armap): This.
1559 (bfd_elf64_archive_write_armap): Renamed to ...
1560 (_bfd_archive_64_bit_write_armap): This.
1561 * configure.ac: Add --enable-64-bit-archive.
1562 (want_64_bit_archive): New. Set to true by default for 64-bit
1563 MIPS and s390 ELF targets.
1564 (USE_64_BIT_ARCHIVE): New AC_DEFINE.
1565 * config.in: Regenerated.
1566 * configure: Likewise.
1567 * elf64-mips.c (bfd_elf64_archive_functions): Removed.
1568 (bfd_elf64_archive_slurp_armap): Likewise.
1569 (bfd_elf64_archive_write_armap): Likewise.
1570 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
1571 (bfd_elf64_archive_construct_extended_name_table): Likewise.
1572 (bfd_elf64_archive_truncate_arname): Likewise.
1573 (bfd_elf64_archive_read_ar_hdr): Likewise.
1574 (bfd_elf64_archive_write_ar_hdr): Likewise.
1575 (bfd_elf64_archive_openr_next_archived_file): Likewise.
1576 (bfd_elf64_archive_get_elt_at_index): Likewise.
1577 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
1578 (bfd_elf64_archive_update_armap_timestamp): Likewise.
1579 * elf64-s390.c (bfd_elf64_archive_functions): Removed.
1580 (bfd_elf64_archive_slurp_armap): Likewise.
1581 (bfd_elf64_archive_write_armap): Likewise.
1582 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
1583 (bfd_elf64_archive_construct_extended_name_table): Likewise.
1584 (bfd_elf64_archive_truncate_arname): Likewise.
1585 (bfd_elf64_archive_read_ar_hdr): Likewise.
1586 (bfd_elf64_archive_write_ar_hdr): Likewise.
1587 (bfd_elf64_archive_openr_next_archived_file): Likewise.
1588 (bfd_elf64_archive_get_elt_at_index): Likewise.
1589 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
1590 (bfd_elf64_archive_update_armap_timestamp): Likewise.
1591 * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
1592 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
1593 bfd_elfNN_archive_functions isn't defined.
1594 (TARGET_LITTLE_SYM): Likewise.
1595 * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
1596 (_bfd_archive_64_bit_write_armap): Likewise.
1597 (_bfd_archive_64_bit_slurp_extended_name_table): New macro.
1598 (_bfd_archive_64_bit_construct_extended_name_table): Likewise.
1599 (_bfd_archive_64_bit_truncate_arname): Likewise.
1600 (_bfd_archive_64_bit_read_ar_hdr): Likewise.
1601 (_bfd_archive_64_bit_write_ar_hdr): Likewise.
1602 (_bfd_archive_64_bit_openr_next_archived_file): Likewise.
1603 (_bfd_archive_64_bit_get_elt_at_index): Likewise.
1604 (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
1605 (_bfd_archive_64_bit_update_armap_timestamp): Likewise.
1606 * libbfd.h: Regenerated.
1607 * plugin.c (plugin_vec): Use _bfd_archive_64_bit on
1608 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
1609
b95a0a31
L
16102016-05-25 H.J. Lu <hongjiu.lu@intel.com>
1611
1612 PR ld/20103
1613 * cofflink.c (coff_link_check_archive_element): Return TRUE if
1614 linker add_archive_element callback returns FALSE.
1615 * ecoff.c (ecoff_link_check_archive_element): Likewise.
1616 * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
1617 archive element if linker add_archive_element callback returns
1618 FALSE.
1619 * elflink.c (elf_link_add_archive_symbols): Likewise.
1620 * pdp11.c (aout_link_check_ar_symbols): Likewise.
1621 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
1622 * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
1623 (xcoff_link_check_ar_symbols): Likewise.
1624
7db9a74e
MR
16252016-05-24 Maciej W. Rozycki <macro@imgtec.com>
1626
1627 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
1628 <bfd_reloc_outofrange>: Unify error reporting code.
1629
b7f28d87
JW
16302016-05-23 Jim Wilson <jim.wilson@linaro.org>
1631
1632 * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
1633 R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL.
1634 * relocs.c: Add BFD_RELOC_AARCH64_NULL.
1635 * bfd-in2.h: Regenerate.
1636 * libbfd.h: Likewise.
1637
a2bea324
KS
16382016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com>
1639
1640 * config.bfd: Add entry for arm-phoenix.
1641
d7c5bd02
TP
16422016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
1643
1644 * elf32-arm.c (arm_dedicated_stub_section_padding): New function.
1645 (elf32_arm_size_stubs): Declare stub_type in a more outer scope and
1646 account for padding for stub section requiring one.
1647 (elf32_arm_build_stubs): Add comment to stress the importance of
1648 zeroing veneer section content.
1649
daa4adae
TP
16502016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
1651
1652 * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
1653 bfd hook.
1654 * bfd-in2.h: Regenerate.
1655 * elf32-arm.c (arm_dedicated_stub_output_section_required): New
1656 function.
1657 (arm_dedicated_stub_output_section_required_alignment): Likewise.
1658 (arm_dedicated_stub_output_section_name): Likewise.
1659 (arm_dedicated_stub_input_section_ptr): Likewise.
1660 (elf32_arm_create_or_find_stub_sec): Add stub type parameter and
1661 function description comment. Add support for dedicated output stub
1662 section to given stub types.
1663 (elf32_arm_add_stub): Add a stub type parameter and pass it down to
1664 elf32_arm_create_or_find_stub_sec.
1665 (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
1666 (elf32_arm_size_stubs): Pass stub type when calling
1667 elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
1668 (bfd_elf32_arm_keep_private_stub_output_sections): New function.
1669
52bf37dd
L
16702016-05-20 H.J. Lu <hongjiu.lu@intel.com>
1671
1672 * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
1673 when setting need_convert_load.
1674
17c6c9d9
MR
16752016-05-20 Maciej W. Rozycki <macro@imgtec.com>
1676
1677 * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
1678 microMIPS JALX.
1679
7d4d9709
L
16802016-05-19 H.J. Lu <hongjiu.lu@intel.com>
1681
1682 PR ld/20117
1683 * elf32-i386.c (elf_i386_convert_load_reloc): Don't check
1684 R_386_GOT32X.
1685 (elf_i386_convert_load): Don't convert R_386_GOT32.
1686
606851fb
AM
16872016-05-20 Alan Modra <amodra@gmail.com>
1688
1689 PR gas/20118
1690 * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
1691 SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
1692
3c8adaca
CZ
16932016-05-19 Cupertino Miranda <cmiranda@synopsys.com>
1694
1695 * elf32-arc.c (arc_elf_final_write_processing): Changed.
1696 (debug_arc_reloc): Likewise.
1697 (elf_arc_relocate_section): Likewise.
1698 (elf_arc_check_relocs): Likewise.
1699 (elf_arc_adjust_dynamic_symbol): Likewise.
1700 (elf_arc_add_symbol_hook): Likewise.
1701
6b200de0
MR
17022016-05-19 Maciej W. Rozycki <macro@imgtec.com>
1703
1704 * config.bfd: Remove `am34-*-linux*' support.
1705
57e7d118
AM
17062016-05-19 Alan Modra <amodra@gmail.com>
1707
1708 * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
1709 relocs before plt relocs.
1710
9f284bf9
AM
17112016-05-19 Alan Modra <amodra@gmail.com>
1712
1713 * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
1714 before dereferencing.
1715
50498060
NC
17162016-05-18 Nick Clifton <nickc@redhat.com>
1717
1718 * po/sv.po: Updated Swedish translation.
1719
7f991970
AM
17202016-05-18 Alan Modra <amodra@gmail.com>
1721
1722 * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
1723 for each BFD. Don't goto error_ret_free_local from outside loop.
1724
a43942db
MR
17252016-05-17 Maciej W. Rozycki <macro@imgtec.com>
1726
1727 * elf-s390-common.c (elf_s390_add_symbol_hook): Remove
1728 STB_GNU_UNIQUE handling.
1729 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
1730 * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
1731 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
1732 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
1733 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
1734 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
1735 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
1736 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
1737 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
1738 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
1739 * elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
1740 (elf_backend_add_symbol_hook): Remove macro.
1741 * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
1742 for STB_GNU_UNIQUE symbols.
1743
71de3413
MR
17442016-05-16 Maciej W. Rozycki <macro@imgtec.com>
1745
1746 * elf32-v850.c (v850_elf_copy_notes): New function, factored out
1747 from...
1748 (v850_elf_copy_private_bfd_data): ... here. Call the new
1749 function and `_bfd_elf_copy_private_bfd_data'.
1750
2168b268
L
17512016-05-13 H.J. Lu <hongjiu.lu@intel.com>
1752
1753 PR ld/20093
1754 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
1755 GOTPCREL relocation against large section.
1756
4ade44b7
AM
17572016-05-13 Alan Modra <amodra@gmail.com>
1758
1759 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
1760 linker dynamic sections in calculating size and address of
2168b268 1761 dynamic tags rather than using output sections. Remove asserts.
4ade44b7
AM
1762 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
1763 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
1764 * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
1765 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
1766 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
1767 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
1768 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
1769 * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
1770 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
1771 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
1772 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
1773 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
1774 * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
1775 * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
1776 * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
1777 * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
1778 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
1779 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
1780 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
1781 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
1782 * elflink.c (bfd_elf_final_link): Likewise.
1783 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
1784 * elfxx-sparc.c (sparc_finish_dyn): Likewise. Adjust error message.
1785 * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
1786 don't set doit. Look up dynobj section.
1787 (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
1788 invocation and dynamic tag vma calculation. Don't test
1789 boolean var == TRUE.
1790 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
1791 DT_JMPREL calc.
1792
c8e44c6d
AM
17932016-05-13 Alan Modra <amodra@gmail.com>
1794
1795 * elflink.c (elf_link_sort_relocs): Wrap overlong lines. Fix
1796 octets_per_byte. Put dynamic .rela.plt last in link orders.
1797 Assign output_offset for reloc sections rather than writing
1798 sorted relocs from block corresponding to output_offset.
1799
1997c994
AM
18002016-05-12 Alan Modra <amodra@gmail.com>
1801
1802 * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
1803
8f4f9071
MF
18042016-05-11 Andrew Bennett <andrew.bennett@imgtec.com>
1805
1806 * elfxx-mips.c (print_mips_ases): Add DSPR3.
1807
a464198b
AM
18082016-05-11 Alan Modra <amodra@gmail.com>
1809
1810 * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
1811 (elf32_hppa_check_relocs): Don't set dynobj.
1812 (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
1813 (elf32_hppa_build_stubs): Likewise.
1814 * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
1815
3bd43ebc
AM
18162016-05-11 Alan Modra <amodra@gmail.com>
1817
1818 PR 20060
1819 * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
1820 * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
1821
4e7fbb34
JW
18222016-05-10 Jiong Wang <jiong.wang@arm.com>
1823
1824 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
1825 aarch64_tls_transition check.
1826
4f4faa4d
TP
18272016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1828
1829 * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
1830 enumerator.
1831 (arm_stub_sym_claimed): New function.
1832 (elf32_arm_create_stub): Use veneered symbol name and section if
1833 veneer needs to claim its symbol, and keep logic unchanged otherwise.
1834 (arm_stub_claim_sym): New function.
1835 (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
1836 veneered symbol, otherwise create local symbol as before.
1837
39d911fc
TP
18382016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1839
1840 * elf32-arm.c (elf32_arm_size_stubs): Use new macros
1841 ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
1842 and set branch type of a symbol.
1843 (bfd_elf32_arm_process_before_allocation): Likewise.
1844 (elf32_arm_relocate_section): Likewise and fix identation along the
1845 way.
1846 (allocate_dynrelocs_for_symbol): Likewise.
1847 (elf32_arm_finish_dynamic_symbol): Likewise.
1848 (elf32_arm_swap_symbol_in): Likewise.
1849 (elf32_arm_swap_symbol_out): Likewise.
1850
6bde4c52
TP
18512016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1852
1853 * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
1854 * bfd-in2.h: Regenerated.
1855 * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
1856 parameter to add_stub_section callback.
1857 (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
1858 and pass it down to add_stub_section.
1859 (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
1860 for error message.
1861 (elf32_arm_size_stubs): Add output section parameter to
1862 add_stub_section function pointer parameter.
1863
b715f643
TP
18642016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1865
1866 * elf32-arm.c (elf32_arm_create_stub): New function.
1867 (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
1868
8d9d9490
TP
18692016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1870
1871 * elf32-arm.c (enum elf32_arm_stub_type): Delete
1872 arm_stub_a8_veneer_lwm enumerator.
1873 (arm_stub_a8_veneer_lwm): New unsigned constant to replace
1874 aforementioned enumerator.
1875 (struct elf32_arm_stub_hash_entry): Delete target_addend
1876 field and add source_value.
1877 (struct a8_erratum_fix): Delete addend field and add target_offset.
1878 (stub_hash_newfunc): Initialize source_value field amd remove
1879 initialization for target_addend.
1880 (arm_build_one_stub): Stop special casing Thumb relocations: promote
1881 the else to being always executed, moving the
1882 arm_stub_a8_veneer_b_cond specific code in it. Remove
1883 stub_entry->target_addend from points_to computation.
1884 (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
1885 to target symbol from start of section rather than the offset from the
1886 stub address.
1887 (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
1888 fields from struct a8_erratum_fix's offset and target_offset
1889 respectively.
1890 (make_branch_to_a8_stub): Rename target variable to loc. Compute
1891 veneered_insn_loc and loc using stub_entry's source_value.
1892
15afaa63
TP
18932016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1894
1895 (elf32_arm_merge_eabi_attributes): Add merging logic for
1896 Tag_DSP_extension.
1897
66a36822
PC
18982016-05-10 Pip Cet <pipcet@gmail.com>
1899
1900 PR ld/20059
1901 * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
1902 Define as _bfd_generic_copy_link_hash_symbol_type when using
1903 generic hash table.
1904
315350be
NC
19052016-05-09 Nick Clifton <nickc@redhat.com>
1906
1907 PR binutils/20063
1908 * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
1909 field before accessing sections array.
1910
9239bbd3
CM
19112016-05-09 Christophe Monat <christophe.monat@st.com>
1912
1913 PR ld/20030
1914 * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
1915 (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
1916 to nb_words.
1917 (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
1918 encoding.
1919 (create_instruction_vldmdb): Likewise.
1920 (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
1921 uses it to re-encode.
1922
73597c18
NC
19232016-05-09 Nick Clifton <nickc@redhat.com>
1924
1925 PR 19938
1926 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
1927 commit.
1928
ae1bb197
AM
19292016-05-09 Alan Modra <amodra@gmail.com>
1930
1931 * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
1932
97196564
L
19332016-05-06 H.J. Lu <hongjiu.lu@intel.com>
1934
1935 PR ld/17550
1936 * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
1937 documenting that indx == -3 if symbol is defined in a discarded
1938 section.
1939 * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
1940 symbol is defined in a discarded section.
1941 (elf_link_output_extsym): Strip a global symbol defined in a
1942 discarded section.
1943
030e823c
L
19442016-05-06 H.J. Lu <hongjiu.lu@intel.com>
1945
1946 * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
1947 MCU.
1948
c175a657
L
19492016-05-05 H.J. Lu <hongjiu.lu@intel.com>
1950
1951 * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
1952 conversion to ...
1953 (elf_i386_convert_load_reloc): This. New function.
1954 * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
1955 conversion to ...
1956 (elf_x86_64_convert_load_reloc): This. New function.
1957
bedfd056
L
19582016-05-05 H.J. Lu <hongjiu.lu@intel.com>
1959
1960 * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
1961 Don't check if contents == NULL.
1962 (elf_i386_tls_transition): Add from_relocate_section. Check
1963 from_relocate_section instead of contents != NULL. Update
1964 elf_i386_check_tls_transition call.
1965 (elf_i386_check_relocs): Cache the section contents if
1966 keep_memory is FALSE. Pass FALSE as from_relocate_section to
1967 elf_i386_tls_transition.
1968 (elf_i386_relocate_section): Pass TRUE as from_relocate_section
1969 to elf_i386_tls_transition.
1970 (elf_backend_caches_rawsize): New.
1971 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
1972 if contents == NULL.
1973 (elf_x86_64_tls_transition): Add from_relocate_section. Check
1974 from_relocate_section instead of contents != NULL.
1975 (elf_x86_64_check_relocs): Cache the section contents if
1976 keep_memory is FALSE. Pass FALSE as from_relocate_section to
1977 elf_x86_64_tls_transition.
1978 (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
1979 to elf_x86_64_tls_transition.
1980 (elf_backend_caches_rawsize): New.
1981
6d6a648c
MR
19822016-05-03 Maciej W. Rozycki <macro@imgtec.com>
1983
1984 PR 10549
1985 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
1986 STB_GNU_UNIQUE.
1987
1f56df9d
JW
19882016-05-03 Jiong Wang <jiong.wang@arm.com>
1989
1990 * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
1991 * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
1992 * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
1993 no_apply_dynamic_relocs.
1994 (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
1995 dynamic relocations generated.
1996
493f652c
L
19972016-04-29 H.J. Lu <hongjiu.lu@intel.com>
1998
1999 * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
2000 setting to ...
2001 (elf_i386_create_dynamic_sections): Here.
2002 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
2003 interp setting to ...
2004 (elf_x86_64_create_dynamic_sections): Here.
2005
e62b9723
L
20062016-04-29 H.J. Lu <hongjiu.lu@intel.com>
2007
2008 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
2009 and replace (EH)->has_got_reloc with GOT_RELOC.
2010 (elf_i386_fixup_symbol): Pass has_got_reloc to
2011 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2012 (elf_i386_allocate_dynrelocs): Likewise.
2013 (elf_i386_relocate_section): Likewise.
2014 (elf_i386_finish_dynamic_symbol): Likewise.
2015 (elf_i386_convert_load): Pass TRUE to
2016 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2017 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
2018 GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
2019 (elf_x86_64_fixup_symbol): Pass has_got_reloc to
2020 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2021 (elf_x86_64_allocate_dynrelocs): Likewise.
2022 (elf_x86_64_relocate_section): Likewise.
2023 (elf_x86_64_finish_dynamic_symbol): Likewise.
2024 (elf_x86_64_convert_load): Pass TRUE to
2025 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2026
c337a162
L
20272016-04-29 H.J. Lu <hongjiu.lu@intel.com>
2028
2029 * elf32-i386.c (check_relocs_failed): New.
2030 (elf_i386_check_relocs): Set check_relocs_failed on error.
2031 (elf_i386_relocate_section): Skip if check_relocs failed.
2032
afd9acee
L
20332016-04-29 H.J. Lu <hongjiu.lu@intel.com>
2034
2035 * elf64-x86-64.c (elf_x86_64_check_relocs): Set
2036 check_relocs_failed on error.
2037
5522f910
NC
20382016-04-29 Nick Clifton <nickc@redhat.com>
2039
2040 PR 19938
2041 * elf-bfd.h (struct elf_backend_data): Rename
2042 elf_backend_set_special_section_info_and_link to
2043 elf_backend_copy_special_section_fields.
2044 * elfxx-target.h: Likewise.
2045 * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
2046 comparing section flags.
2047 (copy_special_section_fields): New function.
2048 (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
2049 Perform two scans over special sections. The first one looks for
2050 a direct mapping between the output section and an input section.
2051 The second scan looks for a possible match based upon section
2052 characteristics.
2053 * elf32-arm.c (elf32_arm_copy_special_section_fields): New
2054 function. Handle setting the sh_link field of SHT_ARM_EXIDX
2055 sections.
2056 * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
2057 elf32_i386_copy_solaris_special_section_fields.
2058 * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
2059 Rename to elf32_sparc_copy_solaris_special_section_fields.
2060 * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
2061 elf64_x86_64_copy_solaris_special_section_fields.
2062
786a118c
NC
20632016-04-28 Nick Clifton <nickc@redhat.com>
2064
2065 * po/zh_CN.po: Updated Chinese (simplified) translation.
2066
91f8bf69
L
20672016-04-27 H.J. Lu <hongjiu.lu@intel.com>
2068
2069 PR ld/20006
2070 * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
2071 when estimating distances between output sections.
2072
a6a4679f
AM
20732016-04-27 Alan Modra <amodra@gmail.com>
2074
2075 * elflink.c (_bfd_elf_is_start_stop): New function.
2076 (_bfd_elf_gc_mark_rsec): Use it.
2077 * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
2078
28cc9170
TS
20792016-04-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
2080
2081 * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
2082 * mmo.c (mmo_get_section_contents): Likewise.
2083 (mmo_set_section_contents): Likewise.
2084
d5486c43
L
20852016-04-26 H.J. Lu <hongjiu.lu@intel.com>
2086
2087 * elf-bfd.h (elf_link_hash_table): Update comments for
2088 dynsymcount.
2089 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
2090 the unused NULL entry at the head of dynamic symbol table.
2091 (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
2092 checks.
2093
6645479e
L
20942016-04-21 H.J. Lu <hongjiu.lu@intel.com>
2095
2096 * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
2097 created file from dynobj.
2098
6cd255ca
L
20992016-04-21 H.J. Lu <hongjiu.lu@intel.com>
2100
2101 * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
2102 normal input file if possible.
2103
4f3b23b3
NC
21042016-04-21 Nick Clifton <nickc@redhat.com>
2105
2106 * aout-adobe.c: Use _bfd_generic_link_check_relocs.
2107 * aout-target.h: Likewise.
2108 * aout-tic30.c: Likewise.
2109 * binary.c: Likewise.
2110 * bout.c: Likewise.
2111 * coff-alpha.c: Likewise.
2112 * coff-rs6000.c: Likewise.
2113 * coff64-rs6000.c: Likewise.
2114 * coffcode.h: Likewise.
2115 * i386msdos.c: Likewise.
2116 * i386os9k.c: Likewise.
2117 * ieee.c: Likewise.
2118 * ihex.c: Likewise.
2119 * libbfd-in.h: Likewise.
2120 * libecoff.h: Likewise.
2121 * mach-o-target.c: Likewise.
2122 * mmo.c: Likewise.
2123 * nlm-target.h: Likewise.
2124 * oasys.c: Likewise.
2125 * pef.c: Likewise.
2126 * plugin.c: Likewise.
2127 * ppcboot.c: Likewise.
2128 * som.c: Likewise.
2129 * srec.c: Likewise.
2130 * tekhex.c: Likewise.
2131 * versados.c: Likewise.
2132 * vms-alpha.c: Likewise.
2133 * xsym.c: Likewise.
2134 * elfxx-target.h: Use _bfd_elf_link_check_relocs.
2135 * linker.c (bfd_link_check_relocs): New function.
2136 (_bfd_generic_link_check_relocs): New function.
2137 * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
2138 _bfd_link_check_relocs field.
2139 (struct bfd_target)L Add _bfd_link_check_relocs field.
2140 * bfd-in2.h: Regenerate.
2141 * libbfd.h: Regenerate.
2142
e66cdd68
L
21432016-04-20 H.J. Lu <hongjiu.lu@intel.com>
2144
2145 * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
2146 (elf_backend_gc_sweep_hook): Likewise.
2147 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
2148 (elf_backend_gc_sweep_hook): Likewise.
2149
5ce03cea
L
21502016-04-20 H.J. Lu <hongjiu.lu@intel.com>
2151
2152 * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
2153 in excluded sections
2154
338c190a
L
21552016-04-20 H.J. Lu <hongjiu.lu@intel.com>
2156
2157 PR ld/19969
2158 * elf64-x86-64.c (check_relocs_failed): New.
2159 (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
2160 Support relocation agaist local symbol. Set check_relocs_failed.
2161 (elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check
2162 R_X86_64_32 relocation overflow.
2163 (elf_x86_64_relocate_section): Skip if check_relocs failed.
2164 Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
2165
466ee2af
L
21662016-04-20 H.J. Lu <hongjiu.lu@intel.com>
2167
2168 * elf32-i386.c (elf_i386_check_relocs): Call
2169 _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
2170 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2171
d9689752
L
21722016-04-20 H.J. Lu <hongjiu.lu@intel.com>
2173
2174 * elf-bfd.h (_bfd_elf_link_check_relocs): New.
2175 * elflink.c (_bfd_elf_link_check_relocs): New function.
2176 (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
2177 if check_relocs_after_open_input is FALSE.
2178
e6c7cdec
TS
21792016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
2180
2181 * cache.c: Update old style function definitions.
2182 * elf32-m68k.c: Likewise.
2183 * elf64-mmix.c: Likewise.
2184 * stab-syms.c: Likewise.
2185
b98e6871
TS
21862016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
2187
2188 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
2189
6fd8e7c2
L
21902016-04-15 H.J. Lu <hongjiu.lu@intel.com>
2191
2192 * Makefile.in: Regenerated with automake 1.11.6.
2193 * aclocal.m4: Likewise.
2194 * doc/Makefile.in: Likewise.
2195
4b0c052e
AB
21962016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
2197
2198 * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
2199 * bfd-in2.h: Regenerate.
2200 * libbfd.h: Regenerate.
2201 * elf32-arc.c: Add 'opcode/arc.h' include.
2202 (struct arc_relocation_data): Add symbol_name.
2203 (arc_special_overflow_checks): New function.
2204 (arc_do_relocation): Use arc_special_overflow_checks, reindent as
2205 required, add an extra comment.
2206 (elf_arc_relocate_section): Setup symbol_name in reloc_data.
2207
33cbe6c0
AB
22082016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
2209
2210 * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
2211 entries.
2212 (elf_arc_relocate_section): Update enum uses.
2213 (elf_arc_check_relocs): Likewise.
2214 (elf_arc_finish_dynamic_symbol): Likewise.
2215
7634c4e6
L
22162016-04-14 H.J. Lu <hongjiu.lu@intel.com>
2217
2218 * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
2219 "sh_link".
2220
84865015
NC
22212016-04-14 Nick Clifton <nickc@redhat.com>
2222
2223 PR target/19938
2224 * elf-bbfd.h (struct elf_backend_data): New field:
2225 elf_strtab_flags.
2226 New field: elf_backend_set_special_section_info_and_link
2227 * elfxx-target.h (elf_backend_strtab_flags): Define if not already
2228 defined.
2229 (elf_backend_set_special_section_info_and_link): Define if not
2230 already defined.
2231 (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
2232 elf_backend_strtab_flags macros to initialise fields in structure.
2233 * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
2234 being set even if SHF_MERGE is not set.
2235 (elf_fake_sections): Likewise.
2236 (section_match): New function. Matches two ELF sections based
2237 upon fixed characteristics.
2238 (find_link): New function. Locates a section in a BFD that
2239 matches a section in a different BFD.
2240 (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
2241 fields of reserved sections.
2242 (bfd_elf_compute_section_file_positions): Set the flags for the
2243 .shstrtab section based upon the elf_strtab_flags field in the
2244 elf_backend_data structure.
2245 (swap_out_syms): Likewise for the .strtab section.
2246 * elflink.c (bfd_elf_final_link): Set the flags for the
2247 .strtab section based upon the elf_strtab_flags field in the
2248 elf_backend_data structure.
2249 * elf32-i386.c (elf32_i386_set_special_info_link): New function.
2250 (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
2251 targets.
2252 (elf_backend_set_special_section_info_and_link): Define for
2253 Solaris targets.
2254 * elf32-sparc.c: Likewise.
2255 * elf64-x86-64.c: Likewise.
2256
2df3368d
L
22572016-04-11 H.J. Lu <hongjiu.lu@intel.com>
2258
2259 PR ld/19939
2260 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
2261 to bfd_boolean.
2262 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
2263 Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
2264 applies to read-only section.
2265 * elf32-i386.c (elf_i386_link_hash_table): Add
2266 readonly_dynrelocs_against_ifunc.
2267 (elf_i386_allocate_dynrelocs): Updated.
2268 (elf_i386_size_dynamic_sections): Issue an error for read-only
2269 segment with dynamic IFUNC relocations only if
2270 readonly_dynrelocs_against_ifunc is TRUE.
2271 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
2272 readonly_dynrelocs_against_ifunc.
2273 (elf_x86_64_allocate_dynrelocs): Updated.
2274 (elf_x86_64_size_dynamic_sections): Issue an error for read-only
2275 segment with dynamic IFUNC relocations only if
2276 readonly_dynrelocs_against_ifunc is TRUE.
2277 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
2278 Updated.
2279
15dd01b1
TP
22802016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
2281
2282 * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
2283 a fall through from error_ret_free_internal. Free local_syms in
2284 error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
2285
1e5885b7
CZ
22862016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
2287
2288 * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
2289 (relocate_plt_for_entry): Likewise.
2290
b3aee839
CZ
22912016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
2292
2293 * elf32-arc.c (elf_arc_check_relocs): Changed
2294
094fb063
CZ
22952016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
2296
2297 * elf32-arc.c (name_for_global_symbol): Changed assert.
2298 (get_replace_function): Created.:
2299 (struct arc_relocation_data): Changed to signed types.
2300 (defines S, L, P, PDATA): Casted to signed type.
2301 (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
2302 (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
2303 (arc_do_relocation): Changed.
2304
94e5c971
CZ
23052016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
2306
2307 * elf32-arc.c (name_for_global_symbol): Added assert to check for
2308 symbol index.
2309 (elf_arc_relocate_section): Added and changed asserts, validating
2310 the synamic symbol index.
2311 (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
2312 relocation if symbol has dynindx set to -1.
2313
1f599d0e
MR
23142016-04-05 Maciej W. Rozycki <macro@imgtec.com>
2315
668df12d 2316 PR ld/19908
1f599d0e
MR
2317 * elflink.c (elf_link_add_object_symbols): Always turn hidden
2318 and internal symbols which have a dynamic index into local
2319 ones.
2320
67f101ee
NC
23212016-04-04 Nick Clifton <nickc@redhat.com>
2322
2323 PR 19872
2324 * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
2325 version number if the version is zero.
2326
7b15fa7a
AM
23272016-04-01 Alan Modra <amodra@gmail.com>
2328
2329 PR 19886
2330 * elflink.c (on_needed_list): Recursively check needed status.
2331 (elf_link_add_object_symbols): Adjust.
2332
024ea11b
SKS
23332016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2334
2335 * elf32-avr.c (avr_elf32_load_records_from_section): Free
2336 internal_relocs only if they aren't cached.
2337
ed3056eb
NC
23382016-03-29 Nick Clifton <nickc@redhat.com>
2339
2340 PR 17334
2341 * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
2342 assertion on the size of the got section to allow it to be bigger
2343 than the number of relocs.
2344
e2b4fc91
TS
23452016-03-29 Toni Spets <toni.spets@iki.fi>
2346
2347 PR 19878
2348 * coffcode.h (coff_write_object_contents): Revert accidental
2349 2014-11-10 change.
2350
a97fbc7e
AM
23512016-03-22 Alan Modra <amodra@gmail.com>
2352
2353 PR 19850
2354 * dwarf2.c (read_attribute_value): Skip info_ptr check for
2355 DW_FORM_flag_present.
2356
9780e045
NC
23572016-03-22 Nick Clifton <nickc@redhat.com>
2358
96254e5c
NC
2359 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
2360 architecture name for backwards compatibility.
2361
7769fa97
NC
2362 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
2363 unbounded stack use.
2364
9780e045
NC
2365 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
2366 sufficiently recent version of GCC.
2367 * configure: Regenerate.
2368
6f4c0a42
AM
23692016-03-22 Alan Modra <amodra@gmail.com>
2370
2371 PR 19851
2372 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
2373
8699fc3e
AB
23742016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
2375
2376 * archures.c (bfd_mach_arc_nps400): Define.
2377 * bfd-in2.h: Regenerate.
2378 * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
2379 some existing entries to make space.
2380 * elf32-arc.c (arc_elf_object_p): Add nps400 case.
2381 (arc_elf_final_write_processing): Likewise.
2382
a9522a21
AB
23832016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
2384
2385 * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
2386 EF_ARC_CPU_GENERIC.
2387 (arc_elf_final_write_processing): Don't bother setting cpu field
2388 in e_flags, this will have been set elsewhere.
2389
c0334580
AB
23902016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
2391
2392 * elf32-arc.c (arc_elf_final_write_processing): Switch to using
2393 EF_ARC_MACH_MSK.
2394
e1fa0163
NC
23952016-03-21 Nick Clifton <nickc@redhat.com>
2396
2397 * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
2398 * configure: Regenerate.
2399 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
2400 alloca with call to xmalloc.
2401 * elf32-nds32.c: Likewise.
2402 * elf64-hppa.c: Likewise.
2403 * elfxx-mips.c: Likewise.
2404 * pef.c: Likewise.
2405 * pei-x86_64.c: Likewise.
2406 * som.c: Likewise.
2407 * xsym.c: Likewise.
2408
4e0c91e4
L
24092016-03-15 H.J. Lu <hongjiu.lu@intel.com>
2410
2411 PR ld/19827
2412 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
2413 locally in PIE.
2414 (elf_i386_relocate_section): Likewise.
2415 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2416 (elf_x86_64_relocate_section): Likewise.
2417
4c10bbaa
L
24182016-03-15 H.J. Lu <hongjiu.lu@intel.com>
2419
2420 PR ld/19807
2421 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
2422 no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
2423 relocation overflow check.
2424
fbe48798
L
24252016-03-14 H.J. Lu <hongjiu.lu@intel.com>
2426
2427 * bfd-in2.h: Regenerated.
2428
37b01f6a
DG
24292016-03-11 Dan Gissel <dgisselq@ieee.org>
2430
2431 PR 19713
2432 * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
2433 uses bytes not octets.
2434 * elflink.c (resolve_section): Likewise.
2435 Add a bfd parameter.
2436 (eval_section): Pass the input_bfd to resolve_section.
2437 (bfd_elf_perform_complex_relocation): Convert byte offset to
2438 octets before read and writing values.
2439 (elf_link_input_bfd): Add byte to octet conversions.
2440 (elf_reloc_link_order): Likewise.
2441 (elf_fixup_link_order): Likewise.
2442 (bfd_elf_final_link): Likewise.
2443 * reloc.c (_bfd_final_link_relocate): Likewise.
2444 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
2445
3ed4ff97
NC
24462016-03-10 Nick Clifton <nickc@redhat.com>
2447
2448 * config.bfd: Mark the i370 target as obsolete.
2449
4b05e0a7
PA
24502016-03-09 Pedro Alves <palves@redhat.com>
2451
2452 * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
2453 gcc ABI)" to printable name.
2454 * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
2455 of "v850-rh850" as printable name.
2456
26c62da0
LW
24572016-03-09 Leon Winter <winter-gcc@bfw-online.de>
2458
2459 PR ld/19623
2460 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
2461 relocations against absolute symbols.
2462
03ee8583
AM
24632016-03-09 Alan Modra <amodra@gmail.com>
2464
2465 PR binutils/19775
2466 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
2467 length elements in the archive.
2468
9c1d7a08
L
24692016-03-08 H.J. Lu <hongjiu.lu@intel.com>
2470
2471 PR ld/19789
2472 * elflink.c (elf_link_add_object_symbols): Create dynamic sections
2473 for -E/--dynamic-list only when not relocatable.
2474
d1ed1c7d
L
24752016-03-08 H.J. Lu <hongjiu.lu@intel.com>
2476
2477 PR ld/19784
2478 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
2479 count for locally defined local IFUNC symbols in shared object.
2480 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2481
202ac193
L
24822016-03-08 H.J. Lu <hongjiu.lu@intel.com>
2483
2484 PR ld/19579
2485 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
2486 together.
2487
72f3b6aa
CZ
24882016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
2489 Andrew Burgess <andrew.burgess@embecosm.com>
2490
2491 * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
2492 (arc_bfd_put_32): Becomes an alias for bfd_put_32.
2493 (arc_elf_howto_init): Added assert to validate relocations.
2494 (get_middle_endian_relocation): Delete.
2495 (middle_endian_convert): New function.
2496 (ME): Redefine, now does nothing.
2497 (IS_ME): New define.
2498 (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
2499 definition to call middle_endian_convert. Add a new local
2500 variable and make use of this throughout. Added call to
2501 arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
2502
4fc87424
NC
25032016-03-07 Nick Clifton <nickc@redhat.com>
2504
2505 PR binutils/19775
2506 * archive.c (bfd_generic_openr_next_archived_file): Allow zero
2507 length elements in the archive.
2508
18f822a0
JW
25092016-03-07 Jiong Wang <jiong.wang@arm.com>
2510
2511 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
2512 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
2513
07492f66
L
25142016-03-04 H.J. Lu <hongjiu.lu@intel.com>
2515
2516 PR ld/19579
2517 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
2518 executable as definition if the new definition comes from a
2519 shared library.
2520
70a5df4f
AM
25212016-03-02 Alan Modra <amodra@gmail.com>
2522
2523 * Makefile.in: Regenerate.
2524 * po/SRC-POTFILES.in: Regenerate.
2525
841fdfcd
CZ
25262016-02-29 Cupertino Miranda <cmiranda@synopsys.com>
2527
2528 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
2529 relocation addend when sections get merged.
2530
7e458899
CZ
25312016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
2532
2533 * elf32-arc.c (arc_elf_final_write_processing): Add condition to
2534 the flag change.
2535 (elf_arc_relocate_section): Fixes and conditions to support PIE.
2536 Assert for code sections dynamic relocs.
2537
c5e3a364
RL
25382016-02-26 Renlin Li <renlin.li@arm.com>
2539
2540 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
2541 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
2542
bae420ef
L
25432016-02-26 H.J. Lu <hongjiu.lu@intel.com>
2544
2545 PR ld/19609
2546 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
2547 load with locally bound symbols if PIC is false or there is no
2548 base register. Optimize branch to 0 if PIC is false.
2549 (elf_i386_relocate_section): Don't generate dynamic relocations
2550 against undefined weak symbols if PIC is false.
2551 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
2552 if we can't estimate relocation overflow with --no-relax.
2553 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
2554 symbols if PIC is false. Optimize branch to 0 if PIC is false.
2555 (elf_x86_64_relocate_section): Don't generate dynamic relocations
2556 against undefined weak symbols if PIC is false.
2557
11e5f1ec
L
25582016-02-26 H.J. Lu <hongjiu.lu@intel.com>
2559
2560 PR ld/19645
2561 * bfd.c (bfd): Change flags to 20 bits.
2562 (BFD_CONVERT_ELF_COMMON): New.
2563 (BFD_USE_ELF_STT_COMMON): Likewise.
2564 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
2565 BFD_USE_ELF_STT_COMMON.
2566 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
2567 * configure.ac: Remove --enable-elf-stt-common.
2568 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
2569 common symbol depending on BFD_CONVERT_ELF_COMMON and
2570 BFD_USE_ELF_STT_COMMON.
2571 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
2572 STT_COMMON.
2573 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
2574 STT_COMMON.
2575 (elf_link_convert_common_type): New function.
2576 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
2577 common symbol depending on BFD_CONVERT_ELF_COMMON and
2578 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx.
2579 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
2580 and BFD_USE_ELF_STT_COMMON to object_flags.
2581 (TARGET_LITTLE_SYM): Likewise.
2582 * syms.c (BSF_KEEP_G): Renamed to ...
2583 (BSF_ELF_COMMON): This.
2584 * bfd-in2.h: Regenerated.
2585 * config.in: Likewise.
2586 * configure: Likewise.
2587
aec6b87e
L
25882016-02-26 H.J. Lu <hongjiu.lu@intel.com>
2589
2590 PR ld/19636
2591 PR ld/19704
2592 PR ld/19719
2593 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
2594 (elf_i386_link_hash_entry): Add has_got_reloc and
2595 has_non_got_reloc.
2596 (elf_i386_link_hash_table): Add interp.
2597 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
2598 has_non_got_reloc.
2599 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
2600 has_non_got_reloc.
2601 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
2602 (elf_i386_fixup_symbol): New function.
2603 (elf_i386_pie_finish_undefweak_symbol): Likewise.
2604 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
2605 relocations and discard relocations against resolved undefined
2606 weak symbols in executable. Don't make resolved undefined weak
2607 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
2608 relocation against undefined weak symbols in PIE.
2609 (elf_i386_size_dynamic_sections): Set interp to .interp section.
2610 (elf_i386_relocate_section): Don't generate dynamic relocations
2611 against resolved undefined weak symbols in PIE, except for
2612 R_386_PC32.
2613 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
2614 dynamic PLT/GOT relocations for resolved undefined weak symbols.
2615 Don't generate dynamic relocation against resolved undefined weak
2616 symbol in executable.
2617 (elf_i386_finish_dynamic_sections): Call
2618 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
2619 (elf_backend_fixup_symbol): New.
2620 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
2621 (elf_x86_64_link_hash_entry): Add has_got_reloc and
2622 has_non_got_reloc.
2623 (elf_x86_64_link_hash_table): Add interp.
2624 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
2625 has_non_got_reloc.
2626 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
2627 has_non_got_reloc.
2628 (elf_x86_64_check_relocs): Set has_got_reloc and
2629 has_non_got_reloc.
2630 (elf_x86_64_fixup_symbol): New function.
2631 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
2632 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
2633 relocations and discard relocations against resolved undefined
2634 weak symbols in executable. Don't make resolved undefined weak
2635 symbols in executable dynamic.
2636 (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
2637 (elf_x86_64_relocate_section): Check relocation overflow for
2638 dynamic relocations against unresolved weak undefined symbols.
2639 Don't generate dynamic relocations against resolved weak
2640 undefined symbols in PIE.
2641 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
2642 dynamic PLT/GOT relocations for resolved undefined weak symbols.
2643 Don't generate dynamic relocation against resolved undefined weak
2644 symbol in executable.
2645 (elf_x86_64_finish_dynamic_sections): Call
2646 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
2647 (elf_backend_fixup_symbol): New.
2648
b32547cd
AM
26492016-02-26 Alan Modra <amodra@gmail.com>
2650
2651 * elf64-ppc.c (create_linkage_sections): Create sfpr when
2652 save_restore_funcs, rest of sections when not relocatable.
2653 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
2654 (sfpr_define): Define all symbols on emitted code.
2655 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
2656 when relocatable. Move sfpr_define loop earlier.
2657
ef77d6af
L
26582016-02-24 H.J. Lu <hongjiu.lu@intel.com>
2659
2660 * elf64-x86-64.c (elf_x86_64_need_pic): New function.
2661 (elf_x86_64_relocate_section): Use it. Replace
2662 x86_64_elf_howto_table[r_type] with howto.
2663
0f550b3d
L
26642016-02-24 H.J. Lu <hongjiu.lu@intel.com>
2665
2666 PR ld/19698
2667 * elflink.c (bfd_elf_record_link_assignment): Set versioned if
2668 symbol version is unknown.
2669
13f42277
L
26702016-02-24 H.J. Lu <hongjiu.lu@intel.com>
2671
2672 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
2673 to (bfd_vma) -1 when setting needs_plt to 0.
2674 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2675
6b3b0ab8
L
26762016-02-23 H.J. Lu <hongjiu.lu@intel.com>
2677
2678 * elflink.c (bfd_elf_record_link_assignment): Check for shared
2679 library, instead of PIC, and don't check PDE when making linker
2680 assigned symbol dynamic.
2681
17733f5b
FS
26822016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
2683
2684 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
2685 ABIVERSION for non-executable stack.
2686
47993b4a
RF
26872016-02-23 Rich Felker <bugdal@aerifal.cx>
2688
2689 PR target/19516
2690 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
2691 Always produce a RELATIVE reloc for a local symbol.
2692
2d8dcb81
HPN
26932016-02-23 Hans-Peter Nilsson <hp@axis.com>
2694
2695 Fix test-case ld-elf/pr19617b
2696 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
2697 discard unused non-function symbols when --dynamic-list-data.
2698
1a6e6083
L
26992016-02-22 H.J. Lu <hongjiu.lu@intel.com>
2700
2701 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
2702 dynsym section, even if it is empty, with dynamic sections.
2703
75c1920b
L
27042016-02-22 H.J. Lu <hongjiu.lu@intel.com>
2705
2706 * syms.c: Remove BSF_COMMON from comments.
2707 * bfd-in2.h: Regenerated.
2708
9a228467
JW
27092016-02-22 Jiong Wang <jiong.wang@arm.com>
2710
2711 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
2712 for destination. Remove useless function parameters.
2713 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
2714
73768414
NC
27152016-02-19 Nick Clifton <nickc@redhat.com>
2716
e517df3d
NC
2717 PR ld/19629
2718 * aoutx.h (aout_link_add_symbols): Check for out of range string
2719 table offsets.
2720
73768414
NC
2721 PR ld/19628
2722 * reloc.c (bfd_generic_get_relocated_section_contents): Stop
2723 processing if we encounter a reloc without an associated symbol.
2724
bf89386a
L
27252016-02-18 H.J. Lu <hongjiu.lu@intel.com>
2726
2727 PR ld/19617
2728 * elflink.c (elf_link_add_object_symbols): Always create dynamic
2729 sections for -E/--dynamic-list.
2730
8f79b794
L
27312016-02-17 H.J. Lu <hongjiu.lu@intel.com>
2732
2733 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
2734 to bfd_true.
2735
64bfc258
JM
27362016-02-16 Joseph Myers <joseph@codesourcery.com>
2737
2738 * plugin.c (plugin_vec): Set match priority to 255.
2739 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
2740 matching against the plugin vector, take priority from there not
2741 from TEMP.
2742
9fb71ee4
NC
27432016-02-15 Nick Clifton <nickc@redhat.com>
2744
2745 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
2746 for length and type fields. Use a signed value for the
2747 suffix_length field.
2748
32875eb1
L
27492016-02-10 H.J. Lu <hongjiu.lu@intel.com>
2750
2751 PR ld/19601
2752 * elf32-i386.c (elf_i386_relocate_section): Mask off the least
2753 significant bit in GOT offset for R_386_GOT32X.
2754
83da6e74
NC
27552016-02-10 Nick Clifton <nickc@redhat.com>
2756
2757 PR 19405
2758 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
2759 immediate values.
2760 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
2761 number of messages about FDE encoding preventing .eh_frame_hdr
2762 generation.
2763
027e9c75
NC
27642016-02-09 Nick Clifton <nickc@redhat.com>
2765
609332f1
NC
2766 * oasys.c (oasys_archive_p): Fix indentation.
2767 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
2768 constant for left shifting.
2769
027e9c75
NC
2770 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
2771 helpful warning message to explain why certain AArch64 relocs
2772 might overflow.
2773
6f57d046
SM
27742016-02-05 Simon Marchi <simon.marchi@ericsson.com>
2775
2776 * pe-mips.c (coff_mips_reloc): Fix formatting.
2777
bdbca4e6
CM
27782016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
2779
2780 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
2781 to bfd_mach_arc_arc600.
2782
4f038ee5
AM
27832016-02-04 Alan Modra <amodra@gmail.com>
2784
2785 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
2786 for big-endian.
2787
4a539596
L
27882016-02-02 H.J. Lu <hongjiu.lu@intel.com>
2789
2790 PR ld/19542
2791 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
fb06f1c0 2792 distances in the compressed_size field of the output section.
4a539596 2793
85fabe71
AM
27942016-02-02 Alan Modra <amodra@gmail.com>
2795
2796 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
2797 ELFv2 entry optimization.
2798
14f2c699
L
27992016-02-02 H.J. Lu <hongjiu.lu@intel.com>
2800
2801 PR binutils/19547
2802 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
2803 no relocations in relocatable files.
2804
aef28989
L
28052016-02-01 H.J. Lu <hongjiu.lu@intel.com>
2806
2807 PR ld/19553
2808 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
2809 if a symbol from a library loaded via DT_NEEDED doesn't match
2810 the symbol referenced by regular object.
2811
655ed9ea
NS
28122016-02-01 Nathaniel Smith <njs@pobox.com>
2813
2814 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
2815 CODE and DATA.
2816
ec1f73bb
AM
28172016-02-01 Alan Modra <amodra@gmail.com>
2818
2819 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
2820 an out of range reloc_index.
2821 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
2822
b6471e6e
KR
28232016-02-01 Kamil Rytarowski <n54@gmx.com>
2824
2825 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
2826 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
2827 * Makefile.in: Regenerated.
2828
0bc7245a
JK
28292016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
2830
2831 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
2832
6d4b2867
JDA
28332016-01-31 John David Anglin <danglin@gcc.gnu.org>
2834
2835 PR ld/19526
2836 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
2837 files.
2838 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
2839
d9e3b590
L
28402016-01-30 H.J. Lu <hongjiu.lu@intel.com>
2841
2842 PR ld/19539
2843 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
2844 against STT_GNU_IFUNC symbol only with dynamic symbols.
2845 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
2846
bf150a0b
L
28472016-01-28 H.J. Lu <hongjiu.lu@intel.com>
2848
2849 PR binutils/19523
2850 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
2851 decompress debug sections.
2852
840855c5
MR
28532016-01-25 Maciej W. Rozycki <macro@imgtec.com>
2854
2855 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
2856 `dynindx'.
2857
cf466c2a
NC
28582016-01-25 Nick Clifton <nickc@redhat.com>
2859
2860 PR target/19435
2861 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
2862 dsym filename buffer.
2863
eb6b0cf4
MR
28642016-01-24 Maciej W. Rozycki <macro@imgtec.com>
2865
2866 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
2867
e67f83e5
MR
28682016-01-24 Maciej W. Rozycki <macro@imgtec.com>
2869
2870 * elfxx-mips.c (BZ16_REG): Correct calculation.
2871
23a42089
NC
28722016-01-21 Nick Clifton <nickc@redhat.com>
2873
2874 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
2875 changing the type of _loc to be bfd_byte *.
2876 (elf_arc_finish_dynamic_symbol): Likewise.
2877
aebf9be7
NC
28782016-01-21 Nick Clifton <nickc@redhat.com>
2879
2880 PR ld/19455
2881 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
2882 class of the linker stub bfd.
2883 (elf32_arm_check_relocs): Skip check for pic format after
2884 processing a vxWorks R_ARM_ABS12 reloc.
2885 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
2886 reporting a class mismatch.
2887
2f340668
JW
28882016-01-21 Jiong Wang <jiong.wang@arm.com>
2889
2890 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
2891 veneer for sym_sec != input_sec.
2892 (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
2893 (elfNN_aarch64_final_link_relocate): Take rela addend into account when
2894 calculation destination.
2895
aeb70569
AM
28962016-01-21 Alan Modra <amodra@gmail.com>
2897
2898 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
2899 (swap_linux_prpsinfo64_out): New function.
2900 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
2901 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
2902 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
2903 (elfcore_write_linux_prpsinfo64): Likewise.
2904 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
2905 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
2906 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
2907
de64ce13
AM
29082016-01-21 Alan Modra <amodra@gmail.com>
2909
2910 * elf-linux-core.h: Rename from elf-linux-psinfo.h.
2911 * elf.c: Adjust #include.
2912 * elf32-ppc.c: Don't #include elf-linux-psinfo.h
2913 * Makefile.am (SOURCE_HFILES): Update.
2914 * Makefile.in: Regenerate.
2915 * po/SRC-PORFILES.in: Regenerate.
2916
c603b11b
AM
29172016-01-21 Alan Modra <amodra@gmail.com>
2918
2919 * configure.ac: Move corefile selection later in file. Move
2920 tdefaults code immediately after other target vector code.
2921 * configure: Regenerate.
2922
91f68a68
MG
29232016-01-20 Mickael Guene <mickael.guene@st.com>
2924
2925 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
2926 section using '.text.noread' pattern.
2927
5b2c414d
JB
29282016-01-19 John Baldwin <jhb@FreeBSD.org>
2929
2930 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
2931
34e967a5
MC
29322016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
2933 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
2934
2935 * arc-plt.def: New file.
2936 * arc-plt.h: Likewise.
2937 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
2938 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
2939 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
2940 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
2941 (name_for_global_symbol): Added.
2942 (ADD_RELA): Helper to create dynamic relocs.
2943 (new_got_entry_to_list): Create a new got entry in linked list.
2944 (symbol_has_entry_of_type): Search for specific type of entry in
2945 list.
2946 (is_reloc_for_GOT): return FALSE for any TLS related relocs.
2947 (is_reloc_for_TLS, arc_elf_set_private_flags)
2948 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
2949 (arc_elf_merge_private_bfd_data): New functions.
2950 (debug_arc_reloc): Cleaned debug info printing.
2951 (PDATA reloc): Changed not to perform address alignment.
2952 (reverse_me): Added. Fix for ARC_32 relocs.
2953 (arc_do_relocation): Return bfd_reloc_of when no relocation should
2954 occur.
2955 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
2956 Changed function to access an array of list of GOT entries instead
2957 of just an array of offsets.
2958 (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
2959 (elf_arc_check_relocs): Likewise.
2960 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
2961 (elf_arc_finish_dynamic_sections): Likewise
2962 (arc_create_dynamic_sections): Modified conditions to create
2963 dynamic sections.
2964 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
2965 (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
2966 (relocate_plt_for_entry): Changed to support new way to define PLT
2967 related code.
2968 (add_symbol_to_plt): Likewise.
2969 (arc_elf_link_hash_table_create): New function.
2970
9ae678af
NC
29712016-01-18 Nick Clifton <nickc@redhat.com>
2972
2973 PR ld/19440
2974 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
2975 section number into internal section number.
2976 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
2977 * coffswap.h (coff_swap_sym_in): Likewise.
2978 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
2979 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
2980 section number field is big enough to hold the external value.
2981
5c14705f
AM
29822016-01-17 Alan Modra <amodra@gmail.com>
2983
2984 * configure: Regenerate.
2985
ac06903d
YU
29862016-01-12 Yury Usishchev <y.usishchev@samsung.com>
2987
2988 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
2989 when address in first unwind entry does not match start of
2990 section.
2991
109575d7
JW
29922016-01-08 Richard Sandiford <richard.sandiford@arm.com>
2993 Jiong Wang <jiong.wang@arm.com>
2994
2995 PR ld/19368
2996 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
2997 reloc_class_ifunc.
2998
b05a65d0
AB
29992016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
3000
3001 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
3002 place 'R_' before the reloc name returned.
3003 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
3004 the relocation string.
3005
a3dc0a7f
MR
30062016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3007
3008 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
3009 factored out from...
3010 (_bfd_mips_elf_merge_private_bfd_data): ... here.
3011
d537eeb5
MR
30122016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3013
3014 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
3015 attribute check after ELF file header flag check.
3016
43d223b5
MR
30172016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3018
3019 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
3020 return status from `_bfd_elf_merge_object_attributes'.
3021
b2e9744f
MR
30222016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3023
3024 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
3025 factored out from...
3026 (_bfd_mips_elf_merge_private_bfd_data): ... here.
3027
28d45e28
MR
30282016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3029
3030 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
3031 handling of input MIPS ABI flags together.
3032
23ba6f18
MR
30332016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3034
3035 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
3036 attribute checks for null input.
3037
cf8502c1
MR
30382016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3039
3040 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
3041 pointers to target data.
3042
dcb1c796
MR
30432016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3044
3045 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
3046 an FP ABI warning.
3047
6f2750fe
AM
30482016-01-01 Alan Modra <amodra@gmail.com>
3049
3050 Update year range in copyright notice of all files.
3051
3499769a
AM
3052For older changes see ChangeLog-2015 and doc/ChangeLog-0415
3053\f
3054Copyright (C) 2016 Free Software Foundation, Inc.
3055
3056Copying and distribution of this file, with or without modification,
3057are permitted in any medium without royalty provided the copyright
3058notice and this notice are preserved.
3059
3060Local Variables:
3061mode: change-log
3062left-margin: 8
3063fill-column: 74
3064version-control: never
3065End:
This page took 0.185529 seconds and 4 git commands to generate.