[AArch64] Call abort() consistently in unhandled stub switch statements.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
2
3 * elfnn-aarch64.c (aarch64_build_one_stub): Call abort.
4 (aarch64_size_one_stub): Likewise.
5 (aarch64_map_one_stub): Likewise.
6
7 2015-03-04 Andreas Arnez <arnez@linux.vnet.ibm.com>
8
9 * cpu-s390.c (N): New macro.
10 (bfd_s390_31_arch): New. Define only if default target word size
11 is 64 bits. Otherwise define...
12 (bfd_390_64_arch): ...this. Make static.
13 (bfd_s390_arch): Define according to the default target word size.
14 Let the 'next' field point to the alternate arch.
15
16 2015-03-04 Richard Sandiford <richard.sandiford@arm.com>
17
18 PR gas/17843
19 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Expect
20 R_AARCH64_TLSLE_MOVW_TPREL_G0_NC and R_AARCH64_TLSLE_MOVW_TPREL_G1_NC
21 to be used with MOVK rather than MOVZ.
22
23 2015-03-03 DJ Delorie <dj@redhat.com>
24
25 * elf32-rl78.c (rl78_elf_relax_section): Only relax ADDR16's if
26 there's a symbol.
27
28 2015-02-28 Alan Modra <amodra@gmail.com>
29
30 * elf32-ppc.c (ppc_elf_tls_setup): Set no_tls_get_addr_opt if
31 not PLT_NEW.
32
33 2015-02-27 H.J. Lu <hongjiu.lu@intel.com>
34
35 * elf32-i386.c (need_convert_mov_to_lea): New.
36 (elf_i386_check_relocs): Set need_convert_mov_to_lea if needed.
37 (elf_i386_convert_mov_to_lea): Return TRUE if
38 need_convert_mov_to_lea is unset.
39 * elf64-x86-64.c (need_convert_mov_to_lea): New.
40 (elf_x86_64_check_relocs): Set need_convert_mov_to_lea if needed.
41 (elf_x86_64_convert_mov_to_lea): Return TRUE if
42 need_convert_mov_to_lea is unset.
43
44 2015-02-27 Nick Clifton <nickc@redhat.com>
45
46 PR binutils/17910
47 * coffgen.c (_bfd_coff_internal_syment_name): Only check for
48 string length overflow when the string table length is actually
49 set.
50
51 2015-02-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
52
53 * bfd/bfd-in2.h: Regenerate.
54 * bfd/libbfd.h: Regenerate.
55
56 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
57
58 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix
59 TLSDESC_LD_PREL19 field width and masks.
60 (aarch64_tls_transition_without_check)
61 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
62 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
63 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
64 BFD_RELOC_AARCH64_TLSDESC_LD_PREL19.
65 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
66 (_bfd_aarch64_elf_resolve_relocation): Likewise.
67
68 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
69
70 * elfnn-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Reorder R_TYPE
71 tests.
72 (aarch64_tls_transition_without_check)
73 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
74 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
75 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
76 BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21.
77 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
78 (_bfd_aarch64_elf_resolve_relocation): Likewise.
79 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
80
81 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
82
83 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC)
84 (elfNN_aarch64_howto_table, aarch64_tls_transition_without_check)
85 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
86 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
87 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
88 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
89 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
90 (_bfd_aarch64_elf_resolve_relocation): Likewise.
91 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
92
93 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
94
95 * elfnn-aarch64.c: (TLSIE_LD_GOTTREL_PREL19): Fix HOWTO bit field width.
96 (aarch64_tls_transition_without_check, aarch64_reloc_got_type)
97 (elfNN_aarch64_final_link_relocate, elfNN_aarch64_tls_relax)
98 (elfNN_aarch64_relocate_section, elfNN_aarch64_gc_sweep_hook)
99 (elfNN_aarch64_check_relocs): Handle
100 BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19.
101
102 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
103 (_bfd_aarch64_elf_resolve_relocation): Likewise.
104
105 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
106
107 * elfnn-aarch64.c: (TLSDESC_CALL): Fix HOWTO bit field width.
108
109 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
110
111 * elfnn-aarch64.c (TLSLE_MOVW_TPREL_G2)
112 (TLSLE_MOVW_TPREL_G1, TLSLE_MOVW_TPREL_G1_NC)
113 (TLSLE_MOVW_TPREL_G0, TLSLE_MOVW_TPREL_G0_NC): Fix bit field
114 width.
115
116 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
117
118 * elfnn-aarch64.c: (TLSIE_MOVW_GOTTPREL_G0_NC): Fix HOWTO bit
119 field width.
120
121 2015-02-26 Nick Clifton <nickc@redhat.com>
122
123 PR binutils/17512
124 * coffcode.h (coff_compute_section_file_positions): Report
125 negative page sizes.
126 * elf.c (elf_fake_sections): Handle excessive alignmment powers.
127 (assign_file_positions_for_non_load_sections): Replace assertion
128 with an error message.
129 (rewrite_elf_program_header): Handle excessive segment
130 alignments.
131 * mach-o.c (bfd_mach_o_read_section_32): Likewise.
132 (bfd_mach_o_read_section_64): Likewise.
133 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Use %B to
134 print a bfd name, not %A.
135
136 2015-02-26 Alan Modra <amodra@gmail.com>
137
138 * elf64-ppc.c (plt_stub_size, build_plt_stub): Don't build
139 thread-safe stubs for iplt.
140 (build_tls_get_addr_stub): Restore r2 immediately after call.
141
142 2015-02-26 Terry Guo <terry.guo@arm.com>
143
144 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Update how we
145 merge Tag_ABI_HardFP_use.
146
147 2015-02-26 Alan Modra <amodra@gmail.com>
148
149 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Heed -z nocopyreloc.
150 Use text relocs rather than giving an error on trying to use
151 .dynbss for protected shared lib vars.
152 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
153
154 2015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
155
156 * elf32-avr.c (struct elf_avr_section_data): New structure.
157 (struct avr_relax_info): New structure.
158 (elf_avr_new_section_hook): New function.
159 (struct elf_avr_section_data): Add relax_info.
160 (get_avr_relax_info): New function.
161 (init_avr_relax_info): New function.
162 (elf32_avr_relax_delete_bytes): Find next property record before
163 deleting bytes. When deleting don't move bytes beyond the next
164 property record.
165 (avr_elf32_assign_records_to_section): New function.
166 (avr_property_record_compare): New function.
167 (avr_load_all_property_sections): New function.
168 (elf32_avr_relax_section): Load property data. After relaxing the
169 section, move any .align directives that have enough deleted bytes
170 before them.
171 (bfd_elf32_new_section_hook): Define.
172
173 2015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
174
175 * elf32-avr.h (struct avr_property_header): New strucure.
176 (avr_elf32_load_property_records): Declare.
177 (avr_elf32_property_record_name): Declare.
178 * elf32-avr.c: Add bfd_stdint.h include.
179 (retrieve_local_syms): New function.
180 (get_elf_r_symndx_section): New function.
181 (get_elf_r_symndx_offset): New function.
182 (internal_reloc_compare): New function.
183 (struct avr_find_section_data): New structure.
184 (avr_is_section_for_address): New function.
185 (avr_find_section_for_address): New function.
186 (avr_elf32_load_records_from_section): New function.
187 (avr_elf32_load_property_records): New function.
188 (avr_elf32_property_record_name): New function.
189
190 2015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
191
192 * elf32-avr.h (AVR_PROPERTY_RECORD_SECTION_NAME): Define.
193 (AVR_PROPERTY_RECORDS_VERSION): Define.
194 (AVR_PROPERTY_SECTION_HEADER_SIZE): Define.
195 (struct avr_property_record): New structure.
196
197 2015-02-24 Nick Clifton <nickc@redhat.com>
198
199 * elf32-v850.c (v850_set_note): New function. Creates a Renesas
200 style note entry.
201 (v850_elf_make_note_section): New function. Creates a note
202 section.
203 (v850_elf_create_sections): New function. Create a note section
204 if one is not already present.
205 (v850_elf_set_note): New function. Adds a note to a bfd.
206 (v850_elf_copy_private_bfd_data): New function. Copies V850
207 notes.
208 (v850_elf_merge_notes): New function. Merges V850 notes.
209 (print_v850_note): New function. Displays a V850 note.
210 (v850_elf_print_notes): New function. Displays all notes attached
211 to a bfd.
212 (v850_elf_merge_private_bfd_data): Call v850_elf_merge_notes.
213 (v850_elf_print_private_bfd_data): Call v850_elf_print_notes.
214 (v850_elf_fake_sections): Set the type of the V850 note section.
215 * bfd-in.h (v850_elf_create_sections): Add prototype.
216 (v850_elf_set_note): Add prototype.
217 * bfd-in2.h: Regenerate.
218
219 2015-02-24 Nick Clifton <nickc@redhat.com>
220
221 * configure.ac (AC_CHECK_HEADERS): Add wctype.h.
222 * configure: Regenerate.
223 * config.in: Regenerate.
224 * peXXigen.c: Include wctype.h if HAVE_WCTYPE_H is defined.
225 (u16_mbtowc): Use wint_t types if HAVE_WCTYPE_H is defined.
226 (rsrc_cmp): Use towlower instead of wcsncasecmp if HAVE_WCTYPE_H
227 is defined.
228
229 2015-02-24 Nick Clifton <nickc@redhat.com>
230
231 * pdp11.c (set_section_contents): Pad the .text and .data sections
232 to their aligned sizes.
233
234 2015-02-23 Yoshinori Sato <ysato@users.sourceforge.jp>
235
236 * config.bfd: Add h8300-*-linux.
237 * configure.ac: Add h8300_elf32_linux_vec.
238 * configure: Regenerate.
239 * elf32-h8300.c: Likewise.
240 * targets.c(_bfd_target_vector): Likewise.
241
242 2015-02-23 Nick Clifton <nickc@redhat.com>
243
244 PR 17914
245 * cpu-w65.c: Correct typos in license notice.
246
247 PR 17940
248 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust debug
249 symbols at end of sections. Adjust function sizes.
250
251 2015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
252
253 * elf-bfd.h (elfcore_write_s390_vxrs_low): Add prototype.
254 (elfcore_write_s390_vxrs_high): Likewise.
255 * elf.c (elfcore_grok_s390_vxrs_low): New function.
256 (elfcore_grok_s390_vxrs_high): New function.
257 (elfcore_grok_note): Call them.
258 (elfcore_write_s390_vxrs_low): New function.
259 (elfcore_write_s390_vxrs_high): New function.
260 (elfcore_write_register_note): Call them.
261
262 2015-02-19 Branko Drevensek <branko.drevensek@gmail.com>
263
264 PR 17995
265 * verilog.c (verilog_write_record): Correct buffer size.
266
267 2015-02-19 Alan Modra <amodra@gmail.com>
268
269 * elflink.c (_bfd_elf_define_linkage_sym): Set 'bed' earlier.
270
271 2015-02-19 Alan Modra <amodra@gmail.com>
272
273 PR ld/4317
274 * elflink.c (elf_link_input_bfd): Drop undefined local syms.
275 (elf_link_output_extsym): Drop local and global undefined syms.
276 Tidy. Expand comment.
277
278 2015-02-17 Alan Modra <amodra@gmail.com>
279
280 PR ld/17975
281 * elflink.c (struct elf_outext_info): Remove need_second_pass
282 and second_pass.
283 (elf_link_output_extsym): Delete code handling second forced
284 local pass. Move code emitting NULL STT_FILE symbol later, so
285 that it can be omitted if forced local is stripped. Don't
286 emit the NULL STT_FILE if no file symbols have been output.
287 (bfd_elf_final_link): Remove second forced local pass.
288 * elf32-ppc.c (add_stub_sym): Set linker_def on linker syms.
289 (ppc_elf_size_dynamic_sections): Likewise.
290 * elf64-ppc.c (ppc_build_one_stub): Likewise.
291 (build_global_entry_stubs): Likewise.
292 (ppc64_elf_build_stubs): Likewise.
293
294 2015-02-16 H.J. Lu <hongjiu.lu@intel.com>
295
296 PR ld/17975
297 * elflink.c (elf_link_output_extsym): Only check filesym_count
298 when outputting a NULL FILE symbol. Set second_pass_sym to
299 h->forced_local && !h->root.linker_def.
300
301 2015-02-15 H.J. Lu <hongjiu.lu@intel.com>
302
303 * elf32-i386.c (elf_i386_always_size_sections): Set root.linker_def
304 on _TLS_MODULE_BASE_.
305 * elf64-x86-64.c (elf_x86_64_always_size_sections): Likewise.
306
307 2015-02-15 Alan Modra <amodra@gmail.com>
308
309 * dwarf2.c (read_rangelist): Correct buffer overflow check
310 Whitespace throughout file.
311
312 2015-02-14 Alan Modra <amodra@gmail.com>
313
314 PR ld/17973
315 * bfd.c (struct bfd): Add lto_output.
316 * linker.c (_bfd_handle_already_linked): Explicitly test for
317 objects added by the lto plugin.
318 * opncls.c (_bfd_new_bfd_contained_in): Copy lto_output and
319 no_export flags from archive.
320 * archive.c (open_nested_file): New function, setting lto_output
321 and no_export, extracted from..
322 (find_nested_archive): ..here. Flip params. Rename from
323 _bfd_find_nested_archive.
324 (_bfd_get_elt_at_filepos): Correct var typo. Use open_nested_file.
325 (_bfd_look_for_bfd_in_cache): Copy no_export.
326 * elflink.c (elf_link_add_object_symbols): Remove now unnecessary
327 my_archive->no_export test.
328 (elf_link_input_bfd): Drop existing lto_output STT_FILE syms.
329 Don't use the file name when adding lto_output STT_FILE sym.
330 * bfd-in2.h: Regenerate.
331
332 2015-02-13 Alan Modra <amodra@gmail.com>
333
334 PR binutils/17512
335 * elf64-ppc.c (opd_entry_value): Tighten offset check. Remove
336 now redundant assert.
337
338 2015-02-12 Nick Clifton <nickc@redhat.com>
339
340 PR binutils/17512
341 * dwarf.c (read_1_byte, read_1_signed_byte, read_2_bytes)
342 (read_4_bytes, read_8_bytes, read_n_bytes, read_string)
343 (read_indirect_string, read_alt_indirect_string)
344 (read_alt_indirect_ref, read_address, read_abbrevs)
345 (read_attribute_value, read_attribute, decode_line_info)
346 (find_abstract_instance_name, read_rangelist)
347 (scan_unit_for_symbols, parse_comp_unit)
348 (_bfd_dwarf2_find_nearest_line): Harden DWARF reading code. Pass
349 end pointers to reading functions and check for offsets taking
350 pointers out of range. Replace calls to read_*_leb128 with calls
351 to safe_read_leb128.
352
353 (* elf64-ppc.c (opd_entry_value): Add a check for an overlarge
354 offset.
355 * syms.c (_bfd_stab_section_find_nearest_line): Add checks for
356 computed file_name address being before the start of the string
357 table.
358
359 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
360
361 PR ld/17878
362 * bfd.c (bfd_plugin_format): New.
363 (bfd): Add plugin_format and plugin_dummy_bfd.
364 * plugin.c (try_load_plugin): Take a pointer to bfd_boolean
365 argument to return TRUE if any plugin is found. Set plugin_format.
366 (has_plugin): New.
367 (bfd_plugin_target_p): New.
368 (bfd_plugin_specified_p): Likewise.
369 (bfd_plugin_target_p): Likewise.
370 (register_ld_plugin_object_p): Likewise.
371 (bfd_plugin_set_plugin): Set has_plugin.
372 (load_plugin): Cache try_load_plugin result.
373 (bfd_plugin_object_p): Try ld_plugin_object_p first. Check
374 plugin_format.
375 * plugin.h (bfd_plugin_target_p): New.
376 (bfd_plugin_specified_p): Likewise.
377 (register_ld_plugin_object_p): Likewise.
378 * bfd-in2.h: Regenerated.
379
380 2015-02-11 Pedro Alves <palves@redhat.com>
381
382 * libbfd-in.h [__cplusplus]: Open extern "C" scope.
383 * libcoff-in.h [__cplusplus]: Open extern "C" scope.
384 * libbfd.h: Regenerate.
385 * libcoff.h: Regenerate.
386
387 * elf-bfd.h [__cplusplus]: Wrap in extern "C".
388 * mach-o.h [__cplusplus]: Wrap in extern "C".
389 * som.h [__cplusplus]: Wrap in extern "C".
390
391 2015-02-10 Nick Clifton <nickc@redhat.com>
392
393 PR binutils/17512
394 * coffcode.h (styp_to_sec_flags): Use an unsigned long type to
395 hold the flag bits.
396 * peXXigen.c (pe_print_reloc): Use unsigned types to hold the
397 size and number of relocs.
398 (pe_print_debugdata): Use a 32-bit aligned buffer to store the
399 codeview record.
400 * versados.c (process_otr): Check the esdid value before using it
401 to access the EDATA.
402
403 2015-02-09 Ed Maste <emaste@freebsd.org>
404
405 * elf32-i386.c (elf_i386_get_plt_sym_val): Avoid incrementing
406 uninitialized and unused variable.
407 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
408
409 2015-02-09 Alan Modra <amodra@gmail.com>
410
411 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault on NULL
412 tls_sec.
413 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
414 * elflink.c (elf_link_output_extsym): Don't assert on NULL tls_sec.
415
416 2015-02-09 Alan Modra <amodra@gmail.com>
417
418 * elflink.c: Whitespace, formatting fixes.
419 (elf_link_input_bfd): Clarify comment.
420 (elf_link_output_extsym): Exclude symbols in linker created
421 sections when testing for plugin symbols.
422
423 2015-02-07 H.J. Lu <hongjiu.lu@intel.com>
424
425 PR ld/17935
426 * elf32-i386.c (elf_i386_readonly_dynrelocs): Also issue a
427 warning for relocation in readonly section for -z text.
428 (elf_i386_size_dynamic_sections): Likewise.
429 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
430 (elf_x86_64_size_dynamic_sections): Likewise.
431
432 2015-02-06 H.J. Lu <hongjiu.lu@intel.com>
433
434 PR ld/12365
435 PR ld/14272
436 * elflink.c (_bfd_elf_fix_symbol_flags): Revert the last change.
437 (elf_link_input_bfd): Mark the plugin symbol undefined if it is
438 referenced from a non-IR file.
439
440 2015-02-06 Nick Clifton <nickc@redhat.com>
441
442 PR binutils/17512
443 * peXXigen.c (rsrc_print_resource_entries): Add range check for
444 addresses that wrap around the address space.
445 (rsrc_parse_entry): Likewise.
446
447 2015-02-03 H.J. Lu <hongjiu.lu@intel.com>
448
449 PR ld/12365
450 PR ld/14272
451 * elflink.c (_bfd_elf_fix_symbol_flags): Mark the plugin symbol
452 undefined if it is referenced from a non-IR file.
453
454 2015-02-03 Nick Clifton <nickc@redhat.com>
455
456 PR binutils/17512
457 * ecoff.c: Use bfd_alloc2 to allocate space for structure arrays.
458 (_bfd_ecoff_slurp_symbol_table): Check for a negative symbol
459 index or an out of range fdr index.
460 * elf-m10300.c (mn10300_info_to_howto): Fix typo in error message.
461 * elf32-arc.c (arc_info_to_howto_rel): Likewise.
462 * elf32-avr.c (avr_info_to_howto_rela): Likewise.
463 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
464 * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
465 * elf32-cris.c (cris_info_to_howto_rela): Likewise.
466 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
467 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
468 * elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
469 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
470 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
471 * elf32-frv.c (frv_info_to_howto_rela): Likewise.
472 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
473 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
474 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
475 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
476 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
477 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
478 * elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
479 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
480 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
481 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
482 * elf32-mep.c (mep_info_to_howto_rela): Likewise.
483 * elf32-metag.c (metag_info_to_howto_rela): Likewise.
484 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
485 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
486 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
487 * elf32-mt.c (mt_info_to_howto_rela): Likewise.
488 * elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
489 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
490 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
491 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
492 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
493 * elf32-rx.c (rx_info_to_howto_rela): Likewise.
494 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
495 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
496 * elf32-v850.c (v850_elf_perform_relocation): Likewise.
497 * elf32-vax.c (rtype_to_howto): Likewise.
498 * elf32-visium.c (visium_info_to_howto_rela): Likewise.
499 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
500 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
501 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
502 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
503 * mach-o.c: Use bfd_alloc2 to allocate space for structure arrays.
504 (bfd_mach_o_canonicalize_one_reloc): Fix check on out
505 of range symbol indicies.
506 (bfd_mach_o_canonicalize_relocs): Check for out of range alloc.
507 (bfd_mach_o_canonicalize_dynamic_reloc): Likewise.
508 (bfd_mach_o_build_dysymtab): Likewise.
509 (bfd_mach_o_write_symtab_content): Set the string table size to
510 zero upon error.
511 (bfd_mach_o_read_symtab_symbols): Reset the nsyms value if the
512 read fails.
513 * peXXigen.c (pe_print_edata): Check for numeric overflow in edt
514 fields.
515 * tekhex.c (first_phase): Check for src pointer reaching end of
516 buffer.
517
518 2015-02-03 Will Newton <will.newton@linaro.org>
519
520 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol):
521 Set st_value to zero for undefined symbols if the reference
522 is weak or pointer_equality_needed is FALSE.
523
524 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve
525 comment discussing why we clear st_value for some symbols.
526
527 2015-02-02 Kuan-Lin Chen <kuanlinchentw@gmail.com>
528
529 * elf32-nds32.c (nds32_get_section_contents): Add one more argument.
530 (nds32_elf_relocate_section): Do not relocate R_NDS32_LONGJUMP7.
531
532 2015-01-29 Alan Modra <amodra@gmail.com>
533
534 * elf64-ppc.c (ppc64_elf_relocate_section): Correct GOT_TLSLD
535 optimization. Tidy mask for GOT_TLSGD optimization.
536 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Correct
537 location of nop zapping high insn too.
538
539 2015-01-28 Alan Modra <amodra@gmail.com>
540
541 * elf64-ppc.h (struct ppc64_elf_params): Add "object_in_toc".
542 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Assume that global symbols
543 in .toc indicate xlc compiled code that might require a rw .toc.
544
545 2015-01-28 James Bowman <james.bowman@ftdichip.com>
546
547 * Makefile.am: Add FT32 files.
548 * archures.c (enum bfd_architecture): Add bfd_arch_ft32.
549 (bfd_mach_ft32): Define.
550 (bfd_ft32_arch): Declare.
551 (bfd_archures_list): Add bfd_ft32_arch.
552 * config.bfd: Handle FT32.
553 * configure.ac: Likewise.
554 * cpu-ft32.c: New file.
555 * elf32-ft32.c: New file.
556 * reloc.c (BFD_RELOC_FT32_10, BFD_RELOC_FT32_20, BFD_RELOC_FT32_17,
557 BFD_RELOC_FT32_18): Define.
558 * targets.c (_bfd_target_vector): Add ft32_elf32_vec.
559 * bfd-in2.h: Regenerate.
560 * libbfd.h: Regenerate.
561 * Makefile.in: Regenerate.
562 * configure: Regenerate.
563 * po/SRC-POTFILES.in: Regenerate.
564
565 2015-01-27 Nick Clifton <nickc@redhat.com>
566
567 PR binutils/17512
568 * pdp11.c (aout_get_external_symbols): Return false if there are
569 no symbols.
570
571 * dwarf2.c (concat_filename): Check for an empty directory table.
572 (scan_unit_for_symbols): Check for reading off the end of the
573 unit.
574 (parse_comp_unit): Check for a DW_AT_comp_dir attribute with a
575 non-string form.
576 * elf64-ppc.c (opd_entry_value): Fail if there are no relocs
577 available.
578
579 2015-01-26 Kuan-Lin Chen <kuanlinchentw@gmail.com>
580
581 * elf32-nds32.c (nds32_elf_pick_relax): Fix again setting.
582
583 2015-01-22 DJ Delorie <dj@redhat.com>
584
585 * elf32-m32c.c (m32c_apply_reloc_24): New.
586 (m32c_elf_howto_table): Use it for R_M32C_24.
587 (m32c_elf_relocate_section): Handle R_M32C_24 specially.
588
589 2015-01-22 Nick Clifton <nickc@redhat.com>
590
591 PR binutils/17512
592 * coffcode.h (handle_COMDAT): When searching for the section
593 symbol, make sure that there is space left in the symbol table.
594 * vms-alpha.c (_bfd_vms_slurp_ehdr): Add range checks.
595
596 2015-01-21 Nick Clifton <nickc@redhat.com>
597
598 PR binutils/17512
599 * coffcode.h (coff_set_arch_mach_hook): Check return value from
600 bfd_malloc.
601 (coff_slurp_line_table): Return FALSE if the line number
602 information was corrupt.
603 (coff_slurp_symbol_table): Return FALSE if the symbol information
604 was corrupt.
605 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Always
606 initialise the fields of the dyld_info structure.
607 (bfd_mach_o_build_exec_seg_command): Replace assertion with an
608 error message and a return value.
609 (bfd_mach_o_layout_commands): Change the function to boolean.
610 Return FALSE if the function fails.
611 (bfd_mach_o_build_commands): Fail if bfd_mach_o_layout_commands
612 fails.
613 (bfd_mach_o_read_command): Fail if an unrecognised command is
614 encountered.
615 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Set bfd_error if the
616 read fails.
617 (slurp_symtab): Check the return from bfd_malloc.
618 (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if the copy
619 encountered an error.
620 (_bfd_XXi_final_link_postscript): Fail if a section could not be
621 copied.
622 * peicode.h (pe_bfd_object_p): Fail if the header could not be
623 swapped in.
624 * tekhex.c (first_phase): Fail if the section is too big.
625 * versados.c (struct esdid): Add content_size field.
626 (process_otr): Use and check the new field.
627 (versados_get_section_contents): Check that the section exists and
628 that the requested data is available.
629
630 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
631
632 * elf32-nios2.c (elf_backend_default_execstack): Define as 0.
633
634 2015-01-20 Alan Modra <amodra@gmail.com>
635
636 PR ld/17615
637 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Don't drop
638 ELF_COMMON_DEF syms.
639
640 2015-01-19 Alan Modra <amodra@gmail.com>
641
642 PR ld/17615
643 * elf-bfd.h (ELF_COMMON_DEF_P): Note that this might be true for
644 linker script assignments too.
645 * elflink.c (elf_gc_sweep_symbol): Don't drop ELF_COMMON_DEF syms.
646 (bfd_elf_gc_mark_dynamic_ref_symbol): Similarly.
647
648 2015-01-19 Alan Modra <amodra@gmail.com>
649
650 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Correct loop iteration
651 to allow return of first howto.
652 * elf32-fr30.c (fr30_reloc_type_lookup): Likewise.
653 * elf32-m32c.c (m32c_reloc_type_lookup): Likewise.
654 * elf32-moxie.c (moxie_reloc_type_lookup): Likewise.
655 * elf32-or1k.c (or1k_reloc_type_lookup): Likewise.
656 * elf32-rl78.c (rl78_reloc_type_lookup): Likewise.
657 * elf32-rx.c (rx_reloc_type_lookup): Likewise.
658 * elf32-tilepro.c (tilepro_reloc_type_lookup): Likewise.
659 * elf32-xstormy16.c (xstormy16_reloc_type_lookup): Likewise.
660 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
661 * elf32-nios2.c (nios2_reloc_map): Add mapping for R_NIOS2_NONE.
662 * elf32-spu.c (spu_elf_bfd_to_reloc_type): Allow return of R_SPU_NONE.
663 (spu_elf_reloc_type_lookup): Adjust to suit.
664
665 2015-01-19 Alan Modra <amodra@gmail.com>
666
667 * bfd-in.h (bfd_get_section_limit_octets): New define, extracted from..
668 (bfd_get_section_limit): ..here.
669 * reloc.c (bfd_perform_relocation): Correct bfd_reloc_outofrange check.
670 (bfd_install_relocation, _bfd_final_link_relocate): Add same check here.
671 * elf32-sh.c (sh_elf_reloc): Correct bfd_reloc_outofrange check.
672 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Remove duplicated
673 bfd_reloc_outofrange check.
674 * bfd-in2.h: Regenerate.
675
676 * cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Return bfd_reloc_ok
677 on zero size relocs.
678 * ecoff.c (ecoff_reloc_link_order): Likewise.
679 * elf32-nds32.c (nds32_relocate_contents): Likewise.
680 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
681
682 * reloc.c (_bfd_relocate_contents): Don't bomb on zero size relocs.
683 (_bfd_clear_contents): Likewise.
684 * elfxx-mips.c (mips_elf_obtain_contents): Likewise.
685 (mips_elf_perform_relocation): Likewise.
686
687 * aoutx.h (aout_link_reloc_link_order): Allow for NULL return
688 from malloc on zero size alloc.
689 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
690 * elflink.c (elf_reloc_link_order): Likewise.
691 * linker.c (_bfd_generic_reloc_link_order): Likewise.
692 * pdp11.c (aout_link_reloc_link_order): Likewise.
693 * xcofflink.c (xcoff_reloc_link_order): Likewise.
694
695 * aoutx.h (howto_table_ext): Ensure NONE relocs have size 3,
696 bitsize 0, and complain_overflow_dont.
697 * coff-sparc.c (coff_sparc_howto_table): Likewise.
698 * elf-hppa.h (elf_hppa_howto_table): Likewise.
699 * elf-m10200.c (elf_mn10200_howto_table): Likewise.
700 * elf-m10300.c (elf_mn10300_howto_table): Likewise.
701 * elf32-arc.c (elf_arc_howto_table): Likewise.
702 * elf32-arm.c (elf32_arm_howto_table_1): Likewise.
703 * elf32-avr.c (elf_avr_howto_table): Likewise.
704 * elf32-bfin.c (bfin_howto_table): Likewise.
705 * elf32-cr16.c (cr16_elf_howto_table): Likewise.
706 * elf32-cris.c (cris_elf_howto_table): Likewise.
707 * elf32-crx.c (crx_elf_howto_table): Likewise.
708 * elf32-d10v.c (elf_d10v_howto_table): Likewise.
709 * elf32-d30v.c (elf_d30v_howto_table): Likewise.
710 * elf32-dlx.c (dlx_elf_howto_table): Likewise.
711 * elf32-epiphany.c (epiphany_elf_howto_table): Likewise.
712 * elf32-fr30.c (fr30_elf_howto_table): Likewise.
713 * elf32-frv.c (elf32_frv_howto_table): Likewise.
714 * elf32-h8300.c (h8_elf_howto_table): Likewise.
715 * elf32-i370.c (i370_elf_howto_raw): Likewise.
716 * elf32-i386.c (elf_howto_table): Likewise.
717 * elf32-i860.c (elf32_i860_howto_table): Likewise.
718 * elf32-i960.c (elf32_i960_relocate): Likewise.
719 * elf32-ip2k.c (ip2k_elf_howto_table): Likewise.
720 * elf32-iq2000.c (iq2000_elf_howto_table): Likewise.
721 * elf32-lm32.c (lm32_elf_howto_table): Likewise.
722 * elf32-m32c.c (m32c_elf_howto_table): Likewise.
723 * elf32-m32r.c (m32r_elf_howto_table): Likewise.
724 * elf32-m68hc11.c (elf_m68hc11_howto_table): Likewise.
725 * elf32-m68hc12.c (elf_m68hc11_howto_table): Likewise.
726 * elf32-m68k.c (howto_table): Likewise.
727 * elf32-mcore.c (mcore_elf_howto_raw): Likewise.
728 * elf32-mep.c (mep_elf_howto_table): Likewise.
729 * elf32-metag.c (elf_metag_howto_table): Likewise.
730 * elf32-microblaze.c (microblaze_elf_howto_raw): Likewise.
731 * elf32-mips.c (elf_mips_howto_table_rel): Likewise.
732 * elf32-moxie.c (moxie_elf_howto_table): Likewise.
733 * elf32-msp430.c (elf_msp430_howto_table): Likewise.
734 * elf32-mt.c (mt_elf_howto_table): Likewise.
735 * elf32-nds32.c (nds32_elf_howto_table): Likewise.
736 * elf32-nios2.c (elf_nios2_howto_table_rel): Likewise.
737 * elf32-or1k.c (or1k_elf_howto_table): Likewise.
738 * elf32-pj.c (pj_elf_howto_table): Likewise.
739 * elf32-ppc.c (ppc_elf_howto_raw): Likewise.
740 * elf32-rl78.c (rl78_elf_howto_table): Likewise.
741 * elf32-rx.c (rx_elf_howto_table): Likewise.
742 * elf32-s390.c (elf_howto_table): Likewise.
743 * elf32-score.c (elf32_score_howto_table): Likewise.
744 * elf32-score7.c (elf32_score_howto_table): Likewise.
745 * elf32-sh-relocs.h (R_SH_NONE): Likewise.
746 * elf32-spu.c (elf_howto_table): Likewise.
747 * elf32-tic6x.c (elf32_tic6x_howto_table): Likewise.
748 * elf32-tilepro.c (tilepro_elf_howto_table): Likewise.
749 * elf32-v850.c (v850_elf_howto_table): Likewise.
750 * elf32-vax.c (howto_table): Likewise.
751 * elf32-visium.c (visium_elf_howto_table): Likewise.
752 * elf32-xc16x.c (xc16x_elf_howto_table): Likewise.
753 * elf32-xgate.c (elf_xgate_howto_table): Likewise.
754 * elf32-xstormy16.c (xstormy16_elf_howto_table): Likewise.
755 * elf32-xtensa.c (elf_howto_table): Likewise.
756 * elf64-alpha.c (elf64_alpha_howto_table): Likewise.
757 * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
758 * elf64-mmix.c (elf_mmix_howto_table): Likewise.
759 * elf64-ppc.c (ppc64_elf_howto_raw): Likewise.
760 * elf64-s390.c (elf_howto_table): Likewise.
761 * elf64-sh64.c (sh_elf64_howto_table): Likewise.
762 * elf64-x86-64.c (x86_64_elf_howto_table): Likewise.
763 * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
764 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
765 (elfNN_aarch64_howto_none): Likewise.
766 * elfxx-ia64.c (ia64_howto_table): Likewise.
767 * elfxx-sparc.c (_bfd_sparc_elf_howto_table): Likewise.
768 * elfxx-tilegx.c (tilegx_elf_howto_table): Likewise.
769 * nlm32-sparc.c (nlm32_sparc_howto_table): Likewise.
770
771 2015-01-15 H.J. Lu <hongjiu.lu@intel.com>
772
773 PR ld/17847
774 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't complain
775 about -fPIC if the symbol is undefined when building executable.
776
777 2015-01-15 Nick Clifton <nickc@redhat.com>
778
779 PR binutils/17512
780 * elf-m10300.c (mn10300_info_to_howto): Replace assertion with an
781 error message. Never return an invalid howto pointer.
782 * elf32-cr16.c (cr16_info_to_howto): Likewise.
783 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
784 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
785 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
786 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
787 * elf32-mips.c (mips_elf32_rtype_to_howto): Likewise.
788 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
789 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
790 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
791 * elf32-v850.c (v850_elf_info_to_howto_rela): Likewise.
792 * elf32-vax.c (rtype_to_howto): Likewise.
793 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
794 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
795 * elfn32-mips.c (sh_elf_info_to_howto): Likewise.
796 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
797 (sh_elf_reloc): Check that the reloc is in range.
798 * reloc.c (bfd_perform_relocation): Check that the section is big
799 enough for the entire reloc.
800 (bfd_generic_get_relocated_section_contents): Report unexpected
801 return values from perform_reloc.
802
803 2015-01-15 Nick Clifton <nickc@redhat.com>
804
805 * elf32-msp430.c (msp430_elf_relax_section): Skip unhandled
806 relocs. Include PC-relative adjustment for R_MSP430X_ABS16
807 relaxation.
808
809 2015-01-15 Alan Modra <amodra@gmail.com>
810
811 * elflink.c (_bfd_elf_link_omit_section_dynsym): Return true for
812 any output section matching a linker created dynobj section.
813
814 2015-01-15 Alan Modra <amodra@gmail.com>
815
816 PR 17842
817 * elflink.c (elf_link_output_sym): Assert elf_onesymtab set.
818 (bfd_elf_final_link): Always create a symbol table when emit_relocs.
819 Don't assign symtab file position unless symbols will be output.
820 Merge blocks with condition in common. Don't call
821 elf_backend_output_arch_local_syms or elf_backend_output_arch_syms
822 unless other symbols are output. Move assignment of symtab_shndx
823 file position. Localize variable.
824
825 2015-01-14 Jiong Wang <jiong.wang@arm.com>
826
827 * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when
828 trying to defer them to runtime.
829
830 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
831
832 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND
833 to check if a symbol should be bound symbolically.
834
835 2015-01-13 Jiong Wang <jiong.wang@arm.com>
836
837 * elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
838 for TLSLE_MOVW_TPREL_G2.
839
840 2015-01-13 Jiong Wang <jiong.wang@arm.com>
841
842 PR ld/17415
843 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Mark
844 R_AARCH64_TLSLE_ADD_TPREL_HI12 as complain_overflow_unsigned.
845 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Correct the
846 bit mask.
847
848 2015-01-12 Terry Guo <terry.guo@arm.com>
849
850 * elflink.c (_bfd_elf_gc_mark_debug_special_section_group): New
851 function.
852 (_bfd_elf_gc_mark_extra_sections): Use it.
853
854 2015-01-11 H.J. Lu <hongjiu.lu@intel.com>
855
856 PR ld/17827
857 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): For PIE,
858 only discard space for pc-relative relocs symbols which turn
859 out to need copy relocs.
860
861 2015-01-09 Nick Clifton <nickc@redhat.com>
862
863 * tekhex.c (getvalue): Fix thinko in test for correct extraction
864 of value.
865 (getsym): Return false if there was not enough data to extract the
866 symbol.
867
868 2015-01-09 Anthony Green <green@moxielogic.com>
869
870 * elf32-moxie.c (ELF_MACHINE_ALT1): Define.
871
872 2015-01-08 Nick Clifton <nickc@redhat.com>
873
874 * elf32-msp430.c (msp430_elf_relax_section): Add relaxation of
875 16-bit absolute BR instructions to 10-bit pc-relative JMP
876 instructions.
877
878 2015-01-08 Nick Clifton <nickc@redhat.com>
879
880 PR binutils/17512
881 * coffcode.h (coff_slurp_symbol_table): Return false if we failed
882 to load the line table.
883 * elf.c (_bfd_elf_map_sections_to_segments): Enforce a minimum
884 maxpagesize of 1.
885 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if
886 the Data Directory Size is too large.
887
888 2015-01-06 H.J. Lu <hongjiu.lu@intel.com>
889
890 PR binutils/17512
891 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocation.
892 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
893
894 2015-01-06 Nick Clifton <nickc@redhat.com>
895
896 PR binutils/17512
897 * mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the
898 string table.
899
900 * reloc.c (bfd_get_reloc_size): Handle a reloc size of -1.
901 (bfd_perform_relocation): Include the size of the reloc in the
902 test for an out of range relocation.
903 (bfd_generic_get_relocated_section_contents): Remove reloc range
904 test.
905
906 * coff-i860.c (CALC_ADDEND): Always set an addend value.
907 * tekhex.c (getvalue): Add an end pointer parameter. Use it to
908 avoid reading off the end of the buffer.
909 (getsym): Likewise.
910 (first_phase): Likewise.
911 (pass_over): Pass an end pointer to the invoked function.
912
913 2015-01-05 H.J. Lu <hongjiu.lu@intel.com>
914
915 PR binutils/17512
916 * elf32-i386.c (elf_i386_get_plt_sym_val): Return NULL on corrupt
917 input.
918 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
919
920 2015-01-05 Nick Clifton <nickc@redhat.com>
921
922 PR binutils/17512
923 * archive.c (do_slurp_bsd_armap): Make sure that the parsed sized
924 is at least big enough for the header to be read.
925 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocs.
926 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add range checks.
927 (bfd_mach_o_read_command): Prevetn duplicate error messages about
928 unrecognized commands.
929 * syms.c (_bfd_stab_section_find_nearest_line): Add range checks
930 when indexing into the string table.
931
932 2015-01-01 Alan Modra <amodra@gmail.com>
933
934 Update year range in copyright notice of all files.
935
936 For older changes see ChangeLog-2014
937 \f
938 Copyright (C) 2015 Free Software Foundation, Inc.
939
940 Copying and distribution of this file, with or without modification,
941 are permitted in any medium without royalty provided the copyright
942 notice and this notice are preserved.
943
944 Local Variables:
945 mode: change-log
946 left-margin: 8
947 fill-column: 74
948 version-control: never
949 End:
This page took 0.069118 seconds and 5 git commands to generate.