[ARM]: Don't tail-pad over-aligned functions to the alignment boundary.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
b1fa9dd6
NC
12015-04-24 Nick Clifton <nickc@redhat.com>
2
3 * elf.c (_bfd_elf_is_local_label_name): Extend test for assembler
4 local labels to include local labels with a numeric suffix and
5 fake symbols.
6
9361e630
L
72015-04-24 H.J. Lu <hongjiu.lu@intel.com>
8
9 PR binutils/18316
10 * section.c (SEC_MEP_VLIW): New.
11 * bfd-in2.h: Regenerated.
12
3e19fb8f
L
132015-04-23 H.J. Lu <hongjiu.lu@intel.com>
14
15 PR ld/18277
16 * compress.c (bfd_compress_section_contents): Remove the
17 write_compress argument.
18 (bfd_init_section_compress_status): Updated.
19 (bfd_compress_section): Likewise.
20 * elf.c (_bfd_elf_set_reloc_sh_name): New.
21 (_bfd_elf_init_reloc_shdr): Add delay_st_name_p. Set sh_name
22 to (unsigned int) -1 if delay_st_name_p is TRUE. Use
23 _bfd_elf_set_reloc_sh_name.
24 (elf_fake_sections): Don't rename DWARF debug section for
25 linker output if it will be compressed. Instead, set
26 delay_st_name_p to TRUE and pass it to _bfd_elf_init_reloc_shdr.
27 (assign_section_numbers): Call _bfd_elf_strtab_addref only if
28 sh_name != (unsigned int) -1. Don't finalize nor assign
29 shstrtab section here. Delay setting output section names to
30 _bfd_elf_write_object_contents.
31 (_bfd_elf_compute_section_file_positions): Update comments on
32 sh_offset for shstrtab section.
33 (assign_file_positions_for_non_load_sections): Set sh_offset to
34 -1 for shstrtab section.
35 (assign_file_positions_except_relocs): Likewise.
36 (_bfd_elf_assign_file_positions_for_non_load): Set up sh_name
37 when compressing DWARF debug sections. Place shstrtab section
38 after DWARF debug sections have been compressed.
39 (_bfd_elf_write_object_contents): Setting sh_name for output
40 sections.
41
f6fe1ccd
L
422015-04-23 H.J. Lu <hongjiu.lu@intel.com>
43
44 PR binutils/18209
45 * bfd.c (bfd): Add is_linker_input.
46 * elf.c (convert_debug_to_zdebug): New.
47 (convert_zdebug_to_debug): Likewise.
48 (_bfd_elf_make_section_from_shdr): Don't convert .debug_* to
49 .zdebug_* here. Use convert_zdebug_to_debug. Set SEC_ELF_RENAME.
50 (_bfd_elf_init_reloc_shdr): Pass a pointer to section name
51 instead of a pointer to section.
52 (elf_fake_sections): Rename the section name if SEC_ELF_RENAME
53 is set.
54 * section.c (SEC_ELF_RENAME): New.
55 * bfd-in2.h: Regenerated.
56
a27e685f
AM
572015-04-23 Alan Modra <amodra@gmail.com>
58
59 * elf64-ppc.c (TOC_BASE_ALIGN): Define.
60 (ppc64_elf_next_toc_section): Align multi-got toc base.
61 (ppc64_elf_set_toc): Likewise initial toc base and .TOC. symbol.
62
d5597ebc
L
632015-04-22 H.J. Lu <hongjiu.lu@intel.com>
64
65 PR ld/18289
66 * elf32-i386.c (elf_i386_link_hash_entry): Add gotoff_ref.
67 (elf_i386_link_hash_newfunc): Initialize gotoff_ref to 0.
68 (elf_i386_create_dynamic_sections): Always allow copy relocs for
69 building executables.
70 (elf_i386_copy_indirect_symbol): Also copy gotoff_ref.
71 (elf_i386_check_relocs): Set gotoff_ref for R_386_GOTOFF.
72 (elf_i386_adjust_dynamic_symbol): Also allocate copy relocs for
73 PIE and R_386_GOTOFF.
74 (elf_i386_relocate_section): Allow R_386_GOTOFF in executable.
75
e9702963
L
762015-04-20 H.J. Lu <hongjiu.lu@intel.com>
77
78 * elf.c (assign_section_numbers): Always set up sh_name.
79
e06efbf1
L
802015-04-20 H.J. Lu <hongjiu.lu@intel.com>
81
82 * elf.c (assign_file_positions_for_non_load_sections): Iterate
83 sections by pointer.
84 (_bfd_elf_assign_file_positions_for_non_load): Likewise.
85
0ce398f1
L
862015-04-14 H.J. Lu <hongjiu.lu@intel.com>
87
88 * bfd-in.h (compressed_debug_section_type): New.
89 * compress.c (bfd_compress_section_contents): Add an argument
90 for linker write compression and always generate .zdebug_*
91 section when linking.
92 (bfd_init_section_compress_status): Pass FALSE to
93 bfd_compress_section_contents.
94 (bfd_compress_section): New function.
95 * elf.c (elf_fake_sections): For linking, set SEC_ELF_COMPRESS
96 on DWARF debug sections if COMPRESS_DEBUG is set and rename
97 section if COMPRESS_DEBUG_GABI_ZLIB isn't set.
98 (assign_file_positions_for_non_load_sections): Set sh_offset
99 to -1 if SEC_ELF_COMPRESS is set.
100 (assign_file_positions_except_relocs): Likwise.
101 (_bfd_elf_assign_file_positions_for_relocs): Renamed to ...
102 (_bfd_elf_assign_file_positions_for_non_load): This. Change
103 return time to bfd_boolean. Compress the section if
104 SEC_ELF_COMPRESS is set.
105 (_bfd_elf_write_object_contents): Updated.
106 (_bfd_elf_set_section_contents): Write section contents to
107 the buffer if SEC_ELF_COMPRESS is set.
108 * merge.c: Include "elf-bfd.h".
109 (sec_merge_emit): Add arguments for contents and offset. Write
110 to contents with offset if contents isn't NULL.
111 (_bfd_write_merged_section): Write section contents to the
112 buffer if SEC_ELF_COMPRESS is set. Pass contents and
113 output_offset to sec_merge_emit.
114 * elflink.c (bfd_elf_final_link): Allocate the buffer for
115 output section contents if SEC_ELF_COMPRESS is set.
116 * section.c (SEC_ELF_COMPRESS): New.
117 * bfd-in2.h: Regenerated.
118
95b57ade
AM
1192015-04-15 Alan Modra <amodra@gmail.com>
120
121 * elf32-rl78.c (rl78_elf_relocate_section): Typo fix.
122
6ff71e76
NC
1232015-04-14 Nick Clifton <nickc@redhat.com>
124
125 * elf32-rl78.c (RL78_OP_REL): New macro.
126 (rl78_elf_howto_table): Use it for complex relocs.
127 (get_symbol_value): Handle the cases when the info or status
128 arguments are NULL.
129 (get_romstart): Cache the status returned by get_symbol_value.
130 (get_ramstart): Likewise.
131 (RL78_STACK_PUSH): Generate an error message if the stack
132 overflows.
133 (RL78_STACK_POP): Likewise for underflows.
134 (rl78_compute_complex_reloc): New function. Contains the basic
135 processing code for all RL78 complex relocs.
136 (rl78_special_reloc): New function. Provides special reloc
137 handling for complex relocs.
138 (rl78_elf_relocate_section): Use rl78_compute_complex_reloc.
139 (rl78_offset_for_reloc): Likewise.
140
889c2a67
L
1412015-04-14 H.J. Lu <hongjiu.lu@intel.com>
142
143 PR ld/pr17709
144 * elflink.c (_bfd_elf_adjust_dynamic_copy): Check
145 info->extern_protected_data when warning copy relocs against
146 protected symbols.
147 (_bfd_elf_symbol_refs_local_p): Check info->extern_protected_data
148 when checking protected non-function symbols.
149
97de3545
JB
1502015-04-13 John Baldwin <jhb@FreeBSD.org>
151
152 * elf.c (elfcore_grok_note): Recognize NT_X86_XSTATE on
153 FreeBSD.
154 (elfcore_write_xstatereg): Use correct note name on FreeBSD.
155
f0bf6bfd
L
1562015-04-13 H.J. Lu <hongjiu.lu@intel.com>
157
158 PR ld/18250
159 * elflink.c (elf_link_is_defined_archive_symbol): Return FALSE
160 if the object has been claimed by plugin.
161
e3c0e327
L
1622015-04-11 H.J. Lu <hongjiu.lu@intel.com>
163
164 * elf32-i386.c (elf_i386_relocate_section): Replace SYMBOLIC_BIND
165 with SYMBOL_REFERENCES_LOCAL when checking R_386_GOTOFF against
166 protected data symbol when building shared library.
167 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
168 R_X86_64_GOTOFF64 against undefined symbol and replace
169 SYMBOLIC_BIND with SYMBOL_REFERENCES_LOCAL when checking
170 R_X86_64_GOTOFF64 against protected data symbol when building
171 shared library.
172
3d949995
L
1732015-04-10 H.J. Lu <hongjiu.lu@intel.com>
174
175 PR ld/pr17709
176 * elf32-i386.c (elf_i386_relocate_section): Also check R_386_GOTOFF
177 against protected data symbol when building shared library.
178 * elf64-x86-64.c (elf_x86_64_relocate_section): Also check
179 R_X86_64_GOTOFF64 against protected data symbol when building
180 shared library.
181
f7483970
L
1822015-04-10 H.J. Lu <hongjiu.lu@intel.com>
183
184 PR ld/pr15228
185 PR ld/pr17709
186 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
187 * elf32-i386.c (elf_backend_extern_protected_data): New.
188 Defined to 1.
189 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
190 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
191 copy relocs against protected symbols if extern_protected_data
192 is true.
193 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
194 non-function symbols if extern_protected_data is true.
195 * elfxx-target.h (elf_backend_extern_protected_data): New.
196 Default to 0.
197 (elfNN_bed): Initialize extern_protected_data with
198 elf_backend_extern_protected_data.
199
030aeb75
L
2002015-04-10 H.J. Lu <hongjiu.lu@intel.com>
201
202 * compress.c (bfd_compress_section_contents): Replace bfd_malloc
203 and free with bfd_alloc and bfd_release on compressed buffer.
204 Release buffer if compressed section isn't smaller.
205
d07a1b05
AM
2062015-04-10 Alan Modra <amodra@gmail.com>
207
208 PR ld/18222
209 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't report an error
210 on adding a protected visibility variable to .dynbss.
211
8d2ea2a8
AM
2122015-04-10 Alan Modra <amodra@gmail.com>
213
214 Revert 2015-03-05 H.J. Lu <hongjiu.lu@intel.com>
215 PR ld/pr15228
216 PR ld/pr17709
217 * elf-bfd.h (elf_backend_data): Delete extern_protected_data.
218 * elf32-i386.c (elf_backend_extern_protected_data): Delete.
219 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
220 * elflink.c (_bfd_elf_adjust_dynamic_copy): Remove
221 extern_protected_data test.
222 (_bfd_elf_symbol_refs_local_p): Likewise.
223 * elfxx-target.h (elf_backend_extern_protected_data): Delete.
224 (elfNN_bed): Delete elf_backend_extern_protected_data init.
225
18ece1de
L
2262015-04-09 H.J. Lu <hongjiu.lu@intel.com>
227
228 * compress.c (bfd_compress_section_contents): Update comments.
229 (bfd_init_section_decompress_status): Likewise.
230 (bfd_init_section_compress_status): Likewise.
231
cd6faa73
L
2322015-04-09 H.J. Lu <hongjiu.lu@intel.com>
233
234 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_COMPRESS_GABI to
235 object_flags.
236 (TARGET_LITTLE_SYM): Likewise.
237
19424843
MF
2382015-04-09 Max Filippov <jcmvbkbc@gmail.com>
239
240 * elf32-xtensa.c (splay-tree.h): include header.
241 (text_action_struct): drop next pointer.
242 (text_action_list_struct): drop head pointer, add count and
243 tree fields.
244 (find_fill_action): instead of linear search in text_action_list
245 search in the tree.
246 (text_action_compare, action_first, action_next): new functions.
247 (text_action_add, text_action_add_literal): instead of linear
248 search and insertion insert new node into the tree.
249 (removed_by_actions): pass additional parameter: action_list,
250 use it to traverse the tree.
251 (offset_with_removed_text): pass additional action_list parameter
252 to removed_by_actions.
253 (map_action_fn_context): new typedef.
254 (map_action_fn_context_struct): new structure.
255 (map_action_fn): new function.
256 (map_removal_by_action): use splay_tree_foreach to build map.
257 (find_insn_action): replace linear search in text_action_list
258 with series of splay_tree_lookups.
259 (print_action, print_action_list_fn): new functions.
260 (print_action_list): use splay_tree_foreach.
261 (init_xtensa_relax_info): drop action_list.head initialization.
262 Initialize the tree.
263 (compute_text_actions): use non-zero action_list_count instead of
264 non-NULL action list.
265 (xlate_map_context): new typedef.
266 (xlate_map_context_struct): new structure.
267 (xlate_map_fn): new function.
268 (build_xlate_map): use splay_tree_foreach to build map.
269 (action_remove_bytes_fn): new function.
270 (relax_section): use zero action_list_count instead of NULL
271 action list. Use splay_tree_foreach to count final section size.
272 Drop unused variable 'removed'.
273
2742015-04-09 Max Filippov <jcmvbkbc@gmail.com>
275
276 * elf32-xtensa.c (removed_literal_map_entry): new typedef.
277 (removed_literal_map_entry_struct): new structure.
278 (removed_literal_list_struct): add new fields: n_map and map.
279 (map_removed_literal, removed_literal_compare): new functions.
280 (find_removed_literal): build index array for literals ordered
281 by VMA, use binary search to find removed literal.
282
2832015-04-09 Max Filippov <jcmvbkbc@gmail.com>
284
285 * elf32-xtensa.c (removal_by_action_entry_struct,
286 removal_by_action_map_struct): new structures.
287 (removal_by_action_entry, removal_by_action_map): new typedefs.
288 (text_action_list_struct): add new field: map.
289 (map_removal_by_action, removed_by_actions_map,
290 offset_with_removed_text_map): new functions.
291 (relax_section): replace offset_with_removed_text with
292 offset_with_removed_text_map.
293 (translate_reloc, relax_property_section, relax_section_symbols):
294 replace removed_by_actions with removed_by_actions_map.
295
2962015-04-09 Max Filippov <jcmvbkbc@gmail.com>
297
298 * elf32-xtensa.c (reloc_range_list, reloc_range_list_entry,
299 reloc_range): new typedef.
300 (reloc_range_list_struct, reloc_range_list_entry_struct,
301 reloc_range_struct): new structures.
302 (reloc_range_compare, build_reloc_ranges,
303 reloc_range_list_append, reloc_range_list_remove,
304 reloc_range_list_update_range, free_reloc_range_list): new
305 functions.
306 (compute_text_actions): precompute relocation opcodes before the
307 loop. Add relevant_relocs variable, initialize it before the
308 loop, pass it to the check_section_ebb_pcrels_fit.
309 (check_section_ebb_pcrels_fit): add new parameter:
310 relevant_relocs. Update address range in the relevant_relocs if
311 it's non-NULL and iterate only over relevant relocations.
312
3525236c
NC
3132015-04-09 Nick Clifton <nickc@redhat.com>
314
315 * elf32-rx.c (describe_flags): Report the settings of the string
316 insn using bits.
317 (rx_elf_merge_private_bfd_data): Handle merging of the string insn
318 using bits.
319
51509926
L
3202015-04-08 H.J. Lu <hongjiu.lu@intel.com>
321
322 * compress.c (bfd_compress_section_contents): Work around a GCC
323 uninitialized warning bug fixed in GCC 4.7.
324
151411f8
L
3252015-04-08 H.J. Lu <hongjiu.lu@intel.com>
326
327 * archive.c (_bfd_get_elt_at_filepos): Also copy BFD_COMPRESS_GABI
328 bit.
329 * bfd.c (bfd::flags): Increase size to 18 bits.
330 (BFD_COMPRESS_GABI): New.
331 (BFD_FLAGS_SAVED): Add BFD_COMPRESS_GABI.
332 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
333 (bfd_update_compression_header): New fuction.
334 (bfd_check_compression_header): Likewise.
335 (bfd_get_compression_header_size): Likewise.
336 (bfd_is_section_compressed_with_header): Likewise.
337 * compress.c (MAX_COMPRESSION_HEADER_SIZE): New.
338 (bfd_compress_section_contents): Return the uncompressed size if
339 the full section contents is compressed successfully. Support
340 converting from/to .zdebug* sections.
341 (bfd_get_full_section_contents): Call
342 bfd_get_compression_header_size to get compression header size.
343 (bfd_is_section_compressed): Renamed to ...
344 (bfd_is_section_compressed_with_header): This. Add a pointer
345 argument to return compression header size.
346 (bfd_is_section_compressed): Use it.
347 (bfd_init_section_decompress_status): Call
348 bfd_get_compression_header_size to get compression header size.
349 Return FALSE if uncompressed section size is 0.
350 * elf.c (_bfd_elf_make_section_from_shdr): Support converting
351 from/to .zdebug* sections.
352 * bfd-in2.h: Regenerated.
353
87070c08
AM
3542015-04-07 Alan Modra <amodra@gmail.com>
355
356 * elf.c (_bfd_elf_get_reloc_section): Allow for .got.plt being
357 mapped to output .got section.
358
d3e454b9
AM
3592015-04-07 Alan Modra <amodra@gmail.com>
360
361 * elf32-ppc.c (struct ppc_elf_link_hash_entry): Add has_addr16_ha
362 and has_addr16_lo. Make has_sda_refs a bitfield.
363 (ppc_elf_check_relocs): Set new flags.
364 (ppc_elf_link_hash_table_create): Update default_params.
365 (ppc_elf_adjust_dynamic_symbol): Clear protected_def in cases
366 where we won't be making .dynbss entries or editing code. Set
367 params->pic_fixup when we'll edit code for protected var access.
368 (allocate_dynrelocs): Allocate got entry for edited code and
369 discard dyn_relocs.
370 (struct ppc_elf_relax_info): Add picfixup_size.
371 (ppc_elf_relax_section): Rename struct one_fixup to struct
372 one_branch_fixup. Rename fixups to branch_fixups. Size space for
373 pic fixups.
374 (ppc_elf_relocate_section): Edit non-PIC accessing protected
375 visibility variables to PIC. Don't emit dyn_relocs for code
376 we've edited.
377 * elf32-ppc.h (struct ppc_elf_params): Add pic_fixup.
378
ffa54770
NC
3792015-04-07 Nick Clifton <nickc@redhat.com>
380
381 * elf.c (_bfd_elf_is_local_label_name): Treat assembler generated
382 local labels as local.
383
4aa90cc0
L
3842015-04-06 H.J. Lu <hongjiu.lu@intel.com>
385
386 * compress.c (get_uncompressed_size): Removed.
387 (bfd_compress_section_contents): Use bfd_putb64 to write
388 uncompressed section size.
389 (bfd_init_section_decompress_status): Replace
390 get_uncompressed_size with bfd_getb64.
391
68f5ff89
L
3922015-04-04 H.J. Lu <hongjiu.lu@intel.com>
393
394 * elf.c (_bfd_elf_init_private_section_data): Also preserve the
395 SHF_COMPRESSED bit if not decompress.
396
8bed4e0f
L
3972015-04-04 H.J. Lu <hongjiu.lu@intel.com>
398
399 * compress.c (get_uncompressed_size): New. Extracted from ...
400 (bfd_init_section_decompress_status): This. Use it.
401
15c7659f
AT
4022015-04-02 Andrew Turner <andrew@freebsd.org>
403
404 * config.bfd: Add aarch64-*-freebsd* target triple.
405
39f3de7c
L
4062015-04-02 H.J. Lu <hongjiu.lu@intel.com>
407
408 * configure: Regenerated.
409
4106101c
MS
4102015-04-01 Tejas Belagod <tejas.belagod@arm.com>
411 Marcus Shawcroft <marcus.shawcroft@arm.com>
412 Jiong Wang <jiong.wang@arm.com>
413
414 * bfd-in.h (bfd_elf64_aarch64_set_options)
415 (bfd_elf32_aarch64_set_options): Add parameter.
416 * bfd-in2.h: Regenerated.
417 * elfnn-aarch64.c (aarch64_erratum_843419_stub)
418 (_bfd_aarch64_adrp_p, _bfd_aarch64_erratum_843419_sequence_p)
419 (_bfd_aarch64_erratum_843419_stub_name)
420 (_bfd_aarch64_erratum_843419_fixup)
421 (_bfd_aarch64_erratum_843419_scan)
422 (_bfd_aarch64_erratum_843419_branch_to_stub)
423 (_bfd_aarch64_erratum_843419_p): Define.
424 (enum elf_aarch64_stub_type): Define
425 aarch64_stub_erratum_843419_veneer.
426 (struct elf_aarch64_stub_hash_entry): Define adrp_offset.
427 (struct elf_aarch64_link_hash_table): Define fix_erratum_843419
428 and fix_erratum_843419_adr.
429 (stub_hash_newfunc): Initialize adrp_offset;
430 (_bfd_aarch64_add_stub_entry_after): Define.
431 (aarch64_map_one_stub, aarch64_build_one_stub)
432 (aarch64_size_one_stub): Handle
433 aarch64_stub_erratum_843419_veneer.
434 (_bfd_aarch64_resize_stubs): Round stub section size.
435 (elfNN_aarch64_size_stubs): Add scan for 843419.
436 (bfd_elfNN_aarch64_set_options): Add parameter. Initialize
437 fix_erratum_843419 and fix_erratum_843419_adr.
438 (struct erratum_835769_branch_to_stub_data): Add info.
439 (elfNN_aarch64_write_section): Initialise info. Handle 843419.
440 (elfNN_aarch64_size_dynamic_sections): Handle 843419.
441 * elfxx-aarch64.c (_bfd_aarch64_decode_adrp_imm)
442 (_bfd_aarch64_sign_extend): Define.
443 (reencode_adr_imm): Remove static. Rename to:
444 (_bfd_aarch64_reencode_adr_imm): Define.
445 (_bfd_aarch64_elf_put_addend): Call _bfd_aarch64_reencode_adr_imm.
446 * elfxx-aarch64.h (AARCH64_ADR_OP, AARCH64_ADRP_OP)
447 (AARCH64_ADRP_OP_MASK, _bfd_aarch64_sign_extend)
448 (_bfd_aarch64_decode_adrp_imm, _bfd_aarch64_reencode_adr_imm):
449 Define.
450
afa59b79
L
4512015-04-01 H.J. Lu <hongjiu.lu@intel.com>
452
453 * configure: Regenerated.
454
6036f486
ES
4552015-03-31 Ed Schouten <ed@nuxi.nl>
456
457 * config.bfd (targ_defvec): Set to x86_64_elf64_cloudabi_vec
458 for x86_64-*-cloudabi*.
459 * configure.ac: Handle x86_64_elf64_cloudabi_vec.
460 * configure: Regenerated.
461 * elf64-x86-64.c (TARGET_LITTLE_SYM): Support x86_64-*-cloudabi*.
462 (TARGET_LITTLE_NAME): Likewise.
463 (ELF_OSABI): Likewise.
464 (elf64_bed): Likewise.
465 * targets.c (x86_64_elf64_cloudabi_vec): New.
466 (_bfd_target_vector): Add x86_64_elf64_cloudabi_vec.
467
9ae46699
L
4682015-03-31 H.J. Lu <hongjiu.lu@intel.com>
469
470 * configure.ac: Revert the AM_ZLIB change.
471 * Makefile.in: Regenerated.
472 * aclocal.m4: Likewise.
473 * configure: Likewise.
474 * doc/Makefile.in: Likewise.
475
bd53a53a
L
4762015-03-30 H.J. Lu <hongjiu.lu@intel.com>
477
478 PR ld/18169
479 * elf-bfd.h (elf_backend_data): Add get_reloc_section.
480 (_bfd_elf_get_reloc_section): New.
481 * elf.c (_bfd_elf_get_reloc_section): Likewise.
482 (assign_section_numbers): Call get_reloc_section to look up the
483 section the relocs apply.
484 * elfxx-target.h (elf_backend_get_reloc_section): Likewise.
485 (elfNN_bed): Initialize get_reloc_section with
486 elf_backend_get_reloc_section.
487
243340ad
L
4882015-03-29 H.J. Lu <hongjiu.lu@intel.com>
489
490 * Makefile.am (ZLIB): New.
491 (ZLIBINC): Likewise.
492 (AM_CFLAGS): Add $(ZLIBINC).
493 (libbfd_la_LIBADD): Add $(ZLIB).
494 * compress.c: Don't check HAVE_ZLIB_H to include <zlib.h>.
495 (decompress_contents): Don't check HAVE_ZLIB_H.
243340ad
L
496 (bfd_compress_section_contents): Likewise.
497 (bfd_get_full_section_contents): Likewise.
498 (bfd_init_section_decompress_status): Likewise.
499 (bfd_init_section_compress_status): Likewise.
b51724e8 500 * configure.ac (AM_ZLIB): Removed.
243340ad
L
501 (zlibdir): New. AC_SUBST.
502 (zlibinc): Likewise.
503 Add --with-system-zlib.
504 * Makefile.in: Regenerated.
505 * acinclude.m4: Likewise.
506 * config.in: Likewise.
507 * configure: Likewise.
508 * doc/Makefile.in: Likewise.
509
b8417128
AM
5102015-03-27 Alan Modra <amodra@gmail.com>
511
512 PR ld/15228
513 PR ld/18167
514 * elflink.c (elf_merge_st_other): Add "sec" parameter. Don't set
515 protected_def when symbol section is read-only. Adjust all calls.
516 * elf-bfd.h (struct elf_link_hash_entry): Update protected_def comment.
517
93ca8569
TB
5182015-03-26 Tejas Belagod <tejas.belagod@arm.com>
519
520 * elfnn-aarch64.c (aarch64_build_one_stub): Replace the call to generic
521 _bfd_final_link_relocate with aarch64_relocate.
522
b19a8f85
L
5232015-03-26 H.J. Lu <hongjiu.lu@intel.com>
524
525 PR ld/18160
526 * elflink.c (elf_gc_sweep): Skip if relocation is incompatible.
527 (bfd_elf_gc_sections): Likewise.
528
61865519
MS
5292015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
530
531 * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Adjust stub section
532 size for initial branch.
533 (elfNN_aarch64_build_stubs): Write initial branch.
534 _bfd_aarch64_decode_(elfNN_aarch64_output_arch_local_syms): Write
535 mapping symbol on initial branch.
536
d9ced15d 5372015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
357d1523
MS
538
539 * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_scan):
540 Update erratum count.
541
d422d1c4
SKS
5422015-03-25 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
543
544 * elflink.c (_bfd_elf_gc_mark_extra_sections): Don't break on
545 first matching debug section.
546
8d001214
L
5472015-03-24 H.J. Lu <hongjiu.lu@intel.com>
548
549 PR gas/18087
550 * compress.c (bfd_compress_section_contents): Don't write the
551 zlib header and set contents as well as compress_status if
552 compression didn't make the section smaller.
553 (bfd_init_section_compress_status): Don't check compression
554 size here.
555
fc42baf3
NC
5562015-03-24 Nick Clifton <nickc@redhat.com>
557
558 PR binutils/17512
559 * coffgen.c (coff_get_normalized_symtab): Fix test for out of
560 range auxillary sections.
561
fc6d53be
MS
5622015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
563
564 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor
565 code into:
566 (_bfd_aarch64_get_stub_for_link_section): Define.
567
30068a6d
MS
5682015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
569
570 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Adjust
571 update of section_group[].stub_sec.
572
5421cc6e
MS
5732015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
574
575 * elfnn-aarch64.c (struct aarch64_erratum_835769_fix) Remove.
576 (erratum_835769_scan) Drop fix_table_size_p and fixes_p arguments.
577 Delete fixes, fix_table_size and associated code. Call
578 _bfd_aarch64_add_stub_entry_in_group. Rename to...
579 (bfd_aarch64_erratum_835769_scan): Define.
580 (elfNN_aarch64_size_stubs): Delete erratum_835769_fixes,
581 erratum_835769_fix_table_size, i and associated code. Relocate
582 call to _bfd_aarch64_erratum_835769_scan. Delete adhoc stub size
583 correction. Delete construction of stub entry from
584 erratum_835769_fixes array.
585
e572930b
MS
5862015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
587
588 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Use
589 _bfd_aarch64_add_stub_entry_in_group.
590
8131c122
AM
5912015-03-24 Alan Modra <amodra@gmail.com>
592
593 * elf64-ppc.c (ppc64_elf_relocate_section): Report overflow to
594 stubs, even those for undefined weak symbols. Otherwise, don't
595 report relocation overflow on branches to undefined strong
596 symbols. Fix memory leak.
597 * elf32-ppc.c (ppc_elf_relocate_section): Don't report relocation
598 overflow on branches to undefined strong symbols.
599
c53ed7cf
KS
6002015-03-23 Keith Seitz <keiths@redhat.com>
601
602 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Add
603 missing ';'.
604
94a75bde
MS
6052015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
606
607 * elfnn-aarch64.c (erratum_835769_scan): Factor stub name
608 construction into...
609 (_bfd_aarch64_erratum_835769_stub_name): Define.
610
13f622ec
MS
6112015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
612
613 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Factor out
614 stub resize code into...
615 (bfd_aarch64_resize_stubs): Define.
616
66585675
MS
6172015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
618
619 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor stub
620 creation code into...
621 (bfd_aarch64_create_stub_section): Define.
622
ef857521
MS
6232015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
624
625 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Rename
626 from elf_aarch64_create_or_find_stub_sec.
627 (_bfd_aarch64_add_stub_entry_in_group): Rename from
628 elfNN_aarch64_add_stub. Call
629 _bfd_aarch64_create_or_find_stub_sec.
630 (elfNN_aarch64_size_stubs, elfNN_aarch64_size_stubs): Call
631 _bfd_aarch64_add_stub_entry_in_group.
632
2144188d
MS
6332015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
634
635 * elfnn-aarch64.c (erratum_835769_scan) Add comment. Reverse
636 sense of boolean return.
637 (elfNN_aarch64_size_stubs): Adjust for above.
638
4c77202d
MS
6392015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
640
641 * elfnn-aarch64.c (elf_aarch64_create_or_find_stub_sec):
642 Remove unused parameter.
643 (elfNN_aarch64_size_stubs): Adjust for above.
644
9b9971aa
MS
6452015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
646
647 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Remove bfd_indx.
648
e2cdef47
MS
6492015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
650
651 * elfnn-aarch64.c (aarch64_erratum_835769_fixes)
652 (num_aarch64_erratum_835769_fixes): Remove.
653 (elfNN_aarch64_size_stubs): Remove assignments to above.
654
3d14faea
MS
6552015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
656
23956543
MS
657 * elfnn-aarch64.c (aarch64_mem_op_p): Update comment. Rename rtn
658 to rt2.
3d14faea
MS
659 (aarch64_erratum_seqeunce): Rename rtn to rt2.
660
f872121a
MS
6612015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
662
663 * elfnn-aarch64.c (elfNN_aarch64_write_section): Adjust layout.
664
1740ba0c
NC
6652015-03-19 Nick Clifton <nickc@redhat.com>
666
667 * elf32-rl78.c (rl78_cpu_name): New function. Prints the name of
668 the RL78 core based upon the flags.
669 (rl78_elf_merge_private_bfd_data): Handle merging of G13 and G14
670 flags.
671 (rl78_elf_print_private_bfd_data): Use rl78_cpu_name.
672 (elf32_rl78_machine): Always return bfd_mach_rl78.
673
e2575e05
NC
6742015-03-19 Nick Clifton <nickc@redhat.com>
675
676 PR 18078
677 * compress.c (bfd_compress_section_contents): Do not define this
678 function if it is not used.
679
0b0732e1
L
6802015-03-18 H.J. Lu <hongjiu.lu@intel.com>
681
682 * compress.c (bfd_compress_section_contents): Make it static.
683 * bfd/bfd-in2.h: Regenerated.
684
27aaeda0
NC
6852015-03-18 Eric Youngdale <eyoungdale@ptc.com>
686
687 PR ld/16598
688 * peicode.h (pe_ILF_build_a_bfd): Add support for creating relocs
689 suitable for the AMD64.
690
273a4985
JT
6912015-03-18 Jon Turney <jon.turney@dronecode.org.uk>
692 Nick Clifton <nickc@redhat.com>
693
694 PR binutils/18087
695 * coffgen.c (make_a_section_from_file): Only prepend a z to a
696 debug section's name if the section was actually compressed.
697 * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
698 * compress.c (bfd_init_section_compress_status): Do not compress
699 the section if doing so would make it bigger. In such cases leave
700 the section alone and return COMPRESS_SECTION_NONE.
701
c4b0b099
AM
7022015-03-17 Alan Modra <amodra@gmail.com>
703
704 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return count of 0
705 on nothing to do, before malloc of returned symbol array.
706
9c761a55
NC
7072015-03-16 Nick Clifton <nickc@redhat.com>
708
709 * elf32-rx.c (elf32_rx_relax_delete_bytes): If the relocs are not
710 stored in the elf_section_data structure then load them as
711 necessary.
712
b9005ba7
AK
7132015-03-14 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
714
715 * elf-s390-common.c (elf_s390_elf_sort_relocs_p): Don't sort
716 relocs against code sections.
717 * elf32-s390.c: Define elf_backend_sort_relocs_p.
718 * elf64-s390.c: Likewise.
719
1079403c
AM
7202015-03-11 Alan Modra <amodra@gmail.com>
721
722 * elf32-ppc.c (ppc_elf_get_synthetic_symtab): Examine stubs in
723 reverse order. Account for larger size of __tls_get_addr_opt stub.
724
a5721edd
JW
7252015-03-10 Yuri Gribov <y.gribov@samsung.arm>
726
727 PR ld/16572
728 * elf32-arm.c (elf32_arm_final_link_relocate): Remove support for
729 ELF_ARM_HASENTRY.
730 (elf32_arm_print_private_bfd_data): Likewise.
731
65164438
NC
7322015-03-06 Nick Clifton <nickc@redhat.com>
733
734 PR binutils/17765
735 * elflink.c (put_value): Like previous delta, but for the 32-bit
736 case.
737
41cd1ad1
NC
7382015-03-05 Nick Clifton <nickc@redhat.com>
739
740 PR binutils/17765
741 * elflink.c (put_value): Avoid using an undefined shift
742 operation.
743
ca3fe95e
L
7442015-03-05 H.J. Lu <hongjiu.lu@intel.com>
745
746 PR ld/pr15228
747 PR ld/pr17709
748 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
749 * elf32-i386.c (elf_backend_extern_protected_data): New.
750 Defined to 1.
751 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
752 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
753 copy relocs against protected symbols if extern_protected_data
754 is true.
755 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
756 non-function symbols if extern_protected_data is true.
757 * elfxx-target.h (elf_backend_extern_protected_data): New.
758 Default to 0.
759 (elfNN_bed): Initialize extern_protected_data with
760 elf_backend_extern_protected_data.
761
425bd9e1
NC
7622015-03-05 Nick Clifton <nickc@redhat.com>
763
764 PR binutils/18025
765 * coffgen.c (coff_find_nearest_line_with_names): If the dwarf2
766 lookup fails, check for an address bias in the dwarf info, and if
767 one exists, retry the lookup with the biased value.
768 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): New function.
769 Determines if a bias exists bewteen the addresses of functions
770 based on DWARF information vs symbol table information.
771 * libbfd-in.h (_bfd_dwarf2_find_symbol_bias): Prototype.
772 * libbfd.h: Regenerate.
773
8ef229f3
MS
7742015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
775
776 * elfxx-aarch64.c (decode_add_imm, decode_movw_imm)
777 (decode_tst_branch_ofs_14, decode_ld_lit_ofs_19)
778 (decode_cond_branch_ofs_19, decode_branch_ofs_26): Remove.
779
8e2fe09f
MS
7802015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
781
782 * elfnn-aarch64.c (aarch64_build_one_stub): Call abort.
783 (aarch64_size_one_stub): Likewise.
784 (aarch64_map_one_stub): Likewise.
785
df88b702
AA
7862015-03-04 Andreas Arnez <arnez@linux.vnet.ibm.com>
787
788 * cpu-s390.c (N): New macro.
789 (bfd_s390_31_arch): New. Define only if default target word size
790 is 64 bits. Otherwise define...
791 (bfd_390_64_arch): ...this. Make static.
792 (bfd_s390_arch): Define according to the default target word size.
793 Let the 'next' field point to the alternate arch.
794
e09ab7ac
RS
7952015-03-04 Richard Sandiford <richard.sandiford@arm.com>
796
797 PR gas/17843
798 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Expect
799 R_AARCH64_TLSLE_MOVW_TPREL_G0_NC and R_AARCH64_TLSLE_MOVW_TPREL_G1_NC
800 to be used with MOVK rather than MOVZ.
801
71eef2bd
DD
8022015-03-03 DJ Delorie <dj@redhat.com>
803
804 * elf32-rl78.c (rl78_elf_relax_section): Only relax ADDR16's if
805 there's a symbol.
806
f01f1741
AM
8072015-02-28 Alan Modra <amodra@gmail.com>
808
809 * elf32-ppc.c (ppc_elf_tls_setup): Set no_tls_get_addr_opt if
810 not PLT_NEW.
811
c1d11331
L
8122015-02-27 H.J. Lu <hongjiu.lu@intel.com>
813
814 * elf32-i386.c (need_convert_mov_to_lea): New.
815 (elf_i386_check_relocs): Set need_convert_mov_to_lea if needed.
816 (elf_i386_convert_mov_to_lea): Return TRUE if
817 need_convert_mov_to_lea is unset.
818 * elf64-x86-64.c (need_convert_mov_to_lea): New.
819 (elf_x86_64_check_relocs): Set need_convert_mov_to_lea if needed.
820 (elf_x86_64_convert_mov_to_lea): Return TRUE if
821 need_convert_mov_to_lea is unset.
822
cdb602b1
NC
8232015-02-27 Nick Clifton <nickc@redhat.com>
824
825 PR binutils/17910
826 * coffgen.c (_bfd_coff_internal_syment_name): Only check for
827 string length overflow when the string table length is actually
828 set.
829
96c20bc1
MS
8302015-02-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
831
832 * bfd/bfd-in2.h: Regenerate.
833 * bfd/libbfd.h: Regenerate.
834
1ada945d
MS
8352015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
836
837 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix
838 TLSDESC_LD_PREL19 field width and masks.
839 (aarch64_tls_transition_without_check)
840 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
841 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
842 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
843 BFD_RELOC_AARCH64_TLSDESC_LD_PREL19.
844 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
845 (_bfd_aarch64_elf_resolve_relocation): Likewise.
846
389b8029
MS
8472015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
848
73920eed
MS
849 * elfnn-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Reorder R_TYPE
850 tests.
389b8029
MS
851 (aarch64_tls_transition_without_check)
852 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
853 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
854 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
855 BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21.
856 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
857 (_bfd_aarch64_elf_resolve_relocation): Likewise.
858 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
859
3c12b054
MS
8602015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
861
862 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC)
863 (elfNN_aarch64_howto_table, aarch64_tls_transition_without_check)
864 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
865 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
866 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
867 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
868 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
869 (_bfd_aarch64_elf_resolve_relocation): Likewise.
870 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
871
043bf05a
MS
8722015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
873
874 * elfnn-aarch64.c: (TLSIE_LD_GOTTREL_PREL19): Fix HOWTO bit field width.
875 (aarch64_tls_transition_without_check, aarch64_reloc_got_type)
876 (elfNN_aarch64_final_link_relocate, elfNN_aarch64_tls_relax)
877 (elfNN_aarch64_relocate_section, elfNN_aarch64_gc_sweep_hook)
878 (elfNN_aarch64_check_relocs): Handle
879 BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19.
880
881 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
882 (_bfd_aarch64_elf_resolve_relocation): Likewise.
883
7366006f
MS
8842015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
885
886 * elfnn-aarch64.c: (TLSDESC_CALL): Fix HOWTO bit field width.
887
07875fbc
MS
8882015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
889
890 * elfnn-aarch64.c (TLSLE_MOVW_TPREL_G2)
891 (TLSLE_MOVW_TPREL_G1, TLSLE_MOVW_TPREL_G1_NC)
892 (TLSLE_MOVW_TPREL_G0, TLSLE_MOVW_TPREL_G0_NC): Fix bit field
893 width.
894
49d8f92c
MS
8952015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
896
897 * elfnn-aarch64.c: (TLSIE_MOVW_GOTTPREL_G0_NC): Fix HOWTO bit
898 field width.
899
c86934ce
NC
9002015-02-26 Nick Clifton <nickc@redhat.com>
901
902 PR binutils/17512
903 * coffcode.h (coff_compute_section_file_positions): Report
904 negative page sizes.
905 * elf.c (elf_fake_sections): Handle excessive alignmment powers.
906 (assign_file_positions_for_non_load_sections): Replace assertion
907 with an error message.
908 (rewrite_elf_program_header): Handle excessive segment
909 alignments.
910 * mach-o.c (bfd_mach_o_read_section_32): Likewise.
911 (bfd_mach_o_read_section_64): Likewise.
912 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Use %B to
913 print a bfd name, not %A.
914
bd4d2eaa
AM
9152015-02-26 Alan Modra <amodra@gmail.com>
916
917 * elf64-ppc.c (plt_stub_size, build_plt_stub): Don't build
918 thread-safe stubs for iplt.
919 (build_tls_get_addr_stub): Restore r2 immediately after call.
920
99654aaf
TG
9212015-02-26 Terry Guo <terry.guo@arm.com>
922
923 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Update how we
924 merge Tag_ABI_HardFP_use.
925
a127494f
AM
9262015-02-26 Alan Modra <amodra@gmail.com>
927
928 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Heed -z nocopyreloc.
929 Use text relocs rather than giving an error on trying to use
930 .dynbss for protected shared lib vars.
931 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
932
bac13f5a
AB
9332015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
934
935 * elf32-avr.c (struct elf_avr_section_data): New structure.
936 (struct avr_relax_info): New structure.
937 (elf_avr_new_section_hook): New function.
938 (struct elf_avr_section_data): Add relax_info.
939 (get_avr_relax_info): New function.
940 (init_avr_relax_info): New function.
941 (elf32_avr_relax_delete_bytes): Find next property record before
942 deleting bytes. When deleting don't move bytes beyond the next
943 property record.
944 (avr_elf32_assign_records_to_section): New function.
945 (avr_property_record_compare): New function.
946 (avr_load_all_property_sections): New function.
947 (elf32_avr_relax_section): Load property data. After relaxing the
948 section, move any .align directives that have enough deleted bytes
949 before them.
950 (bfd_elf32_new_section_hook): Define.
951
137c83d6
AB
9522015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
953
954 * elf32-avr.h (struct avr_property_header): New strucure.
955 (avr_elf32_load_property_records): Declare.
956 (avr_elf32_property_record_name): Declare.
957 * elf32-avr.c: Add bfd_stdint.h include.
958 (retrieve_local_syms): New function.
959 (get_elf_r_symndx_section): New function.
960 (get_elf_r_symndx_offset): New function.
961 (internal_reloc_compare): New function.
962 (struct avr_find_section_data): New structure.
963 (avr_is_section_for_address): New function.
964 (avr_find_section_for_address): New function.
965 (avr_elf32_load_records_from_section): New function.
966 (avr_elf32_load_property_records): New function.
967 (avr_elf32_property_record_name): New function.
968
fdd410ac
AB
9692015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
970
971 * elf32-avr.h (AVR_PROPERTY_RECORD_SECTION_NAME): Define.
972 (AVR_PROPERTY_RECORDS_VERSION): Define.
973 (AVR_PROPERTY_SECTION_HEADER_SIZE): Define.
974 (struct avr_property_record): New structure.
975
685080f2
NC
9762015-02-24 Nick Clifton <nickc@redhat.com>
977
978 * elf32-v850.c (v850_set_note): New function. Creates a Renesas
979 style note entry.
980 (v850_elf_make_note_section): New function. Creates a note
981 section.
982 (v850_elf_create_sections): New function. Create a note section
983 if one is not already present.
984 (v850_elf_set_note): New function. Adds a note to a bfd.
985 (v850_elf_copy_private_bfd_data): New function. Copies V850
986 notes.
987 (v850_elf_merge_notes): New function. Merges V850 notes.
988 (print_v850_note): New function. Displays a V850 note.
989 (v850_elf_print_notes): New function. Displays all notes attached
990 to a bfd.
991 (v850_elf_merge_private_bfd_data): Call v850_elf_merge_notes.
992 (v850_elf_print_private_bfd_data): Call v850_elf_print_notes.
993 (v850_elf_fake_sections): Set the type of the V850 note section.
994 * bfd-in.h (v850_elf_create_sections): Add prototype.
995 (v850_elf_set_note): Add prototype.
996 * bfd-in2.h: Regenerate.
997
31593e1b
NC
9982015-02-24 Nick Clifton <nickc@redhat.com>
999
1000 * configure.ac (AC_CHECK_HEADERS): Add wctype.h.
1001 * configure: Regenerate.
1002 * config.in: Regenerate.
1003 * peXXigen.c: Include wctype.h if HAVE_WCTYPE_H is defined.
1004 (u16_mbtowc): Use wint_t types if HAVE_WCTYPE_H is defined.
1005 (rsrc_cmp): Use towlower instead of wcsncasecmp if HAVE_WCTYPE_H
1006 is defined.
1007
3ad797fd
NC
10082015-02-24 Nick Clifton <nickc@redhat.com>
1009
1010 * pdp11.c (set_section_contents): Pad the .text and .data sections
1011 to their aligned sizes.
1012
5518c738
YS
10132015-02-23 Yoshinori Sato <ysato@users.sourceforge.jp>
1014
1015 * config.bfd: Add h8300-*-linux.
1016 * configure.ac: Add h8300_elf32_linux_vec.
1017 * configure: Regenerate.
1018 * elf32-h8300.c: Likewise.
1019 * targets.c(_bfd_target_vector): Likewise.
1020
cb967f0d
NC
10212015-02-23 Nick Clifton <nickc@redhat.com>
1022
1023 PR 17914
1024 * cpu-w65.c: Correct typos in license notice.
1025
0f8f0c57
NC
1026 PR 17940
1027 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust debug
1028 symbols at end of sections. Adjust function sizes.
1029
4ef9f41a
AA
10302015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
1031
1032 * elf-bfd.h (elfcore_write_s390_vxrs_low): Add prototype.
1033 (elfcore_write_s390_vxrs_high): Likewise.
1034 * elf.c (elfcore_grok_s390_vxrs_low): New function.
1035 (elfcore_grok_s390_vxrs_high): New function.
1036 (elfcore_grok_note): Call them.
1037 (elfcore_write_s390_vxrs_low): New function.
1038 (elfcore_write_s390_vxrs_high): New function.
1039 (elfcore_write_register_note): Call them.
1040
837914ee
BD
10412015-02-19 Branko Drevensek <branko.drevensek@gmail.com>
1042
1043 PR 17995
1044 * verilog.c (verilog_write_record): Correct buffer size.
1045
cf18fda4
AM
10462015-02-19 Alan Modra <amodra@gmail.com>
1047
1048 * elflink.c (_bfd_elf_define_linkage_sym): Set 'bed' earlier.
1049
d983c8c5
AM
10502015-02-19 Alan Modra <amodra@gmail.com>
1051
1052 PR ld/4317
1053 * elflink.c (elf_link_input_bfd): Drop undefined local syms.
1054 (elf_link_output_extsym): Drop local and global undefined syms.
1055 Tidy. Expand comment.
1056
2ec55de3
AM
10572015-02-17 Alan Modra <amodra@gmail.com>
1058
1059 PR ld/17975
1060 * elflink.c (struct elf_outext_info): Remove need_second_pass
1061 and second_pass.
1062 (elf_link_output_extsym): Delete code handling second forced
1063 local pass. Move code emitting NULL STT_FILE symbol later, so
1064 that it can be omitted if forced local is stripped. Don't
1065 emit the NULL STT_FILE if no file symbols have been output.
1066 (bfd_elf_final_link): Remove second forced local pass.
1067 * elf32-ppc.c (add_stub_sym): Set linker_def on linker syms.
1068 (ppc_elf_size_dynamic_sections): Likewise.
1069 * elf64-ppc.c (ppc_build_one_stub): Likewise.
1070 (build_global_entry_stubs): Likewise.
1071 (ppc64_elf_build_stubs): Likewise.
1072
6dfb72b9
L
10732015-02-16 H.J. Lu <hongjiu.lu@intel.com>
1074
1075 PR ld/17975
1076 * elflink.c (elf_link_output_extsym): Only check filesym_count
1077 when outputting a NULL FILE symbol. Set second_pass_sym to
1078 h->forced_local && !h->root.linker_def.
1079
576fa883
L
10802015-02-15 H.J. Lu <hongjiu.lu@intel.com>
1081
1082 * elf32-i386.c (elf_i386_always_size_sections): Set root.linker_def
1083 on _TLS_MODULE_BASE_.
1084 * elf64-x86-64.c (elf_x86_64_always_size_sections): Likewise.
1085
62f8d217
AM
10862015-02-15 Alan Modra <amodra@gmail.com>
1087
1088 * dwarf2.c (read_rangelist): Correct buffer overflow check
1089 Whitespace throughout file.
1090
ce875075
AM
10912015-02-14 Alan Modra <amodra@gmail.com>
1092
1093 PR ld/17973
1094 * bfd.c (struct bfd): Add lto_output.
1095 * linker.c (_bfd_handle_already_linked): Explicitly test for
1096 objects added by the lto plugin.
1097 * opncls.c (_bfd_new_bfd_contained_in): Copy lto_output and
1098 no_export flags from archive.
1099 * archive.c (open_nested_file): New function, setting lto_output
1100 and no_export, extracted from..
1101 (find_nested_archive): ..here. Flip params. Rename from
1102 _bfd_find_nested_archive.
1103 (_bfd_get_elt_at_filepos): Correct var typo. Use open_nested_file.
1104 (_bfd_look_for_bfd_in_cache): Copy no_export.
1105 * elflink.c (elf_link_add_object_symbols): Remove now unnecessary
1106 my_archive->no_export test.
1107 (elf_link_input_bfd): Drop existing lto_output STT_FILE syms.
1108 Don't use the file name when adding lto_output STT_FILE sym.
1109 * bfd-in2.h: Regenerate.
1110
451dfd38
AM
11112015-02-13 Alan Modra <amodra@gmail.com>
1112
1113 PR binutils/17512
1114 * elf64-ppc.c (opd_entry_value): Tighten offset check. Remove
1115 now redundant assert.
1116
dbb3fbbb
NC
11172015-02-12 Nick Clifton <nickc@redhat.com>
1118
1119 PR binutils/17512
1120 * dwarf.c (read_1_byte, read_1_signed_byte, read_2_bytes)
1121 (read_4_bytes, read_8_bytes, read_n_bytes, read_string)
1122 (read_indirect_string, read_alt_indirect_string)
1123 (read_alt_indirect_ref, read_address, read_abbrevs)
1124 (read_attribute_value, read_attribute, decode_line_info)
1125 (find_abstract_instance_name, read_rangelist)
1126 (scan_unit_for_symbols, parse_comp_unit)
1127 (_bfd_dwarf2_find_nearest_line): Harden DWARF reading code. Pass
1128 end pointers to reading functions and check for offsets taking
1129 pointers out of range. Replace calls to read_*_leb128 with calls
1130 to safe_read_leb128.
1131
1132 (* elf64-ppc.c (opd_entry_value): Add a check for an overlarge
1133 offset.
1134 * syms.c (_bfd_stab_section_find_nearest_line): Add checks for
1135 computed file_name address being before the start of the string
1136 table.
1137
b9dc5a87
L
11382015-02-11 H.J. Lu <hongjiu.lu@intel.com>
1139
1140 PR ld/17878
1141 * bfd.c (bfd_plugin_format): New.
1142 (bfd): Add plugin_format and plugin_dummy_bfd.
1143 * plugin.c (try_load_plugin): Take a pointer to bfd_boolean
1144 argument to return TRUE if any plugin is found. Set plugin_format.
1145 (has_plugin): New.
1146 (bfd_plugin_target_p): New.
1147 (bfd_plugin_specified_p): Likewise.
1148 (bfd_plugin_target_p): Likewise.
1149 (register_ld_plugin_object_p): Likewise.
1150 (bfd_plugin_set_plugin): Set has_plugin.
1151 (load_plugin): Cache try_load_plugin result.
1152 (bfd_plugin_object_p): Try ld_plugin_object_p first. Check
1153 plugin_format.
1154 * plugin.h (bfd_plugin_target_p): New.
1155 (bfd_plugin_specified_p): Likewise.
1156 (register_ld_plugin_object_p): Likewise.
1157 * bfd-in2.h: Regenerated.
1158
55172d69
PA
11592015-02-11 Pedro Alves <palves@redhat.com>
1160
1161 * libbfd-in.h [__cplusplus]: Open extern "C" scope.
1162 * libcoff-in.h [__cplusplus]: Open extern "C" scope.
1163 * libbfd.h: Regenerate.
1164 * libcoff.h: Regenerate.
1165
1166 * elf-bfd.h [__cplusplus]: Wrap in extern "C".
1167 * mach-o.h [__cplusplus]: Wrap in extern "C".
1168 * som.h [__cplusplus]: Wrap in extern "C".
1169
77ef8654
NC
11702015-02-10 Nick Clifton <nickc@redhat.com>
1171
1172 PR binutils/17512
1173 * coffcode.h (styp_to_sec_flags): Use an unsigned long type to
1174 hold the flag bits.
1175 * peXXigen.c (pe_print_reloc): Use unsigned types to hold the
1176 size and number of relocs.
1177 (pe_print_debugdata): Use a 32-bit aligned buffer to store the
1178 codeview record.
1179 * versados.c (process_otr): Check the esdid value before using it
1180 to access the EDATA.
1181
35181b3e
EM
11822015-02-09 Ed Maste <emaste@freebsd.org>
1183
1184 * elf32-i386.c (elf_i386_get_plt_sym_val): Avoid incrementing
1185 uninitialized and unused variable.
1186 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
1187
989f9879
AM
11882015-02-09 Alan Modra <amodra@gmail.com>
1189
1190 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault on NULL
1191 tls_sec.
1192 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1193 * elflink.c (elf_link_output_extsym): Don't assert on NULL tls_sec.
1194
ca4be51c
AM
11952015-02-09 Alan Modra <amodra@gmail.com>
1196
1197 * elflink.c: Whitespace, formatting fixes.
1198 (elf_link_input_bfd): Clarify comment.
1199 (elf_link_output_extsym): Exclude symbols in linker created
1200 sections when testing for plugin symbols.
1201
1952c5cd
L
12022015-02-07 H.J. Lu <hongjiu.lu@intel.com>
1203
1204 PR ld/17935
1205 * elf32-i386.c (elf_i386_readonly_dynrelocs): Also issue a
1206 warning for relocation in readonly section for -z text.
1207 (elf_i386_size_dynamic_sections): Likewise.
1208 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
1209 (elf_x86_64_size_dynamic_sections): Likewise.
1210
9e2dec47
L
12112015-02-06 H.J. Lu <hongjiu.lu@intel.com>
1212
1213 PR ld/12365
1214 PR ld/14272
1215 * elflink.c (_bfd_elf_fix_symbol_flags): Revert the last change.
1216 (elf_link_input_bfd): Mark the plugin symbol undefined if it is
1217 referenced from a non-IR file.
1218
5929c344
NC
12192015-02-06 Nick Clifton <nickc@redhat.com>
1220
1221 PR binutils/17512
1222 * peXXigen.c (rsrc_print_resource_entries): Add range check for
1223 addresses that wrap around the address space.
1224 (rsrc_parse_entry): Likewise.
1225
60f79275
L
12262015-02-03 H.J. Lu <hongjiu.lu@intel.com>
1227
1228 PR ld/12365
1229 PR ld/14272
1230 * elflink.c (_bfd_elf_fix_symbol_flags): Mark the plugin symbol
1231 undefined if it is referenced from a non-IR file.
1232
64d29018
NC
12332015-02-03 Nick Clifton <nickc@redhat.com>
1234
1235 PR binutils/17512
1236 * ecoff.c: Use bfd_alloc2 to allocate space for structure arrays.
1237 (_bfd_ecoff_slurp_symbol_table): Check for a negative symbol
1238 index or an out of range fdr index.
1239 * elf-m10300.c (mn10300_info_to_howto): Fix typo in error message.
1240 * elf32-arc.c (arc_info_to_howto_rel): Likewise.
1241 * elf32-avr.c (avr_info_to_howto_rela): Likewise.
1242 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
1243 * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
1244 * elf32-cris.c (cris_info_to_howto_rela): Likewise.
1245 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
1246 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
1247 * elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
1248 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
1249 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
1250 * elf32-frv.c (frv_info_to_howto_rela): Likewise.
1251 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
1252 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
1253 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
1254 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
1255 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
1256 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
1257 * elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
1258 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
1259 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
1260 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
1261 * elf32-mep.c (mep_info_to_howto_rela): Likewise.
1262 * elf32-metag.c (metag_info_to_howto_rela): Likewise.
1263 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
1264 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
1265 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
1266 * elf32-mt.c (mt_info_to_howto_rela): Likewise.
1267 * elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
1268 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
1269 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
1270 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
1271 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
1272 * elf32-rx.c (rx_info_to_howto_rela): Likewise.
1273 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
1274 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
1275 * elf32-v850.c (v850_elf_perform_relocation): Likewise.
1276 * elf32-vax.c (rtype_to_howto): Likewise.
1277 * elf32-visium.c (visium_info_to_howto_rela): Likewise.
1278 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
1279 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
1280 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
1281 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
1282 * mach-o.c: Use bfd_alloc2 to allocate space for structure arrays.
1283 (bfd_mach_o_canonicalize_one_reloc): Fix check on out
1284 of range symbol indicies.
1285 (bfd_mach_o_canonicalize_relocs): Check for out of range alloc.
1286 (bfd_mach_o_canonicalize_dynamic_reloc): Likewise.
1287 (bfd_mach_o_build_dysymtab): Likewise.
1288 (bfd_mach_o_write_symtab_content): Set the string table size to
1289 zero upon error.
1290 (bfd_mach_o_read_symtab_symbols): Reset the nsyms value if the
1291 read fails.
1292 * peXXigen.c (pe_print_edata): Check for numeric overflow in edt
1293 fields.
1294 * tekhex.c (first_phase): Check for src pointer reaching end of
1295 buffer.
1296
3a635617
WN
12972015-02-03 Will Newton <will.newton@linaro.org>
1298
46b87d49
WN
1299 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol):
1300 Set st_value to zero for undefined symbols if the reference
1301 is weak or pointer_equality_needed is FALSE.
1302
3a635617
WN
1303 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve
1304 comment discussing why we clear st_value for some symbols.
1305
0c4bd9d9
KLC
13062015-02-02 Kuan-Lin Chen <kuanlinchentw@gmail.com>
1307
1308 * elf32-nds32.c (nds32_get_section_contents): Add one more argument.
1309 (nds32_elf_relocate_section): Do not relocate R_NDS32_LONGJUMP7.
1310
b86ac8e3
AM
13112015-01-29 Alan Modra <amodra@gmail.com>
1312
1313 * elf64-ppc.c (ppc64_elf_relocate_section): Correct GOT_TLSLD
1314 optimization. Tidy mask for GOT_TLSGD optimization.
1315 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Correct
1316 location of nop zapping high insn too.
1317
dbd1e97e
AM
13182015-01-28 Alan Modra <amodra@gmail.com>
1319
1320 * elf64-ppc.h (struct ppc64_elf_params): Add "object_in_toc".
1321 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Assume that global symbols
1322 in .toc indicate xlc compiled code that might require a rw .toc.
1323
3f8107ab
AM
13242015-01-28 James Bowman <james.bowman@ftdichip.com>
1325
1326 * Makefile.am: Add FT32 files.
1327 * archures.c (enum bfd_architecture): Add bfd_arch_ft32.
1328 (bfd_mach_ft32): Define.
1329 (bfd_ft32_arch): Declare.
1330 (bfd_archures_list): Add bfd_ft32_arch.
1331 * config.bfd: Handle FT32.
1332 * configure.ac: Likewise.
1333 * cpu-ft32.c: New file.
1334 * elf32-ft32.c: New file.
1335 * reloc.c (BFD_RELOC_FT32_10, BFD_RELOC_FT32_20, BFD_RELOC_FT32_17,
1336 BFD_RELOC_FT32_18): Define.
1337 * targets.c (_bfd_target_vector): Add ft32_elf32_vec.
1338 * bfd-in2.h: Regenerate.
1339 * libbfd.h: Regenerate.
1340 * Makefile.in: Regenerate.
1341 * configure: Regenerate.
1342 * po/SRC-POTFILES.in: Regenerate.
1343
37e3922e
NC
13442015-01-27 Nick Clifton <nickc@redhat.com>
1345
1346 PR binutils/17512
1347 * pdp11.c (aout_get_external_symbols): Return false if there are
1348 no symbols.
1349
877a8638
NC
1350 * dwarf2.c (concat_filename): Check for an empty directory table.
1351 (scan_unit_for_symbols): Check for reading off the end of the
1352 unit.
1353 (parse_comp_unit): Check for a DW_AT_comp_dir attribute with a
1354 non-string form.
1355 * elf64-ppc.c (opd_entry_value): Fail if there are no relocs
1356 available.
1357
18393a2e
KLC
13582015-01-26 Kuan-Lin Chen <kuanlinchentw@gmail.com>
1359
1360 * elf32-nds32.c (nds32_elf_pick_relax): Fix again setting.
1361
055173ca
DD
13622015-01-22 DJ Delorie <dj@redhat.com>
1363
1364 * elf32-m32c.c (m32c_apply_reloc_24): New.
1365 (m32c_elf_howto_table): Use it for R_M32C_24.
1366 (m32c_elf_relocate_section): Handle R_M32C_24 specially.
1367
4e5cb37e
NC
13682015-01-22 Nick Clifton <nickc@redhat.com>
1369
1370 PR binutils/17512
1371 * coffcode.h (handle_COMDAT): When searching for the section
1372 symbol, make sure that there is space left in the symbol table.
1373 * vms-alpha.c (_bfd_vms_slurp_ehdr): Add range checks.
1374
86eafac0
NC
13752015-01-21 Nick Clifton <nickc@redhat.com>
1376
1377 PR binutils/17512
1378 * coffcode.h (coff_set_arch_mach_hook): Check return value from
1379 bfd_malloc.
1380 (coff_slurp_line_table): Return FALSE if the line number
1381 information was corrupt.
1382 (coff_slurp_symbol_table): Return FALSE if the symbol information
1383 was corrupt.
1384 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Always
1385 initialise the fields of the dyld_info structure.
1386 (bfd_mach_o_build_exec_seg_command): Replace assertion with an
1387 error message and a return value.
1388 (bfd_mach_o_layout_commands): Change the function to boolean.
1389 Return FALSE if the function fails.
1390 (bfd_mach_o_build_commands): Fail if bfd_mach_o_layout_commands
1391 fails.
1392 (bfd_mach_o_read_command): Fail if an unrecognised command is
1393 encountered.
1394 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Set bfd_error if the
1395 read fails.
1396 (slurp_symtab): Check the return from bfd_malloc.
1397 (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if the copy
1398 encountered an error.
1399 (_bfd_XXi_final_link_postscript): Fail if a section could not be
1400 copied.
1401 * peicode.h (pe_bfd_object_p): Fail if the header could not be
1402 swapped in.
1403 * tekhex.c (first_phase): Fail if the section is too big.
1404 * versados.c (struct esdid): Add content_size field.
1405 (process_otr): Use and check the new field.
1406 (versados_get_section_contents): Check that the section exists and
1407 that the requested data is available.
1408
03d5b773
CLT
14092015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
1410
1411 * elf32-nios2.c (elf_backend_default_execstack): Define as 0.
1412
1c9177d9
AM
14132015-01-20 Alan Modra <amodra@gmail.com>
1414
1415 PR ld/17615
1416 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Don't drop
1417 ELF_COMMON_DEF syms.
1418
c4621b33
AM
14192015-01-19 Alan Modra <amodra@gmail.com>
1420
3e2aa5bb 1421 PR ld/17615
c4621b33
AM
1422 * elf-bfd.h (ELF_COMMON_DEF_P): Note that this might be true for
1423 linker script assignments too.
1424 * elflink.c (elf_gc_sweep_symbol): Don't drop ELF_COMMON_DEF syms.
1425 (bfd_elf_gc_mark_dynamic_ref_symbol): Similarly.
1426
0ba38529
AM
14272015-01-19 Alan Modra <amodra@gmail.com>
1428
1429 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Correct loop iteration
1430 to allow return of first howto.
1431 * elf32-fr30.c (fr30_reloc_type_lookup): Likewise.
1432 * elf32-m32c.c (m32c_reloc_type_lookup): Likewise.
1433 * elf32-moxie.c (moxie_reloc_type_lookup): Likewise.
1434 * elf32-or1k.c (or1k_reloc_type_lookup): Likewise.
1435 * elf32-rl78.c (rl78_reloc_type_lookup): Likewise.
1436 * elf32-rx.c (rx_reloc_type_lookup): Likewise.
1437 * elf32-tilepro.c (tilepro_reloc_type_lookup): Likewise.
1438 * elf32-xstormy16.c (xstormy16_reloc_type_lookup): Likewise.
1439 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
1440 * elf32-nios2.c (nios2_reloc_map): Add mapping for R_NIOS2_NONE.
1441 * elf32-spu.c (spu_elf_bfd_to_reloc_type): Allow return of R_SPU_NONE.
1442 (spu_elf_reloc_type_lookup): Adjust to suit.
1443
6346d5ca
AM
14442015-01-19 Alan Modra <amodra@gmail.com>
1445
1446 * bfd-in.h (bfd_get_section_limit_octets): New define, extracted from..
1447 (bfd_get_section_limit): ..here.
1448 * reloc.c (bfd_perform_relocation): Correct bfd_reloc_outofrange check.
1449 (bfd_install_relocation, _bfd_final_link_relocate): Add same check here.
1450 * elf32-sh.c (sh_elf_reloc): Correct bfd_reloc_outofrange check.
1451 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Remove duplicated
1452 bfd_reloc_outofrange check.
1453 * bfd-in2.h: Regenerate.
1454
1455 * cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Return bfd_reloc_ok
1456 on zero size relocs.
1457 * ecoff.c (ecoff_reloc_link_order): Likewise.
1458 * elf32-nds32.c (nds32_relocate_contents): Likewise.
1459 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1460
1461 * reloc.c (_bfd_relocate_contents): Don't bomb on zero size relocs.
1462 (_bfd_clear_contents): Likewise.
1463 * elfxx-mips.c (mips_elf_obtain_contents): Likewise.
1464 (mips_elf_perform_relocation): Likewise.
1465
1466 * aoutx.h (aout_link_reloc_link_order): Allow for NULL return
1467 from malloc on zero size alloc.
1468 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
1469 * elflink.c (elf_reloc_link_order): Likewise.
1470 * linker.c (_bfd_generic_reloc_link_order): Likewise.
1471 * pdp11.c (aout_link_reloc_link_order): Likewise.
1472 * xcofflink.c (xcoff_reloc_link_order): Likewise.
1473
1474 * aoutx.h (howto_table_ext): Ensure NONE relocs have size 3,
1475 bitsize 0, and complain_overflow_dont.
1476 * coff-sparc.c (coff_sparc_howto_table): Likewise.
1477 * elf-hppa.h (elf_hppa_howto_table): Likewise.
1478 * elf-m10200.c (elf_mn10200_howto_table): Likewise.
1479 * elf-m10300.c (elf_mn10300_howto_table): Likewise.
1480 * elf32-arc.c (elf_arc_howto_table): Likewise.
1481 * elf32-arm.c (elf32_arm_howto_table_1): Likewise.
1482 * elf32-avr.c (elf_avr_howto_table): Likewise.
1483 * elf32-bfin.c (bfin_howto_table): Likewise.
1484 * elf32-cr16.c (cr16_elf_howto_table): Likewise.
1485 * elf32-cris.c (cris_elf_howto_table): Likewise.
1486 * elf32-crx.c (crx_elf_howto_table): Likewise.
1487 * elf32-d10v.c (elf_d10v_howto_table): Likewise.
1488 * elf32-d30v.c (elf_d30v_howto_table): Likewise.
1489 * elf32-dlx.c (dlx_elf_howto_table): Likewise.
1490 * elf32-epiphany.c (epiphany_elf_howto_table): Likewise.
1491 * elf32-fr30.c (fr30_elf_howto_table): Likewise.
1492 * elf32-frv.c (elf32_frv_howto_table): Likewise.
1493 * elf32-h8300.c (h8_elf_howto_table): Likewise.
1494 * elf32-i370.c (i370_elf_howto_raw): Likewise.
1495 * elf32-i386.c (elf_howto_table): Likewise.
1496 * elf32-i860.c (elf32_i860_howto_table): Likewise.
1497 * elf32-i960.c (elf32_i960_relocate): Likewise.
1498 * elf32-ip2k.c (ip2k_elf_howto_table): Likewise.
1499 * elf32-iq2000.c (iq2000_elf_howto_table): Likewise.
1500 * elf32-lm32.c (lm32_elf_howto_table): Likewise.
1501 * elf32-m32c.c (m32c_elf_howto_table): Likewise.
1502 * elf32-m32r.c (m32r_elf_howto_table): Likewise.
1503 * elf32-m68hc11.c (elf_m68hc11_howto_table): Likewise.
1504 * elf32-m68hc12.c (elf_m68hc11_howto_table): Likewise.
1505 * elf32-m68k.c (howto_table): Likewise.
1506 * elf32-mcore.c (mcore_elf_howto_raw): Likewise.
1507 * elf32-mep.c (mep_elf_howto_table): Likewise.
1508 * elf32-metag.c (elf_metag_howto_table): Likewise.
1509 * elf32-microblaze.c (microblaze_elf_howto_raw): Likewise.
1510 * elf32-mips.c (elf_mips_howto_table_rel): Likewise.
1511 * elf32-moxie.c (moxie_elf_howto_table): Likewise.
1512 * elf32-msp430.c (elf_msp430_howto_table): Likewise.
1513 * elf32-mt.c (mt_elf_howto_table): Likewise.
1514 * elf32-nds32.c (nds32_elf_howto_table): Likewise.
1515 * elf32-nios2.c (elf_nios2_howto_table_rel): Likewise.
1516 * elf32-or1k.c (or1k_elf_howto_table): Likewise.
1517 * elf32-pj.c (pj_elf_howto_table): Likewise.
1518 * elf32-ppc.c (ppc_elf_howto_raw): Likewise.
1519 * elf32-rl78.c (rl78_elf_howto_table): Likewise.
1520 * elf32-rx.c (rx_elf_howto_table): Likewise.
1521 * elf32-s390.c (elf_howto_table): Likewise.
1522 * elf32-score.c (elf32_score_howto_table): Likewise.
1523 * elf32-score7.c (elf32_score_howto_table): Likewise.
1524 * elf32-sh-relocs.h (R_SH_NONE): Likewise.
1525 * elf32-spu.c (elf_howto_table): Likewise.
1526 * elf32-tic6x.c (elf32_tic6x_howto_table): Likewise.
1527 * elf32-tilepro.c (tilepro_elf_howto_table): Likewise.
1528 * elf32-v850.c (v850_elf_howto_table): Likewise.
1529 * elf32-vax.c (howto_table): Likewise.
1530 * elf32-visium.c (visium_elf_howto_table): Likewise.
1531 * elf32-xc16x.c (xc16x_elf_howto_table): Likewise.
1532 * elf32-xgate.c (elf_xgate_howto_table): Likewise.
1533 * elf32-xstormy16.c (xstormy16_elf_howto_table): Likewise.
1534 * elf32-xtensa.c (elf_howto_table): Likewise.
1535 * elf64-alpha.c (elf64_alpha_howto_table): Likewise.
1536 * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
1537 * elf64-mmix.c (elf_mmix_howto_table): Likewise.
1538 * elf64-ppc.c (ppc64_elf_howto_raw): Likewise.
1539 * elf64-s390.c (elf_howto_table): Likewise.
1540 * elf64-sh64.c (sh_elf64_howto_table): Likewise.
1541 * elf64-x86-64.c (x86_64_elf_howto_table): Likewise.
1542 * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
1543 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
1544 (elfNN_aarch64_howto_none): Likewise.
1545 * elfxx-ia64.c (ia64_howto_table): Likewise.
1546 * elfxx-sparc.c (_bfd_sparc_elf_howto_table): Likewise.
1547 * elfxx-tilegx.c (tilegx_elf_howto_table): Likewise.
1548 * nlm32-sparc.c (nlm32_sparc_howto_table): Likewise.
1549
6333bc0d
L
15502015-01-15 H.J. Lu <hongjiu.lu@intel.com>
1551
1552 PR ld/17847
1553 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't complain
1554 about -fPIC if the symbol is undefined when building executable.
1555
cd21f5da
NC
15562015-01-15 Nick Clifton <nickc@redhat.com>
1557
1558 PR binutils/17512
1559 * elf-m10300.c (mn10300_info_to_howto): Replace assertion with an
1560 error message. Never return an invalid howto pointer.
1561 * elf32-cr16.c (cr16_info_to_howto): Likewise.
1562 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
1563 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
1564 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
1565 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
1566 * elf32-mips.c (mips_elf32_rtype_to_howto): Likewise.
1567 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
1568 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
1569 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
1570 * elf32-v850.c (v850_elf_info_to_howto_rela): Likewise.
1571 * elf32-vax.c (rtype_to_howto): Likewise.
1572 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
1573 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
1574 * elfn32-mips.c (sh_elf_info_to_howto): Likewise.
1575 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
1576 (sh_elf_reloc): Check that the reloc is in range.
1577 * reloc.c (bfd_perform_relocation): Check that the section is big
1578 enough for the entire reloc.
1579 (bfd_generic_get_relocated_section_contents): Report unexpected
1580 return values from perform_reloc.
1581
2d071cfc
NC
15822015-01-15 Nick Clifton <nickc@redhat.com>
1583
1584 * elf32-msp430.c (msp430_elf_relax_section): Skip unhandled
1585 relocs. Include PC-relative adjustment for R_MSP430X_ABS16
1586 relaxation.
1587
ca55926c
AM
15882015-01-15 Alan Modra <amodra@gmail.com>
1589
1590 * elflink.c (_bfd_elf_link_omit_section_dynsym): Return true for
1591 any output section matching a linker created dynobj section.
1592
8539e4e8
AM
15932015-01-15 Alan Modra <amodra@gmail.com>
1594
1595 PR 17842
1596 * elflink.c (elf_link_output_sym): Assert elf_onesymtab set.
1597 (bfd_elf_final_link): Always create a symbol table when emit_relocs.
1598 Don't assign symtab file position unless symbols will be output.
1599 Merge blocks with condition in common. Don't call
1600 elf_backend_output_arch_local_syms or elf_backend_output_arch_syms
1601 unless other symbols are output. Move assignment of symtab_shndx
1602 file position. Localize variable.
1603
52db4ec2
JW
16042015-01-14 Jiong Wang <jiong.wang@arm.com>
1605
1606 * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when
1607 trying to defer them to runtime.
1608
0941db69
JW
16092015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
1610
1611 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND
1612 to check if a symbol should be bound symbolically.
1613
0172429c
JW
16142015-01-13 Jiong Wang <jiong.wang@arm.com>
1615
1616 * elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
1617 for TLSLE_MOVW_TPREL_G2.
1618
bab91cce
JW
16192015-01-13 Jiong Wang <jiong.wang@arm.com>
1620
1621 PR ld/17415
1622 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Mark
1623 R_AARCH64_TLSLE_ADD_TPREL_HI12 as complain_overflow_unsigned.
1624 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Correct the
1625 bit mask.
1626
3c758495
TG
16272015-01-12 Terry Guo <terry.guo@arm.com>
1628
1629 * elflink.c (_bfd_elf_gc_mark_debug_special_section_group): New
1630 function.
1631 (_bfd_elf_gc_mark_extra_sections): Use it.
1632
9d1d54d5
L
16332015-01-11 H.J. Lu <hongjiu.lu@intel.com>
1634
1635 PR ld/17827
1636 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): For PIE,
1637 only discard space for pc-relative relocs symbols which turn
1638 out to need copy relocs.
1639
c6e8e93a
NC
16402015-01-09 Nick Clifton <nickc@redhat.com>
1641
1642 * tekhex.c (getvalue): Fix thinko in test for correct extraction
1643 of value.
1644 (getsym): Return false if there was not enough data to extract the
1645 symbol.
1646
400cf8cb
AG
16472015-01-09 Anthony Green <green@moxielogic.com>
1648
1649 * elf32-moxie.c (ELF_MACHINE_ALT1): Define.
1650
23d4663e
NC
16512015-01-08 Nick Clifton <nickc@redhat.com>
1652
1653 * elf32-msp430.c (msp430_elf_relax_section): Add relaxation of
1654 16-bit absolute BR instructions to 10-bit pc-relative JMP
1655 instructions.
1656
063bb025
NC
16572015-01-08 Nick Clifton <nickc@redhat.com>
1658
1659 PR binutils/17512
1660 * coffcode.h (coff_slurp_symbol_table): Return false if we failed
1661 to load the line table.
1662 * elf.c (_bfd_elf_map_sections_to_segments): Enforce a minimum
1663 maxpagesize of 1.
1664 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if
1665 the Data Directory Size is too large.
1666
6f25f223
L
16672015-01-06 H.J. Lu <hongjiu.lu@intel.com>
1668
1669 PR binutils/17512
1670 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocation.
1671 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
1672
85880250
NC
16732015-01-06 Nick Clifton <nickc@redhat.com>
1674
1675 PR binutils/17512
e7287c7f
NC
1676 * mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the
1677 string table.
1678
ec93045b
NC
1679 * reloc.c (bfd_get_reloc_size): Handle a reloc size of -1.
1680 (bfd_perform_relocation): Include the size of the reloc in the
1681 test for an out of range relocation.
1682 (bfd_generic_get_relocated_section_contents): Remove reloc range
1683 test.
1684
85880250
NC
1685 * coff-i860.c (CALC_ADDEND): Always set an addend value.
1686 * tekhex.c (getvalue): Add an end pointer parameter. Use it to
1687 avoid reading off the end of the buffer.
1688 (getsym): Likewise.
1689 (first_phase): Likewise.
1690 (pass_over): Pass an end pointer to the invoked function.
1691
533d0af0
L
16922015-01-05 H.J. Lu <hongjiu.lu@intel.com>
1693
1694 PR binutils/17512
1695 * elf32-i386.c (elf_i386_get_plt_sym_val): Return NULL on corrupt
1696 input.
1697 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
1698
896ca098
NC
16992015-01-05 Nick Clifton <nickc@redhat.com>
1700
1701 PR binutils/17512
1702 * archive.c (do_slurp_bsd_armap): Make sure that the parsed sized
1703 is at least big enough for the header to be read.
1704 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocs.
1705 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add range checks.
1706 (bfd_mach_o_read_command): Prevetn duplicate error messages about
1707 unrecognized commands.
1708 * syms.c (_bfd_stab_section_find_nearest_line): Add range checks
1709 when indexing into the string table.
1710
b90efa5b 17112015-01-01 Alan Modra <amodra@gmail.com>
ee3b52e9 1712
b90efa5b 1713 Update year range in copyright notice of all files.
ee3b52e9 1714
b90efa5b 1715For older changes see ChangeLog-2014
56882138 1716\f
b90efa5b 1717Copyright (C) 2015 Free Software Foundation, Inc.
752937aa
NC
1718
1719Copying and distribution of this file, with or without modification,
1720are permitted in any medium without royalty provided the copyright
1721notice and this notice are preserved.
1722
56882138
AM
1723Local Variables:
1724mode: change-log
1725left-margin: 8
1726fill-column: 74
1727version-control: never
1728End:
This page took 0.857664 seconds and 4 git commands to generate.