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