Fix the gas test align2 for the PDP11 by ensuring that the .text and .data sections...
[binutils-gdb.git] / bfd / ChangeLog
1 2015-02-24 Nick Clifton <nickc@redhat.com>
2
3 * pdp11.c (set_section_contents): Pad the .text and .data sections
4 to their aligned sizes.
5
6 2015-02-23 Yoshinori Sato <ysato@users.sourceforge.jp>
7
8 * config.bfd: Add h8300-*-linux.
9 * configure.ac: Add h8300_elf32_linux_vec.
10 * configure: Regenerate.
11 * elf32-h8300.c: Likewise.
12 * targets.c(_bfd_target_vector): Likewise.
13
14 2015-02-23 Nick Clifton <nickc@redhat.com>
15
16 PR 17914
17 * cpu-w65.c: Correct typos in license notice.
18
19 PR 17940
20 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust debug
21 symbols at end of sections. Adjust function sizes.
22
23 2015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
24
25 * elf-bfd.h (elfcore_write_s390_vxrs_low): Add prototype.
26 (elfcore_write_s390_vxrs_high): Likewise.
27 * elf.c (elfcore_grok_s390_vxrs_low): New function.
28 (elfcore_grok_s390_vxrs_high): New function.
29 (elfcore_grok_note): Call them.
30 (elfcore_write_s390_vxrs_low): New function.
31 (elfcore_write_s390_vxrs_high): New function.
32 (elfcore_write_register_note): Call them.
33
34 2015-02-19 Branko Drevensek <branko.drevensek@gmail.com>
35
36 PR 17995
37 * verilog.c (verilog_write_record): Correct buffer size.
38
39 2015-02-19 Alan Modra <amodra@gmail.com>
40
41 * elflink.c (_bfd_elf_define_linkage_sym): Set 'bed' earlier.
42
43 2015-02-19 Alan Modra <amodra@gmail.com>
44
45 PR ld/4317
46 * elflink.c (elf_link_input_bfd): Drop undefined local syms.
47 (elf_link_output_extsym): Drop local and global undefined syms.
48 Tidy. Expand comment.
49
50 2015-02-17 Alan Modra <amodra@gmail.com>
51
52 PR ld/17975
53 * elflink.c (struct elf_outext_info): Remove need_second_pass
54 and second_pass.
55 (elf_link_output_extsym): Delete code handling second forced
56 local pass. Move code emitting NULL STT_FILE symbol later, so
57 that it can be omitted if forced local is stripped. Don't
58 emit the NULL STT_FILE if no file symbols have been output.
59 (bfd_elf_final_link): Remove second forced local pass.
60 * elf32-ppc.c (add_stub_sym): Set linker_def on linker syms.
61 (ppc_elf_size_dynamic_sections): Likewise.
62 * elf64-ppc.c (ppc_build_one_stub): Likewise.
63 (build_global_entry_stubs): Likewise.
64 (ppc64_elf_build_stubs): Likewise.
65
66 2015-02-16 H.J. Lu <hongjiu.lu@intel.com>
67
68 PR ld/17975
69 * elflink.c (elf_link_output_extsym): Only check filesym_count
70 when outputting a NULL FILE symbol. Set second_pass_sym to
71 h->forced_local && !h->root.linker_def.
72
73 2015-02-15 H.J. Lu <hongjiu.lu@intel.com>
74
75 * elf32-i386.c (elf_i386_always_size_sections): Set root.linker_def
76 on _TLS_MODULE_BASE_.
77 * elf64-x86-64.c (elf_x86_64_always_size_sections): Likewise.
78
79 2015-02-15 Alan Modra <amodra@gmail.com>
80
81 * dwarf2.c (read_rangelist): Correct buffer overflow check
82 Whitespace throughout file.
83
84 2015-02-14 Alan Modra <amodra@gmail.com>
85
86 PR ld/17973
87 * bfd.c (struct bfd): Add lto_output.
88 * linker.c (_bfd_handle_already_linked): Explicitly test for
89 objects added by the lto plugin.
90 * opncls.c (_bfd_new_bfd_contained_in): Copy lto_output and
91 no_export flags from archive.
92 * archive.c (open_nested_file): New function, setting lto_output
93 and no_export, extracted from..
94 (find_nested_archive): ..here. Flip params. Rename from
95 _bfd_find_nested_archive.
96 (_bfd_get_elt_at_filepos): Correct var typo. Use open_nested_file.
97 (_bfd_look_for_bfd_in_cache): Copy no_export.
98 * elflink.c (elf_link_add_object_symbols): Remove now unnecessary
99 my_archive->no_export test.
100 (elf_link_input_bfd): Drop existing lto_output STT_FILE syms.
101 Don't use the file name when adding lto_output STT_FILE sym.
102 * bfd-in2.h: Regenerate.
103
104 2015-02-13 Alan Modra <amodra@gmail.com>
105
106 PR binutils/17512
107 * elf64-ppc.c (opd_entry_value): Tighten offset check. Remove
108 now redundant assert.
109
110 2015-02-12 Nick Clifton <nickc@redhat.com>
111
112 PR binutils/17512
113 * dwarf.c (read_1_byte, read_1_signed_byte, read_2_bytes)
114 (read_4_bytes, read_8_bytes, read_n_bytes, read_string)
115 (read_indirect_string, read_alt_indirect_string)
116 (read_alt_indirect_ref, read_address, read_abbrevs)
117 (read_attribute_value, read_attribute, decode_line_info)
118 (find_abstract_instance_name, read_rangelist)
119 (scan_unit_for_symbols, parse_comp_unit)
120 (_bfd_dwarf2_find_nearest_line): Harden DWARF reading code. Pass
121 end pointers to reading functions and check for offsets taking
122 pointers out of range. Replace calls to read_*_leb128 with calls
123 to safe_read_leb128.
124
125 (* elf64-ppc.c (opd_entry_value): Add a check for an overlarge
126 offset.
127 * syms.c (_bfd_stab_section_find_nearest_line): Add checks for
128 computed file_name address being before the start of the string
129 table.
130
131 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
132
133 PR ld/17878
134 * bfd.c (bfd_plugin_format): New.
135 (bfd): Add plugin_format and plugin_dummy_bfd.
136 * plugin.c (try_load_plugin): Take a pointer to bfd_boolean
137 argument to return TRUE if any plugin is found. Set plugin_format.
138 (has_plugin): New.
139 (bfd_plugin_target_p): New.
140 (bfd_plugin_specified_p): Likewise.
141 (bfd_plugin_target_p): Likewise.
142 (register_ld_plugin_object_p): Likewise.
143 (bfd_plugin_set_plugin): Set has_plugin.
144 (load_plugin): Cache try_load_plugin result.
145 (bfd_plugin_object_p): Try ld_plugin_object_p first. Check
146 plugin_format.
147 * plugin.h (bfd_plugin_target_p): New.
148 (bfd_plugin_specified_p): Likewise.
149 (register_ld_plugin_object_p): Likewise.
150 * bfd-in2.h: Regenerated.
151
152 2015-02-11 Pedro Alves <palves@redhat.com>
153
154 * libbfd-in.h [__cplusplus]: Open extern "C" scope.
155 * libcoff-in.h [__cplusplus]: Open extern "C" scope.
156 * libbfd.h: Regenerate.
157 * libcoff.h: Regenerate.
158
159 * elf-bfd.h [__cplusplus]: Wrap in extern "C".
160 * mach-o.h [__cplusplus]: Wrap in extern "C".
161 * som.h [__cplusplus]: Wrap in extern "C".
162
163 2015-02-10 Nick Clifton <nickc@redhat.com>
164
165 PR binutils/17512
166 * coffcode.h (styp_to_sec_flags): Use an unsigned long type to
167 hold the flag bits.
168 * peXXigen.c (pe_print_reloc): Use unsigned types to hold the
169 size and number of relocs.
170 (pe_print_debugdata): Use a 32-bit aligned buffer to store the
171 codeview record.
172 * versados.c (process_otr): Check the esdid value before using it
173 to access the EDATA.
174
175 2015-02-09 Ed Maste <emaste@freebsd.org>
176
177 * elf32-i386.c (elf_i386_get_plt_sym_val): Avoid incrementing
178 uninitialized and unused variable.
179 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
180
181 2015-02-09 Alan Modra <amodra@gmail.com>
182
183 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault on NULL
184 tls_sec.
185 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
186 * elflink.c (elf_link_output_extsym): Don't assert on NULL tls_sec.
187
188 2015-02-09 Alan Modra <amodra@gmail.com>
189
190 * elflink.c: Whitespace, formatting fixes.
191 (elf_link_input_bfd): Clarify comment.
192 (elf_link_output_extsym): Exclude symbols in linker created
193 sections when testing for plugin symbols.
194
195 2015-02-07 H.J. Lu <hongjiu.lu@intel.com>
196
197 PR ld/17935
198 * elf32-i386.c (elf_i386_readonly_dynrelocs): Also issue a
199 warning for relocation in readonly section for -z text.
200 (elf_i386_size_dynamic_sections): Likewise.
201 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
202 (elf_x86_64_size_dynamic_sections): Likewise.
203
204 2015-02-06 H.J. Lu <hongjiu.lu@intel.com>
205
206 PR ld/12365
207 PR ld/14272
208 * elflink.c (_bfd_elf_fix_symbol_flags): Revert the last change.
209 (elf_link_input_bfd): Mark the plugin symbol undefined if it is
210 referenced from a non-IR file.
211
212 2015-02-06 Nick Clifton <nickc@redhat.com>
213
214 PR binutils/17512
215 * peXXigen.c (rsrc_print_resource_entries): Add range check for
216 addresses that wrap around the address space.
217 (rsrc_parse_entry): Likewise.
218
219 2015-02-03 H.J. Lu <hongjiu.lu@intel.com>
220
221 PR ld/12365
222 PR ld/14272
223 * elflink.c (_bfd_elf_fix_symbol_flags): Mark the plugin symbol
224 undefined if it is referenced from a non-IR file.
225
226 2015-02-03 Nick Clifton <nickc@redhat.com>
227
228 PR binutils/17512
229 * ecoff.c: Use bfd_alloc2 to allocate space for structure arrays.
230 (_bfd_ecoff_slurp_symbol_table): Check for a negative symbol
231 index or an out of range fdr index.
232 * elf-m10300.c (mn10300_info_to_howto): Fix typo in error message.
233 * elf32-arc.c (arc_info_to_howto_rel): Likewise.
234 * elf32-avr.c (avr_info_to_howto_rela): Likewise.
235 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
236 * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
237 * elf32-cris.c (cris_info_to_howto_rela): Likewise.
238 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
239 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
240 * elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
241 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
242 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
243 * elf32-frv.c (frv_info_to_howto_rela): Likewise.
244 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
245 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
246 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
247 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
248 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
249 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
250 * elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
251 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
252 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
253 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
254 * elf32-mep.c (mep_info_to_howto_rela): Likewise.
255 * elf32-metag.c (metag_info_to_howto_rela): Likewise.
256 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
257 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
258 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
259 * elf32-mt.c (mt_info_to_howto_rela): Likewise.
260 * elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
261 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
262 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
263 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
264 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
265 * elf32-rx.c (rx_info_to_howto_rela): Likewise.
266 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
267 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
268 * elf32-v850.c (v850_elf_perform_relocation): Likewise.
269 * elf32-vax.c (rtype_to_howto): Likewise.
270 * elf32-visium.c (visium_info_to_howto_rela): Likewise.
271 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
272 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
273 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
274 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
275 * mach-o.c: Use bfd_alloc2 to allocate space for structure arrays.
276 (bfd_mach_o_canonicalize_one_reloc): Fix check on out
277 of range symbol indicies.
278 (bfd_mach_o_canonicalize_relocs): Check for out of range alloc.
279 (bfd_mach_o_canonicalize_dynamic_reloc): Likewise.
280 (bfd_mach_o_build_dysymtab): Likewise.
281 (bfd_mach_o_write_symtab_content): Set the string table size to
282 zero upon error.
283 (bfd_mach_o_read_symtab_symbols): Reset the nsyms value if the
284 read fails.
285 * peXXigen.c (pe_print_edata): Check for numeric overflow in edt
286 fields.
287 * tekhex.c (first_phase): Check for src pointer reaching end of
288 buffer.
289
290 2015-02-03 Will Newton <will.newton@linaro.org>
291
292 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol):
293 Set st_value to zero for undefined symbols if the reference
294 is weak or pointer_equality_needed is FALSE.
295
296 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve
297 comment discussing why we clear st_value for some symbols.
298
299 2015-02-02 Kuan-Lin Chen <kuanlinchentw@gmail.com>
300
301 * elf32-nds32.c (nds32_get_section_contents): Add one more argument.
302 (nds32_elf_relocate_section): Do not relocate R_NDS32_LONGJUMP7.
303
304 2015-01-29 Alan Modra <amodra@gmail.com>
305
306 * elf64-ppc.c (ppc64_elf_relocate_section): Correct GOT_TLSLD
307 optimization. Tidy mask for GOT_TLSGD optimization.
308 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Correct
309 location of nop zapping high insn too.
310
311 2015-01-28 Alan Modra <amodra@gmail.com>
312
313 * elf64-ppc.h (struct ppc64_elf_params): Add "object_in_toc".
314 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Assume that global symbols
315 in .toc indicate xlc compiled code that might require a rw .toc.
316
317 2015-01-28 James Bowman <james.bowman@ftdichip.com>
318
319 * Makefile.am: Add FT32 files.
320 * archures.c (enum bfd_architecture): Add bfd_arch_ft32.
321 (bfd_mach_ft32): Define.
322 (bfd_ft32_arch): Declare.
323 (bfd_archures_list): Add bfd_ft32_arch.
324 * config.bfd: Handle FT32.
325 * configure.ac: Likewise.
326 * cpu-ft32.c: New file.
327 * elf32-ft32.c: New file.
328 * reloc.c (BFD_RELOC_FT32_10, BFD_RELOC_FT32_20, BFD_RELOC_FT32_17,
329 BFD_RELOC_FT32_18): Define.
330 * targets.c (_bfd_target_vector): Add ft32_elf32_vec.
331 * bfd-in2.h: Regenerate.
332 * libbfd.h: Regenerate.
333 * Makefile.in: Regenerate.
334 * configure: Regenerate.
335 * po/SRC-POTFILES.in: Regenerate.
336
337 2015-01-27 Nick Clifton <nickc@redhat.com>
338
339 PR binutils/17512
340 * pdp11.c (aout_get_external_symbols): Return false if there are
341 no symbols.
342
343 * dwarf2.c (concat_filename): Check for an empty directory table.
344 (scan_unit_for_symbols): Check for reading off the end of the
345 unit.
346 (parse_comp_unit): Check for a DW_AT_comp_dir attribute with a
347 non-string form.
348 * elf64-ppc.c (opd_entry_value): Fail if there are no relocs
349 available.
350
351 2015-01-26 Kuan-Lin Chen <kuanlinchentw@gmail.com>
352
353 * elf32-nds32.c (nds32_elf_pick_relax): Fix again setting.
354
355 2015-01-22 DJ Delorie <dj@redhat.com>
356
357 * elf32-m32c.c (m32c_apply_reloc_24): New.
358 (m32c_elf_howto_table): Use it for R_M32C_24.
359 (m32c_elf_relocate_section): Handle R_M32C_24 specially.
360
361 2015-01-22 Nick Clifton <nickc@redhat.com>
362
363 PR binutils/17512
364 * coffcode.h (handle_COMDAT): When searching for the section
365 symbol, make sure that there is space left in the symbol table.
366 * vms-alpha.c (_bfd_vms_slurp_ehdr): Add range checks.
367
368 2015-01-21 Nick Clifton <nickc@redhat.com>
369
370 PR binutils/17512
371 * coffcode.h (coff_set_arch_mach_hook): Check return value from
372 bfd_malloc.
373 (coff_slurp_line_table): Return FALSE if the line number
374 information was corrupt.
375 (coff_slurp_symbol_table): Return FALSE if the symbol information
376 was corrupt.
377 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Always
378 initialise the fields of the dyld_info structure.
379 (bfd_mach_o_build_exec_seg_command): Replace assertion with an
380 error message and a return value.
381 (bfd_mach_o_layout_commands): Change the function to boolean.
382 Return FALSE if the function fails.
383 (bfd_mach_o_build_commands): Fail if bfd_mach_o_layout_commands
384 fails.
385 (bfd_mach_o_read_command): Fail if an unrecognised command is
386 encountered.
387 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Set bfd_error if the
388 read fails.
389 (slurp_symtab): Check the return from bfd_malloc.
390 (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if the copy
391 encountered an error.
392 (_bfd_XXi_final_link_postscript): Fail if a section could not be
393 copied.
394 * peicode.h (pe_bfd_object_p): Fail if the header could not be
395 swapped in.
396 * tekhex.c (first_phase): Fail if the section is too big.
397 * versados.c (struct esdid): Add content_size field.
398 (process_otr): Use and check the new field.
399 (versados_get_section_contents): Check that the section exists and
400 that the requested data is available.
401
402 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
403
404 * elf32-nios2.c (elf_backend_default_execstack): Define as 0.
405
406 2015-01-20 Alan Modra <amodra@gmail.com>
407
408 PR ld/17615
409 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Don't drop
410 ELF_COMMON_DEF syms.
411
412 2015-01-19 Alan Modra <amodra@gmail.com>
413
414 PR ld/17615
415 * elf-bfd.h (ELF_COMMON_DEF_P): Note that this might be true for
416 linker script assignments too.
417 * elflink.c (elf_gc_sweep_symbol): Don't drop ELF_COMMON_DEF syms.
418 (bfd_elf_gc_mark_dynamic_ref_symbol): Similarly.
419
420 2015-01-19 Alan Modra <amodra@gmail.com>
421
422 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Correct loop iteration
423 to allow return of first howto.
424 * elf32-fr30.c (fr30_reloc_type_lookup): Likewise.
425 * elf32-m32c.c (m32c_reloc_type_lookup): Likewise.
426 * elf32-moxie.c (moxie_reloc_type_lookup): Likewise.
427 * elf32-or1k.c (or1k_reloc_type_lookup): Likewise.
428 * elf32-rl78.c (rl78_reloc_type_lookup): Likewise.
429 * elf32-rx.c (rx_reloc_type_lookup): Likewise.
430 * elf32-tilepro.c (tilepro_reloc_type_lookup): Likewise.
431 * elf32-xstormy16.c (xstormy16_reloc_type_lookup): Likewise.
432 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
433 * elf32-nios2.c (nios2_reloc_map): Add mapping for R_NIOS2_NONE.
434 * elf32-spu.c (spu_elf_bfd_to_reloc_type): Allow return of R_SPU_NONE.
435 (spu_elf_reloc_type_lookup): Adjust to suit.
436
437 2015-01-19 Alan Modra <amodra@gmail.com>
438
439 * bfd-in.h (bfd_get_section_limit_octets): New define, extracted from..
440 (bfd_get_section_limit): ..here.
441 * reloc.c (bfd_perform_relocation): Correct bfd_reloc_outofrange check.
442 (bfd_install_relocation, _bfd_final_link_relocate): Add same check here.
443 * elf32-sh.c (sh_elf_reloc): Correct bfd_reloc_outofrange check.
444 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Remove duplicated
445 bfd_reloc_outofrange check.
446 * bfd-in2.h: Regenerate.
447
448 * cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Return bfd_reloc_ok
449 on zero size relocs.
450 * ecoff.c (ecoff_reloc_link_order): Likewise.
451 * elf32-nds32.c (nds32_relocate_contents): Likewise.
452 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
453
454 * reloc.c (_bfd_relocate_contents): Don't bomb on zero size relocs.
455 (_bfd_clear_contents): Likewise.
456 * elfxx-mips.c (mips_elf_obtain_contents): Likewise.
457 (mips_elf_perform_relocation): Likewise.
458
459 * aoutx.h (aout_link_reloc_link_order): Allow for NULL return
460 from malloc on zero size alloc.
461 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
462 * elflink.c (elf_reloc_link_order): Likewise.
463 * linker.c (_bfd_generic_reloc_link_order): Likewise.
464 * pdp11.c (aout_link_reloc_link_order): Likewise.
465 * xcofflink.c (xcoff_reloc_link_order): Likewise.
466
467 * aoutx.h (howto_table_ext): Ensure NONE relocs have size 3,
468 bitsize 0, and complain_overflow_dont.
469 * coff-sparc.c (coff_sparc_howto_table): Likewise.
470 * elf-hppa.h (elf_hppa_howto_table): Likewise.
471 * elf-m10200.c (elf_mn10200_howto_table): Likewise.
472 * elf-m10300.c (elf_mn10300_howto_table): Likewise.
473 * elf32-arc.c (elf_arc_howto_table): Likewise.
474 * elf32-arm.c (elf32_arm_howto_table_1): Likewise.
475 * elf32-avr.c (elf_avr_howto_table): Likewise.
476 * elf32-bfin.c (bfin_howto_table): Likewise.
477 * elf32-cr16.c (cr16_elf_howto_table): Likewise.
478 * elf32-cris.c (cris_elf_howto_table): Likewise.
479 * elf32-crx.c (crx_elf_howto_table): Likewise.
480 * elf32-d10v.c (elf_d10v_howto_table): Likewise.
481 * elf32-d30v.c (elf_d30v_howto_table): Likewise.
482 * elf32-dlx.c (dlx_elf_howto_table): Likewise.
483 * elf32-epiphany.c (epiphany_elf_howto_table): Likewise.
484 * elf32-fr30.c (fr30_elf_howto_table): Likewise.
485 * elf32-frv.c (elf32_frv_howto_table): Likewise.
486 * elf32-h8300.c (h8_elf_howto_table): Likewise.
487 * elf32-i370.c (i370_elf_howto_raw): Likewise.
488 * elf32-i386.c (elf_howto_table): Likewise.
489 * elf32-i860.c (elf32_i860_howto_table): Likewise.
490 * elf32-i960.c (elf32_i960_relocate): Likewise.
491 * elf32-ip2k.c (ip2k_elf_howto_table): Likewise.
492 * elf32-iq2000.c (iq2000_elf_howto_table): Likewise.
493 * elf32-lm32.c (lm32_elf_howto_table): Likewise.
494 * elf32-m32c.c (m32c_elf_howto_table): Likewise.
495 * elf32-m32r.c (m32r_elf_howto_table): Likewise.
496 * elf32-m68hc11.c (elf_m68hc11_howto_table): Likewise.
497 * elf32-m68hc12.c (elf_m68hc11_howto_table): Likewise.
498 * elf32-m68k.c (howto_table): Likewise.
499 * elf32-mcore.c (mcore_elf_howto_raw): Likewise.
500 * elf32-mep.c (mep_elf_howto_table): Likewise.
501 * elf32-metag.c (elf_metag_howto_table): Likewise.
502 * elf32-microblaze.c (microblaze_elf_howto_raw): Likewise.
503 * elf32-mips.c (elf_mips_howto_table_rel): Likewise.
504 * elf32-moxie.c (moxie_elf_howto_table): Likewise.
505 * elf32-msp430.c (elf_msp430_howto_table): Likewise.
506 * elf32-mt.c (mt_elf_howto_table): Likewise.
507 * elf32-nds32.c (nds32_elf_howto_table): Likewise.
508 * elf32-nios2.c (elf_nios2_howto_table_rel): Likewise.
509 * elf32-or1k.c (or1k_elf_howto_table): Likewise.
510 * elf32-pj.c (pj_elf_howto_table): Likewise.
511 * elf32-ppc.c (ppc_elf_howto_raw): Likewise.
512 * elf32-rl78.c (rl78_elf_howto_table): Likewise.
513 * elf32-rx.c (rx_elf_howto_table): Likewise.
514 * elf32-s390.c (elf_howto_table): Likewise.
515 * elf32-score.c (elf32_score_howto_table): Likewise.
516 * elf32-score7.c (elf32_score_howto_table): Likewise.
517 * elf32-sh-relocs.h (R_SH_NONE): Likewise.
518 * elf32-spu.c (elf_howto_table): Likewise.
519 * elf32-tic6x.c (elf32_tic6x_howto_table): Likewise.
520 * elf32-tilepro.c (tilepro_elf_howto_table): Likewise.
521 * elf32-v850.c (v850_elf_howto_table): Likewise.
522 * elf32-vax.c (howto_table): Likewise.
523 * elf32-visium.c (visium_elf_howto_table): Likewise.
524 * elf32-xc16x.c (xc16x_elf_howto_table): Likewise.
525 * elf32-xgate.c (elf_xgate_howto_table): Likewise.
526 * elf32-xstormy16.c (xstormy16_elf_howto_table): Likewise.
527 * elf32-xtensa.c (elf_howto_table): Likewise.
528 * elf64-alpha.c (elf64_alpha_howto_table): Likewise.
529 * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
530 * elf64-mmix.c (elf_mmix_howto_table): Likewise.
531 * elf64-ppc.c (ppc64_elf_howto_raw): Likewise.
532 * elf64-s390.c (elf_howto_table): Likewise.
533 * elf64-sh64.c (sh_elf64_howto_table): Likewise.
534 * elf64-x86-64.c (x86_64_elf_howto_table): Likewise.
535 * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
536 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
537 (elfNN_aarch64_howto_none): Likewise.
538 * elfxx-ia64.c (ia64_howto_table): Likewise.
539 * elfxx-sparc.c (_bfd_sparc_elf_howto_table): Likewise.
540 * elfxx-tilegx.c (tilegx_elf_howto_table): Likewise.
541 * nlm32-sparc.c (nlm32_sparc_howto_table): Likewise.
542
543 2015-01-15 H.J. Lu <hongjiu.lu@intel.com>
544
545 PR ld/17847
546 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't complain
547 about -fPIC if the symbol is undefined when building executable.
548
549 2015-01-15 Nick Clifton <nickc@redhat.com>
550
551 PR binutils/17512
552 * elf-m10300.c (mn10300_info_to_howto): Replace assertion with an
553 error message. Never return an invalid howto pointer.
554 * elf32-cr16.c (cr16_info_to_howto): Likewise.
555 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
556 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
557 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
558 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
559 * elf32-mips.c (mips_elf32_rtype_to_howto): Likewise.
560 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
561 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
562 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
563 * elf32-v850.c (v850_elf_info_to_howto_rela): Likewise.
564 * elf32-vax.c (rtype_to_howto): Likewise.
565 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
566 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
567 * elfn32-mips.c (sh_elf_info_to_howto): Likewise.
568 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
569 (sh_elf_reloc): Check that the reloc is in range.
570 * reloc.c (bfd_perform_relocation): Check that the section is big
571 enough for the entire reloc.
572 (bfd_generic_get_relocated_section_contents): Report unexpected
573 return values from perform_reloc.
574
575 2015-01-15 Nick Clifton <nickc@redhat.com>
576
577 * elf32-msp430.c (msp430_elf_relax_section): Skip unhandled
578 relocs. Include PC-relative adjustment for R_MSP430X_ABS16
579 relaxation.
580
581 2015-01-15 Alan Modra <amodra@gmail.com>
582
583 * elflink.c (_bfd_elf_link_omit_section_dynsym): Return true for
584 any output section matching a linker created dynobj section.
585
586 2015-01-15 Alan Modra <amodra@gmail.com>
587
588 PR 17842
589 * elflink.c (elf_link_output_sym): Assert elf_onesymtab set.
590 (bfd_elf_final_link): Always create a symbol table when emit_relocs.
591 Don't assign symtab file position unless symbols will be output.
592 Merge blocks with condition in common. Don't call
593 elf_backend_output_arch_local_syms or elf_backend_output_arch_syms
594 unless other symbols are output. Move assignment of symtab_shndx
595 file position. Localize variable.
596
597 2015-01-14 Jiong Wang <jiong.wang@arm.com>
598
599 * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when
600 trying to defer them to runtime.
601
602 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
603
604 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND
605 to check if a symbol should be bound symbolically.
606
607 2015-01-13 Jiong Wang <jiong.wang@arm.com>
608
609 * elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
610 for TLSLE_MOVW_TPREL_G2.
611
612 2015-01-13 Jiong Wang <jiong.wang@arm.com>
613
614 PR ld/17415
615 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Mark
616 R_AARCH64_TLSLE_ADD_TPREL_HI12 as complain_overflow_unsigned.
617 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Correct the
618 bit mask.
619
620 2015-01-12 Terry Guo <terry.guo@arm.com>
621
622 * elflink.c (_bfd_elf_gc_mark_debug_special_section_group): New
623 function.
624 (_bfd_elf_gc_mark_extra_sections): Use it.
625
626 2015-01-11 H.J. Lu <hongjiu.lu@intel.com>
627
628 PR ld/17827
629 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): For PIE,
630 only discard space for pc-relative relocs symbols which turn
631 out to need copy relocs.
632
633 2015-01-09 Nick Clifton <nickc@redhat.com>
634
635 * tekhex.c (getvalue): Fix thinko in test for correct extraction
636 of value.
637 (getsym): Return false if there was not enough data to extract the
638 symbol.
639
640 2015-01-09 Anthony Green <green@moxielogic.com>
641
642 * elf32-moxie.c (ELF_MACHINE_ALT1): Define.
643
644 2015-01-08 Nick Clifton <nickc@redhat.com>
645
646 * elf32-msp430.c (msp430_elf_relax_section): Add relaxation of
647 16-bit absolute BR instructions to 10-bit pc-relative JMP
648 instructions.
649
650 2015-01-08 Nick Clifton <nickc@redhat.com>
651
652 PR binutils/17512
653 * coffcode.h (coff_slurp_symbol_table): Return false if we failed
654 to load the line table.
655 * elf.c (_bfd_elf_map_sections_to_segments): Enforce a minimum
656 maxpagesize of 1.
657 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if
658 the Data Directory Size is too large.
659
660 2015-01-06 H.J. Lu <hongjiu.lu@intel.com>
661
662 PR binutils/17512
663 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocation.
664 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
665
666 2015-01-06 Nick Clifton <nickc@redhat.com>
667
668 PR binutils/17512
669 * mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the
670 string table.
671
672 * reloc.c (bfd_get_reloc_size): Handle a reloc size of -1.
673 (bfd_perform_relocation): Include the size of the reloc in the
674 test for an out of range relocation.
675 (bfd_generic_get_relocated_section_contents): Remove reloc range
676 test.
677
678 * coff-i860.c (CALC_ADDEND): Always set an addend value.
679 * tekhex.c (getvalue): Add an end pointer parameter. Use it to
680 avoid reading off the end of the buffer.
681 (getsym): Likewise.
682 (first_phase): Likewise.
683 (pass_over): Pass an end pointer to the invoked function.
684
685 2015-01-05 H.J. Lu <hongjiu.lu@intel.com>
686
687 PR binutils/17512
688 * elf32-i386.c (elf_i386_get_plt_sym_val): Return NULL on corrupt
689 input.
690 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
691
692 2015-01-05 Nick Clifton <nickc@redhat.com>
693
694 PR binutils/17512
695 * archive.c (do_slurp_bsd_armap): Make sure that the parsed sized
696 is at least big enough for the header to be read.
697 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocs.
698 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add range checks.
699 (bfd_mach_o_read_command): Prevetn duplicate error messages about
700 unrecognized commands.
701 * syms.c (_bfd_stab_section_find_nearest_line): Add range checks
702 when indexing into the string table.
703
704 2015-01-01 Alan Modra <amodra@gmail.com>
705
706 Update year range in copyright notice of all files.
707
708 For older changes see ChangeLog-2014
709 \f
710 Copyright (C) 2015 Free Software Foundation, Inc.
711
712 Copying and distribution of this file, with or without modification,
713 are permitted in any medium without royalty provided the copyright
714 notice and this notice are preserved.
715
716 Local Variables:
717 mode: change-log
718 left-margin: 8
719 fill-column: 74
720 version-control: never
721 End: