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