]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - bfd/ChangeLog
Rework signal frame probing for FreeBSD/x86
[thirdparty/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
99654aaf
TG
12015-02-26 Terry Guo <terry.guo@arm.com>
2
3 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Update how we
4 merge Tag_ABI_HardFP_use.
5
a127494f
AM
62015-02-26 Alan Modra <amodra@gmail.com>
7
8 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Heed -z nocopyreloc.
9 Use text relocs rather than giving an error on trying to use
10 .dynbss for protected shared lib vars.
11 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
12
bac13f5a
AB
132015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
14
15 * elf32-avr.c (struct elf_avr_section_data): New structure.
16 (struct avr_relax_info): New structure.
17 (elf_avr_new_section_hook): New function.
18 (struct elf_avr_section_data): Add relax_info.
19 (get_avr_relax_info): New function.
20 (init_avr_relax_info): New function.
21 (elf32_avr_relax_delete_bytes): Find next property record before
22 deleting bytes. When deleting don't move bytes beyond the next
23 property record.
24 (avr_elf32_assign_records_to_section): New function.
25 (avr_property_record_compare): New function.
26 (avr_load_all_property_sections): New function.
27 (elf32_avr_relax_section): Load property data. After relaxing the
28 section, move any .align directives that have enough deleted bytes
29 before them.
30 (bfd_elf32_new_section_hook): Define.
31
137c83d6
AB
322015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
33
34 * elf32-avr.h (struct avr_property_header): New strucure.
35 (avr_elf32_load_property_records): Declare.
36 (avr_elf32_property_record_name): Declare.
37 * elf32-avr.c: Add bfd_stdint.h include.
38 (retrieve_local_syms): New function.
39 (get_elf_r_symndx_section): New function.
40 (get_elf_r_symndx_offset): New function.
41 (internal_reloc_compare): New function.
42 (struct avr_find_section_data): New structure.
43 (avr_is_section_for_address): New function.
44 (avr_find_section_for_address): New function.
45 (avr_elf32_load_records_from_section): New function.
46 (avr_elf32_load_property_records): New function.
47 (avr_elf32_property_record_name): New function.
48
fdd410ac
AB
492015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
50
51 * elf32-avr.h (AVR_PROPERTY_RECORD_SECTION_NAME): Define.
52 (AVR_PROPERTY_RECORDS_VERSION): Define.
53 (AVR_PROPERTY_SECTION_HEADER_SIZE): Define.
54 (struct avr_property_record): New structure.
55
685080f2
NC
562015-02-24 Nick Clifton <nickc@redhat.com>
57
58 * elf32-v850.c (v850_set_note): New function. Creates a Renesas
59 style note entry.
60 (v850_elf_make_note_section): New function. Creates a note
61 section.
62 (v850_elf_create_sections): New function. Create a note section
63 if one is not already present.
64 (v850_elf_set_note): New function. Adds a note to a bfd.
65 (v850_elf_copy_private_bfd_data): New function. Copies V850
66 notes.
67 (v850_elf_merge_notes): New function. Merges V850 notes.
68 (print_v850_note): New function. Displays a V850 note.
69 (v850_elf_print_notes): New function. Displays all notes attached
70 to a bfd.
71 (v850_elf_merge_private_bfd_data): Call v850_elf_merge_notes.
72 (v850_elf_print_private_bfd_data): Call v850_elf_print_notes.
73 (v850_elf_fake_sections): Set the type of the V850 note section.
74 * bfd-in.h (v850_elf_create_sections): Add prototype.
75 (v850_elf_set_note): Add prototype.
76 * bfd-in2.h: Regenerate.
77
31593e1b
NC
782015-02-24 Nick Clifton <nickc@redhat.com>
79
80 * configure.ac (AC_CHECK_HEADERS): Add wctype.h.
81 * configure: Regenerate.
82 * config.in: Regenerate.
83 * peXXigen.c: Include wctype.h if HAVE_WCTYPE_H is defined.
84 (u16_mbtowc): Use wint_t types if HAVE_WCTYPE_H is defined.
85 (rsrc_cmp): Use towlower instead of wcsncasecmp if HAVE_WCTYPE_H
86 is defined.
87
3ad797fd
NC
882015-02-24 Nick Clifton <nickc@redhat.com>
89
90 * pdp11.c (set_section_contents): Pad the .text and .data sections
91 to their aligned sizes.
92
5518c738
YS
932015-02-23 Yoshinori Sato <ysato@users.sourceforge.jp>
94
95 * config.bfd: Add h8300-*-linux.
96 * configure.ac: Add h8300_elf32_linux_vec.
97 * configure: Regenerate.
98 * elf32-h8300.c: Likewise.
99 * targets.c(_bfd_target_vector): Likewise.
100
cb967f0d
NC
1012015-02-23 Nick Clifton <nickc@redhat.com>
102
103 PR 17914
104 * cpu-w65.c: Correct typos in license notice.
105
0f8f0c57
NC
106 PR 17940
107 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust debug
108 symbols at end of sections. Adjust function sizes.
109
4ef9f41a
AA
1102015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
111
112 * elf-bfd.h (elfcore_write_s390_vxrs_low): Add prototype.
113 (elfcore_write_s390_vxrs_high): Likewise.
114 * elf.c (elfcore_grok_s390_vxrs_low): New function.
115 (elfcore_grok_s390_vxrs_high): New function.
116 (elfcore_grok_note): Call them.
117 (elfcore_write_s390_vxrs_low): New function.
118 (elfcore_write_s390_vxrs_high): New function.
119 (elfcore_write_register_note): Call them.
120
837914ee
BD
1212015-02-19 Branko Drevensek <branko.drevensek@gmail.com>
122
123 PR 17995
124 * verilog.c (verilog_write_record): Correct buffer size.
125
cf18fda4
AM
1262015-02-19 Alan Modra <amodra@gmail.com>
127
128 * elflink.c (_bfd_elf_define_linkage_sym): Set 'bed' earlier.
129
d983c8c5
AM
1302015-02-19 Alan Modra <amodra@gmail.com>
131
132 PR ld/4317
133 * elflink.c (elf_link_input_bfd): Drop undefined local syms.
134 (elf_link_output_extsym): Drop local and global undefined syms.
135 Tidy. Expand comment.
136
2ec55de3
AM
1372015-02-17 Alan Modra <amodra@gmail.com>
138
139 PR ld/17975
140 * elflink.c (struct elf_outext_info): Remove need_second_pass
141 and second_pass.
142 (elf_link_output_extsym): Delete code handling second forced
143 local pass. Move code emitting NULL STT_FILE symbol later, so
144 that it can be omitted if forced local is stripped. Don't
145 emit the NULL STT_FILE if no file symbols have been output.
146 (bfd_elf_final_link): Remove second forced local pass.
147 * elf32-ppc.c (add_stub_sym): Set linker_def on linker syms.
148 (ppc_elf_size_dynamic_sections): Likewise.
149 * elf64-ppc.c (ppc_build_one_stub): Likewise.
150 (build_global_entry_stubs): Likewise.
151 (ppc64_elf_build_stubs): Likewise.
152
6dfb72b9
L
1532015-02-16 H.J. Lu <hongjiu.lu@intel.com>
154
155 PR ld/17975
156 * elflink.c (elf_link_output_extsym): Only check filesym_count
157 when outputting a NULL FILE symbol. Set second_pass_sym to
158 h->forced_local && !h->root.linker_def.
159
576fa883
L
1602015-02-15 H.J. Lu <hongjiu.lu@intel.com>
161
162 * elf32-i386.c (elf_i386_always_size_sections): Set root.linker_def
163 on _TLS_MODULE_BASE_.
164 * elf64-x86-64.c (elf_x86_64_always_size_sections): Likewise.
165
62f8d217
AM
1662015-02-15 Alan Modra <amodra@gmail.com>
167
168 * dwarf2.c (read_rangelist): Correct buffer overflow check
169 Whitespace throughout file.
170
ce875075
AM
1712015-02-14 Alan Modra <amodra@gmail.com>
172
173 PR ld/17973
174 * bfd.c (struct bfd): Add lto_output.
175 * linker.c (_bfd_handle_already_linked): Explicitly test for
176 objects added by the lto plugin.
177 * opncls.c (_bfd_new_bfd_contained_in): Copy lto_output and
178 no_export flags from archive.
179 * archive.c (open_nested_file): New function, setting lto_output
180 and no_export, extracted from..
181 (find_nested_archive): ..here. Flip params. Rename from
182 _bfd_find_nested_archive.
183 (_bfd_get_elt_at_filepos): Correct var typo. Use open_nested_file.
184 (_bfd_look_for_bfd_in_cache): Copy no_export.
185 * elflink.c (elf_link_add_object_symbols): Remove now unnecessary
186 my_archive->no_export test.
187 (elf_link_input_bfd): Drop existing lto_output STT_FILE syms.
188 Don't use the file name when adding lto_output STT_FILE sym.
189 * bfd-in2.h: Regenerate.
190
451dfd38
AM
1912015-02-13 Alan Modra <amodra@gmail.com>
192
193 PR binutils/17512
194 * elf64-ppc.c (opd_entry_value): Tighten offset check. Remove
195 now redundant assert.
196
dbb3fbbb
NC
1972015-02-12 Nick Clifton <nickc@redhat.com>
198
199 PR binutils/17512
200 * dwarf.c (read_1_byte, read_1_signed_byte, read_2_bytes)
201 (read_4_bytes, read_8_bytes, read_n_bytes, read_string)
202 (read_indirect_string, read_alt_indirect_string)
203 (read_alt_indirect_ref, read_address, read_abbrevs)
204 (read_attribute_value, read_attribute, decode_line_info)
205 (find_abstract_instance_name, read_rangelist)
206 (scan_unit_for_symbols, parse_comp_unit)
207 (_bfd_dwarf2_find_nearest_line): Harden DWARF reading code. Pass
208 end pointers to reading functions and check for offsets taking
209 pointers out of range. Replace calls to read_*_leb128 with calls
210 to safe_read_leb128.
211
212 (* elf64-ppc.c (opd_entry_value): Add a check for an overlarge
213 offset.
214 * syms.c (_bfd_stab_section_find_nearest_line): Add checks for
215 computed file_name address being before the start of the string
216 table.
217
b9dc5a87
L
2182015-02-11 H.J. Lu <hongjiu.lu@intel.com>
219
220 PR ld/17878
221 * bfd.c (bfd_plugin_format): New.
222 (bfd): Add plugin_format and plugin_dummy_bfd.
223 * plugin.c (try_load_plugin): Take a pointer to bfd_boolean
224 argument to return TRUE if any plugin is found. Set plugin_format.
225 (has_plugin): New.
226 (bfd_plugin_target_p): New.
227 (bfd_plugin_specified_p): Likewise.
228 (bfd_plugin_target_p): Likewise.
229 (register_ld_plugin_object_p): Likewise.
230 (bfd_plugin_set_plugin): Set has_plugin.
231 (load_plugin): Cache try_load_plugin result.
232 (bfd_plugin_object_p): Try ld_plugin_object_p first. Check
233 plugin_format.
234 * plugin.h (bfd_plugin_target_p): New.
235 (bfd_plugin_specified_p): Likewise.
236 (register_ld_plugin_object_p): Likewise.
237 * bfd-in2.h: Regenerated.
238
55172d69
PA
2392015-02-11 Pedro Alves <palves@redhat.com>
240
241 * libbfd-in.h [__cplusplus]: Open extern "C" scope.
242 * libcoff-in.h [__cplusplus]: Open extern "C" scope.
243 * libbfd.h: Regenerate.
244 * libcoff.h: Regenerate.
245
246 * elf-bfd.h [__cplusplus]: Wrap in extern "C".
247 * mach-o.h [__cplusplus]: Wrap in extern "C".
248 * som.h [__cplusplus]: Wrap in extern "C".
249
77ef8654
NC
2502015-02-10 Nick Clifton <nickc@redhat.com>
251
252 PR binutils/17512
253 * coffcode.h (styp_to_sec_flags): Use an unsigned long type to
254 hold the flag bits.
255 * peXXigen.c (pe_print_reloc): Use unsigned types to hold the
256 size and number of relocs.
257 (pe_print_debugdata): Use a 32-bit aligned buffer to store the
258 codeview record.
259 * versados.c (process_otr): Check the esdid value before using it
260 to access the EDATA.
261
35181b3e
EM
2622015-02-09 Ed Maste <emaste@freebsd.org>
263
264 * elf32-i386.c (elf_i386_get_plt_sym_val): Avoid incrementing
265 uninitialized and unused variable.
266 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
267
989f9879
AM
2682015-02-09 Alan Modra <amodra@gmail.com>
269
270 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault on NULL
271 tls_sec.
272 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
273 * elflink.c (elf_link_output_extsym): Don't assert on NULL tls_sec.
274
ca4be51c
AM
2752015-02-09 Alan Modra <amodra@gmail.com>
276
277 * elflink.c: Whitespace, formatting fixes.
278 (elf_link_input_bfd): Clarify comment.
279 (elf_link_output_extsym): Exclude symbols in linker created
280 sections when testing for plugin symbols.
281
1952c5cd
L
2822015-02-07 H.J. Lu <hongjiu.lu@intel.com>
283
284 PR ld/17935
285 * elf32-i386.c (elf_i386_readonly_dynrelocs): Also issue a
286 warning for relocation in readonly section for -z text.
287 (elf_i386_size_dynamic_sections): Likewise.
288 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
289 (elf_x86_64_size_dynamic_sections): Likewise.
290
9e2dec47
L
2912015-02-06 H.J. Lu <hongjiu.lu@intel.com>
292
293 PR ld/12365
294 PR ld/14272
295 * elflink.c (_bfd_elf_fix_symbol_flags): Revert the last change.
296 (elf_link_input_bfd): Mark the plugin symbol undefined if it is
297 referenced from a non-IR file.
298
5929c344
NC
2992015-02-06 Nick Clifton <nickc@redhat.com>
300
301 PR binutils/17512
302 * peXXigen.c (rsrc_print_resource_entries): Add range check for
303 addresses that wrap around the address space.
304 (rsrc_parse_entry): Likewise.
305
60f79275
L
3062015-02-03 H.J. Lu <hongjiu.lu@intel.com>
307
308 PR ld/12365
309 PR ld/14272
310 * elflink.c (_bfd_elf_fix_symbol_flags): Mark the plugin symbol
311 undefined if it is referenced from a non-IR file.
312
64d29018
NC
3132015-02-03 Nick Clifton <nickc@redhat.com>
314
315 PR binutils/17512
316 * ecoff.c: Use bfd_alloc2 to allocate space for structure arrays.
317 (_bfd_ecoff_slurp_symbol_table): Check for a negative symbol
318 index or an out of range fdr index.
319 * elf-m10300.c (mn10300_info_to_howto): Fix typo in error message.
320 * elf32-arc.c (arc_info_to_howto_rel): Likewise.
321 * elf32-avr.c (avr_info_to_howto_rela): Likewise.
322 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
323 * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
324 * elf32-cris.c (cris_info_to_howto_rela): Likewise.
325 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
326 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
327 * elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
328 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
329 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
330 * elf32-frv.c (frv_info_to_howto_rela): Likewise.
331 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
332 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
333 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
334 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
335 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
336 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
337 * elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
338 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
339 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
340 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
341 * elf32-mep.c (mep_info_to_howto_rela): Likewise.
342 * elf32-metag.c (metag_info_to_howto_rela): Likewise.
343 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
344 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
345 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
346 * elf32-mt.c (mt_info_to_howto_rela): Likewise.
347 * elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
348 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
349 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
350 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
351 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
352 * elf32-rx.c (rx_info_to_howto_rela): Likewise.
353 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
354 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
355 * elf32-v850.c (v850_elf_perform_relocation): Likewise.
356 * elf32-vax.c (rtype_to_howto): Likewise.
357 * elf32-visium.c (visium_info_to_howto_rela): Likewise.
358 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
359 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
360 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
361 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
362 * mach-o.c: Use bfd_alloc2 to allocate space for structure arrays.
363 (bfd_mach_o_canonicalize_one_reloc): Fix check on out
364 of range symbol indicies.
365 (bfd_mach_o_canonicalize_relocs): Check for out of range alloc.
366 (bfd_mach_o_canonicalize_dynamic_reloc): Likewise.
367 (bfd_mach_o_build_dysymtab): Likewise.
368 (bfd_mach_o_write_symtab_content): Set the string table size to
369 zero upon error.
370 (bfd_mach_o_read_symtab_symbols): Reset the nsyms value if the
371 read fails.
372 * peXXigen.c (pe_print_edata): Check for numeric overflow in edt
373 fields.
374 * tekhex.c (first_phase): Check for src pointer reaching end of
375 buffer.
376
3a635617
WN
3772015-02-03 Will Newton <will.newton@linaro.org>
378
46b87d49
WN
379 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol):
380 Set st_value to zero for undefined symbols if the reference
381 is weak or pointer_equality_needed is FALSE.
382
3a635617
WN
383 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve
384 comment discussing why we clear st_value for some symbols.
385
0c4bd9d9
KLC
3862015-02-02 Kuan-Lin Chen <kuanlinchentw@gmail.com>
387
388 * elf32-nds32.c (nds32_get_section_contents): Add one more argument.
389 (nds32_elf_relocate_section): Do not relocate R_NDS32_LONGJUMP7.
390
b86ac8e3
AM
3912015-01-29 Alan Modra <amodra@gmail.com>
392
393 * elf64-ppc.c (ppc64_elf_relocate_section): Correct GOT_TLSLD
394 optimization. Tidy mask for GOT_TLSGD optimization.
395 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Correct
396 location of nop zapping high insn too.
397
dbd1e97e
AM
3982015-01-28 Alan Modra <amodra@gmail.com>
399
400 * elf64-ppc.h (struct ppc64_elf_params): Add "object_in_toc".
401 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Assume that global symbols
402 in .toc indicate xlc compiled code that might require a rw .toc.
403
3f8107ab
AM
4042015-01-28 James Bowman <james.bowman@ftdichip.com>
405
406 * Makefile.am: Add FT32 files.
407 * archures.c (enum bfd_architecture): Add bfd_arch_ft32.
408 (bfd_mach_ft32): Define.
409 (bfd_ft32_arch): Declare.
410 (bfd_archures_list): Add bfd_ft32_arch.
411 * config.bfd: Handle FT32.
412 * configure.ac: Likewise.
413 * cpu-ft32.c: New file.
414 * elf32-ft32.c: New file.
415 * reloc.c (BFD_RELOC_FT32_10, BFD_RELOC_FT32_20, BFD_RELOC_FT32_17,
416 BFD_RELOC_FT32_18): Define.
417 * targets.c (_bfd_target_vector): Add ft32_elf32_vec.
418 * bfd-in2.h: Regenerate.
419 * libbfd.h: Regenerate.
420 * Makefile.in: Regenerate.
421 * configure: Regenerate.
422 * po/SRC-POTFILES.in: Regenerate.
423
37e3922e
NC
4242015-01-27 Nick Clifton <nickc@redhat.com>
425
426 PR binutils/17512
427 * pdp11.c (aout_get_external_symbols): Return false if there are
428 no symbols.
429
877a8638
NC
430 * dwarf2.c (concat_filename): Check for an empty directory table.
431 (scan_unit_for_symbols): Check for reading off the end of the
432 unit.
433 (parse_comp_unit): Check for a DW_AT_comp_dir attribute with a
434 non-string form.
435 * elf64-ppc.c (opd_entry_value): Fail if there are no relocs
436 available.
437
18393a2e
KLC
4382015-01-26 Kuan-Lin Chen <kuanlinchentw@gmail.com>
439
440 * elf32-nds32.c (nds32_elf_pick_relax): Fix again setting.
441
055173ca
DD
4422015-01-22 DJ Delorie <dj@redhat.com>
443
444 * elf32-m32c.c (m32c_apply_reloc_24): New.
445 (m32c_elf_howto_table): Use it for R_M32C_24.
446 (m32c_elf_relocate_section): Handle R_M32C_24 specially.
447
4e5cb37e
NC
4482015-01-22 Nick Clifton <nickc@redhat.com>
449
450 PR binutils/17512
451 * coffcode.h (handle_COMDAT): When searching for the section
452 symbol, make sure that there is space left in the symbol table.
453 * vms-alpha.c (_bfd_vms_slurp_ehdr): Add range checks.
454
86eafac0
NC
4552015-01-21 Nick Clifton <nickc@redhat.com>
456
457 PR binutils/17512
458 * coffcode.h (coff_set_arch_mach_hook): Check return value from
459 bfd_malloc.
460 (coff_slurp_line_table): Return FALSE if the line number
461 information was corrupt.
462 (coff_slurp_symbol_table): Return FALSE if the symbol information
463 was corrupt.
464 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Always
465 initialise the fields of the dyld_info structure.
466 (bfd_mach_o_build_exec_seg_command): Replace assertion with an
467 error message and a return value.
468 (bfd_mach_o_layout_commands): Change the function to boolean.
469 Return FALSE if the function fails.
470 (bfd_mach_o_build_commands): Fail if bfd_mach_o_layout_commands
471 fails.
472 (bfd_mach_o_read_command): Fail if an unrecognised command is
473 encountered.
474 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Set bfd_error if the
475 read fails.
476 (slurp_symtab): Check the return from bfd_malloc.
477 (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if the copy
478 encountered an error.
479 (_bfd_XXi_final_link_postscript): Fail if a section could not be
480 copied.
481 * peicode.h (pe_bfd_object_p): Fail if the header could not be
482 swapped in.
483 * tekhex.c (first_phase): Fail if the section is too big.
484 * versados.c (struct esdid): Add content_size field.
485 (process_otr): Use and check the new field.
486 (versados_get_section_contents): Check that the section exists and
487 that the requested data is available.
488
03d5b773
CLT
4892015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
490
491 * elf32-nios2.c (elf_backend_default_execstack): Define as 0.
492
1c9177d9
AM
4932015-01-20 Alan Modra <amodra@gmail.com>
494
495 PR ld/17615
496 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Don't drop
497 ELF_COMMON_DEF syms.
498
c4621b33
AM
4992015-01-19 Alan Modra <amodra@gmail.com>
500
3e2aa5bb 501 PR ld/17615
c4621b33
AM
502 * elf-bfd.h (ELF_COMMON_DEF_P): Note that this might be true for
503 linker script assignments too.
504 * elflink.c (elf_gc_sweep_symbol): Don't drop ELF_COMMON_DEF syms.
505 (bfd_elf_gc_mark_dynamic_ref_symbol): Similarly.
506
0ba38529
AM
5072015-01-19 Alan Modra <amodra@gmail.com>
508
509 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Correct loop iteration
510 to allow return of first howto.
511 * elf32-fr30.c (fr30_reloc_type_lookup): Likewise.
512 * elf32-m32c.c (m32c_reloc_type_lookup): Likewise.
513 * elf32-moxie.c (moxie_reloc_type_lookup): Likewise.
514 * elf32-or1k.c (or1k_reloc_type_lookup): Likewise.
515 * elf32-rl78.c (rl78_reloc_type_lookup): Likewise.
516 * elf32-rx.c (rx_reloc_type_lookup): Likewise.
517 * elf32-tilepro.c (tilepro_reloc_type_lookup): Likewise.
518 * elf32-xstormy16.c (xstormy16_reloc_type_lookup): Likewise.
519 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
520 * elf32-nios2.c (nios2_reloc_map): Add mapping for R_NIOS2_NONE.
521 * elf32-spu.c (spu_elf_bfd_to_reloc_type): Allow return of R_SPU_NONE.
522 (spu_elf_reloc_type_lookup): Adjust to suit.
523
6346d5ca
AM
5242015-01-19 Alan Modra <amodra@gmail.com>
525
526 * bfd-in.h (bfd_get_section_limit_octets): New define, extracted from..
527 (bfd_get_section_limit): ..here.
528 * reloc.c (bfd_perform_relocation): Correct bfd_reloc_outofrange check.
529 (bfd_install_relocation, _bfd_final_link_relocate): Add same check here.
530 * elf32-sh.c (sh_elf_reloc): Correct bfd_reloc_outofrange check.
531 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Remove duplicated
532 bfd_reloc_outofrange check.
533 * bfd-in2.h: Regenerate.
534
535 * cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Return bfd_reloc_ok
536 on zero size relocs.
537 * ecoff.c (ecoff_reloc_link_order): Likewise.
538 * elf32-nds32.c (nds32_relocate_contents): Likewise.
539 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
540
541 * reloc.c (_bfd_relocate_contents): Don't bomb on zero size relocs.
542 (_bfd_clear_contents): Likewise.
543 * elfxx-mips.c (mips_elf_obtain_contents): Likewise.
544 (mips_elf_perform_relocation): Likewise.
545
546 * aoutx.h (aout_link_reloc_link_order): Allow for NULL return
547 from malloc on zero size alloc.
548 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
549 * elflink.c (elf_reloc_link_order): Likewise.
550 * linker.c (_bfd_generic_reloc_link_order): Likewise.
551 * pdp11.c (aout_link_reloc_link_order): Likewise.
552 * xcofflink.c (xcoff_reloc_link_order): Likewise.
553
554 * aoutx.h (howto_table_ext): Ensure NONE relocs have size 3,
555 bitsize 0, and complain_overflow_dont.
556 * coff-sparc.c (coff_sparc_howto_table): Likewise.
557 * elf-hppa.h (elf_hppa_howto_table): Likewise.
558 * elf-m10200.c (elf_mn10200_howto_table): Likewise.
559 * elf-m10300.c (elf_mn10300_howto_table): Likewise.
560 * elf32-arc.c (elf_arc_howto_table): Likewise.
561 * elf32-arm.c (elf32_arm_howto_table_1): Likewise.
562 * elf32-avr.c (elf_avr_howto_table): Likewise.
563 * elf32-bfin.c (bfin_howto_table): Likewise.
564 * elf32-cr16.c (cr16_elf_howto_table): Likewise.
565 * elf32-cris.c (cris_elf_howto_table): Likewise.
566 * elf32-crx.c (crx_elf_howto_table): Likewise.
567 * elf32-d10v.c (elf_d10v_howto_table): Likewise.
568 * elf32-d30v.c (elf_d30v_howto_table): Likewise.
569 * elf32-dlx.c (dlx_elf_howto_table): Likewise.
570 * elf32-epiphany.c (epiphany_elf_howto_table): Likewise.
571 * elf32-fr30.c (fr30_elf_howto_table): Likewise.
572 * elf32-frv.c (elf32_frv_howto_table): Likewise.
573 * elf32-h8300.c (h8_elf_howto_table): Likewise.
574 * elf32-i370.c (i370_elf_howto_raw): Likewise.
575 * elf32-i386.c (elf_howto_table): Likewise.
576 * elf32-i860.c (elf32_i860_howto_table): Likewise.
577 * elf32-i960.c (elf32_i960_relocate): Likewise.
578 * elf32-ip2k.c (ip2k_elf_howto_table): Likewise.
579 * elf32-iq2000.c (iq2000_elf_howto_table): Likewise.
580 * elf32-lm32.c (lm32_elf_howto_table): Likewise.
581 * elf32-m32c.c (m32c_elf_howto_table): Likewise.
582 * elf32-m32r.c (m32r_elf_howto_table): Likewise.
583 * elf32-m68hc11.c (elf_m68hc11_howto_table): Likewise.
584 * elf32-m68hc12.c (elf_m68hc11_howto_table): Likewise.
585 * elf32-m68k.c (howto_table): Likewise.
586 * elf32-mcore.c (mcore_elf_howto_raw): Likewise.
587 * elf32-mep.c (mep_elf_howto_table): Likewise.
588 * elf32-metag.c (elf_metag_howto_table): Likewise.
589 * elf32-microblaze.c (microblaze_elf_howto_raw): Likewise.
590 * elf32-mips.c (elf_mips_howto_table_rel): Likewise.
591 * elf32-moxie.c (moxie_elf_howto_table): Likewise.
592 * elf32-msp430.c (elf_msp430_howto_table): Likewise.
593 * elf32-mt.c (mt_elf_howto_table): Likewise.
594 * elf32-nds32.c (nds32_elf_howto_table): Likewise.
595 * elf32-nios2.c (elf_nios2_howto_table_rel): Likewise.
596 * elf32-or1k.c (or1k_elf_howto_table): Likewise.
597 * elf32-pj.c (pj_elf_howto_table): Likewise.
598 * elf32-ppc.c (ppc_elf_howto_raw): Likewise.
599 * elf32-rl78.c (rl78_elf_howto_table): Likewise.
600 * elf32-rx.c (rx_elf_howto_table): Likewise.
601 * elf32-s390.c (elf_howto_table): Likewise.
602 * elf32-score.c (elf32_score_howto_table): Likewise.
603 * elf32-score7.c (elf32_score_howto_table): Likewise.
604 * elf32-sh-relocs.h (R_SH_NONE): Likewise.
605 * elf32-spu.c (elf_howto_table): Likewise.
606 * elf32-tic6x.c (elf32_tic6x_howto_table): Likewise.
607 * elf32-tilepro.c (tilepro_elf_howto_table): Likewise.
608 * elf32-v850.c (v850_elf_howto_table): Likewise.
609 * elf32-vax.c (howto_table): Likewise.
610 * elf32-visium.c (visium_elf_howto_table): Likewise.
611 * elf32-xc16x.c (xc16x_elf_howto_table): Likewise.
612 * elf32-xgate.c (elf_xgate_howto_table): Likewise.
613 * elf32-xstormy16.c (xstormy16_elf_howto_table): Likewise.
614 * elf32-xtensa.c (elf_howto_table): Likewise.
615 * elf64-alpha.c (elf64_alpha_howto_table): Likewise.
616 * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
617 * elf64-mmix.c (elf_mmix_howto_table): Likewise.
618 * elf64-ppc.c (ppc64_elf_howto_raw): Likewise.
619 * elf64-s390.c (elf_howto_table): Likewise.
620 * elf64-sh64.c (sh_elf64_howto_table): Likewise.
621 * elf64-x86-64.c (x86_64_elf_howto_table): Likewise.
622 * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
623 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
624 (elfNN_aarch64_howto_none): Likewise.
625 * elfxx-ia64.c (ia64_howto_table): Likewise.
626 * elfxx-sparc.c (_bfd_sparc_elf_howto_table): Likewise.
627 * elfxx-tilegx.c (tilegx_elf_howto_table): Likewise.
628 * nlm32-sparc.c (nlm32_sparc_howto_table): Likewise.
629
6333bc0d
L
6302015-01-15 H.J. Lu <hongjiu.lu@intel.com>
631
632 PR ld/17847
633 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't complain
634 about -fPIC if the symbol is undefined when building executable.
635
cd21f5da
NC
6362015-01-15 Nick Clifton <nickc@redhat.com>
637
638 PR binutils/17512
639 * elf-m10300.c (mn10300_info_to_howto): Replace assertion with an
640 error message. Never return an invalid howto pointer.
641 * elf32-cr16.c (cr16_info_to_howto): Likewise.
642 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
643 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
644 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
645 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
646 * elf32-mips.c (mips_elf32_rtype_to_howto): Likewise.
647 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
648 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
649 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
650 * elf32-v850.c (v850_elf_info_to_howto_rela): Likewise.
651 * elf32-vax.c (rtype_to_howto): Likewise.
652 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
653 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
654 * elfn32-mips.c (sh_elf_info_to_howto): Likewise.
655 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
656 (sh_elf_reloc): Check that the reloc is in range.
657 * reloc.c (bfd_perform_relocation): Check that the section is big
658 enough for the entire reloc.
659 (bfd_generic_get_relocated_section_contents): Report unexpected
660 return values from perform_reloc.
661
2d071cfc
NC
6622015-01-15 Nick Clifton <nickc@redhat.com>
663
664 * elf32-msp430.c (msp430_elf_relax_section): Skip unhandled
665 relocs. Include PC-relative adjustment for R_MSP430X_ABS16
666 relaxation.
667
ca55926c
AM
6682015-01-15 Alan Modra <amodra@gmail.com>
669
670 * elflink.c (_bfd_elf_link_omit_section_dynsym): Return true for
671 any output section matching a linker created dynobj section.
672
8539e4e8
AM
6732015-01-15 Alan Modra <amodra@gmail.com>
674
675 PR 17842
676 * elflink.c (elf_link_output_sym): Assert elf_onesymtab set.
677 (bfd_elf_final_link): Always create a symbol table when emit_relocs.
678 Don't assign symtab file position unless symbols will be output.
679 Merge blocks with condition in common. Don't call
680 elf_backend_output_arch_local_syms or elf_backend_output_arch_syms
681 unless other symbols are output. Move assignment of symtab_shndx
682 file position. Localize variable.
683
52db4ec2
JW
6842015-01-14 Jiong Wang <jiong.wang@arm.com>
685
686 * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when
687 trying to defer them to runtime.
688
0941db69
JW
6892015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
690
691 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND
692 to check if a symbol should be bound symbolically.
693
0172429c
JW
6942015-01-13 Jiong Wang <jiong.wang@arm.com>
695
696 * elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
697 for TLSLE_MOVW_TPREL_G2.
698
bab91cce
JW
6992015-01-13 Jiong Wang <jiong.wang@arm.com>
700
701 PR ld/17415
702 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Mark
703 R_AARCH64_TLSLE_ADD_TPREL_HI12 as complain_overflow_unsigned.
704 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Correct the
705 bit mask.
706
3c758495
TG
7072015-01-12 Terry Guo <terry.guo@arm.com>
708
709 * elflink.c (_bfd_elf_gc_mark_debug_special_section_group): New
710 function.
711 (_bfd_elf_gc_mark_extra_sections): Use it.
712
9d1d54d5
L
7132015-01-11 H.J. Lu <hongjiu.lu@intel.com>
714
715 PR ld/17827
716 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): For PIE,
717 only discard space for pc-relative relocs symbols which turn
718 out to need copy relocs.
719
c6e8e93a
NC
7202015-01-09 Nick Clifton <nickc@redhat.com>
721
722 * tekhex.c (getvalue): Fix thinko in test for correct extraction
723 of value.
724 (getsym): Return false if there was not enough data to extract the
725 symbol.
726
400cf8cb
AG
7272015-01-09 Anthony Green <green@moxielogic.com>
728
729 * elf32-moxie.c (ELF_MACHINE_ALT1): Define.
730
23d4663e
NC
7312015-01-08 Nick Clifton <nickc@redhat.com>
732
733 * elf32-msp430.c (msp430_elf_relax_section): Add relaxation of
734 16-bit absolute BR instructions to 10-bit pc-relative JMP
735 instructions.
736
063bb025
NC
7372015-01-08 Nick Clifton <nickc@redhat.com>
738
739 PR binutils/17512
740 * coffcode.h (coff_slurp_symbol_table): Return false if we failed
741 to load the line table.
742 * elf.c (_bfd_elf_map_sections_to_segments): Enforce a minimum
743 maxpagesize of 1.
744 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if
745 the Data Directory Size is too large.
746
6f25f223
L
7472015-01-06 H.J. Lu <hongjiu.lu@intel.com>
748
749 PR binutils/17512
750 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocation.
751 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
752
85880250
NC
7532015-01-06 Nick Clifton <nickc@redhat.com>
754
755 PR binutils/17512
e7287c7f
NC
756 * mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the
757 string table.
758
ec93045b
NC
759 * reloc.c (bfd_get_reloc_size): Handle a reloc size of -1.
760 (bfd_perform_relocation): Include the size of the reloc in the
761 test for an out of range relocation.
762 (bfd_generic_get_relocated_section_contents): Remove reloc range
763 test.
764
85880250
NC
765 * coff-i860.c (CALC_ADDEND): Always set an addend value.
766 * tekhex.c (getvalue): Add an end pointer parameter. Use it to
767 avoid reading off the end of the buffer.
768 (getsym): Likewise.
769 (first_phase): Likewise.
770 (pass_over): Pass an end pointer to the invoked function.
771
533d0af0
L
7722015-01-05 H.J. Lu <hongjiu.lu@intel.com>
773
774 PR binutils/17512
775 * elf32-i386.c (elf_i386_get_plt_sym_val): Return NULL on corrupt
776 input.
777 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
778
896ca098
NC
7792015-01-05 Nick Clifton <nickc@redhat.com>
780
781 PR binutils/17512
782 * archive.c (do_slurp_bsd_armap): Make sure that the parsed sized
783 is at least big enough for the header to be read.
784 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocs.
785 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add range checks.
786 (bfd_mach_o_read_command): Prevetn duplicate error messages about
787 unrecognized commands.
788 * syms.c (_bfd_stab_section_find_nearest_line): Add range checks
789 when indexing into the string table.
790
b90efa5b 7912015-01-01 Alan Modra <amodra@gmail.com>
ee3b52e9 792
b90efa5b 793 Update year range in copyright notice of all files.
ee3b52e9 794
b90efa5b 795For older changes see ChangeLog-2014
56882138 796\f
b90efa5b 797Copyright (C) 2015 Free Software Foundation, Inc.
752937aa
NC
798
799Copying and distribution of this file, with or without modification,
800are permitted in any medium without royalty provided the copyright
801notice and this notice are preserved.
802
56882138
AM
803Local Variables:
804mode: change-log
805left-margin: 8
806fill-column: 74
807version-control: never
808End: