ppc64_elf_edit_opd revamp
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
51aecdc5
AM
12014-12-02 Alan Modra <amodra@gmail.com>
2
3 * elf64-ppc.c (OPD_NDX): Define. Use throughout for sizing/indexing
4 _opd_sec_data array, halving required memory.
5 (sort_r_offset): New function.
6 (ppc64_elf_edit_opd): Sort incoming relocs. Accept .opd
7 sections with a mix of 16 and 24 byte OPD entries. Don't
8 attempt to honour --non-overlapping-opd for .opd sections with
9 unexpected relocs. Simplify opd entry size calculations by
10 first finding the reloc for the next entry. Make edit loop
11 handle one opd entry per iteration, with an inner loop
12 handling relocs per entry.
13
06614111
NC
142014-12-01 Nick Clifton <nickc@redhat.com>
15
16 PR binutils/17512
17 * archive.c (do_slurp_coff_armap): Add range checks to prevent
18 running off the end of the string table.
19 * compress.c (bfd_get_full_section_contents): Return a NULL
20 pointer for zero sized sections. Do not attempt to copy a buffer
21 onto itself.
22 * elf-attrs.c (_bfd_elf_parse_attributes): Check for an empty
23 header. Add range checks to avoid running off the end of the
24 section.
25 * elf.c (bfd_elf_get_str_section): Seek before allocating so that
26 if the seek fails, no memory is allocated.
27 (bfd_elf_string_from_elf_section): Do not allocate a string from a
28 non string section. It only leads to trouble later on.
29 (_bfd_elf_print_private_bfd_data): Check for there being too
30 little external dynamic data.
31 (bfd_section_from_shdr): Replace assertion with a failure mode.
32 (bfd_section_from_shdr): When walking a loaded group section use
33 the internal structure size, not the external size. Check for the
34 group section being empty.
35 * elf32-i386.c (elf_i386_rtype_to_howto): Replace assertion with a
36 failure mode.
37 * elfcode.h (elf_slurp_reloc_table): Likewise.
38 * reloc.c (bfd_perform_relocation): Avoid seg-fault if the howto
39 parameter is NULL.
40
7b20f099
AM
412014-11-30 Alan Modra <amodra@gmail.com>
42
43 PR 16452, 16457
44 * elflink.c (_bfd_elf_link_find_version_dependencies): Exclude
45 symbols from libraries that won't be listed in DT_NEEDED.
46 (elf_link_output_extsym): Don't output verdefs for such symbols.
47
25ff461f
AM
482014-11-28 Alan Modra <amodra@gmail.com>
49
50 * elf.c (_bfd_elf_slurp_version_tables): Exit loops when vn_next/
51 vna_next/vd_next/vda_next is zero. Correct counts.
52
1036838a
NC
532014-11-27 Nick Clifton <nickc@redhat.com>
54
55 PR binutils/17512
56 * ecoff.c (_bfd_ecoff_slurp_symbol_table): Warn about and correct
57 a discrepancy between the isymMax and ifdMax values in the
58 symbolic header.
59 * elf.c (_bfd_elf_print_private_bfd_data): Fix the range check
60 scanning the external dynamic entries.
61
a1165289
NC
622014-11-26 Nick Clifton <nickc@redhat.com>
63
64 PR binutils/17512
65 * coff-h8300.c (rtype2howto): Replace abort with returning a NULL
66 value.
67 * coff-h8500.c (rtype2howto): Likewise.
68 * coff-tic30.c (rtype2howto): Likewise.
69 * coff-z80.c (rtype2howto): Likewise.
70 * coff-z8k.c (rtype2howto): Likewise.
71 * coff-ia64.c (RTYPE2HOWTO): Always return a valid howto.
72 * coff-m68k.c (m68k_rtype2howto): Return a NULL howto if none
73 could be found.
74 * coff-mcore.c (RTYPE2HOWTO): Add range checking.
75 * coff-w65.c (rtype2howto): Likewise.
76 * coff-we32k.c (RTYPE2HOWTO): Likewise.
77 * pe-mips.c (RTYPE2HOWTO): Likewise.
78 * coff-x86_64.c (coff_amd64_reloc): Likewise. Replace abort with
79 an error return.
80 * coffcode.h (coff_slurp_reloc_table): Allow the rel parameter to
81 be unused.
82 * coffgen.c (make_a_section_from_file): Check the length of a
83 section name before testing to see if it is a debug section name.
84 (coff_object_p): Zero out any uninitialised bytes in the opt
85 header.
86 * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Test for the raw
87 source being empty when there are values to be processed.
88 (_bfd_ecoff_slurp_symbol_table): Add range check.
89 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Likewise.
90 (bfd_mach_o_mangle_sections): Move test for too many sections to
91 before the allocation of the section table.
92 (bfd_mach_o_read_symtab_strtab): If the read fails, free the
93 memory and nullify the symbol pointer.
94 * reloc.c (bfd_generic_get_relocated_section_contents): Add
95 handling of a bfd_reloc_notsupported return value.
96 * versados.c (EDATA): Add range checking.
97 (get_record): Likewise.
98 (process_otr): Check for contents being available before updating
99 them.
100 (versados_canonicalize_reloc): Add range check.
101
601a03ba
AM
1022014-11-26 Alan Modra <amodra@gmail.com>
103
104 * elf.c (_bfd_elf_slurp_version_tables): Delay allocation of
105 internal verref buffer. Error for zero sh_info. Print errors.
106 Check for zero vd_ndx. Use bfd_zalloc for vd_auxptr buffer.
107
60bb06bc
L
1082014-11-25 H.J. Lu <hongjiu.lu@intel.com>
109
110 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Use
111 NAME##_get_symbol_version_string.
112 (bfd_get_symbol_version_string): New.
113 * aout-adobe.c (aout_32_get_symbol_version_string): Define using
114 _bfd_nosymbols define.
115 * aout-target.h (MY_get_symbol_version_string): Likewise.
116 * aout-tic30.c (MY_get_symbol_version_string): Likewise.
117 * binary.c (binary_get_symbol_version_string): Likewise.
118 * bout.c (aout_32_get_symbol_version_string): Likewise.
119 * coff-rs6000.c (_bfd_xcoff_get_symbol_version_string): Likewise.
120 * i386msdos.c (msdos_get_symbol_version_string): Likewise.
121 * i386os9k.c (aout_32_get_symbol_version_string): Likewise.
122 * ieee.c (ieee_get_symbol_version_string): Likewise.
123 * ihex.c (ihex_get_symbol_version_string): Likewise.
124 * libecoff.h (_bfd_ecoff_get_symbol_version_string): Likewise.
125 * mach-o-target.c (bfd_mach_o_get_symbol_version_string): Likewise.
126 * mmo.c (mmo_get_symbol_version_string): Likewise.
127 * nlm-target.h (nlm_get_symbol_version_string): Likewise.
128 * oasys.c (oasys_get_symbol_version_string): Likewise.
129 * pef.c (bfd_pef_get_symbol_version_string): Likewise.
130 * plugin.c (bfd_plugin_get_symbol_version_string): Likewise.
131 * ppcboot.c (ppcboot_get_symbol_version_string): Likewise.
132 * som.c (som_get_symbol_version_string): Likewise.
133 * srec.c (srec_get_symbol_version_string): Likewise.
134 * tekhex.c (tekhex_get_symbol_version_string): Likewise.
135 * versados.c (versados_get_symbol_version_string): Likewise.
136 * vms-alpha.c (alpha_vms_get_symbol_version_string): Likewise.
137 * xsym.c (bfd_sym_get_symbol_version_string): Likewise.
138
139 * coff64-rs6000.c (rs6000_xcoff64_vec): Use
140 coff_get_symbol_version_string.
141 (rs6000_xcoff64_aix_vec): Likewise.
142
143 * elf-bfd.h (bfd_elf_get_symbol_version_string): Renamed to ...
144 (_bfd_elf_get_symbol_version_string): This.
145 * elf.c: Likewise.
146 (bfd_elf_print_symbol): Updated.
147 * elfxx-target.h (bfd_elfNN_get_symbol_version_string): Define.
148
149 * libbfd-in.h (_bfd_nosymbols_get_symbol_version_string): Define.
150 * libcoff-in.h (coff_get_symbol_version_string): Likewise.
151 * bfd-in2.h: Regenerated.
152 * libbfd.h: Likewise.
153 * libcoff.h: Likewise.
154
bb4d2ac2
L
1552014-11-25 H.J. Lu <hongjiu.lu@intel.com>
156
157 PR binutils/16496
158 * elf-bfd.h (bfd_elf_get_symbol_version_string): New.
159 * elf.c (bfd_elf_get_symbol_version_string): New. Extracted
160 from bfd_elf_print_symbol.
161 (bfd_elf_print_symbol): Use it.
162
dd7e64d4
L
1632014-11-25 H.J. Lu <hongjiu.lu@intel.com>
164
165 * elf32-i386.c (elf_i386_got_plt_entry): New.
166 (elf_i386_pic_got_plt_entry): Likewise.
167 (elf_i386_link_hash_entry): Add plt_got.
168 (elf_i386_link_hash_table): Likewise.
169 (elf_i386_link_hash_newfunc): Initialize plt_got.offset to -1.
170 (elf_i386_get_local_sym_hash): Likewise.
171 (elf_i386_check_relocs): Create the GOT PLT if there are both
172 PLT and GOT references when the regular PLT is used.
173 (elf_i386_allocate_dynrelocs): Use the GOT PLT if there are
174 both PLT and GOT references unless pointer equality is needed.
175 (elf_i386_relocate_section): Also check the GOT PLT when
176 resolving R_386_PLT32.
177 (elf_i386_finish_dynamic_symbol): Use the GOT PLT if it is
178 available.
179
180 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add plt_got.
181 (elf_x86_64_link_hash_table): Likewise.
182 (elf_x86_64_link_hash_newfunc): Initialize plt_got.offset to -1.
183 (elf_x86_64_get_local_sym_hash): Likewise.
184 (elf_x86_64_check_relocs): Create the GOT PLT if there are both
185 PLT and GOT references when the regular PLT is used.
186 (elf_x86_64_allocate_dynrelocs): Use the GOT PLT if there are
187 both PLT and GOT references unless pointer equality is needed.
188 (elf_x86_64_relocate_section): Also check the GOT PLT when
189 resolving R_X86_64_PLT32.
190 (elf_x86_64_finish_dynamic_symbol): Use the GOT PLT if it is
191 available.
192
6e733cce
L
1932014-11-24 H.J. Lu <hongjiu.lu@intel.com>
194
195 * configure: Regenerated.
196
520c7b56
JW
1972014-11-24 Tejas Belagod <tejas.belagod@arm.com>
198
199 * elfnn-aarch64.c (elf_aarch64_compare_mapping): New.
200 (erratum_835769_scan): Sort map list.
201
e05fa0ba
AM
2022014-11-24 Alan Modra <amodra@gmail.com>
203
204 * elf64-ppc.c (plt_stub_pad): Correct.
205
6db50b4c
L
2062014-11-23 H.J. Lu <hongjiu.lu@intel.com>
207
208 * elf64-x86-64.c (elf_x86_64_check_relocs): Assert size of
209 elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry.
210 (elf_x86_64_allocate_dynrelocs): Don't assert size of
211 elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry.
212
35a14c6b
L
2132014-11-22 H.J. Lu <hongjiu.lu@intel.com>
214
215 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check
216 branch displacement overflow in PLT entry.
217
0a9d414a
NC
2182014-11-21 Nick Clifton <nickc@redhat.com>
219
220 PR binutils/17512
221 * coffgen.c (coff_get_normalized_symtab): Check for an excessive
222 number of auxillary entries.
223 * ieee.c (next_byte): Convert to a function. Return FALSE if the
224 next byte is beyond the end of the buffer.
225 (parse_int): Test the return value of next_byte.
226 (parse_expression): Convert to boolean. Return FALSE if the
227 parsing failed. Test the return value of next_byte.
228 (ieee_seek): Convert to a function. Return FALSE if the seek goes
229 beyond the end of the buffer.
230 (ieee_slurp_external_symbols): Test the return value of ieee_seek
231 and next_byte.
232 (ieee_slurp_sections): Convert to boolean. Return FALSE if the
233 operation failed. Test the return value of ieee_seek and
234 next_byte.
235 (ieee_archive_p): Test the return value of ieee_seek and
236 next_byte.
237 (do_one): Likewise.
238 (ieee_slurp_section_data): Likewise.
239 (ieee_object_p): Likewise. Store the size of the buffer in the
240 total_amt field in the header.
241 * libieee.h (common_header_type): Add amt field.
242 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Check that the
243 reloc's value is within range.
244 (bfd_mach_o_read_symtab_symbols): Nullify the symbols field if the
245 operation fails.
246 * pei-x86_64.c (pex64_xdata_print_uwd_codes): Replace abort with
247 an error message.
248 (pex64_dump_xdata): Check for buffer overflows.
249 * versados.c (process_otr): Check that the section exists before
250 taking its size.
251 (versados_object_p): Make sure that enough data was read for the
252 header to be checked.
253 * vms-alpha.c (vms_get_remaining_object_record): Change
254 read_so_far parameter to an unsigned int. Check that the amount
255 read is in range.
256
5974eba6
L
2572014-11-21 H.J. Lu <hongjiu.lu@intel.com>
258
259 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Optimize
260 PC-relative offset overflow check.
261
cd11f78f
AC
2622014-11-21 Alexander Cherepanov <cherepan@mccme.ru>
263
264 PR binutils/17512
265 * coffgen.c (_bfd_coff_read_string_table): Test allocation of
266 string table before clearing the first few bytes.
267
a715796b
TG
2682014-11-21 Terry Guo <terry.guo@arm.com>
269
270 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Support FPv5.
271
0cfb0717
AM
2722014-11-20 Alan Modra <amodra@gmail.com>
273
274 * elf64-ppc.c (group_sections): Init stub14_group_size from
275 --stub-group-size parameter divided by 1024.
276
1e269e9b
AM
2772014-11-20 Alan Modra <amodra@gmail.com>
278
279 * elf32-ppc.c (ppc_elf_relax_section): Correct ppc476 workaround
280 alignment calculation.
281
9274e9de
TG
2822014-11-20 Terry Guo <terry.guo@arm.com>
283
284 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Skip if input bfd
285 hasn't attribute section.
286
f9dffbf0
AM
2872014-11-20 Alan Modra <amodra@gmail.com>
288
289 * elf64-ppc.c (ppc64_elf_size_stubs): Add __go_go to thread_starters.
290
ab7fede8
L
2912014-11-18 H.J. Lu <hongjiu.lu@intel.com>
292
293 PR ld/17618
294 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check
295 PC-relative offset overflow in PLT entry.
296
6937bb54
NC
2972014-11-18 Nick Clifton <nickc@redhat.com>
298
299 PR binutils/17512
300 * peXXIgen.c (pe_print_pdata): Fail if the section's virtual size
301 is larger than its real size.
302 (rsrc_print_section): Fix off-by-one error checking for overflow.
303 * pei-x86_64.c (pex64_bfd_print_pdata): Handle empty unwind
304 sections.
305
d258b828
IZ
3062014-11-18 Igor Zamyatin <igor.zamyatin@intel.com>
307
308 * elf64-x86-64.c (elf_x86_64_check_relocs): Enable MPX PLT only
309 for -z bndplt.
310
470c009b
NC
3112014-11-14 Nick Clifton <nickc@redhat.com>
312
313 PR binutils/17597
314 * opncls.c (bfd_get_debug_link_info): Avoid reading off the end of
315 the section.
316 (bfd_get_alt_debug_link_info): Likewise.
317
041830e0
NC
3182014-11-14 Nick Clifton <nickc@redhat.com>
319
320 PR binutils/17512
321 * ieee.c (ieee_archive_p) Skip processing if no bytes are read at
322 all.
323 (ieee_object_p): Likewise.
324
57494d81
L
3252014-11-13 H.J. Lu <hongjiu.lu@intel.com>
326
327 * coffcode.h (coff_slurp_line_table): Add cast to unsigned int.
328
f8521a03
L
3292014-11-13 H.J. Lu <hongjiu.lu@intel.com>
330
331 * coffcode.h (coff_pointerize_aux_hook): Fix a typo.
332
553d1284
L
3332014-11-13 H.J. Lu <hongjiu.lu@intel.com>
334
335 PR gas/17598
336 * elf64-x86-64.c (elf_x86_64_check_relocs): Treat
337 R_X86_64_GOTPLT64 the same as R_X86_64_GOT64.
338 (elf_x86_64_relocate_section): Likewise.
339
a5c71af8
NC
3402014-11-13 Nick Clifton <nickc@redhat.com>
341
342 PR binutils/17512
343 * coffcode.h (coff_ptr_struct): Add is_sym field.
344 (coff_new_section_hook): Set the is_sym field.
345 (coff_pointerize_aux_hook): Check the is_sym field.
346 (coff_print_aux): Likewise.
347 (coff_compute_section_file_positions): Likewise.
348 (coff_write_object_contents): Likewise.
349 (coff_slurp_line_table): Likewise.
350 (coff_slurp_symbol_table): Likewise.
351 (CALC_ADDEND): Likewise.
352 * coffgen.c (coff_renumber_symbols): Likewise.
353 (coff_mangle_symbols): Likewise.
354 (coff_fix_symbol_name): Likewise.
355 (coff_write_symbol): Likewise.
356 (coff_write_alien_symbol): Likewise.
357 (coff_write_native_symbol): Likewise.
358 (coff_write_symbols): Likewise.
359 (coff_write_linenumbers): Likewise.
360 (coff_pointerize_aux): Likewise.
361 (coff_get_normalized_symtab): Likewise.
362 (coff_get_symbol_info): Likewise.
363 (bfd_coff_get_syment): Likewise.
364 (bfd_coff_get_auxent): Likewise.
365 (coff_print_symbol): Likewise.
366 (coff_find_nearest_line_with_names): Likewise.
367 (bfd_coff_set_symbol_class): Likewise.
368 (coff_make_empty_symbol): Set the is_sym field.
369 (coff_bfd_make_debug_symbol): Likewise.
370 * peicode.h (pe_ILF_make_a_symbol): Likewise.
371 * libcoff.h: Regenerate.
372 * libcoff-in.h: Regenerate.
373
f41e4712
NC
3742014-11-12 Nick Clifton <nickc@redhat.com>
375
376 PR binutils/17512
377 * coffcode.h (coff_slurp_line_table): Set the line number of
378 corrupt entries to -1.
379 (coff_slurp_symbol_table): Alway initialise the value of the
380 symbol.
381 * coffgen.c (coff_print_symbol): Check that the combined pointer
382 is valid.
383 (coff_print_symbol): Do not print negative line numbers.
384 * peXXigen.c (pe_print_idata): Add range checking displaying
385 member names.
386
6bb3e679
AM
3872014-11-12 Alan Modra <amodra@gmail.com>
388
389 PR binutils/17512
390 * coffcode.h (coff_slurp_line_table): Drop line number info
391 not preceded by a valid function entry. Revert last change.
392
201159ec
NC
3932014-11-11 Nick Clifton <nickc@redhat.com>
394
395 PR binutils/17512
396 * coffcode.h (coff_slurp_line_table): Initialise the parts of the
397 line number cache that would not be initialised by the copy from
398 the new line number table.
399 (coff_classify_symbol): Allow for _bfd_coff_internal_syment_name
400 returning NULL.
401 * coffgen.c (coff_get_normalized_symbols): Get the external
402 symbols before allocating space for the internal symbols, in case
403 the get fails.
404 * elf.c (_bfd_elf_slurp_version_tables): Only allocate a verref
405 array if one is needed. Likewise with the verdef array.
406 * peXXigen.c (_bfd_XXi_swap_sym_in): Replace abort()'s with error
407 messages.
408 (_bfd_XXi_swap_aux_in): Make sure that all fields of the aux
409 structure are initialised.
410 (pe_print_edata): Avoid reading off the end of the data buffer.
411
0ac23374
AM
4122014-11-11 Alan Modra <amodra@gmail.com>
413
414 PR binutils/17512
415 * coffcode.h (coff_slurp_line_table): Use updated lineno_count
416 when building func_table.
417
fcfa6240
AM
4182014-11-11 Alan Modra <amodra@gmail.com>
419
420 PR binutils/17512
421 * coffcode.h (coff_slurp_line_table): Don't bfd_zalloc, just
422 memset the particular bits we need. Update src after hitting loop
423 "continue". Don't count lineno omitted due to invalid symbols in
424 nbr_func, and update lineno_count. Init entire terminating
425 lineno. Don't both allocating terminator in n_lineno_cache.
426 Redirect sym->lineno pointer to where n_lineno_cache will be
427 copied, and free n_lineno_cache.
428 * pe-mips.c (NUM_HOWTOS): Typo fix.
429
4de1599b
AM
4302014-11-11 Alan Modra <amodra@gmail.com>
431
432 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust section
433 size check to account for possible zero terminator.
434
fd6f9d17
RS
4352014-11-10 James Cowgill <James.Cowgill@imgtec.com>
436
437 * elfxx-mips.c (_bfd_mips_elf_section_processing): don't force small
438 data sections to be PROGBITS
439
36e9d67b
NC
4402014-11-10 Nick Clifton <nickc@redhat.com>
441
442 PR binutils/17521
443 * coff-i386.c (NUM_HOWTOS): New define.
444 (RTYPE2HOWTO): Use it.
445 (coff_i386_rtype_to_howto): Likewise.
446 (coff_i386_reloc_name_lookup): Likewise.
447 (CALC_ADDEND): Check that reloc r_type field is valid.
448 * coff-x86_64.c (NUM_HOWTOS): New define.
449 (RTYPE2HOWTO): Use it.
450 (coff_amd64_rtype_to_howto): Likewise.
451 (coff_amd64_reloc_name_lookup): Likewise.
452 (CALC_ADDEND): Check that reloc r_type field is valid.
453 * coffcode.h (coff_slurp_line_table): Check for symbol table
454 indexing underflow.
455 (coff_slurp_symbol_table): Use zalloc to ensure that all table
456 entries are initialised.
457 * coffgen.c (_bfd_coff_read_string_table): Initialise unused bits
458 in the string table. Also ensure that the table is 0 terminated.
459 (coff_get_normalized_symtab): Check for symbol table indexing
460 underflow.
461 * opncls.c (bfd_alloc): Catch the case where a small negative size
462 can result in only 1 byte being allocated.
463 (bfd_alloc2): Use bfd_alloc.
464 * pe-mips.c (NUM_HOWTOS): New define.
465 (coff_mips_reloc_name_lookup): Use it.
466 (CALC_ADDEND): Check that reloc r_type field is valid.
467 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Initialise unused entries
468 in the DataDirectory.
469 (pe_print_idata): Avoid reading beyond the end of the data block
470 wen printing strings.
471 (pe_print_edata): Likewise.
472 Check for table indexing underflow.
473 * peicode.h (pe_mkobject): Initialise the pe_opthdr field.
474 (pe_bfd_object_p): Allocate and initialize enough space to hold a
475 PEAOUTHDR, even if the opt_hdr field specified less.
476
d1f5d98a
AM
4772014-11-08 Alan Modra <amodra@gmail.com>
478
479 * peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead.
480
01158262
L
4812014-11-07 H.J. Lu <hongjiu.lu@intel.com>
482
483 * peXXigen.c (pe_print_idata): Cast to unsigned long in range
484 checks.
485
cf61b747
L
4862014-11-07 H.J. Lu <hongjiu.lu@intel.com>
487
488 PR ld/17482
489 * elf64-x86-64.c (elf_x86_64_relocate_section): Update comments
490 for IE->LE transition.
491
56aedec7
AM
4922014-11-07 Alan Modra <amodra@gmail.com>
493
494 * tekhex.c (tekhex_set_arch_mach): Ignore unknown arch errors.
495
e5242d4b
AM
4962014-11-07 Alan Modra <amodra@gmail.com>
497
498 * tekhex.c (CHUNK_SPAN): Define.
499 (struct data_struct <chunk_init>): Use one byte per span, update
500 all code accessing this field.
501 (find_chunk): Add create param, don't create new entry unless set.
502 (insert_byte): Don't save zeros.
503 (first_phase): Set section SEC_CODE or SEC_DATA flag depending
504 on symbol type. Create an alternate section if both types of
505 symbol are given. Attach type '2' and '6' symbols to absolute
506 section.
507 (move_section_contents): Fix caching of chunk. Don't create chunk
508 when reading, or for writing zeros.
509 (tekhex_set_section_contents): Don't create initial chunks.
510 (tekhex_write_object_contents): Use CHUNK_SPAN.
511
7c53fd1c
AM
5122014-11-07 Alan Modra <amodra@gmail.com>
513
514 * aoutx.h (aout_get_external_symbols): Tidy allocation of symbol buffer.
515
40572405
AM
5162014-11-07 Alan Modra <amodra@gmail.com>
517
518 * archive.c (_bfd_slurp_extended_name_table): Revert bfd_get_size check.
519 * coffcode.h (coff_set_alignment_hook): Likewise.
520 (coff_slurp_line_table): Likewise.
521 * coffgen.c (coff_get_normalized_symtab): Likewise.
522 (_bfd_coff_get_external_symbols): Likewise.
523 * elf.c (bfd_elf_get_str_section): Likewise.
524 * tekhex.c (first_phase): Likewise.
525
83410725
NC
5262014-11-06 Nick Clifton <nickc@redhat.com>
527
528 * aoutx.h (slurp_symbol_table): Revert previous delta.
529 (slurp_reloc_table): Likewise.
530 * compress.c (bfd_get_full_section_contents): Remove file size
531 test.
532 * coffgen.c (coff_get_normalized_symtab): Allow zero-sized symtabs
533 and do not complain about linker generated files.
534
1fe9dc45
WN
5352014-11-06 Will Newton <will.newton@linaro.org>
536
537 * elf-attrs.c (_bfd_elf_parse_attributes): Handle zero
538 length sections and sub-sections.
539
a6f921c8
NC
5402014-11-04 Nick Clifton <nickc@redhat.com>
541
542 PR binutils/17512
543 * coffcode.h (handle_COMDAT): Replace abort with BFD_ASSERT.
544 Replace another abort with an error message.
545 (coff_slurp_line_table): Add more range checking.
546 * peXXigen.c (pe_print_debugdata): Add range checking.
547
131e2f8e
MF
5482014-11-05 James Cowgill <james.cowgill@imgtec.com>
549
550 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Fix segfault
551 when creating a dso with discarded dynsym section.
552
09c14161
MF
5532014-11-05 Matthew Fortune <matthew.fortune@imgtec.com>
554
555 * elfxx-mips.c (update_mips_abiflags_isa): Add E_MIPS_ARCH_32R6
556 and E_MIPS_ARCH_64R6 support.
557
20ad5e28
NC
5582014-11-05 Nick Clifton <nickc@redhat.com>
559
560 PR binutils/17512
561 * coffcode.h (coff_set_alignment_hook): Warn if the file lies
562 about the number of relocations it contains.
563 (coff_sort_func_alent): Return 0 if the pointers are NULL.
564 (coff_slurp_line_table): Add more range checks. Do not free new
565 tables created when sorting line numbers.
566 * peXXigen.c (pe_print_idata): Add range checks.
567 (pe_print_edata): Likewise.
568 (rsrc_print_resource_entries): Likewise. Avoid printing control
569 characters. Terminate priniting if corruption is detected.
570 (rsrc_print_resource_directory): Terminate printing if an unknown
571 directory type is encountered.
572 (pe_print_debugdata): Fix off-by-one error.
573 (rsrc_count_entries): Add range checking.
574 (rsrc_parse_entry): Likewise.
575
bb0d8671
NC
5762014-11-04 Nick Clifton <nickc@redhat.com>
577
79f2a78e
NC
578 PR binutils/17512
579 * compress.c (bfd_get_full_section_contents): Improve test for
580 linker created objects.
581
bb0d8671
NC
582 PR binutils/17533
583 * archive.c (_bfd_slurp_extended_name_table): Handle archives with
584 corrupt extended name tables.
585
ef42b83e
AM
5862014-11-04 Alan Modra <amodra@gmail.com>
587
588 * elf32-spu.c (ovl_mgr_stat): New function.
589 (spu_elf_open_builtin_lib): Pass to bfd_openr_iovec.
590
931b79cc
AB
5912014-11-03 Andrew Burgess <andrew.burgess@embecosm.com>
592
593 * elf32-avr.c (elf32_avr_relax_delete_bytes): During linker
594 relaxation, reduce the size of symbols that span the deleted
595 bytes.
596
a12d0ffc
AB
5972014-11-03 Andrew Burgess <andrew.burgess@embecosm.com>
598
599 * elf32-avr.c (elf32_avr_relax_delete_bytes): Modify symbols
600 located at the very end of the section.
601
5a3f568b
NC
6022014-11-03 Nick Clifton <nickc@redhat.com>
603
604 PR binutils/17512
605 * aoutx.h (slurp_symbol_table): Check that computed table size is
606 not bigger than the file from which is it being read.
607 (slurp_reloc_table): Likewise.
608 * coffcode.h (coff_slurp_line_table): Remove unneeded local
609 'warned'. Do not try to print the details of a symbol with an
610 invalid index.
611 * coffgen.c (make_a_sectiobn_from_file): Check computed string
612 index against length of string table.
613 (bfd_coff_internal_syment_name): Check read in string offset
614 against length of string table.
615 (build_debug_section): Return a pointer to the section used.
616 (_bfd_coff_read_string_table): Store the length of the string
617 table in the coff_tdata structure.
618 (bfd_coff_free_symbols): Set the length of the string table to
619 zero when it is freed.
620 (coff_get_normalized_symtab): Check offsets against string table
621 or data table lengths as appropriate.
622 * cofflink.c (_bfd_coff_link_input_bfd): Check offset against
623 length of string table.
624 * compress.c (bfd_get_full_section_contents): Check computed size
625 against the size of the file.
626 * libcoff-in.h (obj_coff_strings_len): Define.
627 (struct coff_tdata): Add strings_len field.
628 * libcoff.h: Regenerate.
629 * peXXigen.c (pe_print_debugdata): Do not attempt to print the
630 data if the debug section is too small.
631 * xcofflink.c (xcoff_link_input_bfd): Check offset against
632 length of string table.
633
ba241f2d
NC
6342014-11-03 Nick Clifton <nickc@redhat.com>
635
636 * po/fi.po: Updated Finnish translation.
637
2c629856
N
6382014-10-31 Andrew Pinski <apinski@cavium.com>
639 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
640
641 * archures.c: Add octeon3 for mips target.
642 * bfd-in2.h: Regenerate.
643 * bfd/cpu-mips.c: Define I_mipsocteon3.
644 nfo_struct): Add octeon3 support.
645 * bfd/elfxx-mips.c: (_bfd_elf_mips_mach): Add support for
646 octeon3.
647 (mips_set_isa_flags): Add support for octeon3.
ba241f2d 648 (bfd_mips_isa_ext): Add bfd_mach_mips_octeon3.
2c629856
N
649 (mips_mach_extensions): Make bfd_mach_mips_octeon3 an
650 extension of bfd_mach_mips_octeon2.
651 (print_mips_isa_ext): Print the value of Octeon3.
652
f54498b4
NC
6532014-10-31 Nick Clifton <nickc@redhat.com>
654
655 PR binutils/17512
656 * coffgen.c (_bfd_coff_get_external_symbols): Do not try to load a
657 symbol table bigger than the file.
658 * elf.c (bfd_elf_get_str_section): Do not try to load a string
659 table bigger than the file.
690725fa 660 * tekhex.c (first_phase): Check that the section range is sane.
f54498b4 661
7e760b06
NC
6622014-10-30 Nick Clifton <nickc@redhat.com>
663
664 PR binutils/17512
0102ea8c 665 * ihex.c (ihex_scan): Fix typo in invocation of ihex_bad_byte.
7e760b06
NC
666 * coffgen.c (coff_get_normalized_symtab): Prevent buffer overrun.
667
e5b470e2
NC
6682014-10-29 Nick Clifton <nickc@redhat.com>
669
670 * elf.c (bfd_section_from_shdr): Fix heap use after free memory
671 leak.
672
d1e8523e
DB
6732014-10-29 Dennis Brueni <dbrueni@slickedit.com>
674
e5b470e2 675 * elf.c (elfcore_write_lwpstatus): Fix typo in call to memcpy.
d1e8523e 676
5a4b0ccc
NC
6772014-10-28 Nick Clifton <nickc@redhat.com>
678
679 PR binutils/17512
680 * elf.c (bfd_section_from_shdr): Allocate and free the recursion
681 detection table on a per-bfd basis.
682 * peXXigen.c (pe_print_edata): Handle binaries with a truncated
683 export table.
684
708d7d0d
NC
6852014-10-28 Andreas Schwab <schwab@suse.de>
686 Nick Clifton <nickc@redhat.com>
687
688 PR binutils/17510
689 * srec.c (srec_bad_byte): Increase size of buf to allow for
690 negative values.
691 (srec_scan): Use an unsigned char buffer to hold header bytes.
692
493a3386
NC
6932014-10-27 Nick Clifton <nickc@redhat.com>
694
7e1e1988 695 PR binutils/17512
bf67003b
NC
696 * elf.c (bfd_section_from_shdr): Detect and warn about ELF
697 binaries with a group of sections linked by the string table
698 indicies.
7e1e1988
NC
699 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Handle corrupt binaries
700 with an invalid value for NumberOfRvaAndSizes.
bf67003b
NC
701 (pe_print_edata): Detect out of range rvas and entry counts for
702 the Export Address table, Name Pointer table and Ordinal table.
7e1e1988 703
493a3386
NC
704 PR binutils/17510
705 * elf.c (setup_group): Improve handling of corrupt group
706 sections.
707
68fcca92
JW
7082014-10-24 Tejas Belagod <tejas.belagod@arm.com>
709
710 * bfd-in.h (bfd_elf64_aarch64_set_options): Add a parameter.
711 * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
712 * elfnn-aarch64.c (aarch64_erratum_835769_stub): New.
713 (elf_aarch64_stub_type): Add new type
714 aarch64_stub_erratum_835769_veneer.
715 (elf_aarch64_stub_hash_entry): New fields for erratum 835769.
716 (aarch64_erratum_835769_fix): New data struct to record erratum
717 835769.
718 (elf_aarch64_link_hash_table: Global flags for 835769.
719 (aarch64_build_one_stub): Add case for 835769.
720 (aarch64_size_one_stub): Likewise.
721 (aarch64_mem_op_p, aarch64_mlxl_p,
722 aarch64_erratum_sequence,erratum_835769_scan):
723 New. Decode and scan functions for erratum 835769.
724 (elf_aarch64_create_or_find_stub_sec): New.
725 (elfNN_aarch64_size_stubs): Look for erratum 835769 and record
726 them.
727 (bfd_elfNN_aarch64_set_options: Set global flag for 835769.
728 (erratum_835769_branch_to_stub_data,
729 make_branch_to_erratum_835769_stub):New. Connect up all the
730 erratum stubs to occurances by branches.
731 (elfNN_aarch64_write_section): New hook.
732 (aarch64_map_one_stub): Output erratum stub symbol.
733 (elfNN_aarch64_size_dynamic_sections): Init mapping symbol
734 information for erratum 835769.
735 (elf_backend_write_section): Define.
736
685e70ae
VK
7372014-10-23 Victor Kamensky <victor.kamensky@linaro.org>
738
739 * elf32-arm.c (read_code32): New function to read 32 bit
740 arm instruction.
741 (read_code16): New function to read 16 bit thumb instrution.
742 (elf32_arm_plt0_size, elf32_arm_plt_size): Use read_code32
743 and read_code16 to read instructions.
744
00ac7aa0
MF
7452014-10-22 Matthew Fortune <matthew.fortune@imgtec.com>
746
747 * elfxx-mips.c (print_mips_ases): Print unknown ASEs.
748 (print_mips_isa_ext): Print the value of an unknown extension.
749
73242275
AM
7502014-10-21 Alan Modra <amodra@gmail.com>
751
752 * elf64-ppc.c (ppc64_elf_tls_optimize): Ignore relocs against toc
753 entries that aren't a multiple of 8 rather than failing assertion.
754
2300b5a1
AM
7552014-10-21 Alan Modra <amodra@gmail.com>
756
757 * elf64-ppc.c (ppc64_elf_size_stubs): Add gcc-4.9 libgomp functions
758 to thread_starter.
759
b53dfeb2
AM
7602014-10-18 Alan Modra <amodra@gmail.com>
761
762 * elf64-ppc.c (ppc64_elf_add_symbol_hook): If function code
763 section for function symbols defined in .opd is discarded, let
764 the symbol appear to be undefined.
765 (opd_entry_value): Ensure the result section is that for the
766 function code section in the same object as the OPD entry.
767
f1885d1e
AM
7682014-10-16 Alan Modra <amodra@gmail.com>
769
770 PR 17492
771 * elf32-arm.c (elf32_arm_add_symbol_hook): Only set has_gnu_symbols
772 on ELF output bfd.
773 * elf32-i386.c (elf_i386_add_symbol_hook): Likewise.
774 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
775 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
776 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
777 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
778 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
779 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
780 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
781 * elf-s390-common.c (elf_s390_add_symbol_hook): Likewise. Handle
782 STB_GNU_UNIQUE too.
783
459609d6
AM
7842014-10-16 Alan Modra <amodra@gmail.com>
785
786 * elf64-ppc.c (ppc64_elf_before_check_relocs): Do .opd processing
787 even when output is not ppc64 ELF. Remove redundant tests on
788 type of input bfd.
789
fb167eb2
AM
7902014-10-15 Alan Modra <amodra@gmail.com>
791
792 PR 17481
793 * aoutx.h (NAME (aout, find_nearest_line)): Add "discriminator_ptr"
794 param, group "section" and "offset" params. Zero discriminator.
795 * bfd.c (bfd_find_nearest_line): Implement with new
796 _bfd_find_nearest_line.
797 (bfd_find_nearest_line_discriminator): Likewise.
798 * coff-i386.c (_bfd_generic_find_nearest_line_discriminator): Don't
799 define.
800 * coff-rs6000.c (xcoff_find_nearest_line,
801 xcoff_find_nearest_line_discriminator): Delete.
802 (_bfd_xcoff_find_nearest_line): Don't define.
803 (_bfd_xcoff_find_nearest_line): Define as coff_find_nearest_line.
804 * coff-x86_64.c (_bfd_generic_find_nearest_line_discriminator): Don't
805 define.
806 * coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Adjust.
807 * coffgen.c (coff_find_nearest_line_with_names): Reorder params,
808 adjust _bfd_dwarf2_find_nearest_line call.
809 (coff_find_nearest_line): Add "discriminator_ptr" param, reorder
810 others. Set discriminator. Adjust call.
811 (coff_find_nearest_line_discriminator): Delete.
812 * dwarf1.c (_bfd_dwarf1_find_nearest_line): Reorder params.
813 * dwarf2.c (find_line): Rename to..
814 (_bfd_dwarf2_find_nearest_line): ..this, reordering params.
815 Simplify setting of do_line. Delete old function.
816 (_bfd_dwarf2_find_line): Delete.
817 * ecoff.c (_bfd_ecoff_find_nearest_line): Reorder params, add
818 discriminator_ptr and set it.
819 * elf-bfd.h (_bfd_elf_find_nearest_line): Update prototype.
820 (_bfd_elf_find_nearest_line_discriminator): Delete.
821 (_bfd_elf_find_line_discriminator): Delete.
822 (_bfd_generic_find_nearest_line_discriminator): Don't define.
823 * elf.c (elf_find_function): Reorder params.
824 (_bfd_elf_find_nearest_line): Reorder params, add discriminator_ptr.
825 Adjust calls.
826 (_bfd_elf_find_nearest_line_discriminator): Delete.
827 (_bfd_elf_find_line): Adjust call.
828 * elf32-arm.c (arm_elf_find_function): Reorder params.
829 (elf32_arm_find_nearest_line): Reorder params, add discriminator_ptr.
830 Adjust calls.
831 * elf64-alpha.c (elf64_alpha_find_nearest_line): Similarly.
832 * elfnn-aarch64.c (aarch64_elf_find_function): Reorder params.
833 (elfNN_aarch64_find_nearest_line): Reorder params, add
834 discriminator_ptr. Adjust calls.
835 * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Similarly.
836 * elfxx-mips.h (_bfd_mips_elf_find_nearest_line): Update prototype.
837 * libaout.h (NAME (aout, find_nearest_line)): Update prototype.
838 * libbfd-in.h (_bfd_nosymbols_find_nearest_line): Update.
839 (_bfd_dwarf1_find_nearest_line): Likewise.
840 (_bfd_dwarf2_find_nearest_line): Likewise.
841 (_bfd_dwarf2_find_line): Delete.
842 (_bfd_generic_find_nearest_line_discriminator): Delete.
843 * libbfd.c (_bfd_generic_find_nearest_line_discriminator): Delete.
844 * libcoff-in.h (coff_find_nearest_line): Update prototype.
845 (coff_find_nearest_line_discriminator): Delete.
846 (coff_find_nearest_line_with_names): Update prototype.
847 * libecoff.h (_bfd_ecoff_find_nearest_line): Update prototype.
848 * mach-o.c (bfd_mach_o_find_nearest_line): Reorder params, add
849 discriminator_ptr. Adjust calls.
850 * mach-o.h (bfd_mach_o_find_nearest_line): Update prototype.
851 * pdp11.c (NAME (aout, find_nearest_line)): Reorder params, add
852 discriminator_ptr and set.
853 * som.c (som_find_nearest_line): Similarly.
854 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Delete entry for
855 _bfd_find_nearest_line_discriminator.
856 (struct bfd_target <_bfd_find_nearest_line>): Adjust prototype.
857 (struct bfd_target <_bfd_find_nearest_line_discriminator>): Delete.
858 * vms-alpha.c (_bfd_vms_find_nearest_dst_line): Rename to..
859 (_bfd_vms_find_nearest_line): ..this. Reorder params, add
860 "discriminator" and set.
861 (_bfd_vms_find_nearest_line_discriminator): Delete.
862 (_bfd_generic_find_nearest_line_discriminator): Don't define.
863 (alpha_vms_find_nearest_line): Update define.
864 * bfd-in2.h: Regenerate.
865 * libbfd.h: Regenerate.
866 * libcoff.h: Regenerate.
867
9c461f7d
AM
8682014-10-15 Alan Modra <amodra@gmail.com>
869
870 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Use NAME##_find_line.
871 * aout-adobe.c (aout_32_find_line): Define.
872 (aout_32_bfd_make_debug_symbol, aout_32_bfd_reloc_type_lookup,
873 aout_32_bfd_reloc_name_lookup): Define using _bfd_nosymbols define.
874 * aout-target.h (MY_find_line): Define.
875 * aout-tic30.c (MY_find_line): Define.
876 * binary.c (binary_find_line): Define.
877 * bout.c (aout_32_find_line): Define.
878 * coff-rs6000.c (_bfd_xcoff_find_line): Define.
879 * coff64-rs6000.c (rs6000_xcoff64_vec): Use coff_find_line.
880 (rs6000_xcoff64_aix_vec): Likewise.
881 * elf-bfd.h (_bfd_generic_find_line): Don't define.
882 * elfxx-target.h (bfd_elfNN_find_line): Define.
883 * i386msdos.c (msdos_find_line): Define.
884 * i386os9k.c (aout_32_find_line): Define.
885 * ieee.c (ieee_find_nearest_line, ieee_find_inliner_info): Delete func.
886 (ieee_find_nearest_line, ieee_find_line,
887 ieee_find_inliner_info): Define.
888 * ihex.c (ihex_find_line): Define.
889 * libbfd-in.h (_bfd_nosymbols_find_line): Define.
890 (_bfd_generic_find_line): Don't define.
891 * libbfd.c (_bfd_generic_find_line): Delete.
892 * libcoff-in.h (coff_find_line): Define.
893 * libecoff.h (_bfd_ecoff_find_line): Define.
894 * mach-o.h (bfd_mach_o_find_line): Define.
895 * mmo.c (mmo_find_line): Define.
896 * nlm-target.h (nlm_find_line): Define.
897 * oasys.c (oasys_find_nearest_line, oasys_find_inliner_info): Delete.
898 (oasys_find_nearest_line, oasys_find_line,
899 oasys_find_inliner_info): Define.
900 * pef.c (bfd_pef_find_line): Define.
901 * plugin.c (bfd_plugin_find_line): Define.
902 * ppcboot.c (ppcboot_find_line): Define.
903 * som.c (som_find_line): Define.
904 * srec.c (srec_find_line): Define.
905 * tekhex.c (tekhex_find_line): Define.
906 * versados.c (versados_find_line): Define.
907 * vms-alpha.c (alpha_vms_find_line): Define.
908 * xsym.c (bfd_sym_find_line): Define.
909 * bfd-in2.h: Regenerate.
910 * libbfd.h: Regenerate.
911 * libcoff.h: Regenerate.
912
91dc4e0a
TG
9132014-10-15 Tristan Gingold <gingold@adacore.com>
914
915 * version.m4: Bump version to 2.25.51
916 * configure: Regenerate.
917
5697705a
L
9182014-10-14 H.J. Lu <hongjiu.lu@intel.com>
919
920 * elf32-i386.c (elf_i386_convert_mov_to_lea): Skip if relocation
921 offset is less than 2.
922 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
923
65879393
AM
9242014-10-14 Alan Modra <amodra@gmail.com>
925
926 PR 17453
927 * libbfd.c (COERCE16, COERCE32, COERCE64): Use unsigned types.
928 (EIGHT_GAZILLION): Delete.
929
5b69e357
AM
9302014-10-13 Alan Modra <amodra@gmail.com>
931
932 PR 17467
933 * elf-eh-frame.c (ENSURE_NO_RELOCS): Don't stop at first NONE reloc.
934 (_bfd_elf_parse_eh_frame): When relocatable output, don't set
935 flags enabling conversion of CIEs and FDEs to use relative encoding.
936 (find_merged_cie): Similarly.
937 (_bfd_elf_write_section_eh_frame): Don't edit FDEs when
938 relocatable, except for CIE pointer.
939 * elflink.c (bfd_elf_reloc_symbol_deleted_p): Return true for
940 relocs against symbols in dropped comdat group sections.
941 (bfd_elf_discard_info): Do some eh_frame optimisation when
942 relocatable.
943
3d68f91c
JM
9442014-10-09 Jose E. Marchesi <jose.marchesi@oracle.com>
945
946 * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Handle
947 the hwcaps2 object attribute.
948
c2aaac08
AM
9492014-10-04 Alan Modra <amodra@gmail.com>
950
951 PR 17447
952 * elf-bfd.h (struct eh_cie_fde): Comment re NULL u.fde.cie_inf.
953 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Mark zero address
954 range FDEs for discarding.
955 (vma_compare): Sort on range after address.
956 (_bfd_elf_gc_mark_fdes): Test for NULL u.fde.cie_inf.
957 (_bfd_elf_discard_section_eh_frame): Likewise. Write "FDE" in
958 error message rather than "fde".
959 (_bfd_elf_write_section_eh_frame_hdr): Write "PC" and "FDE" in
960 error message.
961
cf7363b4
L
9622014-09-29 H.J. Lu <hongjiu.lu@intel.com>
963
964 PR ld/17440
965 * elf32-i386.c (elf_i386_fbsd_post_process_headers): Fix build
966 for OLD_FREEBSD_ABI_LABEL.
967
e44f5bef
MT
9682014-09-24 Markus Trippelsdorf <markus@trippelsdorf.de>
969
970 PR 17422
971 * plugin.c (try_claim): New function. Moved from
972 bfd_plugin_object_p.
973 (try_load_plugin): Pass through bfd. Add test.
974 (load_plugin): Pass through bfd.
975 (bfd_plugin_object_p): Move logic to try_claim.
976
331ed130
SA
9772014-09-23 Sterling Augustine <augustine.sterling@gmail.com>
978
979 * elf32-xtensa.c (is_resolvable_asm_expansion): for cross-section
980 call relaxation use furthermost addresses where call source and
981 destination can be to check whether it's in the range of a direct
982 call.
983
aa8f4d1e
AM
9842014-09-22 Alan Modra <amodra@gmail.com>
985
986 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Don't return
987 false for overflow or overlapping FDEs. Give more detail in
988 error messages.
989
c3eb94b4
MF
9902014-09-22 Andrew Bennett <andrew.bennett@imgtec.com>
991
992 * elfxx-mips.c (mips_elf_calculate_relocation): Don't sign extend
993 the addend if relocations are RELA.
994
f4cb41f4
KLC
9952014-09-22 Kuan-Lin Chen <kuanlinchentw@gmail.com>
996
997 * elf32-nds32.c (nds32_elf_ex9_build_hash_table,
998 nds32_elf_ex9_relocation_check): Synchronize the argument type.
999
e00d879a
AK
10002014-09-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1001
1002 * elf32-s390.c: Don't replace R_390_TLS_LE32 with R_390_TLS_TPOFF
1003 for PIE.
1004 * elf64-s390.c: Don't replace R_390_TLS_LE64 with R_390_TLS_TPOFF
1005 for PIE.
1006
92c9bcd4
JK
10072014-09-18 Jan Kratochvil <jan.kratochvil@redhat.com>
1008
1009 PR gdb/17407
1010 * elfcode.h (bfd_from_remote_memory): Use SIZE for HIGH_OFFSET.
1011
70e99720
TG
10122014-09-16 Terry Guo <terry.guo@arm.com>
1013
1014 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Return false if
1015 failed to merge.
1016
1c8f6a4d
KLC
10172014-09-16 Kuan-Lin Chen <kuanlinchentw@gmail.com>
1018
1019 * bfd-in2.h: Regenerate.
1020 * elf32-nds32.c (nds32_elf_mkobject): Hook bfd_elf32_mkobject.
1021 (nds32_elf_relax_section): Code refactoring.
1022 (nds32_elf_relax_longcall1, nds32_elf_relax_longcall2,
1023 nds32_elf_relax_longcall3, nds32_elf_relax_longcall4,
1024 nds32_elf_relax_longcall5, nds32_elf_relax_longcall6): Relax call
1025 pattern. The first three is moved from nds32_elf_relax_section,
1026 and the last three is new function.
1027 (nds32_elf_relax_longjump1, nds32_elf_relax_longjump2,
1028 nds32_elf_relax_longjump3, nds32_elf_relax_longjump4,
1029 nds32_elf_relax_longjump5, nds32_elf_relax_longjump6,
1030 nds32_elf_relax_longjump7): Relax condition branch pattern. The first
1031 three is moved from nds32_elf_relax_section, and the last four
1032 is new function.
1033 (nds32_elf_relax_loadstore, nds32_elf_relax_lo12): Relax load-store
1034 pattern and address setting pattern.
1035 (nds32_elf_relax_piclo12, nds32_elf_relax_ptr,
1036 nds32_elf_relax_pltgot_suff, nds32_elf_relax_got_suff,
1037 nds32_elf_relax_gotoff_suff): Relax pic pattern.
1038 (nds32_elf_relax_letlslo12, nds32_elf_relax_letlsadd,
1039 nds32_elf_relax_letlsls): Relax TLS pattern.
1040 (nds32_relax_adjust_label): Adjust alignment and nop.
1041 (nds32_elf_pick_relax): Choose relaxation optimization.
1042 (nds32_elf_get_relocated_section_contents): New hook.
1043 (nds32_elf_order_insn_times, nds32_elf_ex9_build_itable): Release ex9
1044 table 234th entry.
1045 * elf32-nds32.h: Declare.
1046 * libbfd.h: Regenerate.
1047 * reloc.c: Add nds32 new relocations.
1048
6d74e8a1
CG
10492014-09-15 Chen Gang <gang.chen.5i5j@gmail.com>
1050
1051 * dwarf2.c (find_abstract_instance_name): Use 'form' instead of
1052 'name' for the typo issue, which related with commit
1053 60d77146a249ae9b51d7ce98930cdbedb2cfa352.
1054
7361da2c
AB
10552014-09-15 Andrew Bennett <andrew.bennett@imgtec.com>
1056 Matthew Fortune <matthew.fortune@imgtec.com>
1057
1058 * aoutx.h (NAME (aout, machine_type)): Add mips32r6 and mips64r6.
1059 * archures.c (bfd_architecture): Likewise.
1060 * bfd-in2.h (bfd_architecture): Likewise.
1061 (bfd_reloc_code_real): Add relocs BFD_RELOC_MIPS_21_PCREL_S2,
1062 BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and
1063 BFD_RELOC_MIPS_19_PCREL_S2.
1064 * cpu-mips.c (arch_info_struct): Add mips32r6 and mips64r6.
1065 * elf32-mips.c: Define relocs R_MIPS_PC21_S2, R_MIPS_PC26_S2
1066 R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16 and R_MIPS_PCLO16.
1067 (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2,
1068 BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
1069 BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
1070 BFD_RELOC_LO16_PCREL.
1071 * elf64-mips.c: Define REL, and RELA relocations R_MIPS_PC21_S2,
1072 R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16
1073 and R_MIPS_PCLO16.
1074 (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2,
1075 BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
1076 BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
1077 BFD_RELOC_LO16_PCREL.
1078 * elfn32-mips.c: Likewise.
1079 * elfxx-mips.c (MIPSR6_P): New define.
1080 (mipsr6_exec_plt_entry): New array.
1081 (hi16_reloc_p): Add support for R_MIPS_PCHI16.
1082 (lo16_reloc_p): Add support for R_MIPS_PCLO16.
1083 (aligned_pcrel_reloc_p): New function.
1084 (mips_elf_relocation_needs_la25_stub): Add support for relocs:
1085 R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
1086 (mips_elf_calculate_relocation): Add support for relocs:
1087 R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2,
1088 R_MIPS_PCHI16 and R_MIPS_PCLO16.
1089 (_bfd_elf_mips_mach): Add support for mips32r6 and mips64r6.
1090 (mips_elf_add_lo16_rel_addend): Add support for R_MIPS_PCHI16.
1091 (_bfd_mips_elf_check_relocs): Add support for relocs:
1092 R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
1093 (_bfd_mips_elf_relocate_section): Add a check for unaligned
1094 pc relative relocs.
1095 (_bfd_mips_elf_finish_dynamic_symbol): Add support for MIPS r6
1096 plt entry.
1097 (mips_set_isa_flags): Add support for mips32r6 and mips64r6.
1098 (_bfd_mips_elf_print_private_bfd_data): Likewise.
1099 (mips_32bit_flags_p): Add support for mips32r6.
1100 * libbfd.h (bfd_reloc_code_real_names): Add entries for
1101 BFD_RELOC_MIPS_21_PCREL_S2, BFD_RELOC_MIPS_26_PCREL_S2,
1102 BFD_RELOC_MIPS_18_PCREL_S3 and BFD_RELOC_MIPS_19_PCREL_S2.
1103 * reloc.c: Document relocs BFD_RELOC_MIPS_21_PCREL_S2,
1104 BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and
1105 BFD_RELOC_MIPS_19_PCREL_S2.
1106 * config.bfd: Add mips*-img-elf* target triple.
1107
a9d58c06
AB
11082014-09-12 Andrew Bennett <andrew.bennett@imgtec.com>
1109
1110 * config.bfd: Add mips*-img-elf* target triple.
1111
ae6c7e33
AM
11122014-09-12 Alan Modra <amodra@gmail.com>
1113
1114 * elf-bfd.h (struct eh_frame_array_ent): Add "range".
1115 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Stash address
1116 range of FDEs to hdr_info->array.
1117 (_bfd_elf_write_section_eh_frame_hdr): Report overflow in
1118 .eh_frame_hdr entries, and overlapping FDEs.
1119
a485e98e
AM
11202014-09-10 Alan Modra <amodra@gmail.com>
1121
1122 * elf.c (assign_file_positions_except_relocs): Move section header
1123 placement to..
1124 (_bfd_elf_assign_file_positions_for_relocs): ..here. Make static.
1125 * elf-bfd.h (_bfd_elf_assign_file_positions_for_relocs): Delete.
1126 * elflink.c (bfd_elf_final_link): Don't call above function.
1127
6128f9cf
AM
11282014-08-30 Alan Modra <amodra@gmail.com>
1129
1130 * elf32-ppc.c (ppc_elf_relax_section): Fix off by one error.
1131
4805fc55
AM
11322014-08-29 Alan Modra <amodra@gmail.com>
1133
1134 * elf64-ppc.c (ppc64_elf_relocate_section): Report a different
1135 error for calls via a toc adjusting stub without a nop.
1136
b138affb
AM
11372014-08-29 Alan Modra <amodra@gmail.com>
1138
1139 * vms-alpha.c (alpha_vma_object_p): Don't return file_truncated
1140 error. Remove redundant bfd_set_error.
1141
bd25671c
AM
11422014-08-29 Alan Modra <amodra@gmail.com>
1143
1144 * srec.c (srec_scan): Revert last change. Report an error for
1145 S-records with less than the miniumum byte count.
1146
376c8d5b
L
11472014-08-28 H.J. Lu <hongjiu.lu@intel.com>
1148
1149 * srec.c (srec_scan): Return error for 0 size.
1150
c8831961
L
11512014-08-27 H.J. Lu <hongjiu.lu@intel.com>
1152
1153 PR ld/17306
1154 * elf32-i386.c (elf_i386_convert_mov_to_lea): Use bfd_is_abs_section
1155 to check discarded input section.
1156 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
1157
29a9f53e
L
11582014-08-27 H.J. Lu <hongjiu.lu@intel.com>
1159
1160 PR ld/17313
1161 * elflink.c (elf_link_add_object_symbols): Don't attach dynamic
1162 sections to input from ld --just-symbols.
1163
32e79d39
DD
11642014-08-26 DJ Delorie <dj@redhat.com>
1165
1166 * elf32-rl78.c (rl78_elf_relax_section): Disambiguate test for
1167 relaxation type.
1168
614b09ce
JW
11692014-08-26 Jiong Wang <jiong.wang@arm.com>
1170
1171 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Initialize non_got_ref
1172 properly for MOVW_G0/1/2_NC and MOVW_G3. Reject them when linking
1173 shared library.
1174 (elfNN_aarch64_gc_sweep_hook): Add check on these relocs.
1175
0d6d4c82
NC
11762014-08-26 Nick Clifton <nickc@redhat.com>
1177
1178 * config.bfd: Fix typo in or1knd selection.
1179
a4a027b7
KT
11802014-08-22 Kai Tietz <ktietz@redhat.com>
1181
1182 PR binutils/11822
1183 * coffcode.h (coff_compute_section_file_positions): Keep
1184 FileAlignment valid as set.
1185
4564fb94
AM
11862014-08-22 Alan Modra <amodra@gmail.com>
1187
1188 * elf-eh-frame.c (struct cie): Delete "output_sec" field.
1189 (cie_eq, cie_compute_hash): Use output_section from cie_inf instead.
1190
da44f4e5
AM
11912014-08-22 Alan Modra <amodra@gmail.com>
1192
1193 * elf-bfd.h (struct eh_frame_hdr_info): Delete merge_cies and
1194 parsed_eh_frames.
1195 (_bfd_elf_begin_eh_frame_parsing): Delete.
1196 (_bfd_elf_end_eh_frame_parsing): Delete.
1197 * elf-eh-frame.c (_bfd_elf_begin_eh_frame_parsing): Delete.
1198 (_bfd_elf_end_eh_frame_parsing): Delete.
1199 (_bfd_elf_parse_eh_frame): Don't test parsed_eh_frame. Test
1200 !info->relocatable in place of merge_cies.
1201 * elflink.c (bfd_elf_gc_sections, bfd_elf_discard_info): Adjust.
1202 * elf64-ppc.c (glink_eh_frame_cie): Pad to multiple of 8.
1203 (ppc64_elf_size_stubs): Likewise pad stub FDE.
1204 (ppc64_elf_build_stubs): Move code setting glink .eh_frame to..
1205 (ppc64_elf_size_stubs): ..here and..
1206 (ppc64_elf_finish_dynamic_sections): ..here.
1207
1d7c9635
MR
12082014-08-21 Maciej W. Rozycki <macro@codesourcery.com>
1209
1210 * elf64-ppc.h (ppc64_elf_set_toc): Fix indentation.
1211
c5423981
TG
12122014-08-21 Tony Wang <tony.wang@arm.com>
1213
1214 * elf32-arm.c (elf32_arm_final_link_relocate): Implement
1215 the veneer routine for R_ARM_THM_JUMP19.
1216 (arm_type_of_stub): Add conditional clause for R_ARM_THM_JUMP19
1217 (elf32_arm_size_stub): Ditto.
1218
469a3493
RM
12192014-08-20 Roland McGrath <mcgrathr@google.com>
1220
1221 PR ld/17277
1222 * elf32-arm.c (elf32_arm_check_relocs): Increment P->pc_count for
1223 all reloc types with pc_relative set in the howto, not just for
1224 R_ARM_REL32 and R_ARM_REL32_NOI.
1225 (allocate_dynrelocs_for_symbol): Update comment.
1226 (elf32_arm_gc_sweep_hook): For all reloc types with pc_relative
1227 set in the howto, set call_reloc_p and may_need_local_target_p but
1228 not may_become_dynamic_p; not only for R_ARM_REL32 and R_ARM_REL32_NOI.
1229 (elf32_arm_check_relocs): Likewise.
1230
01e6c1a4
WN
12312014-08-20 Will Newton <will.newton@linaro.org>
1232
1233 * config.bfd: Default armeb-*-eabi* to big endian.
1234
2974be62
AM
12352014-08-19 Alan Modra <amodra@gmail.com>
1236
1237 * configure: Regenerate.
1238
1009ef28
AM
12392014-08-18 Alan Modra <amodra@gmail.com>
1240
1241 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't attempt to
1242 use dynrelocs for ifunc.
1243 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Similarly.
1244
1240be6b
AM
12452014-08-18 Alan Modra <amodra@gmail.com>
1246
1247 PR 17287
1248 * elflink.c (on_needed_list): Only consider libraries that have
1249 been loaded.
1250
75938853
AM
12512014-08-18 Alan Modra <amodra@gmail.com>
1252
1253 * elflink.c (bfd_elf_discard_info): Return int error status.
1254 * stabs.c (_bfd_discard_section_stabs): Comment typo fix.
1255 * bfd-in.h (bfd_elf_discard_info): Updata prototype.
1256 * bfd-in2.h: Regenerate.
1257
513ea82e
AM
12582014-08-14 Alan Modra <amodra@gmail.com>
1259
1260 * peXXigen.c (pe_print_reloc): Protect against access past end
1261 of .reloc section.
1262
18cd5bce
AM
12632014-08-14 Alan Modra <amodra@gmail.com>
1264
1265 PR 16563
1266 * elflink.c (bfd_elf_discard_info): Process .eh_frame and .stab
1267 in the order they are mapped to output sections.
1268
b879806f
AM
12692014-08-14 Alan Modra <amodra@gmail.com>
1270
1271 * configure.ac: Delete redundant plugin related checks.
1272 * configure: Regenerate.
1273
ffccb7af
SK
12742014-08-13 Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
1275
1276 * elf32-or1k.c (or1k_elf_relocate_section, or1k_elf_check_relocs,
1277 allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL
1278 and SYMBOLIC_BIND.
1279
46135103
AM
12802014-08-12 Alan Modra <amodra@gmail.com>
1281
1282 * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Only call "notice"
1283 here when not calling the generic add_symbol function. Formatting.
1284 Correct handling of indirect symbols. Update notice call.
1285 * elflink.c (_bfd_elf_notice_as_needed): Update notice call.
1286 * linker.c (_bfd_generic_link_add_one_symbol): Create indirect
1287 symbols early. Update notice call. Add comments regarding weak
1288 symbols vs. indirect.
1289
88d3f087
AM
12902014-08-12 Alan Modra <amodra@gmail.com>
1291
1292 PR ld/16746
1293 * linker.c (_bfd_generic_link_add_one_symbol <WARN>): Handle
1294 !lto_plugin_active.
1295
7f59d2ac
CG
12962014-08-07 Chen Gang <gang.chen.5i5j@gmail.com>
1297
1298 * coff-ppc.c (coff_ppc_relocate_section): Ensure local symbols are
1299 zero terminated.
1300
db712946
L
13012014-08-07 H.J. Lu <hongjiu.lu@intel.com>
1302 Alan Modra <amodra@gmail.com>
1303
1304 PR ld/16746
1305 * linker.c (_bfd_generic_link_add_one_symbol): Don't issue a
1306 warning for references in LTO IR to warning symbols.
1307
59c26567
AM
13082014-08-07 Alan Modra <amodra@gmail.com>
1309
1310 * linker.c (WARN, CWARN): Collapse these states to WARN.
1311 (_bfd_generic_link_add_one_symbol): Use old CWARN case for
1312 new WARN.
1313
aaffae57
DE
13142014-08-05 Doug Evans <dje@google.com>
1315
1316 * bfd-in2.h: Regenerate.
1317 * libcoff.h: Regenerate.
1318
e034b2cc
MR
13192014-08-05 Maciej W. Rozycki <macro@codesourcery.com>
1320
1321 * elfxx-mips.c (_bfd_mips_elf_discard_info): Set section's
1322 rawsize if changing size.
1323
7833fb7b
AM
13242014-08-05 Alan Modra <amodra@gmail.com>
1325
1326 PR ld/17226
1327 * elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Typo fix.
1328
02eb0a49
AM
13292014-08-05 Alan Modra <amodra@gmail.com>
1330
1331 * linker.c (generic_link_check_archive_element): Move handling
1332 of command link -u symbols with a common symbol def to the
1333 code handling non-common symbols so that archive element symbols
1334 are loaded. Use generic_link_add_object_symbols.
1335
13e570f8
AM
13362014-08-05 Alan Modra <amodra@gmail.com>
1337
1338 PR 13557
1339 * linker.c (struct archive_list, struct archive_hash_entry,
1340 struct archive_hash_table, archive_hash_newfunc,
1341 archive_hash_table_init, archive_hash_lookup, archive_hash_allocate,
1342 archive_hash_table_free): Delete.
1343 (_bfd_generic_link_add_archive_symbols): Add h and name params to
1344 checkfn. Rewrite using a straight-forward scan over archive map.
1345 (generic_link_check_archive_element_no_collect,
1346 generic_link_check_archive_element_collect,
1347 generic_link_check_archive_element): Add h and name params.
1348 * aoutx.h (aout_link_check_archive_element): Likewise.
1349 * pdp11.c (aout_link_check_archive_element): Likewise.
1350 * xcofflink.c (xcoff_link_check_archive_element): Likewise.
1351 * cofflink.c (coff_link_check_archive_element): Likewise. Don't
1352 scan symbols, simply add archive element whenever h is undefined.
1353 (coff_link_check_ar_symbols): Delete.
1354 * ecoff.c (read_ext_syms_and_strs): Delete.
1355 (reread_ext_syms_and_strs): Delete.
1356 (ecoff_link_check_archive_element): Add h and name param. Don't
1357 scan symbols, simply add based on h. Use ecoff_link_add_object_symbols.
1358 * elflink.c (elf_link_is_defined_archive_symbol): Don't test
1359 archive_pass.
1360 (elf_link_add_archive_symbols): Delete "defined" array, merge
1361 functionality into "included". Make "included" a char array. Don't
1362 set or test archive_pass.
1363 * libbfd-in.h (_bfd_generic_link_add_archive_symbols): Update.
1364 * libbfd.h: Regenerate.
1365
8c784016
KK
13662014-08-01 Takashi Yoshii <yoshii.takashi@renesas.com>
1367
1368 PR 10373
1369 * elf32-sh.c (sh_elf_relax_section): Add jmp to bra relaxing.
1370
351cdf24
MF
13712014-07-29 Matthew Fortune <matthew.fortune@imgtec.com>
1372
1373 * elfxx-mips.c (ABI_O32_P, MIPS_ELF_ABIFLAGS_SECTION_NAME_P): New macro.
1374 (mips_elf_obj_tdata): Add abiflags and abiflags_valid fields.
1375 (bfd_mips_elf_swap_abiflags_v0_in): New function.
1376 (bfd_mips_elf_swap_abiflags_v0_out): Likewise.
1377 (_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_ABIFLAGS.
1378 (_bfd_mips_elf_fake_sections): Likewise.
1379 (_bfd_mips_elf_always_size_sections): Handle .MIPS.abiflags.
1380 (_bfd_mips_elf_additional_program_headers): Account for new
1381 PT_MIPS_ABIFLAGS program header.
1382 (_bfd_mips_elf_modify_segment_map): Create PT_MIPS_ABIFLAGS segment and
1383 associate with .MIPS.abiflags.
1384 (_bfd_mips_elf_gc_mark_extra_sections): New function.
1385 (bfd_mips_isa_ext, update_mips_abiflags_isa): New static function.
1386 (infer_mips_abiflags): Likewise.
1387 (_bfd_mips_elf_final_link): Handle .MIPS.abiflags.
1388 (mips_32bit_flags_p): Moved higher.
1389 (mips_elf_merge_obj_attributes, _bfd_mips_fp_abi_string): Error
1390 checking for FP ABIs.
1391 (_bfd_mips_elf_merge_private_bfd_data): Restructure and add abiflags
1392 checks. Check EF_MIPS_FP64 flag consistency.
1393 (print_mips_ases, print_mips_isa_ext): New static function.
1394 (print_mips_fp_abi_value, get_mips_reg_size): Likewise.
1395 (_bfd_mips_elf_print_private_bfd_data): Display abiflags data.
1396 (_bfd_mips_post_process_headers): Set EI_ABIVERSION = 3 for
1397 Val_GNU_MIPS_ABI_FP_64 or Val_GNU_MIPS_ABI_FP_64A.
1398 * elfxx-mips.h (_bfd_mips_elf_gc_mark_extra_sections): New prototype.
1399 * elf32-mips.c (elf_backend_gc_mark_extra_sections): Implement.
1400 * elfn32-mips.c (elf_backend_gc_mark_extra_sections): Implement.
1401 * elf64-mips.c (elf_backend_gc_mark_extra_sections): Implement.
1402
b794fc1d
AM
14032014-07-28 Alan Modra <amodra@gmail.com>
1404
1405 PR 13227
1406 * archive.c (_bfd_compute_and_write_armap): Warn on adding
1407 __gnu_lto_slim to armap.
1408 * linker.c (_bfd_generic_link_add_one_symbol): Warn on adding
1409 __gnu_lto_slim to linker hash table.
1410
48494700
AG
14112014-07-27 Anthony Green <green@moxielogic.org>
1412
1413 * config.bfd: Add moxie-*-moxiebox*.
1414
3d52a869
JS
14152014-07-21 Joel Sherrill <joel.sherrill@oarcorp.com>
1416
1417 Add or reactivate or1k-*-rtems*
1a8bdf69 1418 * config.bfd (or1k-*-rtems*): Reactivate.
3d52a869 1419
cca5b8b6
L
14202014-07-16 H.J. Lu <hongjiu.lu@intel.com>
1421
1422 * elf32-i386.c (elf_i386_plt_sym_val): Match PLT entry only for
1423 ELFOSABI_GNU input.
1424 * elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
1425 (elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise.
1426
144bed8d
L
14272014-07-16 H.J. Lu <hongjiu.lu@intel.com>
1428
1429 PR binutils/17154
1430 * elf32-i386.c (elf_i386_plt_sym_val): Only match R_*_JUMP_SLOT
1431 and R_*_IRELATIVE relocation offset with PLT entry.
1432 * elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
1433 (elf_x86_64_plt_sym_val_offset_plt_bnd): New.
1434 (elf_x86_64_get_synthetic_symtab): Use it.
1435
998d811a
L
14362014-07-15 H.J. Lu <hongjiu.lu@intel.com>
1437
1438 PR ld/17057
1439 * elf32-i386.c (elf_i386_compute_jump_table_size): Replace
1440 next_tls_desc_index with elf.srelplt->reloc_count.
1441
87f14779
AM
14422014-07-15 Alan Modra <amodra@gmail.com>
1443
1444 * cache.c (cache_bread_1): Don't return -1 when fread returns
1445 a positive value.
1446
cd3416da
AM
14472014-07-15 Alan Modra <amodra@gmail.com>
1448
1449 * elflink.c (elf_merge_st_other): Update comments. Simplify
1450 visibility handling. Make isym const. Move code modifying
1451 isym->st_other for --exclude-libs to..
1452 (elf_link_add_object_symbols): ..here.
1453
17ca87fc
MN
14542014-07-11 Maks Naumov <maksqwe1@ukr.net>
1455
1456 PR 17141
1457 * elf.c (_bfd_elf_strtab_add): Check strtab name for failure.
1458
5bc8cb6f
NC
14592014-07-08 Nick Clifton <nickc@redhat.com>
1460
1461 PR ld/17110
1462 * elf32-sh.c (sh_elf_osec_to_segment): Do not look for output
1463 segments in input bfds.
1464
7572ca89
WN
14652014-07-08 Will Newton <will.newton@linaro.org>
1466
1467 * elf32-arm.c (ELF_MAXPAGESIZE): Increase the default
1468 value to 64kB and remove custom setting for NaCl.
1469
bffebb6b
AM
14702014-07-08 Alan Modra <amodra@gmail.com>
1471
1472 * elflink.c (_bfd_elf_copy_link_hash_symbol_type): Copy st_other
1473 bits from source to dest.
1474 * linker.c (_bfd_generic_copy_link_hash_symbol_type): Update comment.
1475 * targets.c (struct bfd_target <_bfd_copy_link_hash_symbol_type>):
1476 Likewise.
1477 * bfd-in2.h: Regenerate.
1478
2e0488d3
JW
14792014-07-08 Jiong Wang <jiong.wang@arm.com>
1480
1481 * elfnn-aarch64.c (elf_backend_rela_normal): Set to 1.
1482 (elfNN_aarch64_relocate_section): Remove duplicated addend adjustment
1483 when info->relocatable be true.
1484
75f58085
BS
14852014-07-07 Barney Stratford <barney_stratford@fastmail.fm>
1486
1487 * elf32-avr.c: Handle R_AVR_PORT5 and R_AVR_PORT6.
1488 * reloc.c: Add BFD_RELOC_AVR_PORT5 and BFD_RELOC_AVR_PORT6.
1489 * bfd-in2.h: Regenerate.
1490 * libbfd.h: Regenerate.
1491
1110793a
AM
14922014-07-04 Alan Modra <amodra@gmail.com>
1493
1494 * Makefile.am: Update "configure.in" comments.
1495 * PORTING: Likewise.
1496 * aoutx.h: Likewise.
1497 * configure.host: Likewise.
1498 * doc/bfdint.texi: Likewise.
1499 * targets.c: Likewise.
1500 * warning.m4: Likewise.
1501 * Makefile.in: Regenerate.
1502
35eafcc7
AM
15032014-07-04 Alan Modra <amodra@gmail.com>
1504
1505 * configure.ac: Rename from configure.in.
1506 * Makefile.in: Regenerate.
1507 * config.in: Regenerate.
1508 * doc/Makefile.in: Regenerate.
1509
82b57a90
AM
15102014-07-04 Alan Modra <amodra@gmail.com>
1511
1512 * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Remove configure.in.
1513 * Makefile.in: Regenerate.
1514
2e98a7bd
AM
15152014-07-04 Alan Modra <amodra@gmail.com>
1516
1517 * version.m4: New file.
1518 * configure.in: Include version.m4.
1519 (AC_INIT): Update.
1520 * Makefile.am (RELEASE): Delete.
1521 (bfdver.h): Depend on development.sh, use instead of RELEASE.
1522 * Makefile.in: Regenerate.
1523 * doc/Makefile.in: Regenerate.
1524
d1eca1e4
AM
15252014-07-02 Alan Modra <amodra@gmail.com>
1526
1527 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Clear
1528 pointer_equality_needed when !readonly_dynrelocs.
1529 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
1530
afb93314
AM
15312014-07-02 Alan Modra <amodra@gmail.com>
1532
1533 * elf32-ppc.c (ppc_elf_check_relocs): Set DF_STATIC_TLS for PIEs too.
1534 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
1535
b6a1c03a
AM
15362014-07-01 Alan Modra <amodra@gmail.com>
1537
1538 * bfd.c (struct bfd): Reorganise for better packing. Delete
1539 "ifd" field. Make "format", "direction" and "flags" bitfields.
1540 (HAS_LOAD_PAGE): Delete, renumber following flags.
1541 * bfd-in2.h: Regenerate.
1542 * coff-tic4x.c: Remove HAS_LOAD_PAGE from extra flags in target vecs.
1543
7341d5e2
AM
15442014-07-01 Alan Modra <amodra@gmail.com>
1545
1546 * elf64-ppc.c (ppc_stub_type): Add ppc_stub_global_entry.
1547 (struct ppc_link_hash_table): Increase size of stub_count array.
1548 (build_global_entry_stubs): Emit symbol on global entry stub.
1549 (ppc64_elf_build_stubs): NULL check htab->brlt. Add global entry
1550 stub stats.
1551
810d4e75
AM
15522014-07-01 Alan Modra <amodra@gmail.com>
1553
1554 * elf64-ppc.c (abiversion, set_abiversion): Move earlier.
1555 (ppc64_elf_branch_reloc): Adjust addend for ELFv2 local offset.
1556 (ppc64_elf_set_toc): Set ".TOC." symbol value when using
1557 generic linker.
1558 (ppc64_elf_relocate_section): Disable ELFv2 function entry
1559 optimisation when --traditional-format.
1560
f36e8886
BS
15612014-07-01 Barney Stratford <barney_stratford@fastmail.fm>
1562 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1563 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
1564 Soundararajan <Sounderarajan.D@atmel.com>
1565
1566 * archures.c: Add avrtiny architecture for avr target.
1567 * cpu-avr.c (arch_info_struct): Add avrtiny arch info.
1568 * elf32-avr.c (elf_avr_howto_table): New relocation R_AVR_LDS_STS_16
1569 added for 16 bit LDS/STS instruction of avrtiny arch.
1570 (avr_reloc_map): Reloc R_AVR_LDS_STS_16 is mapped to
1571 BFD_RELOC_AVR_LDS_STS_16.
1572 (bfd_elf_avr_final_write_processing): Select machine number
1573 avrtiny arch.
1574 (elf32_avr_object_p): Set machine number for avrtiny arch.
1575 * reloc.c: Add documentation for BFD_RELOC_AVR_LDS_STS_16 reloc.
1576 * bfd-in2.h: Regenerate.
1577 * libbfd.h: Regenerate.
1578
60d77146
NC
15792014-06-26 Nick Clifton <nickc@redhat.com>
1580
1581 PR binutils/16949
1582 * dwarf2.c (is_str_attr): New function.
1583 (find_abstract_instance_name): Use it to determine when an
1584 attribute has a string value.
1585
15bfcc77
AM
15862014-06-24 Alan Modra <amodra@gmail.com>
1587
1588 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Arrange to keep
1589 .sdata/.sdata2 when _SDA_BASE_/_SDA2_BASE_ should be output
1590 for --emit-relocs.
1591
886aba9e
PDM
15922014-06-21 Philippe De Muyter <phdm@macqel.be>
1593
1594 * targets.c (_bfd_target_vector): Add missing #ifdef BFD64 for
1595 a number of targets.
1596
eea6dad2
KM
15972014-06-20 Kyle McMartin <kyle@redhat.com>
1598
1599 * elf32-arm.c (elf32_arm_check_relocs): Set DF_STATIC_TLS when
1600 emitting initial-exec relocs when not linking an executable.
1601
9f19ab6d
WN
16022014-06-16 Will Newton <will.newton@linaro.org>
1603
1604 * elf32-arm.c (elf32_arm_allocate_plt_entry): Increment
1605 htab->next_tls_desc_index in the non-IPLT case.
1606 Calculate GOT offset correctly for the non-IPLT case.
1607 (allocate_dynrelocs_for_symbol): Don't increment
1608 htab->next_tls_desc_index here.
1609
eb9a5ecf
AM
16102014-06-16 Alan Modra <amodra@gmail.com>
1611
1612 * elf32-vax.c (elf_vax_size_dynamic_sections): Clear linker
1613 created sections.
1614
d0ae9fbd
OJ
16152014-06-13 Omair Javaid <omair.javaid@linaro.org>
1616
1617 * elfxx-aarch64.c (stdarg.h): Include.
1618 (string.h): Include.
1619 (_bfd_aarch64_elf_grok_prstatus): Updated.
1620 (_bfd_aarch64_elf_grok_psinfo): New function.
1621 (_bfd_aarch64_elf_write_core_note): New function.
1622 * elfxx-aarch64.h (elf_backend_grok_psinfo): Define.
1623 (elf_backend_write_core_note): Define.
1624
d495ab0d
AM
16252014-06-13 Alan Modra <amodra@gmail.com>
1626
1627 * archive.c: Include bfdlink.h.
1628 (_bfd_archive_close_and_cleanup): Call linker hash_table_free.
1629 * bfd.c (struct bfd): Add is_linker_output field.
1630 * elf-bfd.h (_bfd_elf_link_hash_table_free): Update prototype.
1631 * linker.c (_bfd_link_hash_table_init): Set up hash_table_free,
1632 link.hash and is_linker_output.
1633 (_bfd_generic_link_hash_table_free): Replace bfd_link_hash_table*
1634 param with bfd*. Assert is_linker_output and link.hash, and
1635 clear them before exit.
1636 * elf-m10300.c (elf32_mn10300_link_hash_table_free): Replace
1637 bfd_link_hash_table* param with bfd*. Hack is_linker_output
1638 and link.hash so we can free two linker hash tables.
1639 (elf32_mn10300_link_hash_table_create): Create static_hash_table
1640 first. Clean up on errors. Set hash_table_free pointer.
1641 * elf32-arm.c (elf32_arm_link_hash_table_free): Replace
1642 bfd_link_hash_table* param with bfd*.
1643 (elf32_arm_link_hash_table_create): Clean up on errors. Set
1644 hash_table_free pointer.
1645 * elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc1x.c,
1646 * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c, * elf32-xgate.c,
1647 * elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c, * elflink.c,
1648 * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c,
1649 * xcofflink.c: Similarly.
1650 * simple.c (bfd_simple_get_relocated_section_contents): Save and
1651 clear link.next before creating linker hash table. Clean up on
1652 errors, and restore link.next on exit.
1653 * elf32-m68hc1x.h (m68hc11_elf_bfd_link_hash_table_free): Delete.
1654 * elf32-xgate.h (xgate_elf_bfd_link_hash_table_free): Delete.
1655 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table_free): Delete.
1656 * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Delete.
1657 * hash.c (bfd_hash_table_init_n): Free table on error.
1658 * libbfd-in.h (_bfd_generic_link_hash_table_free): Update proto.
1659 * bfd-in2.h: Regenerate.
1660 * libbfd.h: Regenerate.
1661 * libcoff.h: Regenerate.
1662
caa4096e
AM
16632014-06-13 Alan Modra <amodra@gmail.com>
1664
1665 PR 17047
1666 * targets.c (BFD_JUMP_TABLE): Delete NAME##_bfd_link_hash_table_free.
1667 (struct bfd_target <_bfd_link_hash_table_free>): Delete.
1668 * bfd.c (bfd_link_hash_table_free): Don't define.
1669 * aout-adobe.c, * aout-target.h, * aout-tic30.c, * binary.c, * bout.c,
1670 * coff64-rs6000.c, * coffcode.h, * elf-m10300.c, * elf32-arm.c,
1671 * elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc11.c,
1672 * elf32-m68hc12.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c,
1673 * elf32-sparc.c, * elf32-xgate.c, * elf64-ia64-vms.c, * elf64-ppc.c,
1674 * elf64-sparc.c, * elf64-x86-64.c, * elfnn-aarch64.c, * elfnn-ia64.c,
1675 * elfxx-target.h, * i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c,
1676 * libbfd-in.h, * libecoff.h, * mach-o-target.c, * mmo.c,
1677 * nlm-target.h, * oasys.c, * pef.c, * plugin.c, * ppcboot.c, * som.c,
1678 * srec.c, * tekhex.c, * verilog.c, * versados.c, * vms-alpha.c,
1679 * xsym.c: Don't define various link_hash_table_free defines, and
1680 remove from bfd_target vars. Temporarily reference some of the
1681 target link_hash_table_free functions to avoid warnings.
1682 * bfd-in2.h: Regenerate.
1683 * libbfd.h: Regenerate.
1684
68faa637
AM
16852014-06-13 Alan Modra <amodra@gmail.com>
1686
1687 * elf-m10300.c, * elf32-arm.c, * elf32-avr.c, * elf32-hppa.c,
1688 * elf32-i386.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-metag.c,
1689 * elf32-nios2.c, * elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c,
1690 * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c, * xcofflink.c:
1691 Move link_hash_table_free functions before their corresponding
1692 link_hash_table_create functions.
1693
c72f2fb2
AM
16942014-06-13 Alan Modra <amodra@gmail.com>
1695
1696 * bfd.c (struct bfd): Replace link_next with a union.
1697 * aoutx.h, * bfd.c, * coff-ppc.c, * coff-rs6000.c, * cofflink.c,
1698 * ecoff.c, * elf-m10300.c, * elf32-arm.c, * elf32-avr.c,
1699 * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c, * elf32-m32c.c,
1700 * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-metag.c,
1701 * elf32-microblaze.c, * elf32-nds32.c, * elf32-nios2.c,
1702 * elf32-or1k.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c,
1703 * elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-spu.c,
1704 * elf32-tic6x.c, * elf32-tilepro.c, * elf32-xstormy16.c,
1705 * elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c,
1706 * elf64-mmix.c, * elf64-ppc.c, * elf64-s390.c, * elf64-x86-64.c,
1707 * elflink.c, * elfnn-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c,
1708 * elfxx-tilegx.c, * linker.c, * pdp11.c, * peXXigen.c, * simple.c,
1709 * sunos.c, * vms-alpha.c, * xcofflink.c: Update for above.
1710 * bfd-in2.h: Regenerate.
1711
7ed689ad
AM
17122014-06-11 Alan Modra <amodra@gmail.com>
1713
1714 * linker.c (unwrap_hash_lookup): Add missing parens.
1715
07821655
KT
17162014-06-11 Kai Tietz <ktietz@redhat.com>
1717
1718 * libcoff-in.h (coff_tdata): Make relocbase member unsigned.
1719 * libcoff.h: Regenerated.
1720
7b8e2718
AM
17212014-06-10 Alan Modra <amodra@gmail.com>
1722
b71c4043 1723 PR ld/16910
7b8e2718 1724 * linker.c (unwrap_hash_lookup): New function.
1a8bdf69 1725 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Call unwrap_hash_lookup.
7b8e2718
AM
1726 * elf32-i370.c (i370_elf_relocate_section): Likewise.
1727 * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
1728 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
1729 * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
1730 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
1731 * elf32-spu.c (spu_elf_relocate_section): Likewise.
1732 * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
1733
a47622ac
AM
17342014-06-07 Alan Modra <amodra@gmail.com>
1735
1736 * elf32-ppc.c (ppc_elf_relocate_section): Treat field of cmpli
1737 insn as a bitfield; Use complain_overflow_bitfield.
1738 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1739
270c9937
JB
17402014-06-05 Joel Brobecker <brobecker@adacore.com>
1741
1742 * development.sh: New file.
1743 * warning.m4 (AM_BINUTILS_WARNINGS): Source bfd/development.sh.
1744 Make -Werror the default with GCC only if DEVELOPMENT is true.
1745 * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add
1746 $(srcdir)/development.sh.
1747 * Makefile.in, configure: Regenerate.
1748
ac21917f
WN
17492014-06-04 Will Newton <will.newton@linaro.org>
1750
810d4e75 1751 * elfnn-aarch64.c (tpoff_base): Make test of tls_sec
ac21917f
WN
1752 being non-NULL into an assert.
1753 (elfNN_aarch64_tls_relax): Remove unused code.
1754
33ac0ca1
DD
17552014-06-03 DJ Delorie <dj@redhat.com>
1756
1757 * elf32-rx.c (rx_table_map): Use BFD_VMA_FMT for portability.
1758
c32abae8
NC
17592014-06-03 Nick Clifton <nickc@redhat.com>
1760
1761 PR ld/16807
1762 * peXXigen.c (rsrc_process_section): Page align the new contents
1763 befgore writing out.
1764
397998fc
AM
17652014-06-03 Alan Modra <amodra@gmail.com>
1766
1767 * elf64-ppc.c (ADDIS_R12_R2): Define.
1768 (build_plt_stub): Support fusion on ELFv2 stub.
1769 (ppc_build_one_stub): Likewise for plt branch stubs.
1770
b4894562
AM
17712014-05-28 Alan Modra <amodra@gmail.com>
1772
1773 * elf32-rx.c (rx_table_map): Delete set but not used variables.
1774
4ba3b326
TG
17752014-05-28 Tristan Gingold <gingold@adacore.com>
1776
1777 * dwarf2.c (lookup_address_in_function_table): Add best_fit_len
1778 to keep the length of the best fit range.
1779 (lookup_symbol_in_function_table, info_hash_lookup_funcinfo):
1780 Likewise.
1781
7a2f2d82
DD
17822014-05-27 DJ Delorie <dj@redhat.com>
1783
1a8bdf69 1784 * elf32-rx.c (get_symbol_value_maybe): New.
7a2f2d82
DD
1785 (rx_elf_relocate_section): If we find a reloc against
1786 $tableentry$default$<name>, redirect it to the appropriate
1787 $tableentry$<n>$.
1788 (RX_Table_Info): New.
1789 (rx_table_find): New. Check all tables and SEC_KEEP all sections
1790 with table parts in them.
1791 (rx_check_directives): New.
1792 (rx_table_map_2): New.
1793 (rx_table_map): New.
1794 (rx_additional_link_map_text): New. Called to dump tables to the
1795 map file.
1a8bdf69 1796 * elf32-rx.h: New.
7a2f2d82 1797
bceec4b9
DD
17982014-05-20 DJ Delorie <dj@redhat.com>
1799
1800 * elf32-msp430.c (msp430_elf_relax_adjust_locals): Avoid overflow.
1801
93d1b056
AM
18022014-05-20 Alan Modra <amodra@gmail.com>
1803
1804 PR 16952
1805 * elf32-ppc.c (ppc_elf_create_linker_section): Move earlier.
1806 Remove redundant setting of htab->elf.dynobj. Don't align.
1807 Define .sdata symbols using _bfd_elf_define_linkage_sym.
1808 (ppc_elf_create_glink): Call ppc_elf_create_linker_section.
1809 (create_sdata_sym): Delete.
1810 (elf_allocate_pointer_linker_section): Rename from
1811 elf_create_pointer_linker_section. Align section.
1812 (ppc_elf_check_relocs): Don't call ppc_elf_creat_linker_section
1813 directly here, or create_sdata_sym. Set ref_regular on _SDA_BASE_
1814 and _SDA2_BASE_.
1815 (ppc_elf_size_dynamic_sections): Remove ATTRIBUTE_UNUSED on param.
1816 Remove unnecessary tests on _SDA_BASE_ sym.
1817 (maybe_strip_sdasym, ppc_elf_maybe_strip_sdata_syms): New functions.
1818 (ppc_elf_relocate_section): Tighten SDA reloc symbol section checks.
1819 * elf32-ppc.h (ppc_elf_set_sdata_syms): Delete.
1820 (ppc_elf_maybe_strip_sdata_syms): Declare.
1821
a7c7b2ba
RM
18222014-05-16 Ryan Mansfield <rmansfield@qnx.com>
1823
b4894562 1824 * config.bfd: Move QNX target_cflags from arm-*-netbsd* to arm-*-nto*.
a7c7b2ba
RM
1825
18262014-05-16 Jon Turney <jon.turney@dronecode.org.uk>
6e6e7cfc
JT
1827
1828 * peXXigen.c (pe_print_debugdata): Don't interpret debug directory
1829 in a section with no contents.
1830 (is_vma_in_section, find_section_by_vma): New functions.
1831 (_bfd_XX_bfd_copy_private_bfd_data_common): Recalculate file
1832 offsets in the debug directory.
1833 (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
1834 Byte-swap GUID from little-endian to big-endian order for
1835 consistent and conventional display.
1836
856ea05c
KP
18372014-05-16 Kaushik Phata <Kaushik.Phatak@kpit.com>
1838
1839 * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if
1840 64-bit doubles objects mix with 32-bit doubles objects.
1841 (rl78_elf_print_private_bfd_data): Describe 64-bit doubles flag.
1842
68e0f6b1
HPN
18432014-05-08 Hans-Peter Nilsson <hp@bitrange.com>
1844
1845 * mmo.c: Update URLs in documentation comments.
1846
1058c753
VA
18472014-05-02 Volodymyr Arbatov <arbatov@cadence.com>
1848 David Weatherford <weath@cadence.com>
1849 Max Filippov <jcmvbkbc@gmail.com>
1850
1851 * elf32-xtensa.c (relax_section): treat R_XTENSA_DIFF* relocations as
1852 signed.
1853
e59bc75b
AT
18542014-05-07 Andreas Tobler <andreast@fgznet.ch>
1855
1856 * config.bfd: Add proper arm config for *-*-freebsd*.
1857
ae52f483
AB
18582014-05-07 Andrew Bennett <andrew.bennett@imgtec.com>
1859
1860 * aoutx.h (NAME (aout, machine_type)): Add mips32r3, mips64r3,
1861 mips32r5 and mips64r5.
1862 * archures.c (bfd_architecture): Likewise.
1863 * bfd-in2.h (bfd_architecture): Likewise.
1864 * cpu-mips.c (arch_info_struct): Likewise.
1865 * elfxx-mips.c (mips_set_isa_flags): Likewise.
1866
757a636f
RS
18672014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
1868
1869 * elfxx-mips.h (elfxx-mips.h): Declare.
1870 * elfxx-mips.c (mips_elf_merge_obj_attributes): Use it to report
1871 Tag_GNU_MIPS_ABI_FP mismatches.
1872 (_bfd_mips_fp_abi_string): New function.
1873
2f67d686
AM
18742014-05-02 Alan Modra <amodra@gmail.com>
1875
1876 * targets.c: Sort bfd_target vectors somewhat alphabetically.
1877 * configure.in: Likewise.
1878 * configure: Regenerate.
1879
6d00b590
AM
18802014-05-02 Alan Modra <amodra@gmail.com>
1881
1882 * aix386-core.c, * aout-adobe.c, * aout-arm.c, * aout-ns32k.c,
1883 * aout-sparcle.c, * aout0.c, * aoutx.h, * armnetbsd.c, * bout.c,
1884 * cf-i386lynx.c, * cf-sparclynx.c, * cisco-core.c, * coff-alpha.c,
1885 * coff-apollo.c, * coff-arm.c, * coff-aux.c, * coff-go32.c,
1886 * coff-h8300.c, * coff-h8500.c, * coff-i386.c, * coff-i860.c,
1887 * coff-i960.c, * coff-m68k.c, * coff-m88k.c, * coff-mips.c,
1888 * coff-rs6000.c, * coff-sh.c, * coff-sparc.c, * coff-stgo32.c,
1889 * coff-svm68k.c, * coff-tic80.c, * coff-u68k.c, * coff-w65.c,
1890 * coff-we32k.c, * coff-x86_64.c, * coff-z80.c, * coff-z8k.c,
1891 * coff64-rs6000.c, * config.bfd, * configure.com, * configure.in,
1892 * demo64.c, * elf-m10200.c, * elf-m10300.c, * elf32-am33lin.c,
1893 * elf32-arc.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c,
1894 * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
1895 * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
1896 * elf32-fr30.c, * elf32-frv.c, * elf32-gen.c, * elf32-h8300.c,
1897 * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-i860.c,
1898 * elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
1899 * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
1900 * elf32-m68k.c, * elf32-m88k.c, * elf32-mcore.c, * elf32-mep.c,
1901 * elf32-metag.c, * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
1902 * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-nios2.c,
1903 * elf32-or1k.c, * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c,
1904 * elf32-rx.c, * elf32-s390.c, * elf32-score.c, * elf32-sh-symbian.c,
1905 * elf32-sh.c, * elf32-sh64.c, * elf32-sparc.c, * elf32-spu.c,
1906 * elf32-tic6x.c, * elf32-tilegx.c, * elf32-tilepro.c, * elf32-v850.c,
1907 * elf32-vax.c, * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c,
1908 * elf32-xtensa.c, * elf64-alpha.c, * elf64-gen.c, * elf64-hppa.c,
1909 * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c, * elf64-ppc.c,
1910 * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c, * elf64-tilegx.c,
1911 * elf64-x86-64.c, * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
1912 * epoc-pe-arm.c, * epoc-pei-arm.c, * hp300bsd.c, * hp300hpux.c,
1913 * hppabsd-core.c, * hpux-core.c, * i386aout.c, * i386bsd.c,
1914 * i386dynix.c, * i386freebsd.c, * i386linux.c, * i386lynx.c,
1915 * i386mach3.c, * i386msdos.c, * i386netbsd.c, * i386os9k.c,
1916 * irix-core.c, * m68k4knetbsd.c, * m68klinux.c, * m68knetbsd.c,
1917 * m88kmach3.c, * m88kopenbsd.c, * mach-o-i386.c, * mach-o-x86-64.c,
1918 * makefile.vms, * mipsbsd.c, * mmo.c, * netbsd-core.c, * newsos3.c,
1919 * nlm32-alpha.c, * nlm32-i386.c, * nlm32-ppc.c, * nlm32-sparc.c,
1920 * ns32knetbsd.c, * osf-core.c, * pc532-mach.c, * pe-arm-wince.c,
1921 * pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-mips.c, * pe-ppc.c,
1922 * pe-sh.c, * pe-x86_64.c, * pei-arm-wince.c, * pei-arm.c,
1923 * pei-i386.c, * pei-ia64.c, * pei-mcore.c, * pei-mips.c, * pei-ppc.c,
1924 * pei-sh.c, * pei-x86_64.c, * ppcboot.c, * ptrace-core.c, * riscix.c,
1925 * sco5-core.c, * som.c, * sparclinux.c, * sparclynx.c,
1926 * sparcnetbsd.c, * sunos.c, * targets.c, * trad-core.c,
1927 * vax1knetbsd.c, * vaxbsd.c, * vaxnetbsd.c, * versados.c,
1928 * vms-alpha.c, * vms-lib.c: Rename bfd targets to
1929 <cpu>_<format>_<other>_<endian>_vec. Adjust associated MY macros
1930 on aout targets.
1931 * configure: Regenerate.
1932
1218d67d
HPN
19332014-05-01 Hans-Peter Nilsson <hp@bitrange.com>
1934
1935 * mmo.c (mmo File layout documentation): Add note about low bits
1936 of address.
1937 (mmo_write_chunk): When handling data remainder, assert that
1938 previous remaining data is flushed.
1939 (mmo_write_loc_chunk): Only look for trailing and leading zeros
1940 when dealing with an aligned VMA and for aligned lengths. Don't skip
1941 the last 32-bit-word of zeros.
1942 (mmo_write_loc_chunk): Emit an error if the VMA is not aligned.
1943 (mmo_scan) <case LOP_QUOTE>: Move re-alignment of vma before
1944 emitting data, not after updating it.
1945 <case LOP_LOC>: Call mmo_decide_section with aligned vma.
1946
a953eec9
NC
19472014-04-30 Nick Clifton <nickc@redhat.com>
1948
1949 * compress.c (bfd_is_section_compressed): When checking the
1950 .debug_str section, also check the fifth byte in the section is
1951 not part of a string.
1952
5087d529
AM
19532014-04-30 Alan Modra <amodra@gmail.com>
1954
1955 * elf-eh-frame.c (struct cie.personality): Replace val with sym.
1956 (find_merged_cie): Identify personality functions by (bfd_id,index)
1957 pair when a local sym is used.
1958
230977a4
CS
19592014-04-29 Christian Svensson <blue@cmd.nu>
1960
1961 * elf32-or1k.c: Fix a bug where non-TLS relocations would be forced
1962 into .rela.got if it contained TLS relocations as well.
1963
40af4a36
NC
19642014-04-28 Nick Clifton <nickc@redhat.com>
1965
1966 PR ld/16821
1967 * peXXigen.c (_bfd_XXi_swap_sym_out): Rework fix to avoid compile
1968 time warning.
1969
a9e18c6a
AM
19702014-04-26 Alan Modra <amodra@gmail.com>
1971
1972 * po/SRC-POTFILES.in: Regenerate.
1973 * configure: Regenerate.
1974
88667baf
NC
19752014-04-25 Nick Clifton <nickc@redhat.com>
1976
1977 PR ld/16821
1978 * peXXigen.c (_bfd_XXi_swap_sym_out): Another fix for building on
1979 a 342-bit host. This time for older versions of gcc.
1980
08937d80
NC
19812014-04-24 Nick Clifton <nickc@redhat.com>
1982
1983 * peXXigen.c (rsrc_print_section): Fix compile time warning for
1984 32-bit hosts.
1985
93ee1e36
AM
19862014-04-24 Alan Modra <amodra@gmail.com>
1987
1988 PR 16867
1989 * dwarf2.c: Formatting.
1990 (struct dwarf2_debug): Make adjusted_section_count signed.
1991 (unset_sections): Make i signed.
1992 (set_debug_vma): New function.
1993 (place_sections): Handle separate debug object file. Set VMA
1994 on debug sections, even if they have an output section. Also
1995 set VMA on zero size sections, and non-load but alloc sections.
1996 Set adjusted_section_count to -1 when no section adjustment.
1997 Malloc adjusted_sections. Don't double last_vma. Transfer
1998 alloc section VMAs to separate debug file.
1999 (_bfd_dwarf2_cleanup_debug_info): Free adjusted_sections.
2000 (_bfd_dwarf2_slurp_debug_info): Add do_place parameter. Drop
2001 test on symbols being the same before using old stash. Read
2002 and use separate debug file symbols. Call place_sections.
2003 (find_line): Don't call place_sections here.
2004 * libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Update proto.
2005 * libbfd.h: Regenerate.
2006 * mach-o.c (bfd_mach_o_find_nearest_line): Adjust
2007 _bfd_dwarf2_slurp_debug_info call.
2008 * simple.c (simple_save_output_info): Clarify comment.
2009
3714081c
NC
20102014-04-24 Nick Clifton <nickc@redhat.com>
2011
2012 PR ld/16807
2013 * peXXigen.c (struct rsrc_regions): New structure.
2014 (rsrc_print_resource_directory): Use new structure. Include
2015 offset of directory in listing.
2016 (rsrc_print_resource_entry): Likewise.
2017 (rsrc_print_section): Likewise.
2018 (rsrc_count_entries): Do not increment sizeof_strings or
2019 sizeof_leaves.
2020 (rsrc_count_directory): Do not increment sizeof_tables.
2021 (rsrc_compute_region_sizes): New function.
2022 (rsrc_write_leaf): Maintain 8-byte alignment for resource data.
2023 (rsrc_process_section): Compute size of regions after merging
2024 entries.
2025
cd0449ab
AM
20262014-04-23 Alan Modra <amodra@gmail.com>
2027
2028 PR ld/16787
2029 * dwarf2.c (struct dwarf2_debug): Add sec_vma field.
2030 (place_sections): Do not modify VMA of sections when called from
2031 linker after sections have been placed in output sections. Short
2032 circuit single section case.
2033 (save_section_vma, section_vma_same): New functions.
2034 (_bfd_dwarf2_slurp_debug_info): Throw away stash if section VMAs
2035 change.
2036 * reloc.c (bfd_perform_relocation): Do not modify reloc addend
2037 when non-relocatable.
2038
d5f59c10
NC
20392014-04-22 Nick Clifton <nickc@redhat.com>
2040
2041 PR ld/16821
2042 * peXXigen.c (_bfd_XXi_swap_sym_out): Fix for 32-bit hosts.
2043
73589c9d
CS
20442014-04-22 Christian Svensson <blue@cmd.nu>
2045
2046 * Makefile.am: Remove openrisc and or32 support. Add support for or1k.
2047 * archures.c: Likewise.
2048 * coffcode.h: Likewise.
2049 * config.bfd: Likewise.
2050 * configure.in: Likewise.
2051 * reloc.c: Likewise.
2052 * targets.c: Likewise.
2053 * cpu-or1k.c: New file.
2054 * elf32-or1k.c: New file.
2055 * coff-or32.c: Delete.
2056 * cpu-openrisc.c: Delete.
2057 * cpu-or32.c: Delete.
2058 * elf32-openrisc.c: Delete.
2059 * elf32-or32.c: Delete.
2060 * Makefile.in: Regenerate.
2061 * bfd-in2.h: Regenerate.
2062 * configure: Regenerate.
2063 * libbfd.h: Regenerate.
2064
285fc9d8
YZ
20652014-04-22 Yuanhui Zhang <asmwarrior@gmail.com>
2066
2067 PR ld/16821
2068 * peXXigen.c (abs_finder): Fix for 32-bit host builds.
2069
5d3b02f0
WN
20702014-04-22 Will Newton <will.newton@linaro.org>
2071
2072 * elfnn-aarch64.c (elfNN_aarch64_section_flags): Remove
2073 function. (elf_backend_section_flags): Remove define.
2074
cc75d373
RH
20752014-04-21 Richard Henderson <rth@redhat.com>
2076
d1c109de
RH
2077 * elf64-alpha.c (elf64_alpha_size_got_sections): New may_merge
2078 parameter; honor it and disable got merging when false.
2079 (elf64_alpha_relax_got_load): Do not relax to GPREL relocs during
2080 the first pass of relaxation.
2081 (elf64_alpha_relax_with_lituse): Likewise. Move relaxed relocs to
2082 the end of the LITERAL+LITUSE chain.
2083 (elf64_alpha_relax_section): Only process LITERAL relocs during the
2084 second pass of relaxation.
2085
cc75d373
RH
2086 * configure.ac (use_secureplt): Enable by default.
2087 * configure: Rebuild.
2088
c9ffd2ea
TG
20892014-04-18 Tristan Gingold <gingold@adacore.com>
2090
2091 * mach-o.h (bfd_mach_o_dyld_info_command): Add rebase_content,
2092 bind_content, weak_bind_content, lazy_bind_content,
2093 export_content.
2094 (bfd_mach_o_load_command): Add comments, add next field.
2095 (mach_o_data_struct): Replace commands field by first_command
2096 and last_command.
2097 * mach-o.c (bfd_mach_o_append_command): New function.
2098 (bfd_mach_o_bfd_copy_private_symbol_data): Add blank lines.
2099 (bfd_mach_o_bfd_copy_private_section_data): Check flavour,
2100 copy fields.
2101 (bfd_mach_o_bfd_copy_private_header_data): Copy load commands.
2102 (bfd_mach_o_pad4, bfd_mach_o_pad_command): New functions.
2103 (bfd_mach_o_write_thread): Use macro instead of literal.
2104 (bfd_mach_o_write_dylinker, bfd_mach_o_write_dylib)
2105 (bfd_mach_o_write_main, bfd_mach_o_write_dyld_info): New
2106 functions.
2107 (bfd_mach_o_write_symtab_content): New function (extracted
2108 from bfd_mach_o_write_symtab).
2109 (bfd_mach_o_write_symtab): Split.
2110 (bfd_mach_o_count_indirect_symbols): Move
2111 (bfd_mach_o_build_dysymtab): Remove layout code.
2112 (bfd_mach_o_write_contents): Rewritten to build commands in order.
2113 (bfd_mach_o_count_sections_for_seg): Remove.
2114 (bfd_mach_o_build_obj_seg_command): New function (extracted from
2115 bfd_mach_o_build_seg_command).
2116 (bfd_mach_o_build_exec_seg_command): New function.
2117 (bfd_mach_o_build_dysymtab_command): Remove.
2118 (bfd_mach_o_layout_commands): New function.
2119 (bfd_mach_o_init_segment): New function.
2120 (bfd_mach_o_build_commands): Major rework to handle non-object
2121 files.
2122 (bfd_mach_o_alloc_and_read, bfd_mach_o_read_dyld_content): New
2123 function.
2124 (bfd_mach_o_read_dyld_info): Clear content fields.
2125 (bfd_mach_o_read_segment): Adjust call.
2126 (bfd_mach_o_flatten_sections): Adjust as now load commands are
2127 chained.
2128 (bfd_mach_o_scan_start_address, bfd_mach_o_scan)
2129 (bfd_mach_o_mkobject_init, bfd_mach_o_get_base_address)
2130 (bfd_mach_o_lookup_command, bfd_mach_o_core_fetch_environment):
2131 Likewise.
2132
967b2c53
TG
21332014-04-18 Tristan Gingold <gingold@adacore.com>
2134
2135 * mach-o-target.c (bfd_mach_o_bfd_copy_private_header_data):
2136 Define instead of bfd_mach_o_bfd_copy_private_bfd_data.
2137 * mach-o.c (bfd_mach_o_bfd_copy_private_bfd_data): Rename.
2138 * mach-o.h (bfd_mach_o_bfd_copy_private_bfd_data): Likewise.
2139
4525c51a
TG
21402014-04-18 Tristan Gingold <gingold@adacore.com>
2141
2142 * mach-o.h (bfd_mach_o_dylinker_command)
2143 (bfd_mach_o_dylib_command, bfd_mach_o_fvmlib_command): Remove
2144 name_len field.
2145 * mach-o.c (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
2146 (bfd_mach_o_read_fvmlib): Adjust after name_len removal.
2147
4384b284
TG
21482014-04-18 Tristan Gingold <gingold@adacore.com>
2149
2150 * mach-o.h (bfd_mach_o_backend_data): Add page_size field.
2151 * mach-o-target.c: Check TARGET_PAGESIZE is defined.
2152 (TARGET_NAME_BACKEND): Add TARGET_PAGESIZE.
2153 * mach-o.c (TARGET_PAGESIZE): Define and undefined for
2154 each targets declared.
2155 * mach-o-x86-64.c (TARGET_PAGESIZE): Define.
2156 * mach-o-i386.c (TARGET_PAGESIZE): Define.
2157
452216ab
TG
21582014-04-18 Tristan Gingold <gingold@adacore.com>
2159
2160 * mach-o.c (bfd_mach_o_write_thread)
2161 (bfd_mach_o_write_section_32, bfd_mach_o_write_section_64)
2162 (bfd_mach_o_write_segment_32, bfd_mach_o_write_segment_64)
2163 (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
2164 (bfd_mach_o_read_prebound_dylib, bfd_mach_o_read_prebind_cksum)
2165 (bfd_mach_o_read_twolevel_hints, bfd_mach_o_read_fvmlib)
2166 (bfd_mach_o_read_thread, bfd_mach_o_read_dysymtab)
2167 (bfd_mach_o_read_symtab, bfd_mach_o_read_uuid)
2168 (bfd_mach_o_read_linkedit, bfd_mach_o_read_str)
2169 (bfd_mach_o_read_dyld_info, bfd_mach_o_read_segment)
2170 (bfd_mach_o_read_segment_32, bfd_mach_o_read_segment_64)
2171 (bfd_mach_o_read_command): Now return a boolean status.
2172 Adjust return statements.
2173 (bfd_mach_o_write_contents, bfd_mach_o_scan): Adjust tests.
2174 (bfd_mach_o_core_file_failing_command): Remove useless initialization.
2175
cb22ccf4
KCY
21762014-04-17 Kwok Cheung Yeung <kcy@codesourcery.com>
2177
2178 * elfxx-mips.c (struct mips_got_info): Delete assigned_gotno
2179 field. Add assigned_low_gotno and assigned_high_gotno fields.
2180 (mips_elf_create_local_got_entry): Update out-of-space condition.
2181 Set index of new GOT entry to assigned_low_gotno if required by
2182 the current relocation, else set it to assigned_high_gotno.
2183 (mips_elf_set_global_gotidx): Replace uses of assigned_gotno
2184 with assigned_low_gotno.
2185 (mips_elf_multi_got): Initialize assigned_low_gotno and
2186 assigned_high_gotno in secondary GOTs. Use assigned_low_gotno
2187 in place of assigned_gotno when handling global GOT entries.
2188 (mips_elf_lay_out_got): Initialize assigned_low_gotno and
2189 assigned_high_gotno.
2190 (_bfd_mips_elf_finish_dynamic_sections): Account for a possible
2191 gap in the middle of local GOT space.
2192
4c34aff8
AM
21932014-04-17 Alan Modra <amodra@gmail.com>
2194
2195 PR 16846
2196 * elflink.c (_bfd_elf_merge_symbol): Ignore TLS mismatch when
2197 current bfd is a plugin. Don't always set type_change_ok
2198 when old bfd is a plugin.
2199
12241a34
TG
22002014-04-16 Tristan Gingold <gingold@adacore.com>
2201
2202 * mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Adjust cpusubtype
2203 flag.
2204
40fd06d1
AM
22052014-04-16 Alan Modra <amodra@gmail.com>
2206
2207 * elf32-ppc.c (ppc_elf_relocate_section): Fill 476 fixup area
2208 with "ba 0" rather than zeros.
2209
fa85fb9a
MS
22102014-04-15 Marcus Shawcroft <marcus.shawcroft@arm.com>
2211
2212 * (elfNN_aarch64_tls_relax): Fix instruction mask.
2213
da3a2088
AM
22142014-04-14 Alan Modra <amodra@gmail.com>
2215
2216 * elf32-ppc.c (BA): Define
2217 (ppc_elf_link_hash_table_create): Correct default_params.
2218 (write_glink_stub): Pad small plt call stub with "ba 0" rather
2219 than "nop" for ppc476_workaround.
2220 (ppc_elf_finish_dynamic_sections): Likewise for branch table
2221 and __glink_PLTresolve. Ensure plt call stub at end of page
2222 doesn't allow fall-thru prefetch.
2223
32ae0d80
NC
22242014-04-11 Nick Clifton <nickc@redhat.com>
2225
2226 PR ld/16821
2227 * peXXigen.c (abs_finder): New function.
2228 (_bfd_XXi_swap_sym_out): For absolute symbols with values larger
2229 than 1^32 try to convert them into section relative values
2230 instead.
2231
85cf705b
NC
22322014-04-11 Nick Clifton <nickc@redhat.com>
2233
2234 * bfd-in2.h: Regenerate.
2235 * libbfd.h: Regenerate.
2236
1511baec
SL
22372014-04-10 Cesar Philippidis <cesar@codesourcery.com>
2238
2239 * elf32-nios2.c (nios2_elf32_build_stubs): Ignore dynobjs
2240 when building function stubs.
2241
e4ef1b6c
DC
22422014-04-10 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2243
2244 * elf32-avr.c: Add DIFF relocations for AVR.
2245 (avr_final_link_relocate): Handle the DIFF relocs.
2246 (bfd_elf_avr_diff_reloc): New.
2247 (elf32_avr_is_diff_reloc): New.
2248 (elf32_avr_adjust_diff_reloc_value): Reduce difference value.
2249 (elf32_avr_relax_delete_bytes): Recompute difference after deleting
2250 bytes.
2251
2252 * reloc.c: Add BFD_RELOC_AVR_DIFF8/16/32 relocations
2253
e30d16e9
AM
22542014-04-09 Alan Modra <amodra@gmail.com>
2255
2256 * libcoff.h: Regenerate.
2257
b4ab4364
AM
22582014-04-09 Alan Modra <amodra@gmail.com>
2259
2260 * elf32-ppc.c (ppc_elf_relocate_section): Remove bctr from list
2261 of safe ppc476 insns at end of page. Also remove non-branch insns.
2262 Expand comments.
2263
6e6e7cfc 22642014-04-08 Jon Turney <jon.turney@dronecode.org.uk>
61e2488c
JT
2265
2266 * peXXigen.c (pe_print_debugdata): New function: Displays the
2267 contents of the debug directory and decodes codeview entries.
2268 (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
2269 (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
2270 Add functions for reading and writing debugdir and codeview
2271 records.
2272 * libpei.h (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
2273 (_bfd_XXi_write_codeview_record): Add prototypes and macros.
2274 * libcoff-in.h (pe_tdata): Add build-id data.
2275 * libcoff.h: Regenerate.
2276 * coffcode.h (coff_write_object_contents): Run build_id
2277 after_write_object_contents hook.
2278
115c6d5c
AM
22792014-04-05 Alan Modra <amodra@gmail.com>
2280
2281 * elflink.c (_bfd_elf_add_default_symbol): Pass poldbfd when
2282 merging non-default sym.
2283
26954155
TG
22842014-04-04 Tristan Gingold <gingold@adacore.com>
2285
2286 * mach-o.c (bfd_mach_o_header_p): Reject 64 bit target when not
2287 configured for.
2288
ca148c5a
TG
22892014-04-04 Tristan Gingold <gingold@adacore.com>
2290
2291 * mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix
2292 thinko on names length.
2293
47c50932
TG
22942014-04-04 Tristan Gingold <gingold@adacore.com>
2295
2296 * mach-o-i386.c (bfd_mach_o_i386_swap_reloc_out): Use target index
2297 of output_section.
2298 * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Ditto.
2299
4ef27e04
TG
23002014-04-04 Tristan Gingold <gingold@adacore.com>
2301
2302 * bfd.c (bfd_get_arch_size): Default is taken from arch.
2303
b69c8728
JT
23042014-04-03 Jon Turney <jon.turney@dronecode.org.uk>
2305
2306 * peXXigen.c (pe_print_edata): Verify edt.name lies inside
2307 section before dereferencing.
2308 (pe_print_idata, pe_print_edata, pe_print_reloc)
2309 (rsrc_print_section): Don't bother interpreting the contents
2310 of sections which have no contents.
2311
1b6aeedb
MG
23122014-04-03 Maria Guseva <m.guseva@samsung.com>
2313
2314 PR ld/16803
2315 * elf.c (_bfd_elf_set_section_contents): Use correct type to hold
2316 file position.
2317
707e555b
TG
23182014-04-03 Tristan Gingold <gingold@adacore.com>
2319
2320 * mach-o.c (bfd_mach_o_mangle_symbols): Use index from
2321 output_section.
2322 (bfd_mach_o_build_seg_command): Add comment. Realign segment.
2323 Fix style.
2324 (bfd_mach_o_build_commands, bfd_mach_o_read_thread): Fix style.
2325
c3fcb775
AM
23262014-04-03 Alan Modra <amodra@gmail.com>
2327
2328 * elf-bfd.h (struct elf_backend_data
2329 <elf_backend_bfd_from_remote_memory>): Replace "size_t size"
2330 with "bfd_size_type size".
2331 (_bfd_elf32_bfd_from_remote_memory): Likewise.
2332 (_bfd_elf64_bfd_from_remote_memory): Likewise.
2333 * elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
2334 * elfcode.h (bfd_from_remote_memory): Likewise.
2493504a
AM
2335 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Likewise.
2336 * bfd-in2.h: Regenerate.
c3fcb775 2337
7a79c514
TG
23382014-04-02 Tristan Gingold <gingold@adacore.com>
2339
2340 * mach-o.h (bfd_mach_o_twolevel_hints_command)
2341 (bfd_mach_o_prebind_cksum_command): New types.
2342 (bfd_mach_o_prebound_dylib_command): Rewrite.
2343 (bfd_mach_o_load_command): Add prebind_cksum and twolevel_hints
2344 fields.
2345 * mach-o.c (bfd_mach_o_read_prebound_dylib): Read and decode the
2346 command.
2347 (bfd_mach_o_read_prebind_cksum): New function.
2348 (bfd_mach_o_read_twolevel_hints): Ditto.
2349 (bfd_mach_o_read_command): Handle prebind cksum and twolevel hints
2350 commands.
2351
5979d6b6
AM
23522014-04-02 Alan Modra <amodra@gmail.com>
2353
2354 * elfcode.h (bfd_from_remote_memory): Add "size" parameter.
2355 Consolidate code handling possible section headers past end of
2356 segment. Don't use p_align for page size guess, instead use
2357 minpagesize. Take note of ld.so clearing section headers when
2358 p_memsz > p_filesz. Handle file header specifying no section
2359 headers. Handle zero p_align throughout. Default loadbase to
2360 zero. Add comments. Rename contents_size to high_offset, and
2361 make it a bfd_vma. Delete unnecessary bfd_set_error calls.
2362 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Update prototpe.
2363 * elf-bfd.h (struct elf_backend_data <elf_backend_from_remote_memory>):
2364 Likewise.
2365 (_bfd_elf32_bfd_from_remote_memory): Likewise.
2366 (_bfd_elf64_bfd_from_remote_memory): Likewise.
2367 * elf.c (bfd_elf_bfd_from_remote_memory): Adjust.
2368 * bfd-in2.h: Regnerate.
2369
23d72939
TG
23702014-04-01 Tristan Gingold <gingold@adacore.com>
2371
2372 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Avoid to crash
2373 when num == 0.
2374
6a631e86 23752014-03-27 Yury Gribov <y.gribov@samsung.com>
b4894562 2376 Pavel Fedin <p.fedin@samsung.com>
6a631e86 2377
b4894562 2378 * elf32-arm.c: Add support for limited pretty-printing of PLT
6a631e86
YG
2379 entries on eabi and nacl targets.
2380 (elf32_arm_get_synthetic_symtab): Add new callback.
b4894562
AM
2381 (elf32_arm_nacl_plt_sym_val): Likewise.
2382 (elf32_arm_plt0_size): Add helper function.
2383 (elf32_arm_plt_size): Likewise.
6a631e86 2384
10be66a4
TG
23852014-03-27 Tristan Gingold <gingold@adacore.com>
2386
2387 * mach-o.c (bfd_mach_o_read_dylinker): Remove assert.
2388 (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT.
2389
3cc27770
TG
23902014-03-27 Tristan Gingold <gingold@adacore.com>
2391
2392 * mach-o.h (bfd_mach_o_get_base_address): New prototype.
2393 * mach-o.c (bfd_mach_o_write_symtab)
2394 (bfd_mach_o_write_contents)
2395 (bfd_mach_o_set_section_flags_from_bfd)
2396 (bfd_mach_o_build_seg_command): Fix indentation.
2397 (bfd_mach_o_get_base_address): New function.
2398
55bfc9ac
NC
23992014-03-26 Nick Clifton <nickc@redhat.com>
2400
2401 * cofflink.c (_bfd_coff_generic_relocate_section): Skip
2402 relocations in discarded sections.
2403
d8028530
TG
24042014-03-26 Tristan Gingold <gingold@adacore.com>
2405
2406 * mach-o.c (bfd_mach_o_convert_architecture): Add
2407 BFD_MACH_O_CPU_TYPE_ARM64.
2408
f6c7c3e8
AM
24092014-03-26 Alan Modra <amodra@gmail.com>
2410
2411 * elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly
2412 needed plt entries when taking the address of functions for
2413 abiversion == 0 (ie. unknown) as well as abiversion == 2.
2414 Move opd setup and abiversion checks to..
2415 (ppc64_elf_before_check_relocs): ..here. Renamed from
2416 ppc64_elf_process_dot_syms. Set output abiversion from input and
2417 input abiversion from output, if either is not set.
2418 (ppc64_elf_merge_private_bfd_data): Don't merge flags here.
2419 (elf_backend_check_directives): Update.
2420
c955de36
WN
24212014-03-25 Will Newton <will.newton@linaro.org>
2422
2423 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections):
2424 Set value of DT_PLTRELSZ and DT_RELASZ based on the size
2425 of input sections rather than output sections.
2426
97323ad1
WN
24272014-03-20 Will Newton <will.newton@linaro.org>
2428
2429 PR ld/16715
2430 * elf32-arm.c (elf32_arm_check_relocs): Set
2431 pointer_equality_needed for absolute references within
2432 executable links.
2433 (elf32_arm_finish_dynamic_symbol): Set st_value to zero
2434 unless pointer_equality_needed is set.
2435
1d63324c
NC
24362014-03-19 Nick Clifton <nickc@redhat.com>
2437
6caf7111
NC
2438 * peXXigen.c (rsrc_process_section): Add code to scan input
2439 sections and record their lengths. Use these lengths to find the
2440 start of each merged .rsrc section.
1d63324c 2441
fbe383b9
TG
24422014-03-17 Tristan Gingold <gingold@adacore.com>
2443
2444 * mach-o.c (bfd_mach_o_read_dylib): Handle lazy load dylib.
2445 (bfd_mach_o_read_command): Ditto.
2446
5a026fc9
NC
24472014-03-14 Meador Inge <meadori@codesourcery.com>
2448
b4894562
AM
2449 * configure.in: Add strnlen to AC_CHECK_DECLS.
2450 * config.in: Regenerate.
2451 * configure: Regenerate.
2452 * sysdep.h (strnlen): Add prototype.
5a026fc9 2453
c3301df1
AM
24542014-03-14 Alan Modra <amodra@gmail.com>
2455
2456 * elf32-ppc.c (ppc_elf_relocate_section): Correct overflow
2457 handling for VLE_SDA21 relocs.
2458
167ad85b
TG
24592014-03-13 Tristan Gingold <gingold@adacore.com>
2460
2461 * peicode.h (pe_ILF_object_p): Adjust, as the version number
2462 has been read.
2463 (pe_bfd_object_p): Also read version number to detect ILF.
2464 * pe-x86_64.c (COFF_WITH_PE_BIGOBJ): Define.
2465 (x86_64pe_bigobj_vec): Define
2466 * coffcode.h (bfd_coff_backend_data): Add _bfd_coff_max_nscns field.
2467 (bfd_coff_max_nscns): New macro.
2468 (coff_compute_section_file_positions): Use unsigned int for
2469 target_index. Compare with bfd_coff_max_nscns.
2470 (bfd_coff_std_swap_table, ticoff0_swap_table, ticoff1_swap_table):
2471 Set a value for _bfd_coff_max_nscns.
2472 (header_bigobj_classid): New constant.
2473 (coff_bigobj_swap_filehdr_in, coff_bigobj_swap_filehdr_out)
2474 (coff_bigobj_swap_sym_in, coff_bigobj_swap_sym_out)
2475 (coff_bigobj_swap_aux_in, coff_bigobj_swap_aux_out): New
2476 functions.
2477 (bigobj_swap_table): New table.
2478 * libcoff.h: Regenerate.
2479 * coff-sh.c (bfd_coff_small_swap_table): Likewise.
2480 * coff-alpha.c (alpha_ecoff_backend_data): Add value for
2481 _bfd_coff_max_nscns.
2482 * coff-mips.c (mips_ecoff_backend_data): Likewise.
2483 * coff-rs6000.c (bfd_xcoff_backend_data)
2484 (bfd_pmac_xcoff_backend_data): Likewise.
2485 * coff64-rs6000.c (bfd_xcoff_backend_data)
2486 (bfd_xcoff_aix5_backend_data): Likewise.
2487 * targets.c (x86_64pe_bigobj_vec): Declare.
2488 * configure.in (x86_64pe_bigobj_vec): New vector.
2489 * configure: Regenerate.
2490 * config.bfd: Add bigobj object format for Windows targets.
2491
c792917c
NC
24922014-03-12 Nick Clifton <nickc@redhat.com>
2493
2494 PR ld/16671
2495 * elf32-arm.c (elf32_arm_add_symbol_hook): Check for ARM format
2496 before testing for vxworks.
2497
fa47fa92
AM
24982014-03-12 Alan Modra <amodra@gmail.com>
2499
2500 * Makefile.in: Regenerate.
2501
bbefd0a9
AM
25022014-03-12 Alan Modra <amodra@gmail.com>
2503
2504 PR 16690
2505 * elf.c (copy_elf_program_header): Ignore first section lma if
2506 non-alloc.
2507
3c865fca
AM
25082014-03-11 Alan Modra <amodra@gmail.com>
2509
2510 PR 16686
2511 * coff-rs6000.c: Include stdint.h.
2512 * coff64-rs6000.c: Likewise.
2513
ce15efd8
TG
25142014-03-10 Tristan Gingold <gingold@adacore.com>
2515
2516 * ticoff.h: Removed.
2517
86c95733
AM
25182014-03-08 Alan Modra <amodra@gmail.com>
2519
2520 * elf32-ppc.c (ppc_elf_howto_raw): Correct overflow check for
2521 many relocations. Correct bitsize and rightshift too for a number
2522 of VLE relocs. Describe R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO.
2523 Correct dst_mask on R_PPC_VLE_SDA21_LO.
2524 (ppc_elf_vle_split16): Tidy, delete unnecessary prototype.
2525 (ppc_elf_relocate_section): Modify overflow test for 16-bit
2526 fields in instructions to signed/unsigned according to whether
2527 the field takes a signed or unsigned value. Tidy vle split16 code.
2528 Correct R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO handling.
2529
b80eed39
AM
25302014-03-08 Alan Modra <amodra@gmail.com>
2531
2532 * elf64-ppc.c (ppc64_elf_howto_raw): Use complain_overflow_signed
2533 for R_PPC64_ADDR14, R_PPC64_ADDR14_BRTAKEN, R_PPC64_ADDR14_BRNTAKEN,
2534 R_PPC64_SECTOFF, R_PPC64_ADDR16_DS, R_PPC64_SECTOFF_DS,
2535 R_PPC64_REL16 entries. Use complain_overflow_dont for R_PPC64_TOC.
2536 (ppc64_elf_relocate_section): Modify overflow test for 16-bit
2537 fields in instructions to signed/unsigned according to whether
2538 the field takes a signed or unsigned value.
2539
c38e8559
PA
25402014-03-07 Pedro Alves <palves@redhat.com>
2541
5893c83a 2542 PR gdb/16696
c38e8559
PA
2543 * rs6000-core.c (rs6000coff_core_p): Cast pointers to bfd_vma
2544 through ptr_to_uint instead of through long.
2545
e9847026
NC
25462014-03-06 Nick Clifton <nickc@redhat.com>
2547
2548 PR 16664
2549 * elf-attrs.c (_bfd_elf_parse_attributes): Add checks for corrupt
2550 attribute section names.
2551
4b95cf5c
AM
25522014-03-05 Alan Modra <amodra@gmail.com>
2553
2554 Update copyright years.
2555
45965137
AM
25562014-03-05 Alan Modra <amodra@gmail.com>
2557
2558 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_ADDR64_LOCAL entry.
2559 (ppc64_elf_reloc_type_lookup): Support R_PPC64_ADDR64_LOCAL.
2560 (ppc64_elf_check_relocs): Likewise.
2561 (ppc64_elf_relocate_section): Likewise.
2562 * Add BFD_RELOC_PPC64_ADDR64_LOCAL.
2563 * bfd-in2.h: Regenerate.
2564 * libbfd.h: Regenerate.
2565
cd0c81e9 25662014-03-04 Heiher <r@hev.cc>
4ba154f5
RS
2567
2568 * elfxx-mips.c (mips_set_isa_flags): Use E_MIPS_ARCH_64R2 for
2569 Loongson-3A.
2570 (mips_mach_extensions): Make bfd_mach_mips_loongson_3a an
2571 extension of bfd_mach_mipsisa64r2.
2572
eed94f8f
NC
25732014-03-04 Nick Clifton <nickc@redhat.com>
2574
2575 PR ld/16017
2576 * elf32-arm.c (elf32_thumb2_plt0_entry): New array.
2577 (elf32_thumb2_plt_entry): New array.
2578 (elf32_arm_create_dynamic_sections): Set PLT entry sizes when
2579 using thumb2 based PLT.
2580 (elf32_arm_populate_plt_entry): Handle generating Thumb2 based PLT
2581 entries.
2582 (elf32_arm_final_link_relocate): Do not bias jumps to Thumb based
2583 PLT entries.
2584 (elf32_arm_finish_dynamic_sections): Handle creation of Thumb2
2585 based PLT 0-entry.
2586 (elf32_arm_output_plt_map_1): Handle creation of local symbols for
2587 Thumb2 based PLT 0-entry.
2588 (elf32_arm_output_arch_local_syms): Handle creation of local
2589 symbols for Thumb2 based PLT entries.
2590
9850436d
AM
25912014-02-28 Alan Modra <amodra@gmail.com>
2592
2593 PR ld/16643
2594 * elflink.c (elf_gc_sweep): Call gc_sweep_hook for exactly
2595 the same conditions we called check_relocs.
2596
1db37fe6
YG
25972014-02-27 Yuri Gribov <y.gribov@samsung.com>
2598
2599 * bfd-in.h: Add export of bfd_elf32_arm_use_long_plt.
2600 * bfd-in2.h: Regenerate.
2601 * elf32-arm.c (elf32_arm_plt_entry_long): New array.
2602 (elf32_arm_link_hash_table_create): Set plt_entry_size to 16 if
2603 using long PLT entries.
2604 (bfd_elf32_arm_use_long_plt): New function.
2605 (elf32_arm_populate_plt_entry): Add support for long PLT entries.
2606
db434ba0
AM
26072014-02-27 Alan Modra <amodra@gmail.com>
2608
2609 * elf32-ppc.c (ppc_elf_link_hash_table_create): Provide default
2610 params for targets that don't use ppc32elf.em.
2611
d9972968
CLT
26122014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
2613
2614 * elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation
2615 of GOTOFF relocations.
2616
0ff2b86e
L
26172014-02-19 Igor Zamyatin <igor.zamyatin@intel.com>
2618 H.J. Lu <hongjiu.lu@intel.com>
2619
2620 * elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New.
2621 (elf_x86_64_legacy_plt_entry): Likewise.
2622 (elf_x86_64_bnd_plt_entry): Likewise.
2623 (elf_x86_64_legacy_plt2_entry): Likewise.
2624 (elf_x86_64_bnd_plt2_entry): Likewise.
2625 (elf_x86_64_bnd_arch_bed): Likewise.
2626 (elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd.
2627 (elf_x86_64_link_hash_table): Add plt_bnd.
2628 (elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and
2629 plt_bnd.
2630 (elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc.
2631 (elf_x86_64_check_relocs): Create the second PLT for Intel MPX
2632 in 64-bit mode.
2633 (elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC
2634 symbols. Resolve call to the second PLT if it is created.
2635 (elf_x86_64_size_dynamic_sections): Keep the second PLT section.
2636 (elf_x86_64_relocate_section): Resolve PLT references to the
2637 second PLT if it is created.
2638 (elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the
2639 second PLT entry for BND relocation.
2640 (elf_x86_64_finish_dynamic_sections): Use MPX backend data if
2641 the second PLT is created.
2642 (elf_x86_64_get_synthetic_symtab): New.
2643 (bfd_elf64_get_synthetic_symtab): Likewise. Undefine for NaCl.
2644
7d4c687d
AM
26452014-02-19 Alan Modra <amodra@gmail.com>
2646
2647 * elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs.
2648 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control
2649 provision of out-of-line register save/restore routines.
2650
5db3e65d
JC
26512014-02-18 Jack Carter <jack.carter@imgtec.com>
2652
b4894562
AM
2653 * elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of
2654 PT_DYNAMIC segment flags.
5db3e65d 2655
024a2310
JK
26562014-02-17 Jan Kratochvil <jan.kratochvil@redhat.com>
2657
2658 PR binutils/16595
2659 * simple.c (struct saved_offsets): New.
2660 (simple_save_output_info): Use it for ptr.
2661 (simple_restore_output_info): Use it for ptr. Check section_count.
2662 (bfd_simple_get_relocated_section_contents): Use it for saved_offsets.
2663
e7d1c40c
AM
26642014-02-17 Alan Modra <amodra@gmail.com>
2665
2666 * elf64-ppc.h (struct ppc64_elf_params): Define.
2667 (ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup,
2668 ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
2669 ppc64_elf_build_stubs): Update prototype.
2670 * elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other
2671 fields now in params. Adjust code throughout file.
2672 (ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params".
2673 Save params pointer in htab.
2674 (ppc64_elf_edit_opd, ppc64_elf_tls_setup,
2675 ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
2676 ppc64_elf_build_stubs): Remove parameters now in "params".
2677
668e22e5
AM
26782014-02-17 Alan Modra <amodra@gmail.com>
2679
2680 * elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns
2681 patched for ppc476 workaround. Reapply branch taken/not taken
2682 relocs.
2683
9f7552cf
AM
26842014-02-12 Alan Modra <amodra@gmail.com>
2685
2686 * elf32-ppc.c (ppc_elf_relax_section): Don't build long-branch
2687 stubs for calls to __tls_get_addr that we know will later be
2688 optimised away.
2689
795bc6b3
AM
26902014-02-12 Alan Modra <amodra@gmail.com>
2691
2692 * elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround
2693 for ld -r, when code sections are sufficiently aligned.
2694 * elf32-ppc.h (struct ppc_elf_params): Delete pagesize. Add
2695 pagesize_p2.
2696
b407645f
AM
26972014-02-12 Alan Modra <amodra@gmail.com>
2698
2699 PR gold/15530
2700 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
2701 --export-dynamic and --dynamic-list marking of symbols.
2702 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Reorder
2703 cheap tests first.
2704
d6f6f455
L
27052014-02-10 H.J. Lu <hongjiu.lu@intel.com>
2706
2707 PR gold/16530
2708 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in
2709 executables if it matches dynamic_list.
2710
c1c69e83
AM
27112014-02-10 Alan Modra <amodra@gmail.com>
2712
2713 * po/SRC-POTFILES.in: Regenerate.
2714 * po/bfd.pot: Regenerate.
2715
53291d1f
AM
27162014-02-09 Alan Modra <amodra@gmail.com>
2717
2718 * elf-bfd.h (struct elf_backend_data): Add caches_rawsize.
2719 * elfxx-target.h (elf_backend_caches_rawsize): Define.
2720 (elfNN_bed): Init new field.
2721 * elflink.c (elf_link_input_bfd): Handle caches_rawsize.
2722 * elf32-ppc.c (shared_stub_entry): Zero addi offset.
2723 (ppc_elf_relax_section): Don't reallocate section here, write
2724 stubs, or write out relocs for ld -r here..
2725 (ppc_elf_relocate_section): ..instead write stubs here, and use
2726 existing code to write out relocs for ld -r. Fix offset
2727 adjustment on reloc for little-endian.
2728 (elf_backend_caches_rawsize): Define.
2729
d1eb5696
RO
27302014-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2731
85773039 2732 PR build/16550
d1eb5696
RO
2733 * cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t.
2734
2915c55b
JK
27352014-02-04 Jan Kratochvil <jan.kratochvil@redhat.com>
2736
2737 * coff-rs6000.c (xcoff_write_archive_contents_big): Free OFFSETS in
2738 return paths. Three times.
2739 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Free HTAB in all
2740 return paths.
2741 (ppc64_elf_tls_optimize): Free TOC_REF in return path.
2742 (ppc64_elf_edit_toc): Free USED in return path.
2743
1c2de463
SL
27442014-02-03 Sandra Loosemore <sandra@codesourcery.com>
2745
2746 * reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New.
2747 (BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New.
2748 * libbfd.h: Regenerated.
2749 * bfd-in2.h: Regenerated.
2750 * elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations.
2751 (nios2_reloc_map): Likewise.
2752 (GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED.
2753 Fixed all references.
2754 (nios2_elf32_relocate_section): Add new relocations.
2755 (nios2_elf32_check_relocs): Likewise.
2756 (nios2_elf32_gc_sweep_hook): Likewise.
2757
5446cbdf
AM
27582014-02-03 Alan Modra <amodra@gmail.com>
2759
2760 * elf32-ppc.c (struct ppc_elf_link_hash_table): Add params.
2761 Delete emit_stub_syms, no_tls_get_addr_opt. Update all uses.
2762 (ppc_elf_link_params): New function.
2763 (ppc_elf_create_glink): Align .glink to 64 bytes for ppc476
2764 workaround.
2765 (ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms
2766 parameters. Use htab->params instead.
2767 (ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter.
2768 (ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to
2769 64 bytes for ppc476 workaround.
2770 (struct ppc_elf_relax_info): New.
2771 (ppc_elf_relax_section): Exclude linker created sections and
2772 those too small to hold one instruction. Don't add another
cd3416da 2773 branch around trampolines on later relax passes. Don't
5446cbdf
AM
2774 generate trampolines for undefined symbols when !relocatable,
2775 nor for plugin symbols. Allocate space for ppc476 workaround
2776 patch area. Free fixups on error return path.
2777 (ppc_elf_relocate_section): Handle ppc476 workaround patching.
2778 * elf32-ppc.h (struct ppc_elf_params): New.
2779 (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype.
2780 (ppc_elf_link_params): Declare.
2781 * section.c (SEC_INFO_TYPE_TARGET): Define.
2782 * bfd-in2.h: Regenerate.
2783
82e91538
SL
27842014-02-02 Sandra Loosemore <sandra@codesourcery.com>
2785
2786 * elf32-nios2.c (struct elf32_nios2_link_hash_table): Add
2787 h_gp_got field.
2788 (nios2_elf32_relocate_section): Use got_base to adjust
2789 GOT-pointer-relative relocations relative to _gp_got.
2790 (create_got_section): Create _gp_got symbol.
2791 (nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute.
2792 (nios2_elf32_size_dynamic_sections): Set _gp_got offset.
2793
78058a5e
SL
27942014-01-30 Sandra Loosemore <sandra@codesourcery.com>
2795
2796 * bfd-in2.h: Update from reloc.c.
2797 * elf32-nios2.c: Include elf32-nios2.h.
2798 (elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT.
2799 (nios2_reloc_map): Likewise.
2800 (enum elf32_nios2_stub_type): Declare.
2801 (struct elf32_nios2_stub_hash_entry): Declare.
2802 (nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros.
2803 (struct elf32_nios2_link_hash_entry): Add hsh_cache field.
2804 (struct elf32_nios2_link_hash_table): Add new fields bstab,
2805 stub_bfd, add_stub_section, layout_sections_again, stub_group,
2806 bfd_count, top_index, input_list, all_local_syms.
2807 (nios2_call26_stub_entry): New.
2808 (nios2_elf32_install_imm16): Move up in file.
2809 (nios2_elf32_install_data): Move up in file.
2810 (hiadj): Move up in file.
2811 (stub_hash_newfunc): New.
2812 (link_hash_newfunc): Initialize hsh_cache field.
2813 (STUB_SUFFIX): New.
2814 (nios2_stub_name): New.
2815 (nios2_get_stub_entry): New.
2816 (nios2_add_stub): New.
2817 (nios2_elf32_setup_section_lists): New.
2818 (nios2_elf32_next_input_section): New.
2819 (CALL26_SEGMENT): New.
2820 (MAX_STUB_SECTION_SIZE): New.
2821 (group_sections): New.
2822 (nios2_type_of_stub): New.
2823 (nios2_build_one_stub): New.
2824 (nios2_size_one_stub): New.
2825 (get_local_syms): New.
2826 (nios2_elf32_size_stubs): New.
2827 (nios2_elf32_build_stubs): New.
2828 (nios2_elf32_do_call26_relocate): Correct CALL26 overflow test.
2829 (nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT. Add
2830 trampolines for R_NIOS2_CALL26 stubs.
2831 (nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT.
2832 (nios2_elf32_gc_sweep_hook): Likewise.
2833 (nios2_elf32_link_hash_table_create): Initialize the stub hash table.
2834 (nios2_elf32_link_hash_table_free): New.
2835 (bfd_elf32_bfd_link_hash_table_free): Define.
2836 * elf32-nios2.h: New file.
2837 * libbfd.h: Update from reloc.c.
2838 * reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New.
2839
df3ce959
NC
28402014-01-29 Nick Clifton <nickc@redhat.com>
2841
2842 PR binutils/16318
2843 * elf32-metag.c (elf_metag_post_process_headers): Call
2844 _bfd_elf_post_process_headers.
2845 * elf32-sh64.c (sh64_elf_copy_private_data): Call
2846 _bfd_elf_copy_private_data.
2847 * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
2848
27b829ee
NC
28492014-01-29 Nick Clifton <nickc@redhat.com>
2850
2851 * bfd-in.h (bfd_set_section_vma): Delete.
2852 (bfd_set_section_alignment): Delete.
2853 (bfd_set_section_userdata): Delete.
2854 (bfd_set_cacheable): Delete.
2855 * bfd.c (bfd_set_cacheable): New static inline function.
2856 * section.c (bfd_set_section_userdata): Likewise.
2857 (bfd_set_section_vma): Likewise.
2858 (bfd_set_section_alignment): Likewise.
2859 * bfd-in2.h: Regenerate.
2860
0a9c7b2b
NC
28612014-01-28 Nick Clifton <nickc@redhat.com>
2862
2863 * dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr
2864 attributes select the CU containing the abbreviation, which may not
2865 be the current CU.
2866
3ba720c7
AM
28672014-01-24 Alan Modra <amodra@gmail.com>
2868
2869 * elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed
2870 to get_relocs for ELFv2.
2871
d923cae0
L
28722014-01-23 H.J. Lu <hongjiu.lu@intel.com>
2873
2874 PR ld/16498
3ba720c7 2875 * elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error
d923cae0
L
2876 if TLS sections are not adjacent.
2877
16e4ecc0
AM
28782014-01-22 Alan Modra <amodra@gmail.com>
2879
2880 * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed.
2881
eb8d7fda
AM
28822014-01-22 Alan Modra <amodra@gmail.com>
2883
2884 * elf64-ppc.c (STK_LINKER): Comment typo fix.
2885
4584ec12
L
28862014-01-21 H.J. Lu <hongjiu.lu@intel.com>
2887
2888 PR ld/16467
2889 * elflink.c (_bfd_elf_merge_symbol): When types of the existing
2890 regular default symbol definition and the versioned dynamic
2891 symbol definition mismatch, skip the default symbol definition
2892 if one of them is IFUNC.
2893
22ef172a
L
28942014-01-21 H.J. Lu <hongjiu.lu@intel.com>
2895
2896 PR ld/2404
2897 * elflink.c (_bfd_elf_merge_symbol): Don't check info->shared,
2898 info->export_dynamic nor h->ref_dynamic for type mismatch when
2899 adding the default version.
2900
b75d42bc
AM
29012014-01-16 Alan Modra <amodra@gmail.com>
2902
2903 * elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a
2904 mips_elf_traverse_got_arg* rather than mips_got_info*.
2905 Adjust caller. Alloc on output_bfd rather than symbol section
2906 owner.
2907
c353e543
L
29082014-01-15 H.J. Lu <hongjiu.lu@intel.com>
2909
2910 * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
2911 change.
2912 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2913
818d220a
L
29142014-01-14 H.J. Lu <hongjiu.lu@intel.com>
2915
2916 PR ld/16428
2917 * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs
2918 against __ehdr_start.
2919 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2920
c3ce498c
L
29212014-01-14 H.J. Lu <hongjiu.lu@intel.com>
2922
2923 * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
2924 change.
2925 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2926
d1ec1e40
L
29272014-01-14 H.J. Lu <hongjiu.lu@intel.com>
2928
2929 PR ld/16428
2930 * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc
2931 count if there are any non pc-relative relocs.
2932 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2933
f44a1f8e
CL
29342014-01-14 Michael Hudson-Doyle <michael.hudson@linaro.org>
2935 Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org>
2936
2937 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct
2938 offset while calculating relocation address.
2939 (elfNN_aarch64_create_small_pltn_entry): Likewise.
2940 (elfNN_aarch64_init_small_plt0_entry): Likewise.
2941
fd0fd00c
MJ
29422014-01-13 Ma Jiang <ma.jiang@zte.com.cn>
2943
2944 PR ld/16202
2945 * elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for
2946 R_ARM_ABS8 and R_ARM_ABS16.
2947
aa726b9e
AM
29482014-01-13 Alan Modra <amodra@gmail.com>
2949
2950 * elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc,
2951 error when shared and force a plt call otherwise.
2952 (ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless
2953 plt_type == PLT_NEW.
2954 (ppc_elf_relocate_section): Add missing test to resolve ifuncs to
2955 the appropriate call stub.
2956
eec2f3ed
AM
29572014-01-10 Alan Modra <amodra@gmail.com>
2958
2959 PR ld/14207
2960 PR ld/16322
2961 PR binutils/16323
2962 * elf.c (assign_file_positions_for_load_sections): Revert last change.
2963 (assign_file_positions_for_non_load_sections): When setting up
2964 PT_GNU_RELRO header, don't require a corresponding PT_LOAD
2965 header that completely covers the relro region.
2966
09bf66a8
TG
29672014-01-09 Tristan Gingold <gingold@adacore.com>
2968
2969 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump
2970 table macros and add macros to initializa the structure.
2971
43a8475c
L
29722014-01-08 H.J. Lu <hongjiu.lu@intel.com>
2973
2974 PR ld/14207
2975 PR ld/16322
2976 PR binutils/16323
2977 * elf.c (_bfd_elf_map_sections_to_segments): Don't check section
2978 size for PT_GNU_RELRO segment.
2979 (assign_file_positions_for_load_sections): If PT_LOAD segment
2980 doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz.
2981
1651e569
TT
29822014-01-07 Tom Tromey <tromey@redhat.com>
2983
2984 * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility
2985 wrappers.
2986
dc9155b2
NC
29872014-01-03 Nick Clifton <nickc@redhat.com>
2988
2989 PR binutils/16199
2990 * elf.c (vma_page_aligned_bias): Handle a maxpagesize value of
2991 zero.
2992
dd8dfa39 29932014-01-02 Yuanhui Zhang <asmwarrior@gmail.com>
044387af
A
2994
2995 PR binutils/14289
2996 * pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80.
2997
1be5090b
NC
29982014-01-02 Nick Clifton <nickc@redhat.com>
2999
3000 PR binutils/11983
3001 * archive.c (_bfd_get_elt_at_filepos): Store a copy of the
3002 filename in the bfd's filename field.
3003 * elfcode.h (bfd_from_remote_memory): Likewise.
3004 * ieee.c (ieee_object_p): Likewise.
3005 * mach-o.c (bfd_mach_o_fat_member_init): Likewise.
3006 * oasys.c (oasys_openr_next_archived_file): Likewise.
3007 * vms-lib.c (_bfd_vms_lib_get_module): Likewise.
3008 * opncls.c (bfd_fopen): Likewise.
3009 (bfd_openstreamr): Likewise.
3010 (bfd_openr_iovec): Likewise.
3011 (bfd_openw): Likewise.
3012 (bfd_create): Likewise.
3013 (_bfd_delete_bfd): Free filename.
3014
5fb776a6 3015For older changes see ChangeLog-2013
56882138 3016\f
5fb776a6 3017Copyright (C) 2014 Free Software Foundation, Inc.
752937aa
NC
3018
3019Copying and distribution of this file, with or without modification,
3020are permitted in any medium without royalty provided the copyright
3021notice and this notice are preserved.
3022
56882138
AM
3023Local Variables:
3024mode: change-log
3025left-margin: 8
3026fill-column: 74
3027version-control: never
3028End:
This page took 0.875561 seconds and 4 git commands to generate.