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