Introduce gdb::byte_vector, add allocator that default-initializes
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
04f963fd
NC
12017-06-14 Nick Clifton <nickc@redhat.com>
2
3 PR binutils/21591
4 * versados.c (versados_mkobject): Zero the allocated tdata structure.
5 (process_otr): Check for an invalid offset in the otr structure.
6
319c2dbe
SH
72017-06-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
8
9 * config.bfd (epiphany-*-elf): Accept epiphany-*-*.
10
cbd0eecf
L
112017-06-13 H.J. Lu <hongjiu.lu@intel.com>
12
13 PR ld/20022
14 PR ld/21557
15 PR ld/21562
16 PR ld/21571
17 * elf-bfd.h (elf_link_hash_entry): Add start_stop. Change the
18 vtable field to a union.
19 (_bfd_elf_is_start_stop): Removed.
20 * elf32-i386.c (elf_i386_convert_load_reloc): Also check for
21 __start_SECNAME and __stop_SECNAME symbols.
22 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
23 * elflink.c (_bfd_elf_is_start_stop): Removed.
24 (_bfd_elf_gc_mark_rsec): Check start_stop instead of calling
25 _bfd_elf_is_start_stop.
26 (elf_gc_propagate_vtable_entries_used): Skip __start_SECNAME and
27 __stop_SECNAME symbols. Updated.
28 (elf_gc_smash_unused_vtentry_relocs): Likewise.
29 (bfd_elf_gc_record_vtinherit): Likewise.
30 (bfd_elf_gc_record_vtentry): Likewise.
31
10bbbc1d
NC
322017-06-13 Nick Clifton <nickc@redhat.com>
33
34 PR ld/21524
35 * elflink.c (elf_link_adjust_relocs): Generate an error when
36 encountering a reloc against a symbol removed by garbage
37 collection.
38
5c3ce2bc
L
392017-06-12 H.J. Lu <hongjiu.lu@intel.com>
40
41 * elf-bfd.h (elf_backend_data): Add struct bfd_link_info *
42 to merge_gnu_properties.
43 * elf-properties.c (elf_merge_gnu_properties): Add struct
44 bfd_link_info * and pass it to merge_gnu_properties.
45 (elf_merge_gnu_property_list): Add struct bfd_link_info *
46 and pass it to elf_merge_gnu_properties.
47 (_bfd_elf_link_setup_gnu_properties): Pass info to
48 elf_merge_gnu_property_list.
49 * elf32-i386.c (elf_i386_merge_gnu_properties): Add struct
50 bfd_link_info *.
51 * elf64-x86-64.c (elf_x86_64_merge_gnu_properties): Likewise.
52
9b97dfbf
AM
532017-06-11 Joe Zbiciak <joe.zbiciak@leftturnonly.info>
54
55 PR 21564
56 * binary.c (binary_set_section_contents): Scale lma by octets
57 per byte to set filepos.
58
e3d1d408
CM
592017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
60
61 * elf32-arc.c (elf_arc_check_relocs): Fixed conditions to generate
62 dynamic sections.
63
64aa8e03
CM
642017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
65
66 * elf32-arc.c (elf_arc_size_dynamic_sections): Changed condition to
67 require TEXTREL.
68
a0abe743
CM
692017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
70
71 * arc-got.h (relocate_fix_got_relocs_for_got_info): Added TCB_SIZE to
72 patched section contents for TLS IE reloc.
73 * elf32-arc.c: Remove TCB_SIZE preprocessor macro.
74
f4e6805f
CM
752017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
76
77 * elf32-arc.c (elf_arc_relocate_section): Added "call" to
78 RELOC_FOR_GLOBAL_SYMBOL macro.
79
cd640291
CM
802018-06-08 Cupertino Miranda <cmiranda@synopsys.com>
81
82 * elf32-arc.c (elf_arc_relocate_section): Small refactor and condition
83 changes.
84
7ef0acc1
VG
852017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
86
87 * config/tc-arc.c (md_undefined_symbol): Changed.
88 * config/tc-arc.h (DYNAMIC_STRUCT_NAME): Removed.
89
cc89d0b3
CM
902017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
91
92 * elf32-arc.c (elf_arc_relocate_section): Fixed reassign of indirect
93 symbols.
94
9d5c718b
CM
952017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
96
97 * elf32-arc.c (elf_arc_check_relocs): Added condition to disable
98 warning and "Bad value" for local symbols ARC_32 or ARC_32_ME relocs.
99
be9e3704
CM
1002017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
101
102 * elf32-arc.c (ADD_RELA): Changed to only work when dynamic
103 object is created.
104
4ec192e6
RE
1052017-06-08 Richard Earnshaw <rearnsha@arm.com>
106
107 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Remove assertion
108 that the input bfd has Tag_FP_ARCH non-zero if Tag_ABI_HardFP_use
109 is non-zero. Add clarifying comments.
110
51fa2693
L
1112017-06-08 H.J. Lu <hongjiu.lu@intel.com>
112
113 * elf32-i386.c (elf_i386_check_relocs): Set local IFUNC symbol
114 name. Use local IFUNC symbol name string to report unsupported
115 non-PIC call to IFUNC function.
116 (elf_i386_relocate_section): Dump local IFUNC name with minfo
117 when generating R_386_IRELATIVE relocation.
118 (elf_i386_finish_dynamic_symbol): Likewise.
119 * elf_x86_64_check_relocs (elf_x86_64_check_relocs): Set local
120 IFUNC symbol name.
121 (elf_x86_64_relocate_section): Dump local IFUNC name with minfo
122 when generating R_X86_64_IRELATIVE relocation.
123 (elf_x86_64_finish_dynamic_symbol): Likewise.
124
78e8a2ff
JM
1252017-06-06 Jose E. Marchesi <jose.marchesi@oracle.com>
126
127 * elf.c (setup_group): Make sure BFD sections are created for all
128 group sections in the input file when processing SHF_GROUP
129 sections.
130 (bfd_section_from_shdr): Avoid duplicating logic already
131 implemented in `setup_group'.
132
9949827b
DBR
1332017-06-06 Daniel Bonniot de Ruisselet <bonniot@gmail.com>
134
135 PR binutils/21546
136 * peXXigen.c (pe_print_idata): Use the address of the first thunk
137 if the hint address is zero.
138
0ee3a6db
JC
1392017-06-06 James Clarke <jrtc27@jrtc27.com>
140
141 PR ld/19579
142 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Check
143 ELF_COMMON_DEF_P for common symbols.
144
7bdf4127
AB
1452017-06-06 Andrew Burgess <andrew.burgess@embecosm.com>
146
147 * elf.c (_bfd_elf_make_section_from_shdr): Don't initially mark
148 SEC_GROUP sections as SEC_EXCLUDE.
149 (bfd_elf_set_group_contents): Replace use of abort with an assert.
150 (assign_section_numbers): Use resolve_section_groups flag instead
151 of relocatable link type.
152 (_bfd_elf_init_private_section_data): Use resolve_section_groups
153 flag instead of checking the final_link flag for part of the
154 checks in here. Fix white space as a result.
155 * elflink.c (elf_link_input_bfd): Use resolve_section_groups flag
156 instead of relocatable link type.
157 (bfd_elf_final_link): Likewise.
158
458ad2b8
JM
1592017-06-06 Jose E. Marchesi <jose.marchesi@oracle.com>
160
161 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Remove unused
162 variable `bed'.
163 * elf32-score.c (score_elf_final_link_relocate): Likewise.
164 (s3_bfd_score_elf_check_relocs): Likewise.
165 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
166 (score_elf_final_link_relocate): Likewise.
167 (s7_bfd_score_elf_check_relocs): Likewise.
168
fbebaf4a
JM
1692017-06-06 Jose E. Marchesi <jose.marchesi@oracle.com>
170
171 * elflink.c (init_reloc_cookie_rels): Remove unused variable
172 `bed'.
173
056bafd4
MR
1742017-06-06 Maciej W. Rozycki <macro@imgtec.com>
175
176 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Subtract `count'
177 from `reloc_count' rather than decrementing it.
178 * elf.c (bfd_section_from_shdr): Multiply the adjustment to
179 `reloc_count' by `int_rels_per_ext_rel'.
180 * elf32-score.c (score_elf_final_link_relocate): Do not multiply
181 `reloc_count' by `int_rels_per_ext_rel' for last relocation
182 entry determination.
183 (s3_bfd_score_elf_check_relocs): Likewise.
184 * elf32-score7.c (score_elf_final_link_relocate): Likewise.
185 (s7_bfd_score_elf_relocate_section): Likewise.
186 (s7_bfd_score_elf_check_relocs): Likewise.
187 * elf64-mips.c (mips_elf64_get_reloc_upper_bound): Remove
188 prototype and function.
189 (mips_elf64_slurp_one_reloc_table): Do not update `reloc_count'.
190 (mips_elf64_slurp_reloc_table): Assert that `reloc_count' is
191 triple rather than once the sum of REL and RELA relocation entry
192 counts.
193 (bfd_elf64_get_reloc_upper_bound): Remove macro.
194 * elflink.c (_bfd_elf_link_read_relocs): Do not multiply
195 `reloc_count' by `int_rels_per_ext_rel' for internal relocation
196 storage allocation size determination.
197 (elf_link_input_bfd): Multiply `.ctors' and `.dtors' section's
198 size by `int_rels_per_ext_rel'. Do not multiply `reloc_count'
199 by `int_rels_per_ext_rel' for last relocation entry
200 determination.
201 (bfd_elf_final_link): Do not multiply `reloc_count' by
202 `int_rels_per_ext_rel' for internal relocation storage
203 allocation size determination.
204 (init_reloc_cookie_rels): Do not multiply `reloc_count' by
205 `int_rels_per_ext_rel' for last relocation entry determination.
206 (elf_gc_smash_unused_vtentry_relocs): Likewise.
207 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
208 (_bfd_mips_elf_relocate_section): Likewise.
209
af54f0eb
AM
2102017-06-05 Alan Modra <amodra@gmail.com>
211
212 PR 21529
213 * linker.c (_bfd_generic_link_output_symbols): Handle BSF_GNU_UNIQUE.
214
6cf3bf88 2152017-06-01 John Baldwin <jhb@FreeBSD.org>
b5430a3c
JB
216
217 * elf.c (elfcore_grok_freebsd_psinfo): Use ELF header class to
218 determine structure sizes.
219 (elfcore_grok_freebsd_prstatus): Likewise.
220
f378ab09
AM
2212017-06-01 Alan Modra <amodra@gmail.com>
222
223 * elf64-ppc.c (struct ppc_link_hash_table): Add has_plt_localentry0.
224 (ppc64_elf_merge_symbol_attribute): Merge localentry bits from
225 dynamic objects.
226 (is_elfv2_localentry0): New function.
227 (ppc64_elf_tls_setup): Default params->plt_localentry0.
228 (plt_stub_size): Adjust size for tls_get_addr_opt stub.
229 (build_tls_get_addr_stub): Use a simpler stub when r2 is not saved.
230 (ppc64_elf_size_stubs): Leave stub_type as ppc_stub_plt_call for
231 optimized localentry:0 stubs.
232 (ppc64_elf_build_stubs): Save r2 in ELFv2 __glink_PLTresolve.
233 (ppc64_elf_relocate_section): Leave nop unchanged for optimized
234 localentry:0 stubs.
235 (ppc64_elf_finish_dynamic_sections): Set PPC64_OPT_LOCALENTRY in
236 DT_PPC64_OPT.
237 * elf64-ppc.h (struct ppc64_elf_params): Add plt_localentry0.
238
8c65b54f
CS
2392017-05-30 Casey Smith <clegg89@gmail.com>
240
241 PR ld/21523
242 * elf32-arm.c (elf32_arm_final_link_relocate): Install an absolute
243 value when processing the R_ARM_THM_ALU_PREL_11_0 reloc.
244
64984c22
AK
2452017-05-30 Anton Kolesov Anton.Kolesov@synopsys.com
246
247 * cpu-arc.c (arc_compatible): New function.
248
37cd3877
AK
2492017-05-30 Anton Kolesov <anton.kolesov@synopsys.com>
250
251 * cpu-arc.c (arch_info_struct): Remove duplicate ARC600 entry.
252
8e2f54bc
L
2532017-05-30 H.J. Lu <hongjiu.lu@intel.com>
254
255 PR binutils/21519
256 * bfdio.c (bfd_get_file_size): New function.
257 * bfd-in2.h: Regenerated.
258
8e7f04f1 2592017-05-23 Dilian Palauzov <git-dpa@aegee.org>
260
261 * elf32-arc.c (arc_elf_merge_attributes): Add fall through
262 comments.
263
25f94347
L
2642017-05-22 H.J. Lu <hongjiu.lu@intel.com>
265
266 * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Use
267 dynobj instead of htab->elf.dynobj.
268
e5713223
MR
2692017-05-19 Maciej W. Rozycki <macro@imgtec.com>
270
271 * elf64-mips.c (mips_elf64_canonicalize_reloc): Remove prototype
272 and function.
273 (mips_elf64_canonicalize_dynamic_reloc): Likewise.
274 (mips_elf64_slurp_one_reloc_table): Set `reloc_count' to the
275 actual number of internal relocations retrieved. Adjust
276 function description.
277 (bfd_elf64_canonicalize_reloc): Remove macro.
278 (bfd_elf64_canonicalize_dynamic_reloc): Likewise.
279
64517994
JM
2802017-05-19 Jose E. Marchesi <jose.marchesi@oracle.com>
281
282 * archures.c (bfd_mach_sparc_v9m8): Define.
283 (bfd_mach_sparc_v8plusm8): Likewise.
284 (bfd_mach_sparc_v9_p): Adjust to M8.
285 (bfd_mach_sparc_64bit_p): Likewise.
286 * aoutx.h (machine_type): Handle bfd_mach_sparc_v9m8 and
287 bfd_mach_sparc_v8plusm8.
288 * bfd-in2.h: Regenerated.
289 * cpu-sparc.c (arch_info_struct): Entries for sparc:v9m8 and
290 sparc:v8plusm8.
291 * elfxx-sparc.c (_bfd_sparc_elf_object_p): Handle
292 bfd_mach_sparc_v8plusm8 and bfd_mach_sparc_v9m8 using the new hw
293 capabilities ONADDSUB, ONMUL, ONDIV, DICTUNP, FPCPSHL, RLE and
294 SHA3.
295 * elf32-sparc.c (elf32_sparc_final_write_processing): Handle
296 bfd_mach_sparc_v8plusm8.
297
eb026f09
AM
2982017-05-19 Alan Modra <amodra@gmail.com>
299
300 * elflink.c (_bfd_elf_gc_mark_extra_sections): Don't keep
301 debug and special sections when no non-note alloc sections in an
302 object are kept.
303
535b785f
AM
3042017-05-18 Alan Modra <amodra@gmail.com>
305
306 * arc-got.h: Don't compare boolean values against TRUE or FALSE.
307 * elf-m10300.c: Likewise.
308 * elf.c: Likewise.
309 * elf32-arc.c: Likewise.
310 * elf32-bfin.c: Likewise.
311 * elf32-m68k.c: Likewise.
312 * elf32-nds32.c: Likewise.
313 * elf32-tilepro.c: Likewise.
314 * elflink.c: Likewise.
315 * elfnn-aarch64.c: Likewise.
316 * elfnn-riscv.c: Likewise.
317 * elfxx-tilegx.c: Likewise.
318 * mach-o.c: Likewise.
319 * peXXigen.c: Likewise.
320 * vms-alpha.c: Likewise.
321 * vms-lib.c: Likewise.
322
b7c871ed
L
3232017-05-17 H.J. Lu <hongjiu.lu@intel.com>
324
325 PR ld/20882
326 * elflink.c (elf_gc_mark_debug_section): New function.
327 (_bfd_elf_gc_mark_extra_sections): Mark any debug sections
328 referenced by kept debug sections.
329
bc4e12de
AM
3302017-05-16 Alan Modra <amodra@gmail.com>
331
332 * elf-m10300.c: Rename occurrences of non_ir_ref.
333 * elf32-arm.c: Likewise.
334 * elf32-bfin.c: Likewise.
335 * elf32-cr16.c: Likewise.
336 * elf32-cris.c: Likewise.
337 * elf32-d10v.c: Likewise.
338 * elf32-dlx.c: Likewise.
339 * elf32-fr30.c: Likewise.
340 * elf32-frv.c: Likewise.
341 * elf32-hppa.c: Likewise.
342 * elf32-i370.c: Likewise.
343 * elf32-i386.c: Likewise.
344 * elf32-iq2000.c: Likewise.
345 * elf32-lm32.c: Likewise.
346 * elf32-m32c.c: Likewise.
347 * elf32-m32r.c: Likewise.
348 * elf32-m68hc1x.c: Likewise.
349 * elf32-m68k.c: Likewise.
350 * elf32-mcore.c: Likewise.
351 * elf32-metag.c: Likewise.
352 * elf32-microblaze.c: Likewise.
353 * elf32-moxie.c: Likewise.
354 * elf32-msp430.c: Likewise.
355 * elf32-mt.c: Likewise.
356 * elf32-nios2.c: Likewise.
357 * elf32-or1k.c: Likewise.
358 * elf32-ppc.c: Likewise.
359 * elf32-rl78.c: Likewise.
360 * elf32-s390.c: Likewise.
361 * elf32-score.c: Likewise.
362 * elf32-score7.c: Likewise.
363 * elf32-sh.c: Likewise.
364 * elf32-tic6x.c: Likewise.
365 * elf32-tilepro.c: Likewise.
366 * elf32-v850.c: Likewise.
367 * elf32-vax.c: Likewise.
368 * elf32-xstormy16.c: Likewise.
369 * elf32-xtensa.c: Likewise.
370 * elf64-alpha.c: Likewise.
371 * elf64-hppa.c: Likewise.
372 * elf64-ia64-vms.c: Likewise.
373 * elf64-mmix.c: Likewise.
374 * elf64-ppc.c: Likewise.
375 * elf64-s390.c: Likewise.
376 * elf64-sh64.c: Likewise.
377 * elf64-x86-64.c: Likewise.
378 * elflink.c: Likewise.
379 * elfnn-aarch64.c: Likewise.
380 * elfnn-ia64.c: Likewise.
381 * elfnn-riscv.c: Likewise.
382 * elfxx-mips.c: Likewise.
383 * elfxx-sparc.c: Likewise.
384 * elfxx-tilegx.c: Likewise.
385 * linker.c: Likewise.
386
4070765b
AM
3872017-05-16 Alan Modra <amodra@gmail.com>
388
389 * elf64-ppc.c (add_symbol_adjust): Transfer non_ir_ref_dynamic.
390 * elflink.c (elf_link_add_object_symbols): Update to use
391 non_ir_ref_dynamic.
392 (elf_link_input_bfd): Test non_ir_ref_dynamic in addition to
393 non_ir_ref.
394 * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
395
25499ac7
MR
3962017-05-15 Maciej W. Rozycki <macro@imgtec.com>
397
398 * elfxx-mips.c (print_mips_ases): Handle MIPS16e2 ASE.
399
73caa85d
L
4002017-05-12 H.J. Lu <hongjiu.lu@intel.com>
401
402 * elf32-i386.c (elf_i386_parse_gnu_properties): Merge
403 GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_ISA_1_NEEDED
404 properties.
405 * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
406
f2c29a16
L
4072017-05-11 H.J. Lu <hongjiu.lu@intel.com>
408
409 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Rename plt_bnd
410 to plt_second.
411 (elf_x86_64_link_hash_table): Rename plt_bnd/plt_bnd_eh_frame
412 to plt_second/plt_second_eh_frame.
413 (elf_x86_64_link_hash_newfunc): Updated.
414 (elf_x86_64_allocate_dynrelocs): Likewise.
415 (elf_x86_64_size_dynamic_sections): Likewise.
416 (elf_x86_64_relocate_section): Likewise.
417 (elf_x86_64_finish_dynamic_symbol): Likewise.
418 (elf_x86_64_finish_dynamic_sections): Likewise.
419 (elf_x86_64_plt_type): Rename plt_bnd to plt_second.
420 (elf_x86_64_get_synthetic_symtab): Updated. Also scan the
421 .plt.sec section.
422 (elf_backend_setup_gnu_properties): Updated. Create the
423 .plt.sec section instead of the .plt.sec section.
424
dc2be3d2
L
4252017-05-11 H.J. Lu <hongjiu.lu@intel.com>
426
427 * elf32-i386.c (elf_i386_allocate_dynrelocs): Partially revert
428 commit 25070364b0ce33eed46aa5d78ebebbec6accec7e.
429 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewse.
430
db84b98a
JM
4312017-05-10 Jose E. Marchesi <jose.marchesi@oracle.com>
432
433 * elf64-sparc.c (elf64_sparc_set_reloc): New function.
434 (bfd_elf64_set_reloc): Define.
435 (elf64_sparc_write_relocs): Use `canon_reloc_count'.
436
23186865
JM
4372017-05-10 Jose E. Marchesi <jose.marchesi@oracle.com>
438
439 * targets.c (BFD_JUMP_TABLE_RELOCS): Add NAME##_set_reloc.
440 (struct bfd_target): New field _bfd_set_reloc.
441 * bfd.c (bfd_set_reloc): Call backend _set_bfd.
442 * reloc.c (_bfd_generic_set_reloc): New function.
443 * coffcode.h (coff_set_reloc): Define to _bfd_generic_set_reloc.
444 * nlm-target.h (nlm_set_reloc): Likewise.
445 * coff-rs6000.c (_bfd_xcoff_set_reloc): Likewise.
446 * aout-tic30.c (MY_set_reloc): Likewise.
447 * aout-target.h (MY_set_reloc): Likewise.
448 * elfxx-target.h (bfd_elfNN_set_reloc): Likewise.
449 * coff-alpha.c (_bfd_ecoff_set_reloc): Likewise.
450 * mach-o-target.c (bfd_mach_o_set_reloc): Likewise.
451 * vms-alpha.c (alpha_vms_set_reloc): Likewise.
452 * aout-adobe.c (aout_32_set_reloc): Likewise.
453 * bout.c (b_out_set_reloc): Likewise.
454 * coff-mips.c (_bfd_ecoff_set_reloc): Likewise.
455 * i386os9k.c (aout_32_set_reloc): Likewise.
456 * ieee.c (ieee_set_reloc): Likewise.
457 * oasys.c (oasys_set_reloc): Likewise.
458 * som.c (som_set_reloc): Likewise.
459 * versados.c (versados_set_reloc): Likewise.
460 * coff64-rs6000.c (rs6000_xcoff64_vec): Add
461 _bfd_generic_set_reloc.
462 (rs6000_xcoff64_aix_vec): LIkewise.
463 * libbfd.c (_bfd_norelocs_set_reloc): New function.
464 * libbfd-in.h: Prototype for _bfd_norelocs_set_reloc.
465 * i386msdos.c (msdos_set_reloc): Define to
466 _bfd_norelocs_set_reloc.
467 * elfcode.h (elf_set_reloc): Define.
468 * bfd-in2.h: Regenerated.
469
aab82f4c
L
4702017-05-10 H.J. Lu <hongjiu.lu@intel.com>
471
472 PR ld/21481
473 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Use .plt.bnd
474 for IFUNC function address.
475
53a346d8
CZ
4762017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
477
478 * elf32-arc.c (FEATURE_LIST_NAME): Define.
479 (CONFLICT_LIST): Likewise.
480 (opcode/arc-attrs.h): Include.
481 (arc_elf_print_private_bfd_data): Print OSABI v4 flag.
482 (arc_extract_features): New file.
483 (arc_stralloc): Likewise.
484 (arc_elf_merge_attributes): Likewise.
485 (arc_elf_merge_private_bfd_data): Use object attributes.
486 (bfd_arc_get_mach_from_attributes): New function.
487 (arc_elf_object_p): Use object attributes.
488 (arc_elf_final_write_processing): Likewise.
489 (elf32_arc_obj_attrs_arg_type): New function.
490 (elf32_arc_obj_attrs_handle_unknown): Likewise.
491 (elf32_arc_section_from_shdr): Likewise.
492 (elf_backend_obj_attrs_vendor): Define.
493 (elf_backend_obj_attrs_section): Likewise.
494 (elf_backend_obj_attrs_arg_type): Likewise.
495 (elf_backend_obj_attrs_section_type): Likewise.
496 (elf_backend_obj_attrs_handle_unknown): Likewise.
497 (elf_backend_section_from_shdr): Likewise.
498
e645cf40
AG
4992017-05-09 Andrew Goedhart <Andrewgoedhart@simplepowersolutions.co.za>
500
501 PR ld/21458
502 * elf32-arm.c (elf32_arm_final_link_relocate): Set the bottom bit
503 of the value when resolving a R_ARM_THM_ALU_PREL_11_0 relocation
504 and the destination is a Thumb symbol.
505
dd9e66ee
L
5062017-05-08 H.J. Lu <hongjiu.lu@intel.com>
507
508 * elf32-i386.c (elf_i386_get_synthetic_symtab): Add missing
509 initializer to silence GCC 4.2.
510 * lf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
511
38b12349
L
5122017-05-08 H.J. Lu <hongjiu.lu@intel.com>
513
514 * elf64-x86-64.c (PLT_ENTRY_SIZE): Renamed to ...
515 (LAZY_PLT_ENTRY_SIZE): This.
516 (NON_LAZY_PLT_ENTRY_SIZE): New.
517 (elf_x86_64_plt0_entry): Renamed to ...
518 (elf_x86_64_lazy_plt0_entry): This.
519 (elf_x86_64_plt_entry): Renamed to ...
520 (elf_x86_64_lazy_plt_entry): This.
521 (elf_x86_64_bnd_plt0_entry): Renamed to ...
522 (elf_x86_64_lazy_bnd_plt0_entry): This.
523 (elf_x86_64_legacy_plt_entry): Removed.
524 (elf_x86_64_bnd_plt_entry): Renamed to ...
525 (elf_x86_64_lazy_bnd_plt_entry): This.
526 (elf_x86_64_legacy_plt2_entry): Renamed to ...
527 (elf_x86_64_non_lazy_plt_entry): This.
528 (elf_x86_64_bnd_plt2_entry): Renamed to ...
529 (elf_x86_64_non_lazy_bnd_plt_entry): This.
530 (elf_x86_64_eh_frame_plt): Renamed to ...
531 (elf_x86_64_eh_frame_lazy_plt): This.
532 (elf_x86_64_eh_frame_bnd_plt): Renamed to ...
533 (elf_x86_64_eh_frame_lazy_bnd_plt): This.
534 (elf_x86_64_eh_frame_plt_got): Renamed to ...
535 (elf_x86_64_eh_frame_non_lazy_plt): This.
536 (elf_x86_64_lazy_plt_layout): New.
537 (elf_x86_64_non_lazy_plt_layout): Likewise.
538 (elf_x86_64_plt_layout): Likewise.
539 (elf_x86_64_backend_data): Remove PLT layout information. Add
540 os for target system.
541 (GET_PLT_ENTRY_SIZE): Removed.
542 (elf_x86_64_lazy_plt): New.
543 (elf_x86_64_non_lazy_plt): Likewise.
544 (elf_x86_64_lazy_bnd_plt): Likewise.
545 (elf_x86_64_non_lazy_bnd_plt): Likewise.
546 (elf_x86-64_arch_bed): Updated.
547 (elf_x86_64_link_hash_table): Add plt, lazy_plt and non_lazy_plt.
548 (elf_x86_64_create_dynamic_sections): Removed.
549 (elf_x86_64_check_relocs): Don't check elf.dynobj. Don't call
550 _bfd_elf_create_ifunc_sections nor _bfd_elf_create_got_section.
551 (elf_x86-64_adjust_dynamic_symbol): Updated.
552 (elf_x86_64_allocate_dynrelocs): Updated. Pass 0 as PLT header
553 size to _bfd_elf_allocate_ifunc_dyn_relocs and don't allocate
554 size for PLT0 if there is no PLT0. Get plt_entry_size from
555 non_lazy_plt for non-lazy PLT entries.
556 (elf_x86_64_size_dynamic_sections): Updated. Get plt_entry_size
557 from non_lazy_plt for non-lazy PLT entries.
558 (elf_x86-64_relocate_section): Updated. Properly get PLT index
559 if there is no PLT0.
560 (elf_x86_64_finish_dynamic_symbol): Updated. Fill the first slot
561 in the PLT entry with generic PLT layout. Fill the non-lazy PLT
562 entries with non-lazy PLT layout. Don't fill the second and third
563 slots in the PLT entry if there is no PLT0.
564 (elf_x86_64_finish_dynamic_sections): Updated. Don't fill PLT0
565 if there is no PLT0. Set sh_entsize on the .plt.got section.
566 (compare_relocs): New.
567 (elf_x86_64_plt_type): Likewise.
568 (elf_x86_64_plt): Likewise.
569 (elf_x86_64_nacl_plt): New. Forward declaration.
570 (elf_x86_64_get_plt_sym_val): Removed.
571 (elf_x86_64_get_synthetic_symtab): Rewrite to check PLT sections
572 against all dynamic relocations.
573 (elf_x86_64_link_setup_gnu_properties): New function.
574 (elf_backend_create_dynamic_sections): Updated.
575 (elf_backend_setup_gnu_properties): New.
576 (elf_x86_64_nacl_plt): New.
577 (elf_x86_64_nacl_arch_bed): Updated.
578
f604c2a2
L
5792017-05-08 H.J. Lu <hongjiu.lu@intel.com>
580
581 * elf32-i386.c (PLT_ENTRY_SIZE): Renamed to ...
582 (LAZY_PLT_ENTRY_SIZE): This.
583 (NON_LAZY_PLT_ENTRY_SIZE): New.
584 (elf_i386_plt0_entry): Renamed to ...
585 (elf_i386_lazy_plt0_entry): This.
586 (elf_i386_plt_entry): Renamed to ...
587 (elf_i386_lazy_plt_entry): This.
588 (elf_i386_pic_plt0_entry): Renamed to ...
589 (elf_i386_pic_lazy_plt0_entry): This.
590 (elf_i386_pic_plt_entry): Renamed to ...
591 (elf_i386_pic_lazy_plt_entry): This.
592 (elf_i386_got_plt_entry): Renamed to ...
593 (elf_i386_non_lazy_plt_entry): This.
594 (elf_i386_pic_got_plt_entry): Renamed to ...
595 (elf_i386_pic_non_lazy_plt_entry): This.
596 (elf_i386_eh_frame_plt): Renamed to ...
597 (elf_i386_eh_frame_lazy_plt): This.
598 (elf_i386_eh_frame_plt_got): Renamed to ...
599 (elf_i386_eh_frame_non_lazy_plt): This.
600 (elf_i386_plt_layout): Renamed to ...
601 (elf_i386_lazy_plt_layout): This. Remove eh_frame_plt_got and
602 eh_frame_plt_got_size.
603 (elf_i386_non_lazy_plt_layout): New.
604 (elf_i386_plt_layout): Likewise.
605 (elf_i386_non_lazy_plt): Likewise.
606 (GET_PLT_ENTRY_SIZE): Removed.
607 (elf_i386_plt): Renamed to ...
608 (elf_i386_lazy_plt): This.
609 (elf_i386_backend_data): Remove plt. Rename is_vxworks to os.
610 (elf_i386_arch_bed): Updated.
611 (elf_i386_link_hash_table): Add plt, lazy_plt and non_lazy_plt.
612 (elf_i386_create_dynamic_sections): Removed.
613 (elf_i386_check_relocs): Don't check elf.dynobj. Don't call
614 _bfd_elf_create_ifunc_sections nor _bfd_elf_create_got_section.
615 (elf_i386_adjust_dynamic_symbol): Updated.
616 (elf_i386_allocate_dynrelocs): Updated. Pass 0 as PLT header
617 size to _bfd_elf_allocate_ifunc_dyn_relocs and don't allocate
618 size for PLT0 if there is no PLT0.
619 (elf_i386_size_dynamic_sections): Updated. Check whether GOT
620 output section is discarded only if GOT isn't empty.
621 (elf_i386_relocate_section): Updated. Properly get PLT index
622 if there is no PLT0.
623 (elf_i386_finish_dynamic_symbol): Updated. Don't fill the
624 second and third slots in the PLT entry if there is no PLT0.
625 (elf_i386_finish_dynamic_sections): Updated. Don't fill PLT0
626 if there is no PLT0. Set sh_entsize on the .plt.got section.
627 (elf_i386_nacl_plt): Forward declaration.
628 (elf_i386_get_plt_sym_val): Removed.
629 (elf_i386_get_synthetic_symtab): Rewrite to check PLT sections
630 against all dynamic relocations.
631 (elf_i386_link_setup_gnu_properties): New function.
632 (elf_backend_create_dynamic_sections): Updated.
633 (elf_backend_setup_gnu_properties): New.
634 (elf_i386_nacl_plt): Updated.
635 (elf_i386_nacl_arch_bed): Likewise.
636 (elf_i386_vxworks_arch_bed): Likewise.
637
046734ff
TP
6382017-05-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
639
640 * elflink.c (elf_output_implib): Remove executable flag from import
641 library bfd.
642 * elf32-arm.c (elf32_arm_filter_implib_symbols): Assert that the import
643 library is a relocatable object file.
644
b660e9eb
SKS
6452017-05-01 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
646
647 PR ld/21404
648 * elf32-avr.c (avr_should_move_sym): New function.
649 (avr_should_reduce_sym_size): Likewise.
650 (avr_should_increase_sym_size): Likewise.
651 (elf32_avr_relax_delete_bytes): Adjust symbol values
652 and sizes by calling new functions.
653
763a5fa4
PD
6542017-05-01 Palmer Dabbelt <palmer@dabbelt.com>
655
656 * config.bfd (riscv32-*): Enable rv64.
657
73ec947d
AM
6582017-05-02 Alan Modra <amodra@gmail.com>
659
660 PR 21384
661 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Test h->non_elf
662 rather than h->root.type == bfd_link_hash_new.
663 (bfd_elf_record_link_assignment): Similarly, call
664 bfd_elf_link_mark_dynamic_symbol when h->non_elf.
665
a941291c
AM
6662017-04-29 Alan Modra <amodra@gmail.com>
667
668 PR 21432
669 * reloc.c (reloc_offset_in_range): New function.
670 (bfd_perform_relocation, bfd_install_relocation): Use it.
671 (_bfd_final_link_relocate): Likewise.
672
750eaa47
L
6732017-04-28 H.J. Lu <hongjiu.lu@intel.com>
674
675 * elf32-i386.c (elf_i386_allocate_dynrelocs): Check plt_got
676 before using .plt.got.
677 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
678
5b66fac4
L
6792017-04-27 H.J. Lu <hongjiu.lu@intel.com>
680
681 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Use "="
682 instead of "+=" to update 0.
683
de9a3c42
L
6842017-04-27 H.J. Lu <hongjiu.lu@intel.com>
685
686 * elf32-i386.c (elf_i386_create_dynamic_sections): Create the
687 .plt.got section here.
688 (elf_i386_check_relocs): Don't create the .plt.got section.
689 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Create
690 the .plt.got and .plt.bnd sections here.
691 (elf_x86_64_check_relocs): Don't create the .plt.got nor
692 .plt.bnd sections.
693
da3d25af
L
6942017-04-27 H.J. Lu <hongjiu.lu@intel.com>
695
696 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Remove
697 has_bnd_reloc.
698 (elf_x86_64_link_hash_newfunc): Don't clear has_bnd_reloc.
699 (elf_x86_64_copy_indirect_symbol): Don't copy has_bnd_reloc.
700 (elf_x86_64_check_relocs): Don't set has_bnd_reloc.
701 (elf_x86_64_finish_dynamic_symbol): Check bndplt instead of
702 has_bnd_reloc.
703
fba37edd
L
7042017-04-27 H.J. Lu <hongjiu.lu@intel.com>
705
706 * elf-bfd.h (elf_backend_data): Change setup_gnu_properties
707 to return bfd *.
708 (_bfd_elf_link_setup_gnu_properties): Return bfd *.
709 * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Return
710 the first relocatable ELF input with GNU properties.
711
1f78f649
L
7122017-04-27 H.J. Lu <hongjiu.lu@intel.com>
713
714 * elf32-i386.c (elf_i386_finish_dynamic_sections): Simplify
715 VxWorks for non-PIC.
716
76c20d54
AM
7172017-04-27 Alan Modra <amodra@gmail.com>
718
719 * elf-bfd.h (struct elf_backend_data): Make asection param of
720 elf_backend_eh_frame_address_size const.
721 (_bfd_elf_eh_frame_address_size): Likewise.
722 * elf32-m32c.c (_bfd_m32c_elf_eh_frame_address_size): Likewise.
723 * elf32-msp430.c (elf32_msp430_eh_frame_address_size): Likewise.
724 * elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): Likewise.
725 * elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Likewise.
726 * elf-eh-frame.c (_bfd_elf_eh_frame_address_size): Likewise.
727 (next_cie_fde_offset): Constify params.
728 (offset_adjust, adjust_eh_frame_local_symbols): Likewise.
729
d7153c4a
AM
7302017-04-27 Alan Modra <amodra@gmail.com>
731
732 * elf-bfd.h (struct eh_cie_fde): Add aug_str_len and aug_data_len.
733 (_bfd_elf_adjust_eh_frame_global_symbol): Declare.
734 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Set aug_str_len and
735 aug_data_len.
736 (offset_adjust): New function.
737 (_bfd_elf_adjust_eh_frame_global_symbol): Likewise.
738 (adjust_eh_frame_local_symbols): Likewise.
739 (_bfd_elf_discard_section_eh_frame): Call adjust_eh_frame_local_symbols
740 after changing anything. Return true if anything changed.
741 * elflink.c (bfd_elf_discard_info): If .eh_frame changed, call
742 _bfd_elf_adjust_eh_frame_global_symbol for globals.
743
641338d8
AM
7442017-04-27 Alan Modra <amodra@gmail.com>
745
746 * elflink.c (_bfd_elf_link_hash_hide_symbol): Clear dynstr_index
747 when force_local.
748
21d68fcd
AM
7492017-04-27 Alan Modra <amodra@gmail.com>
750
751 * elf32-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
752 (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Use it.
753 (ppc_elf_adjust_dynamic_symbol, allocate_dynrelocs): Likewise.
754 (ppc_elf_relocate_section): Likewise. Delete silly optimisation
755 for undef and undefweak dyn_relocs.
756 * elf64-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
757 (ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup): Use it.
758 (allocate_got, allocate_dynrelocs): Likewise.
759 (ppc64_elf_relocate_section): Likewise.
760
97d343d4
L
7612017-04-26 H.J. Lu <hongjiu.lu@intel.com>
762
763 * elf32-i386.c (elf_i386_size_dynamic_sections): Alwasys add
764 DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rel.plt section.
765 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Alwasys
766 add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rela.plt section.
767
04b31182
NC
7682017-04-26 Nick Clifton <nickc@redhat.com>
769
770 PR binutils/21434
771 * reloc.c (bfd_perform_relocation): Check for a negative address
772 in the reloc.
773
23ec1e32
MR
7742017-04-26 Maciej W. Rozycki <macro@imgtec.com>
775
776 PR ld/21334
777 * elf-bfd.h (elf_backend_data): Add `always_renumber_dynsyms'
778 member.
779 * elfxx-target.h [!elf_backend_always_renumber_dynsyms]
780 (elf_backend_always_renumber_dynsyms): Define.
781 (elfNN_bed): Initialize `always_renumber_dynsyms' member.
782 * elfxx-mips.h (elf_backend_always_renumber_dynsyms): Define.
783 * elflink.c (bfd_elf_size_dynamic_sections): Also call
784 `_bfd_elf_link_renumber_dynsyms' if the backend has requested
785 it.
786 (bfd_elf_size_dynsym_hash_dynstr): Likewise.
787
c46cec3a
MR
7882017-04-26 Maciej W. Rozycki <macro@imgtec.com>
789
790 * elflink.c (bfd_elf_size_dynamic_sections): Only call
791 `_bfd_elf_link_renumber_dynsyms' after section GC if dynamic
792 sections have been created.
793
e63d1232
NC
7942017-04-26 Nick Clifton <nickc@redhat.com>
795
796 PR binutils/21431
797 * compress.c (bfd_init_section_compress_status): Check the return
798 value from bfd_malloc.
799
9e9821dd
L
8002017-04-24 H.J. Lu <hongjiu.lu@intel.com>
801
802 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add
803 no_finish_dynamic_symbol.
804 (elf_x86_64_link_hash_newfunc): Set no_finish_dynamic_symbol to
805 0.
806 (elf_x86_64_allocate_dynrelocs): If a symbol isn't undefined
807 weak symbol, don't make it dynamic.
808 (elf_x86_64_relocate_section): If a symbol isn't dynamic in PIC,
809 set no_finish_dynamic_symbol and generate R_X86_64_RELATIVE
810 relocation for GOT reference.
811 (elf_x86_64_finish_dynamic_symbol): Abort if
812 no_finish_dynamic_symbol isn't 0.
813
0dc9a308
L
8142017-04-24 H.J. Lu <hongjiu.lu@intel.com>
815
816 PR ld/21402
817 * elf32-i386.c (elf_i386_allocate_dynrelocs): If a symbol isn't
818 undefined weak symbol, don't make it dynamic.
819 (elf_i386_relocate_section): If a symbol isn't dynamic in PIC,
820 set no_finish_dynamic_symbol and generate R_386_RELATIVE
821 relocation for R_386_GOT32.
822
1587442d
L
8232017-04-24 H.J. Lu <hongjiu.lu@intel.com>
824
825 PR ld/21425
826 * elf32-i386.c (ELF_MAXPAGESIZE): Set to 0x1000 for VxWorks.
827
7eacd66b
AM
8282017-04-23 Alan Modra <amodra@gmail.com>
829
830 PR 21414
831 * section.c (GLOBAL_SYM_INIT): Make available in bfd.h.
832 * elf.c (lcomm_sym): New.
833 (_bfd_elf_large_com_section): Use lcomm_sym section symbol.
834 * bfd-in2.h: Regenerate.
835
bce964aa
AM
8362017-04-23 Alan Modra <amodra@gmail.com>
837
838 PR 21412
839 * elf-bfd.h (struct elf_backend_data <get_reloc_section>): Change
840 parameters and comment.
841 (_bfd_elf_get_reloc_section): Delete.
842 (_bfd_elf_plt_get_reloc_section): Declare.
843 * elf.c (_bfd_elf_plt_get_reloc_section, elf_get_reloc_section):
844 New functions. Don't blindly skip over assumed .rel/.rela prefix.
845 Extracted from..
846 (_bfd_elf_get_reloc_section): ..here. Delete.
847 (assign_section_numbers): Call elf_get_reloc_section.
848 * elf64-ppc.c (elf_backend_get_reloc_section): Define.
849 * elfxx-target.h (elf_backend_get_reloc_section): Update.
850
97e83a10
AM
8512017-04-23 Alan Modra <amodra@gmail.com>
852
853 PR 21409
854 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Don't segfault when
855 no symbols.
856
e133d005
L
8572017-04-21 H.J. Lu <hongjiu.lu@intel.com>
858
859 PR ld/21402
860 * elf32-i386.c (elf_i386_link_hash_entry): Add
861 no_finish_dynamic_symbol.
862 (elf_i386_link_hash_newfunc): Set no_finish_dynamic_symbol to 0.
863 (elf_i386_allocate_dynrelocs): If a symbol isn't undefined weak
864 symbol, don't make it dynamic in PIE.
865 (elf_i386_relocate_section): If a symbol isn't dynamic in PIE,
866 set no_finish_dynamic_symbol and generate R_386_RELATIVE
867 relocation for R_386_GOT32
868 (elf_i386_finish_dynamic_symbol): Abort if no_finish_dynamic_symbol
869 isn't 0.
870
3c5fce9b
L
8712017-04-21 H.J. Lu <hongjiu.lu@intel.com>
872
873 PR ld/19617
874 PR ld/21086
875 * elflink.c (elf_link_add_object_symbols): Require
876 --no-dynamic-linker with -E/--dynamic-list when creating
877 dynamic sections.
878
0fad2956
MR
8792017-04-20 Maciej W. Rozycki <macro@imgtec.com>
880
881 * elflink.c (_bfd_elf_symbol_refs_local_p): Always return TRUE
882 if forced local.
883
64575f78
MR
8842017-04-20 Maciej W. Rozycki <macro@imgtec.com>
885
886 * elfxx-mips.c (_bfd_mips_elf_final_link): Reorder comment about
887 dynamic symbol sorting.
888
59fa66c5
L
8892017-04-20 H.J. Lu <hongjiu.lu@intel.com>
890
891 PR ld/21382
892 * elflink.c (elf_link_add_object_symbols): Preserve
893 dynamic_ref_after_ir_def when restoring the symbol table for
894 unneeded dynamic object.
895
e492d2f8
L
8962017-04-19 H.J. Lu <hongjiu.lu@intel.com>
897
898 PR ld/21401
899 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Don't abort
900 on on undefined IFUNC symbol in the second PLT.
901
10169134
WAF
9022017-04-19 Wedson Almeida Filho <wedsonaf@gmail.com>
903
904 * peXXigen.c (pe_print_reloc): Correct chunk_end.
905
954b63d4
AM
9062017-04-19 Alan Modra <amodra@gmail.com>
907
908 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Hide undefweak
909 or make dynamic for info->dynamic_undefined_weak 0 and 1.
910 * elf32-ppc.c:Formatting.
911 (ensure_undefweak_dynamic): Don't make dynamic when
912 info->dynamic_undefined_weak is zero.
913 (allocate_dynrelocs): Discard undefweak dyn_relocs for
914 info->dynamic_undefined_weak. Discard undef dyn_relocs when
915 not default visibility. Discard undef and undefweak
916 dyn_relocs earlier.
917 (ppc_elf_relocate_section): Adjust to suit.
918 * elf64-ppc.c: Formatting.
919 (ensure_undefweak_dynamic): Don't make dynamic when
920 info->dynamic_undefined_weak is zero.
921 (allocate_dynrelocs): Discard undefweak dyn_relocs for
922 info->dynamic_undefined_weak. Discard them earlier.
923
e6699019
L
9242017-04-17 H.J. Lu <hongjiu.lu@intel.com>
925
926 PR ld/21389
927 * elflink.c (bfd_elf_size_dynamic_sections): Get soname index
928 before generating the version definition section.
929
c5d37467
AM
9302017-04-17 Alan Modra <amodra@gmail.com>
931
932 * elflink.c (_bfd_elf_merge_symbol): Undo dynamic linking
933 state when a regular object file defines a symbol with
934 incompatible type to that defined by an earlier shared lib.
935
63a5468a
AM
9362017-04-13 Alan Modra <amodra@gmail.com>
937
938 * coffcode.h: Wrap some overly long _bfd_error_handler args.
939 * elf.c: Likewise.
940 * elf32-arm.c: Likewise.
941 * elf32-i386.c: Likewise.
942 * elf32-mep.c: Likewise.
943 * elf64-ia64-vms.c: Likewise.
944 * elf64-x86-64.c: Likewise.
945 * elflink.c: Likewise.
946 * elfnn-ia64.c: Likewise.
947 * elfxx-mips.c: Likewise.
948
dae82561
AM
9492017-04-13 Alan Modra <amodra@gmail.com>
950
951 * aoutx.h: Use %B and %A in error messages throughout file.
952 * aout-cris.c: Likewise.
953 * archive.c: Likewise.
954 * binary.c: Likewise.
955 * coff-rs6000.c: Likewise.
956 * coff-tic4x.c: Likewise.
957 * coffcode.h: Likewise.
958 * coffgen.c: Likewise.
959 * cofflink.c: Likewise.
960 * coffswap.h: Likewise.
961 * cpu-arm.c: Likewise.
962 * elf-eh-frame.c: Likewise.
963 * elf-m10300.c: Likewise.
964 * elf.c: Likewise.
965 * elf32-arc.c: Likewise.
966 * elf32-arm.c: Likewise.
967 * elf32-bfin.c: Likewise.
968 * elf32-frv.c: Likewise.
969 * elf32-iq2000.c: Likewise.
970 * elf32-m32c.c: Likewise.
971 * elf32-microblaze.c: Likewise.
972 * elf32-nds32.c: Likewise.
973 * elf32-rl78.c: Likewise.
974 * elf32-rx.c: Likewise.
975 * elf32-score.c: Likewise.
976 * elf32-score7.c: Likewise.
977 * elf32-sh64.c: Likewise.
978 * elf32-v850.c: Likewise.
979 * elf32-vax.c: Likewise.
980 * elf32-visium.c: Likewise.
981 * elf64-ia64-vms.c: Likewise.
982 * elf64-mmix.c: Likewise.
983 * elf64-sh64.c: Likewise.
984 * elfcode.h: Likewise.
985 * elfnn-aarch64.c: Likewise.
986 * elfnn-ia64.c: Likewise.
987 * elfxx-mips.c: Likewise.
988 * hpux-core.c: Likewise.
989 * ieee.c: Likewise.
990 * ihex.c: Likewise.
991 * linker.c: Likewise.
992 * merge.c: Likewise.
993 * mmo.c: Likewise.
994 * oasys.c: Likewise.
995 * pdp11.c: Likewise.
996 * peXXigen.c: Likewise.
997 * rs6000-core.c: Likewise.
998 * vms-alpha.c: Likewise.
999 * xcofflink.c: Likewise.
1000
c08bb8dd
AM
10012017-04-13 Alan Modra <amodra@gmail.com>
1002
1003 * bfd.c (PRINT_TYPE): Define.
1004 (_doprnt): New function.
1005 (error_handler_internal): Use _doprnt.
1006 * coff-arm.c: Put %A and %B arguments to _bfd_error_handler
1007 calls in their natural order, throughout file.
1008 * coff-mcore.c: Likewise.
1009 * coff-ppc.c: Likewise.
1010 * coff-tic80.c: Likewise.
1011 * cofflink.c: Likewise.
1012 * elf-s390-common.c: Likewise.
1013 * elf.c: Likewise.
1014 * elf32-arm.c: Likewise.
1015 * elf32-i386.c: Likewise.
1016 * elf32-m32r.c: Likewise.
1017 * elf32-msp430.c: Likewise.
1018 * elf32-spu.c: Likewise.
1019 * elf64-ia64-vms.c: Likewise.
1020 * elf64-sparc.c: Likewise.
1021 * elf64-x86-64.c: Likewise.
1022 * elflink.c: Likewise.
1023 * elfnn-aarch64.c: Likewise.
1024 * elfnn-ia64.c: Likewise.
1025 * elfxx-mips.c: Likewise.
1026
10463f39
AM
10272017-04-13 Alan Modra <amodra@gmail.com>
1028
1029 * elf32-arm.c (arm_type_of_stub): Supply missing args to "long
1030 branch veneers" error. Fix double space and format message.
1031 * elf32-avr.c (avr_add_stub): Do not pass NULL as %B arg.
1032 * elf64-ppc.c (tocsave_find): Supply missing %B arg.
1033
4af8774e
AM
10342017-04-13 Alan Modra <amodra@gmail.com>
1035
1036 * bfd-in2.h: Regenerate.
1037
e4097f5e
L
10382017-04-11 H.J. Lu <hongjiu.lu@intel.com>
1039
1040 * elf-properties.c (_bfd_elf_parse_gnu_properties): Remove the
1041 extra `\n' in warning/error messages.
1042 * elf32-i386.c (elf_i386_parse_gnu_properties): Likewise.
1043 * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
1044
537616aa
L
10452017-04-11 H.J. Lu <hongjiu.lu@intel.com>
1046
1047 * elf-properties.c (_bfd_elf_parse_gnu_properties): Ignore
1048 processor-specific properties with generic ELF target vector.
1049
bb1dd176
QZ
10502017-04-10 Qing Zhao <qing.zhao@oracle.com>
1051
1052 * elf32-sparc.c (elf_backend_fixup_symbol): New.
1053 * elf64-sparc.c (elf_backend_fixup_symbol): New.
1054 * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
1055 (_bfd_sparc_elf_link_hash_entry): Add has_got_reloc and
1056 has_non_got_reloc.
1057 (link_hash_newfunc): Initialize has_got_reloc and
1058 has_non_got_reloc.
1059 (_bfd_sparc_elf_size_dynamic_sections): Set interp to .interp
1060 section.
1061 (_bfd_sparc_elf_copy_indirect_symbol): Copy has_got_reloc and
1062 has_non_got_reloc.
1063 (_bfd_sparc_elf_check_relocs): Set has_got_reloc and
1064 has_non_got_reloc.
1065 (_bfd_sparc_elf_fixup_symbol): New function.
1066 (allocate_dynrelocs): Don't allocate space for dynamic
1067 relocations and discard relocations against resolved undefined
1068 weak symbols in executable. Don't make resolved undefined weak
1069 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
1070 relocation against undefined weak symbols in PIE.
1071 (_bfd_sparc_elf_relocate_section): Don't generate dynamic
1072 relocations against resolved undefined weak symbols in PIE
1073 (_bfd_sparc_elf_finish_dynamic_symbol): Keep PLT/GOT entries
1074 without ynamic PLT/GOT relocations for resolved undefined weak
1075 symbols.
1076 Don't generate dynamic relocation against resolved undefined
1077 weak symbol in executable.
1078 (pie_finish_undefweak_symbol): New function.
1079 (_bfd_sparc_elf_finish_dynamic_sections): Call
1080 pie_finish_undefweak_symbol on all symbols in PIE.
1081 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add interp.
1082 (_bfd_sparc_elf_fixup_symbol): New function.
1083
d236cfd4
NC
10842017-04-10 Nick Clifton <nickc@redhat.com>
1085
1086 * config.bfd: Remove ns32k from obsolete list.
1087
6f9dbcd4
AM
10882017-04-10 Alan Modra <amodra@gmail.com>
1089
1090 PR 21287
1091 * elf.c (special_sections_f): Match .fini_array and .fini_array.*.
1092 (special_sections_i): Likewise for .init_array.
1093 (special_sections_p): Likewise for .preinit_array.
1094
8170f769
L
10952017-04-07 H.J. Lu <hongjiu.lu@intel.com>
1096
1097 PR ld/19579
1098 PR ld/21306
1099 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Check
1100 ELF_COMMON_DEF_P for common symbols.
1101 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
1102 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
1103 * elflink.c (_bfd_elf_merge_symbol): Revert commits
1104 202ac193bbbecc96a4978d1ac3d17148253f9b01 and
1105 07492f668d2173da7a2bda3707ff0985e0f460b6.
1106
49f4617b
PA
11072017-04-07 Pedro Alves <palves@redhat.com>
1108
1109 * opncls.c (bfd_get_debug_link_info): Rename to...
1110 (bfd_get_debug_link_info_1): ... this. Change type of second
1111 parameter to void pointer. Adjust.
1112 (bfd_get_debug_link_info): Reimplement on top of
1113 bfd_get_debug_link_info_1.
1114 (separate_debug_file_exists, separate_alt_debug_file_exists):
1115 Change type of second parameter to void pointer. Adjust.
1116 (get_func_type, check_func_type): Change type of second parameter
1117 to void pointer.
1118 (find_separate_debug_file): Add 'func_data' parameter. Pass it to
1119 the callback functions instead of passing the address of a local.
1120 (bfd_follow_gnu_debuglink): Pass address of unsigned long local to
1121 find_separate_debug_file.
1122 (get_alt_debug_link_info_shim): Change type of second parameter to
1123 void pointer. Adjust.
1124 (bfd_follow_gnu_debugaltlink): Adjust to pass NULL to
1125 find_separate_debug_file.
1126 (get_build_id_name, bfd_boolean check_build_id_file): Change type
1127 of second parameter to void pointer. Adjust.
1128 (bfd_follow_build_id_debuglink): Pass address of bfd_build_id
1129 pointer local to find_separate_debug_file.
1130
11312017-04-07 Tristan Gingold <gingold@gingold-Precision-7510>
1fd6d111
TG
1132
1133 * coffgen.c (_bfd_coff_gc_mark_hook): Handle PE weak
1134 external symbols with a definition.
1135 (_bfd_coff_gc_mark_extra_sections): Fix typo.
1136
86abf93a
AM
11372017-04-07 Alan Modra <amodra@gmail.com>
1138
1139 * po/SRC-POTFILES.in: Regenerate.
1140
8dea77f0
AM
11412017-04-05 Alan Modra <amodra@gmail.com>
1142
1143 * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Support ELFv2 PLT
1144 reference counting.
1145
477bdd39
JT
11462017-04-02 Jon Turney <jon.turney@dronecode.org.uk>
1147
1148 (_bfd_XXi_swap_aouthdr_out): For clarity, use defines rather than
1149 numbers for DataDirectory entry indicies passed to
1150 add_data_entry().
1151
a91e1603
L
11522017-04-04 H.J. Lu <hongjiu.lu@intel.com>
1153
1154 * elf.c (get_program_header_size): Add a GNU_MBIND segment for
1155 each GNU_MBIND section and align GNU_MBIND section to page size.
1156 (_bfd_elf_map_sections_to_segments): Create a GNU_MBIND
1157 segment for each GNU_MBIND section.
1158 (_bfd_elf_init_private_section_data): Copy sh_info from input
1159 for GNU_MBIND section.
1160
b5292032
PD
11612017-04-03 Palmer Dabbelt <palmer@dabbelt.com>
1162
1163 * elfnn-riscv.c (GP_NAME): Delete.
1164 (riscv_global_pointer_value): Change GP_NAME to RISCV_GP_SYMBOL.
1165 (_bfd_riscv_relax_lui): Likewise.
1166
ad32986f
NC
11672017-04-04 Nick Clifton <nickc@redhat.com>
1168
1169 PR binutils/21342
1170 * elflink.c (_bfd_elf_define_linkage_sym): Prevent null pointer
1171 dereference.
1172 (bfd_elf_final_link): Only initialize the extended symbol index
1173 section if there are extended symbol tables to list.
1174
46bed679
L
11752017-04-03 H.J. Lu <hongjiu.lu@intel.com>
1176
1177 * Makefile.am (BFD32_BACKENDS): Add elf-properties.lo.
1178 (BFD32_BACKENDS_CFILES): Add elf-properties.c.
1179 * configure.ac (elf): Add elf-properties.lo.
1180 * Makefile.in: Regenerated.
1181 * configure: Likewise.
1182 * elf-bfd.h (elf_property_kind): New.
1183 (elf_property): Likewise.
1184 (elf_property_list): Likewise.
1185 (elf_properties): Likewise.
1186 (_bfd_elf_parse_gnu_properties): Likewise.
1187 (_bfd_elf_get_property): Likewise.
1188 (_bfd_elf_link_setup_gnu_properties): Likewise.
1189 (elf_backend_data): Add parse_gnu_properties, merge_gnu_properties
1190 and setup_gnu_properties.
1191 (elf_obj_tdata): Add properties.
1192 * elf-properties.c: New file.
1193 * elf32-i386.c (elf_i386_parse_gnu_properties): New.
1194 (elf_i386_merge_gnu_properties): Likewise.
1195 (elf_backend_parse_gnu_properties): Likewise.
1196 (elf_backend_merge_gnu_properties): Likewise.
1197 * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
1198 (elf_x86_64_merge_gnu_properties): Likewise.
1199 (elf_backend_parse_gnu_properties): Likewise.
1200 (elf_backend_merge_gnu_properties): Likewise.
1201 * elfxx-target.h (elf_backend_merge_gnu_properties): Likewise.
1202 (elf_backend_parse_gnu_properties): Likewise.
1203 (elf_backend_setup_gnu_properties): Likewise.
1204 (elfNN_bed): Add elf_backend_parse_gnu_properties,
1205 elf_backend_merge_gnu_properties and
1206 elf_backend_setup_gnu_properties.
1207
f96bd6c2
PC
12082017-03-30 Pip Cet <pipcet@gmail.com>
1209
1210 * elf32-wasm32.c: Add relocation code, two relocs.
1211 * reloc.c: Add wasm32 relocations.
1212 * libbfd.h: Regenerate.
1213 * bfd-in2.h: Regenerate.
1214 * bfd/po/bfd.pot: Regenerate.
1215
e643cb45
NC
12162017-03-29 Nick Clifton <nickc@redhat.com>
1217
1218 PR binutils/18025
1219 * coff-bfd.h (struct coff_section_data): Add new fields:
1220 saved_bias and bias.
1221 * coffgen.c (coff_find_nearest_line_with_names): Cache the bias
1222 computed for PE binaries.
1223 * dwarf2.c (scan_unit_for_symbols): Only warn once about each
1224 missing abbrev.
1225
086554e8
HPN
12262017-03-28 Hans-Peter Nilsson <hp@axis.com>
1227
1228 PR ld/16044
1229 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Adjust BFD_ASSERT
1230 to handle a local symbol with a hash-symbol-entry; without PLT.
1231 Add BFD_ASSERT for an incidental case with GOT entry present.
1232 (cris_elf_check_relocs): Increment PLT refcount only if the symbol
1233 isn't forced-or-set local.
1234
a6be0538
PC
12352017-03-27 Pip Cet <pipcet@gmail.com>
1236
1237 * wasm-module.c: New file to support WebAssembly modules.
1238 * wasm-module.h: New file to support WebAssembly modules.
1239 * doc/webassembly.texi: Start documenting wasm-module.c.
1240 * config.bfd: Add wasm_vec.
1241 * targets.c: Likewise.
1242 * configure.ac: Likewise.
1243 * Makefile.am: Add entries for wasm-module.c.
1244 * Makefile.in: Regenerate.
1245 * configure: Regenerate.
1246 * po/SRC-POTFILES.in: Regenerate.
1247
79b1d3cb
PC
12482017-03-27 Pip Cet <pipcet@gmail.com>
1249
1250 * cpu-wasm32.c: New file to support wasm32 architecture.
1251 * elf32-wasm32.c: New file to support wasm32 architecture.
1252 * Makefile.am: Add wasm32 architecture.
1253 * archures.c: Likewise.
1254 * config.bfd: Likewise.
1255 * configure.ac: Likewise.
1256 * targets.c: Likewise.
1257 * Makefile.in: Regenerate.
1258 * bfd-in2.h: Regenerate.
1259 * configure: Regenerate.
1260 * po/SRC-POTFILES.in: Regenerate.
1261
aaed6f5b
AM
12622017-03-20 Alan Modra <amodra@gmail.com>
1263
1264 PR 21266
1265 * elf64-ppc.c (compare_symbols): Stabilize sort.
1266
82e66161
AM
12672017-03-18 Alan Modra <amodra@gmail.com>
1268
1269 * elf64-ppc.c (struct ppc_link_hash_table): Add
1270 local_ifunc_resolver and maybe_local_ifunc_resolver.
1271 (ppc_build_one_stub): Set flags on emitting dynamic
1272 relocation to ifunc.
1273 (ppc64_elf_relocate_section): Likewise.
1274 (ppc64_elf_finish_dynamic_symbol): Likewise.
1275 (ppc64_elf_finish_dynamic_sections): Error on DT_TEXTREL with
1276 local dynamic relocs to ifuncs.
1277 * elf32-ppc.c (struct ppc_elf_link_hash_table): Add
1278 local_ifunc_resolver and maybe_local_ifunc_resolver.
1279 (ppc_elf_relocate_section): Set flag on emitting dynamic
1280 relocation to ifuncs.
1281 (ppc_elf_finish_dynamic_symbol): Likewise.
1282 (ppc_elf_finish_dynamic_sections): Error on DT_TEXTREL with local
1283 dynamic relocs to ifuncs.
1284
f955cccf
NC
12852017-03-13 Nick Clifton <nickc@redhat.com>
1286
1287 PR binutils/21202
1288 * reloc.c (BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC): Rename to
1289 BFD_RELOC_AARCH64_TLSDESC_LD64_LO12.
1290 (BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC): Rename to
1291 BFD_RELOC_AARCH64_TLSDESC_ADD_LO12.
1292 * bfd-in2.h: Regenerate.
1293 * libbfd.h: Regenerate.
1294 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Update reloc
1295 names.
1296 (IS_AARCH64_TLSDESC_RELOC): Likewise.
1297 (elfNN_aarch64_howto_table): Likewise.
1298 (aarch64_tls_transition_without_check): Likewise.
1299 (aarch64_reloc_got_type): Likewise.
1300 (elfNN_aarch64_final_link_relocate): Likewise.
1301 (elfNN_aarch64_tls_relax): Likewise.
1302 (elfNN_aarch64_relocate_section): Likewise.
1303 (elfNN_aarch64_gc_sweep_hook): Likewise.
1304 (elfNN_aarch64_check_relocs): Likewise.
1305 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1306 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1307
4aef7643
AM
13082017-03-11 Alan Modra <amodra@gmail.com>
1309
1310 * elf32-ppc.c: Remove ATTRIBUTE_UNUSED throughout when function
1311 parameter is in fact used. Whitespace fixes.
1312 * elf64-ppc.c: Likewise.
1313
f03265d9
ST
13142017-03-09 Sam Thursfield <sam.thursfield@codethink.co.uk>
1315
1316 * rs6000-core.c (CORE_NEW): Simplify macro when
1317 AIX_CORE_DUMPX_CORE and BFD64 are true to avoid compile warning.
1318
b1b07054
AM
13192017-03-07 Alan Modra <amodra@gmail.com>
1320
1321 PR 21224
1322 PR 20519
1323 * elf64-ppc.c (ppc64_elf_relocate_section): Add missing
1324 dyn_relocs check.
1325
2e0ce1c8
AM
13262017-03-05 Alan Modra <amodra@gmail.com>
1327
1328 * elf-bfd.h (struct eh_cie_fde): Add u.cie.per_encoding_aligned8.
1329 * elf-eh-frame.c (size_of_output_cie_fde): Don't align here.
1330 (next_cie_fde_offset): New function.
1331 (_bfd_elf_parse_eh_frame): Set u.cie.per_encoding_aligned8.
1332 (_bfd_elf_discard_section_eh_frame): Align zero terminator to
1333 four bytes. Align CIEs to four or eight bytes depending on
1334 per_encoding_aligned8. Align FDEs according to their encoding.
1335 Pad last FDE to output section alignment.
1336 (_bfd_elf_write_section_eh_frame): Adjust to suit. Remove
1337 assertion.
1338 * elf64-ppc.c (glink_eh_frame_cie): Delete padding.
1339 (ppc64_elf_size_stubs): Pad glink eh_frame as per elf-eh-frame.c.
1340 (ppc64_elf_finish_dynamic_sections): Adjust to suit.
1341
f98450c6
NC
13422017-03-02 Martin Bickel <binutils@ineranves.de>
1343
1344 PR ld/21212
1345 * elf.c (rewrite_elf_program_header): Do not issue a warning for
d20928fa 1346 empty segments which have a zero filesz, but a non-zero memsz.
f98450c6 1347
673cff9b
AM
13482017-03-02 Alan Modra <amodra@gmail.com>
1349
1350 * elf32-ppc.c (ppc_elf_vle_split16): Correct insn mask typo.
1351
3de43e7b
AM
13522017-02-28 Alan Modra <amodra@gmail.com>
1353
1354 * elf64-ppc.c (ppc64_elf_ha_reloc): Revert last change.
1355 (ppc64_elf_relocate_section): Likewise.
1356
4ef97a1b
AM
13572017-02-28 Alan Modra <amodra@gmail.com>
1358
1359 PR 20995
1360 * elf32-nios2.c (nios2_elf32_relocate_section): Use htab
1361 rather than elf32_nios2_hash_table or elf_hash_table.
1362 (create_got_section): Likewise.
1363 (nios2_elf32_finish_dynamic_symbol): Likewise.
1364 (nios2_elf32_adjust_dynamic_symbol): Likewise.
1365 (nios2_elf32_size_dynamic_sections): Likewise.
1366 (nios2_elf32_check_relocs): Delete dynobj, sgot, and srelgot
1367 vars. Use htab equivalents directly instead. Don't create
1368 all dynamic sections on needing just the GOT. Use a goto
1369 rather than a fall-through with reloc test. Ensure
1370 htab->dynobj is set when making dynamic sreloc section.
1371 (nios2_elf32_finish_dynamic_sections): Delete dynobj, use htab
1372 equivalent directly instead. Don't segfault on looking for
1373 .dynamic when dynamic sections have not been created. Don't
1374 segfault on .got.plt being discarded.
1375 (nios2_elf32_size_dynamic_sections): Delete plt and got vars.
1376 Don't set "relocs" on .rela.plt. Do handle .sbss. Delete
1377 fixme and another not so relevant comment.
1378 (nios2_elf_add_symbol_hook): Delete dynobj var. If not
1379 already set, set hash table dynobj on creating .sbss.
1380
7ba71655
AM
13812017-02-28 Alan Modra <amodra@gmail.com>
1382
1383 * reloc.c (BFD_RELOC_PPC_16DX_HA): New.
1384 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_16DX_HA>): New howto.
1385 (ppc64_elf_reloc_type_lookup): Translate new bfd reloc.
1386 (ppc64_elf_ha_reloc): Correct overflow test on REL16DX_HA.
1387 (ppc64_elf_relocate_section): Likewise.
1388 * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_16DX_HA>): New howto.
1389 (ppc_elf_reloc_type_lookup): Translate new bfd reloc.
1390 (ppc_elf_check_relocs): Handle R_PPC_16DX_HA to pacify gcc.
1391 * libbfd.h: Regenerate.
1392 * bfd-in2.h: Regenerate.
1393
afbf7e8e
AM
13942017-02-28 Alan Modra <amodra@gmail.com>
1395
1396 * elflink.c (_bfd_elf_create_dynamic_sections): Don't make
1397 dynamic .data.rel.ro read-only.
1398 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Compare section
1399 rather than section flags when deciding where copy reloc goes.
1400 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
1401 * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
1402 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise.
1403 * elf32-metag.c (elf_metag_finish_dynamic_symbol): Likewise.
1404 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Likewise.
1405 * elf32-nios2.c (nios2_elf32_finish_dynamic_symbol): Likewise.
1406 * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Likewise.
1407 * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Likewise.
1408 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
1409 * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
1410 * elf32-tilepro.c (tilepro_elf_finish_dynamic_symbol): Likewise.
1411 * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Likewise.
1412 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
1413 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
1414 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Likewise.
1415 * elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Likewise.
1416 * elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
1417 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
1418 * elfxx-tilegx.c (tilegx_elf_finish_dynamic_symbol): Likewise.
1419
0e392101
MR
14202017-02-28 Maciej W. Rozycki <macro@imgtec.com>
1421
1422 * elfxx-mips.c (mips_elf_perform_relocation): Also handle the
1423 `jalr $0, $25' instruction encoding.
1424
bd757ca7
NC
14252017-02-27 Nick Clifton <nickc@redhat.com>
1426
1427 PR ld/21180
1428 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Avoid
1429 generating a seg-fault when encountering a symbol that has been
1430 deleted by garbage collection.
1431
034fed0b
AM
14322017-02-25 Alan Modra <amodra@gmail.com>
1433
1434 * elf32-arc.c (struct dynamic_sections): Delete.
1435 (enum dyn_section_types): Delete.
1436 (dyn_section_names): Delete.
1437 (arc_create_dynamic_sections): Delete.
1438 (elf_arc_finish_dynamic_sections): Don't call the above. Don't
1439 segfault on discarded .rela.plt section.
1440 (elf_arc_size_dynamic_sections): Formatting. Don't call
1441 arc_create_dynamic_sections. Don't allocate memory for sections
1442 handled by the generic linker. Correct code finding relocs in
1443 read-only sections. Set SEC_EXCLUDE on zero size .got,
1444 .got.plt, and .dynbss sections. Do set .interp for pies.
1445
d0f744f9
AW
14462017-02-24 Andrew Waterman <andrew@sifive.com>
1447
1448 * elfnn-riscv.c (GP_NAME): New macro.
1449 (riscv_global_pointer_value): Use it.
1450 (_bfd_riscv_relax_lui): If symbol and global pointer are in same
1451 output section, consider only that section's alignment.
1452
5d58c733
MR
14532017-02-23 Maciej W. Rozycki <macro@imgtec.com>
1454
1455 * elfxx-mips.h (_bfd_mips_relax_section): Remove prototype.
1456 * elfxx-mips.c (_bfd_mips_relax_section): Remove function.
1457 * elf64-mips.c (bfd_elf64_bfd_relax_section): Remove macro.
1458 * elfn32-mips.c (bfd_elf32_bfd_relax_section): Likewise.
1459
c1556ecd
MR
14602017-02-23 Maciej W. Rozycki <macro@imgtec.com>
1461
1462 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_JALR>
1463 <R_MICROMIPS_JALR>: Discard relocation if `cross_mode_jump_p'
1464 or misaligned.
1465
5499c7c7
AM
14662017-02-23 Alan Modra <amodra@gmail.com>
1467
1468 PR 20744
1469 * elf32-ppc.c (ppc_elf_howto_raw): Correct dst_mask on all VLE
1470 16D relocations.
1471 (ppc_elf_vle_split16): Correct field mask and shift for 16D relocs.
1472 (ppc_elf_relocate_section): Correct calculation for VLE SDAREL
1473 relocs.
1474
902e9fc7
MR
14752017-02-22 Maciej W. Rozycki <macro@imgtec.com>
1476
1477 PR ld/20828
1478 * elflink.c (bfd_elf_size_dynamic_sections): Move symbol version
1479 processing ahead of the call to `elf_gc_sweep_symbol'.
1480
758d96d8
NC
14812017-02-22 Nick Clifton <nickc@redhat.com>
1482
1483 PR binutils/21193
1484 * opncls.c (bfd_create_gnu_debuglink_section): Give the newly
1485 created section 4-byte alignment.
1486
6528b6eb
AM
14872017-02-22 Alan Modra <amodra@gmail.com>
1488
1489 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Don't segfault
1490 on .got or .plt output section being discarded by script.
1491 * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Likewise. Move
1492 vxworks splt temp.
1493
24f1a751
AM
14942017-02-21 Alan Modra <amodra@gmail.com>
1495
1496 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only emit
1497 DT_RELA, DT_RELASZ, and DT_RELAENT when DT_RELASZ is non-zero.
1498
64487780
AM
14992017-02-20 Alan Modra <amodra@gmail.com>
1500
1501 PR 21181
1502 * elflink.c (bfd_elf_final_link): Make DT_REL/DT_RELA zero
1503 if DT_RELSZ/DT_RELASZ is zero.
1504
6438d1be
NC
15052017-02-17 Nick Clifton <nickc@redhat.com>
1506
1507 * compress.c (bfd_get_full_section_contents): Remember to reduce
1508 compressed size by the sizeof the compression header when
1509 decompressing the contents.
1510
4bc26c69
PA
15112017-02-17 Pedro Alves <palves@redhat.com>
1512
1513 * srec.c (Chunk): Rename to ...
1514 (_bfd_srec_len): ... this.
1515 (S3Forced): Rename to ...
1516 (_bfd_srec_forceS3): ... this.
1517 * objcopy.c: Adjust all references.
1518
7ec22e0f
PA
15192017-02-17 Pedro Alves <palves@redhat.com>
1520
1521 * archive.c (bsd_write_armap): Rename to ...
1522 (_bfd_bsd_write_armap): ... this.
1523 (coff_write_armap): Rename to ...
1524 (_bfd_coff_write_armap): ... this.
1525 * libbfd-in.h (bsd_write_armap): Rename to ...
1526 (_bfd_bsd_write_armap): ... this.
1527 (coff_write_armap): Rename to ...
1528 (_bfd_coff_write_armap): ... this.
1529 * aout-target.h, aout-tic30.c: Adjust all users.
1530 * libbfd.h: Regenerate.
1531
8c8402cc
PA
15322017-02-17 Pedro Alves <palves@redhat.com>
1533
1534 * bfd-in.h (bfd_read, bfd_write): Adjust to rename.
1535 (warn_deprecated): Rename to ...
1536 (_bfd_warn_deprecated): ... this.
1537 * libbfd.c (warn_deprecated): Rename to ...
1538 (_bfd_warn_deprecated): ... this.
1539 * bfd-in2.h: Regenerate.
1540
c7c3d11b
PA
15412017-02-17 Pedro Alves <palves@redhat.com>
1542
1543 * bfdio.c (real_ftell): Rename to ...
1544 (_bfd_real_ftell): ... this.
1545 (real_fseek): Rename to ...
1546 (_bfd_real_fseek): ... this.
1547 (real_fopen): Rename to ...
1548 (_bfd_real_fopen): ... this.
1549 * libbfd-in.h (real_ftell): Rename to ...
1550 (_bfd_real_ftell): ... this.
1551 (real_fseek): Rename to ...
1552 (_bfd_real_fseek): ... this.
1553 (real_fopen): Rename to ...
1554 (_bfd_real_fopen): ... this.
1555 * cache.c, dwarf2.c, opncls.c: Adjust all callers.
1556 * libbfd.h: Regenerate.
1557
4265548c
PA
15582017-02-17 Pedro Alves <palves@redhat.com>
1559
1560 * dwarf2.c, elf-attrs.c, elf32-nds32.c: Adjust all callers.
1561 * libbfd.c (read_unsigned_leb128): Rename to ...
1562 (_bfd_read_unsigned_leb128): ... this.
1563 (read_signed_leb128): Rename to ...
1564 (_bfd_read_signed_leb128): ... this.
1565 (safe_read_leb128): Rename to ...
1566 (_bfd_safe_read_leb128): ... this.
1567 * libbfd-in.h (read_unsigned_leb128): Rename to ...
1568 (_bfd_read_unsigned_leb128): ... this.
1569 (read_signed_leb128): Rename to ...
1570 (_bfd_read_signed_leb128): ... this.
1571 (safe_read_leb128): Rename to ...
1572 (_bfd_safe_read_leb128): ... this.
1573 * libbfd.h: Renegerate.
1574
3239a423
AB
15752017-02-16 Andrew Burgess <andrew.burgess@embecosm.com>
1576
1577 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Perform symbol lookup
1578 before trying to fine matching file and line information.
1579
90ed9b8b
AB
15802017-02-16 Andrew Burgess <andrew.burgess@embecosm.com>
1581
1582 * dwarf2.c (struct dwarf2_debug): Add orig_bfd member.
1583 (_bfd_dwarf2_slurp_debug_info): If stashed debug information does
1584 not match current bfd, then reload debug information. Record bfd
1585 we're loading debug info for in the stash. If we have debug
1586 informatin in the cache then perform section placement before
1587 returning.
1588
a8c75b76
AM
15892017-02-16 Alan Modra <amodra@gmail.com>
1590
1591 PR 21000
1592 * elf-bfd.h (struct elf_backend_data): Add no_page_alias.
1593 * elfxx-target.h (elf_backend_no_page_alias): Define.
1594 (elfNN_bed): Init new field.
1595 * elf.c (assign_file_positions_for_load_sections): If no_page_alias
1596 ensure PT_LOAD segment starts on a new page.
1597 * elf32-hppa.c (elf_backend_no_page_alias): Define.
1598
247d6c4c
AM
15992017-02-16 Alan Modra <amodra@gmail.com>
1600
1601 PR 21132
1602 * elf32-hppa.c (allocate_plt_static): Allocate space for relocs
1603 if pic.
1604
90571206
JW
16052017-02-16 Jiong Wang <jiong.wang@arm.com>
1606
1607 * bfd.c (BFD_FLAGS_SAVED): Add BFD_LINKER_CREATED.
1608 * bfd-in2.h: Regenerated.
1609
2a568401
L
16102017-02-15 H.J. Lu <hongjiu.lu@intel.com>
1611
1612 PR ld/21168
1613 * elf32-i386.c (elf_i386_relocate_section): Allow
1614 "lea foo@GOT, %reg" in PIC.
1615
a5def14f
L
16162017-02-15 H.J. Lu <hongjiu.lu@intel.com>
1617
1618 PR ld/20244
1619 * elf32-i386.c (elf_i386_relocate_section): Properly get IFUNC
1620 symbol name when reporting R_386_GOT32/R_386_GOT32X relocation
1621 error against local IFUNC symbol without a base register for
1622 PIC.
1623
174d0a74
MR
16242017-02-15 Maciej W. Rozycki <macro@imgtec.com>
1625
1626 * elf32-ppc.c (ppc_elf_check_relocs): Use `%H:' rather than
1627 `%P: %H:' with `info->callbacks->einfo'.
1628 (ppc_elf_relocate_section): Likewise.
1629 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
1630 (ppc64_elf_edit_toc): Likewise.
1631 (ppc64_elf_relocate_section): Likewise.
1632
e278ae05
AM
16332017-02-14 Alan Modra <amodra@gmail.com>
1634
1635 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
1636 --gc-keep-exported, and test versioned field of sym rather than
1637 looking for @ in name.
1638
10ddfe62
PD
16392017-02-13 Palmer Dabbelt <palmer@dabbelt.com>
1640
1641 * elfnn-riscv.c (riscv_global_pointer_value): Change _gp to
1642 __global_pointer$.
1643
d11135f5
NC
16442017-02-13 Nick Clifton <nickc@redhat.com>
1645
1646 PR binutils/21151
1647 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Check for an invalid
1648 unit length field.
1649
cc162427
AW
16502017-02-07 Andrew Waterman <andrew@sifive.com>
1651
1652 * elfnn-riscv.c (riscv_elf_finish_dynamic_sections): Only write PLT
1653 entry size if PLT header is written.
1654
3d044c0c
SL
16552017-02-06 Sheldon Lobo <sheldon.lobo@oracle.com>
1656
1657 Fix sparc64 dynamic relocation processing to use the dynamic
1658 symbol count.
1659 * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Use 'dynamic'
1660 to determine if bfd_get_symcount() or bfd_get_dynamic_symcount()
1661 should be used.
1662
1b7e3d2f
NC
16632017-02-03 Nick Clifton <nickc@redhat.com>
1664
1665 PR 21096
1666 * coffcode.h (coff_write_object_contents): Enlarge size of
1667 s_name_buf in order to avoid compile time warning about possible
1668 integer truncation.
1669 * elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower
1670 32-bits of insn value before printing into buffer.
1671
e17b0c35
MR
16722017-02-02 Maciej W. Rozycki <macro@imgtec.com>
1673
1674 * elfxx-mips.c (mips_elf_hash_sort_data): Add
1675 `max_local_dynindx'.
1676 (mips_elf_sort_hash_table): Handle it.
1677 (mips_elf_sort_hash_table_f) <GGA_NONE>: For forced local
1678 symbols bump up `max_local_dynindx' rather than
1679 `max_non_got_dynindx'.
1680
55f8b9d2
MR
16812017-02-02 Maciej W. Rozycki <macro@imgtec.com>
1682
1683 * elfxx-mips.c (mips_elf_hash_sort_data): Convert the
1684 `min_got_dynindx', `max_unref_got_dynindx' and
1685 `max_non_got_dynindx' members to the `bfd_size_type' data type.
1686 (mips_elf_sort_hash_table): Adjust accordingly.
1687
0f8c4b60
MR
16882017-02-02 Maciej W. Rozycki <macro@imgtec.com>
1689
1690 * elfxx-mips.c (mips_elf_sort_hash_table): Use `htab' throughout
1691 to access the hash table.
1692
17a80fa8
MR
16932017-02-02 Maciej W. Rozycki <macro@imgtec.com>
1694
1695 * elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on
1696 non-NULL `htab' to the beginning.
1697
8f56d4fd
MR
16982017-02-02 Maciej W. Rozycki <macro@imgtec.com>
1699
1700 * elflink.c (elf_gc_sweep): Wrap overlong line.
1701
8b10b0b3
MR
17022017-01-30 Maciej W. Rozycki <macro@imgtec.com>
1703
1704 * elfxx-mips.h (_bfd_mips_elf_insn32): Rename prototype to...
1705 (_bfd_mips_elf_linker_flags): ... this. Add another parameter.
1706 * elfxx-mips.c (mips_elf_link_hash_table): Add
1707 `ignore_branch_isa' member.
1708 (mips_elf_perform_relocation): Do not treat an ISA mode mismatch
1709 in branch relocation calculation as an error if
1710 `ignore_branch_isa' has been set.
1711 (_bfd_mips_elf_insn32): Rename to...
1712 (_bfd_mips_elf_linker_flags): ... this. Rename the `on'
1713 parameter to `insn32' and add an `ignore_branch_isa' parameter.
1714 Handle the new parameter.
1715
1fbd05e1
HPN
17162017-01-27 Hans-Peter Nilsson <hp@axis.com>
1717
22d9a0de
HPN
1718 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Remove now unused
1719 local variable dynobj.
1720
1fbd05e1
HPN
1721 PR ld/20995
1722 * elf32-cris.c (elf_cris_size_dynamic_sections): Handle sdynrelro.
1723 (elf_cris_adjust_dynamic_symbol): Place variables copied into the
1724 executable from read-only sections into sdynrelro.
1725 (elf_cris_finish_dynamic_symbol): Select sreldynrelro for
1726 dynamic relocs in sdynrelro.
1727 (elf_backend_want_dynrelro): Define.
1728
4a7324e1
SH
17292017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
1730
1731 * config.bfd (*-*-rtemsaout*): Mark as removed.
1732
c75b4ebd
SH
17332017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
1734
1735 * config.bfd (powerpcle-*-rtems*): Do not mark as removed.
1736 (arm-*-rtems*): Move to (arm*-*-eabi*).
1737 (i[3-7]86-*-rtems*): Move to (i[3-7]86-*-elf*).
1738 (m68-*-rtems*): Move to (m68*-*-elf*).
1739
850d84f6
SH
17402017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
1741
1742 * config.bfd (*-*-rtemscoff*): Mark as removed.
1743
b531344c
MR
17442017-01-24 Maciej W. Rozycki <macro@imgtec.com>
1745
1746 PR ld/20828
1747 * elflink.c (bfd_elf_record_link_assignment): Revert last
1748 change and don't ever clear `forced_local'. Set `mark'
1749 unconditionally.
1750 (elf_gc_sweep_symbol_info, elf_gc_sweep_symbol): Reorder within
1751 file.
1752 (elf_gc_sweep): Move the call to `elf_gc_sweep_symbol'...
1753 (bfd_elf_size_dynamic_sections): ... here.
1754 * elf32-ppc.c (ppc_elf_tls_setup): Don't clear `forced_local'
1755 and set `mark' instead in `__tls_get_addr_opt' processing.
1756 * elf64-ppc.c (ppc64_elf_tls_setup): Likewise.
1757
f0158f44
AM
17582017-01-24 Alan Modra <amodra@gmail.com>
1759
1760 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Merge two cases
1761 where dynamic relocs are preferable. Allow ifunc too.
1762 (ensure_undefweak_dynamic): New function.
1763 (allocate_dynrelocs): Use it here. Move plt handling last and
1764 don't make symbols dynamic, simplifying loop. Only make undef
1765 weak symbols with GOT entries dynamic. Correct condition
1766 for GOT relocs. Handle dynamic relocs on ifuncs. Correct
1767 comments. Remove goto.
1768 (ppc_elf_relocate_section): Correct test for using dynamic
1769 symbol on GOT relocs. Rearrange test for emitting GOT relocs
1770 to suit. Set up explicit tls_index entries and implicit GOT
1771 tls_index entries resolvable at link time for
1772 __tls_get_addr_opt. Simplify test to clear mem for prelink.
1773 * elf64-ppc.c (allocate_got): Correct condition for GOT relocs.
1774 (ensure_undefweak_dynamic): New function.
1775 (allocate_dynrelocs): Use it here. Only make undef weak symbols
1776 with GOT entries dynamic. Remove unnecessary test of
1777 WILL_CALL_FINISH_DYNAMIC_SYMBOL in PLT handling.
1778 (ppc64_elf_relocate_section): Correct test for using dynamic
1779 symbol on GOT relocs. Rearrange test for emitting GOT relocs
1780 to suit. Set up explicit tls_index entries and implicit GOT
1781 tls_index entries resolvable at link time for __tls_get_addr_opt.
1782 Simplify expression to clear mem for prelink.
1783
2d0ca824
YN
17842017-01-23 Yury Norov <ynorov@caviumnetworks.com>
1785
1786 * elfnn-aarch64.c: Fix relaxations for ILP32 mode.
1787
7f784814
JW
17882017-01-20 Jiong Wang <jiong.wang@arm.com>
1789
1790 * elfnn-aarch64.c (elf_aarch64_hash_symbol): New function.
1791 (elf_backend_hash_symbol): Define.
1792
81ff47b3
MR
17932017-01-18 Maciej W. Rozycki <macro@imgtec.com>
1794
1795 PR ld/20828
1796 * elflink.c (bfd_elf_record_link_assignment): Clear any
1797 `forced_local' marking for DSO symbols that are not being
1798 provided.
1799
640d6bfd
KLC
18002017-01-17 Kuan-Lin Chen <kuanlinchentw@gmail.com>
1801
1802 * elfnn-riscv.c (riscv_elf_object_p): New function.
1803
8361ed4d
L
18042017-01-12 H.J. Lu <hongjiu.lu@intel.com>
1805
1806 PR ld/21038
1807 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
1808 plt_bnd_eh_frame.
1809 (elf_x86_64_check_relocs): Create .eh_frame section for the
1810 .plt.bnd section.
1811 (elf_x86_64_size_dynamic_sections): Allocate and initialize
1812 .eh_frame section for the .plt.bnd section.
1813 (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
1814 for the .plt.bnd section.
1815
2425a30e
NC
18162017-01-12 Nick Clifton <nickc@redhat.com>
1817
1818 PR binutils/20876
1819 * opncls.c (find_separate_debug_file): Add include_dirs
1820 parameter. Only include the directory part of the bfd's filename
1821 in search paths if include_dirs is true. Add a couple of extra
1822 locations for looking for debug files.
1823 ( bfd_follow_gnu_debuglink): Update invocation of
1824 find_separate_debug_file.
1825 (bfd_follow_gnu_debugaltlink): Likewise.
1826 (get_build_id): New function: Finds the build-id of the given bfd.
1827 (get_build_id_name): New function: Computes the name of the
1828 separate debug info file for a bfd, based upon its build-id.
1829 (check_build_id_file): New function: Checks to see if a separate
1830 debug info file exists at the given location, and that its
1831 build-id matches that of the original bfd.
1832 (bfd_follow_build_id_debuglink): New function: Finds a separate
1833 debug info file for a given bfd by using the build-id method.
1834 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Try using the build-id
1835 method of locating a separate debug info file before using the
1836 debuglink method.
1837 * bfd-in2.h: Regenerate.
1838
9e659176
L
18392017-01-11 H.J. Lu <hongjiu.lu@intel.com>
1840
1841 PR ld/21038
1842 * elf64-x86-64.c (elf_x86_64_eh_frame_bnd_plt): New.
1843 (elf_x86_64_bnd_arch_bed): Use elf_x86_64_eh_frame_bnd_plt and
1844 elf_x86_64_eh_frame_plt_got.
1845 (elf_x86_64_size_dynamic_sections): Get unwind info from
1846 elf_x86_64_bnd_arch_bed for the BND PLT.
1847
f2e2d2f5
JS
18482017-01-11 Jeremy Soller <jackpot51@gmail.com>
1849
1850 * config.bfd: Add entries for i686-redox and x86_64-redox.
1851
52b232b3
L
18522017-01-10 H.J. Lu <hongjiu.lu@intel.com>
1853
1854 * elf32-i386.c (elf_i386_check_relocs): Align .eh_frame section
1855 to 4 bytes.
1856 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
1857 .eh_frame section to 4 bytes for x32.
1858 (elf_x86_64_check_relocs): Likewise.
1859
fff53dae
L
18602017-01-10 H.J. Lu <hongjiu.lu@intel.com>
1861
1862 PR ld/20830
1863 * elf32-i386.c (elf_i386_eh_frame_plt_got): New.
1864 (PLT_GOT_FDE_LENGTH): Likewise.
1865 (elf_i386_plt_layout): Add eh_frame_plt_got and
1866 eh_frame_plt_got_size.
1867 (elf_i386_plt): Updated.
1868 (elf_i386_link_hash_table): Add plt_got_eh_frame.
1869 (elf_i386_check_relocs): Create .eh_frame section for .plt.got.
1870 (elf_i386_size_dynamic_sections): Allocate and initialize
1871 .eh_frame section for .plt.got.
1872 (elf_i386_finish_dynamic_sections): Adjust .eh_frame section for
1873 .plt.got.
1874 (elf_i386_nacl_plt): Add FIXME for eh_frame_plt_got and
1875 eh_frame_plt_got_size.
1876 * elf64-x86-64.c (elf_x86_64_eh_frame_plt_got): New.
1877 (PLT_GOT_FDE_LENGTH): Likewise.
1878 (elf_x86_64_backend_data): Add eh_frame_plt_got and
1879 eh_frame_plt_got_size.
1880 (elf_x86_64_arch_bed): Updated.
1881 (elf_x86_64_bnd_arch_bed): Add FIXME for eh_frame_plt_got and
1882 eh_frame_plt_got_size.
1883 (elf_x86_64_nacl_arch_bed): Likewise.
1884 (elf_x86_64_link_hash_table): Add plt_got_eh_frame.
1885 (elf_x86_64_check_relocs): Create .eh_frame section for .plt.got.
1886 (elf_x86_64_size_dynamic_sections): Allocate and initialize
1887 .eh_frame section for .plt.got.
1888 (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
1889 for .plt.got.
1890
f129e49f
L
18912017-01-10 H.J. Lu <hongjiu.lu@intel.com>
1892
1893 * elf32-i386.c (elf_i386_size_dynamic_sections): Set
1894 plt_eh_frame->size to eh_frame_plt_size and use eh_frame_plt.
1895
cd6581da
NC
18962017-01-09 Nick Clifton <nickc@redhat.com>
1897
1898 * dwarf2.c (lookup_address_in_function_table): Return early if
1899 there are no functions in the given comp unit, or if the high
1900 address of the last function in the comp unit is less than the
1901 desired address.
1902
98f02962
NC
19032017-01-09 Nick Clifton <nickc@redhat.com>
1904
1905 PR binutils/21013
1906 * coffgen.c (_bfd_coff_get_external_symbols): Generate an error
1907 message if there are too many symbols to load.
1908
ae4fda66
JC
19092017-01-04 James Clarke <jrtc27@jrtc27.com>
1910
1911 * elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free
1912 if relocs are cached.
1913
de1010f4
RF
19142017-01-03 Rich Felker <bugdal@aerifal.cx>
1915
1916 PR ld/21017
1917 * elf32-microblaze.c (microblaze_elf_check_relocs): Add an entry
1918 for R_MICROBLAZE_GOTOFF_64.
1919
09fe2662
NC
19202017-01-03 Nick Clifton <nickc@redhat.com>
1921
1922 * mach-o.c (bfd_mach_o_lookup_uuid_command): Fix compile time
1923 warning about using a possibly uninitialised variable.
1924
595e0a47
AM
19252017-01-02 Alan Modra <amodra@gmail.com>
1926
1927 * elf32-hppa.c (ensure_undef_weak_dynamic): New function.
1928 (allocate_plt_static, allocate_dynrelocs): Use it.
1929
7bd9df3b
AM
19302017-01-02 Alan Modra <amodra@gmail.com>
1931
1932 * elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for
1933 .PARISC.unwind section.
1934
5b86074c
AM
19352017-01-02 Alan Modra <amodra@gmail.com>
1936
1937 PR ld/20989
1938 * elfxx-sparc.c (gdop_relative_offset_ok): New function.
1939 (_bfd_sparc_elf_relocate_section): Use it to validate GOT
1940 indirect to GOT pointer relative code edit.
1941
2571583a
AM
19422017-01-02 Alan Modra <amodra@gmail.com>
1943
1944 Update year range in copyright notice of all files.
1945
5c1ad6b5 1946For older changes see ChangeLog-2016
3499769a 1947\f
5c1ad6b5 1948Copyright (C) 2017 Free Software Foundation, Inc.
3499769a
AM
1949
1950Copying and distribution of this file, with or without modification,
1951are permitted in any medium without royalty provided the copyright
1952notice and this notice are preserved.
1953
1954Local Variables:
1955mode: change-log
1956left-margin: 8
1957fill-column: 74
1958version-control: never
1959End:
This page took 0.178804 seconds and 4 git commands to generate.