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