[MIPS] When calculating a relocation using an undefined weak symbol don't check for...
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2014-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
6 2014-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
19 2014-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
46 2014-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
53 2014-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
58 2014-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
67 2014-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
107 2014-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
113 2014-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
160 2014-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
168 2014-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
198 2014-11-24 H.J. Lu <hongjiu.lu@intel.com>
199
200 * configure: Regenerated.
201
202 2014-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
207 2014-11-24 Alan Modra <amodra@gmail.com>
208
209 * elf64-ppc.c (plt_stub_pad): Correct.
210
211 2014-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
218 2014-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
223 2014-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
262 2014-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
267 2014-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
273 2014-11-21 Terry Guo <terry.guo@arm.com>
274
275 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Support FPv5.
276
277 2014-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
282 2014-11-20 Alan Modra <amodra@gmail.com>
283
284 * elf32-ppc.c (ppc_elf_relax_section): Correct ppc476 workaround
285 alignment calculation.
286
287 2014-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
292 2014-11-20 Alan Modra <amodra@gmail.com>
293
294 * elf64-ppc.c (ppc64_elf_size_stubs): Add __go_go to thread_starters.
295
296 2014-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
302 2014-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
311 2014-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
316 2014-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
323 2014-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
330 2014-11-13 H.J. Lu <hongjiu.lu@intel.com>
331
332 * coffcode.h (coff_slurp_line_table): Add cast to unsigned int.
333
334 2014-11-13 H.J. Lu <hongjiu.lu@intel.com>
335
336 * coffcode.h (coff_pointerize_aux_hook): Fix a typo.
337
338 2014-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
345 2014-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
379 2014-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
392 2014-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
398 2014-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
417 2014-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
423 2014-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
435 2014-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
440 2014-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
445 2014-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
482 2014-11-08 Alan Modra <amodra@gmail.com>
483
484 * peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead.
485
486 2014-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
491 2014-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
497 2014-11-07 Alan Modra <amodra@gmail.com>
498
499 * tekhex.c (tekhex_set_arch_mach): Ignore unknown arch errors.
500
501 2014-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
517 2014-11-07 Alan Modra <amodra@gmail.com>
518
519 * aoutx.h (aout_get_external_symbols): Tidy allocation of symbol buffer.
520
521 2014-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
531 2014-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
540 2014-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
545 2014-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
553 2014-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
558 2014-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
563 2014-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
581 2014-11-04 Nick Clifton <nickc@redhat.com>
582
583 PR binutils/17512
584 * compress.c (bfd_get_full_section_contents): Improve test for
585 linker created objects.
586
587 PR binutils/17533
588 * archive.c (_bfd_slurp_extended_name_table): Handle archives with
589 corrupt extended name tables.
590
591 2014-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
596 2014-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
602 2014-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
607 2014-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
639 2014-11-03 Nick Clifton <nickc@redhat.com>
640
641 * po/fi.po: Updated Finnish translation.
642
643 2014-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.
653 (bfd_mips_isa_ext): Add bfd_mach_mips_octeon3.
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
658 2014-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.
665 * tekhex.c (first_phase): Check that the section range is sane.
666
667 2014-10-30 Nick Clifton <nickc@redhat.com>
668
669 PR binutils/17512
670 * ihex.c (ihex_scan): Fix typo in invocation of ihex_bad_byte.
671 * coffgen.c (coff_get_normalized_symtab): Prevent buffer overrun.
672
673 2014-10-29 Nick Clifton <nickc@redhat.com>
674
675 * elf.c (bfd_section_from_shdr): Fix heap use after free memory
676 leak.
677
678 2014-10-29 Dennis Brueni <dbrueni@slickedit.com>
679
680 * elf.c (elfcore_write_lwpstatus): Fix typo in call to memcpy.
681
682 2014-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
690 2014-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
698 2014-10-27 Nick Clifton <nickc@redhat.com>
699
700 PR binutils/17512
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.
704 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Handle corrupt binaries
705 with an invalid value for NumberOfRvaAndSizes.
706 (pe_print_edata): Detect out of range rvas and entry counts for
707 the Export Address table, Name Pointer table and Ordinal table.
708
709 PR binutils/17510
710 * elf.c (setup_group): Improve handling of corrupt group
711 sections.
712
713 2014-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
742 2014-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
750 2014-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
755 2014-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
760 2014-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
765 2014-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
773 2014-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
789 2014-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
795 2014-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
873 2014-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
918 2014-10-15 Tristan Gingold <gingold@adacore.com>
919
920 * version.m4: Bump version to 2.25.51
921 * configure: Regenerate.
922
923 2014-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
929 2014-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
935 2014-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
949 2014-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
954 2014-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
967 2014-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
973 2014-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
982 2014-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
989 2014-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
995 2014-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
1000 2014-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
1005 2014-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
1012 2014-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
1017 2014-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
1022 2014-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
1054 2014-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
1060 2014-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
1113 2014-09-12 Andrew Bennett <andrew.bennett@imgtec.com>
1114
1115 * config.bfd: Add mips*-img-elf* target triple.
1116
1117 2014-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
1125 2014-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
1133 2014-08-30 Alan Modra <amodra@gmail.com>
1134
1135 * elf32-ppc.c (ppc_elf_relax_section): Fix off by one error.
1136
1137 2014-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
1142 2014-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
1147 2014-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
1152 2014-08-28 H.J. Lu <hongjiu.lu@intel.com>
1153
1154 * srec.c (srec_scan): Return error for 0 size.
1155
1156 2014-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
1163 2014-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
1169 2014-08-26 DJ Delorie <dj@redhat.com>
1170
1171 * elf32-rl78.c (rl78_elf_relax_section): Disambiguate test for
1172 relaxation type.
1173
1174 2014-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
1181 2014-08-26 Nick Clifton <nickc@redhat.com>
1182
1183 * config.bfd: Fix typo in or1knd selection.
1184
1185 2014-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
1191 2014-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
1196 2014-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
1213 2014-08-21 Maciej W. Rozycki <macro@codesourcery.com>
1214
1215 * elf64-ppc.h (ppc64_elf_set_toc): Fix indentation.
1216
1217 2014-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
1224 2014-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
1236 2014-08-20 Will Newton <will.newton@linaro.org>
1237
1238 * config.bfd: Default armeb-*-eabi* to big endian.
1239
1240 2014-08-19 Alan Modra <amodra@gmail.com>
1241
1242 * configure: Regenerate.
1243
1244 2014-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
1250 2014-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
1256 2014-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
1263 2014-08-14 Alan Modra <amodra@gmail.com>
1264
1265 * peXXigen.c (pe_print_reloc): Protect against access past end
1266 of .reloc section.
1267
1268 2014-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
1274 2014-08-14 Alan Modra <amodra@gmail.com>
1275
1276 * configure.ac: Delete redundant plugin related checks.
1277 * configure: Regenerate.
1278
1279 2014-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
1285 2014-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
1295 2014-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
1301 2014-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
1306 2014-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
1313 2014-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
1319 2014-08-05 Doug Evans <dje@google.com>
1320
1321 * bfd-in2.h: Regenerate.
1322 * libcoff.h: Regenerate.
1323
1324 2014-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
1329 2014-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
1334 2014-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
1341 2014-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
1371 2014-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
1376 2014-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
1408 2014-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
1416 2014-07-27 Anthony Green <green@moxielogic.org>
1417
1418 * config.bfd: Add moxie-*-moxiebox*.
1419
1420 2014-07-21 Joel Sherrill <joel.sherrill@oarcorp.com>
1421
1422 Add or reactivate or1k-*-rtems*
1423 * config.bfd (or1k-*-rtems*): Reactivate.
1424
1425 2014-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
1432 2014-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
1441 2014-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
1447 2014-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
1452 2014-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
1459 2014-07-11 Maks Naumov <maksqwe1@ukr.net>
1460
1461 PR 17141
1462 * elf.c (_bfd_elf_strtab_add): Check strtab name for failure.
1463
1464 2014-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
1470 2014-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
1475 2014-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
1484 2014-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
1490 2014-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
1497 2014-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
1508 2014-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
1515 2014-07-04 Alan Modra <amodra@gmail.com>
1516
1517 * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Remove configure.in.
1518 * Makefile.in: Regenerate.
1519
1520 2014-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
1530 2014-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
1536 2014-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
1541 2014-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
1549 2014-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
1557 2014-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
1566 2014-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
1584 2014-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
1591 2014-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
1597 2014-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
1602 2014-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
1607 2014-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
1615 2014-06-16 Alan Modra <amodra@gmail.com>
1616
1617 * elf32-vax.c (elf_vax_size_dynamic_sections): Clear linker
1618 created sections.
1619
1620 2014-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
1630 2014-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
1668 2014-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
1690 2014-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
1699 2014-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
1717 2014-06-11 Alan Modra <amodra@gmail.com>
1718
1719 * linker.c (unwrap_hash_lookup): Add missing parens.
1720
1721 2014-06-11 Kai Tietz <ktietz@redhat.com>
1722
1723 * libcoff-in.h (coff_tdata): Make relocbase member unsigned.
1724 * libcoff.h: Regenerated.
1725
1726 2014-06-10 Alan Modra <amodra@gmail.com>
1727
1728 PR ld/16910
1729 * linker.c (unwrap_hash_lookup): New function.
1730 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Call unwrap_hash_lookup.
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
1739 2014-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
1745 2014-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
1754 2014-06-04 Will Newton <will.newton@linaro.org>
1755
1756 * elfnn-aarch64.c (tpoff_base): Make test of tls_sec
1757 being non-NULL into an assert.
1758 (elfNN_aarch64_tls_relax): Remove unused code.
1759
1760 2014-06-03 DJ Delorie <dj@redhat.com>
1761
1762 * elf32-rx.c (rx_table_map): Use BFD_VMA_FMT for portability.
1763
1764 2014-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
1770 2014-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
1776 2014-05-28 Alan Modra <amodra@gmail.com>
1777
1778 * elf32-rx.c (rx_table_map): Delete set but not used variables.
1779
1780 2014-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
1787 2014-05-27 DJ Delorie <dj@redhat.com>
1788
1789 * elf32-rx.c (get_symbol_value_maybe): New.
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.
1801 * elf32-rx.h: New.
1802
1803 2014-05-20 DJ Delorie <dj@redhat.com>
1804
1805 * elf32-msp430.c (msp430_elf_relax_adjust_locals): Avoid overflow.
1806
1807 2014-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
1827 2014-05-16 Ryan Mansfield <rmansfield@qnx.com>
1828
1829 * config.bfd: Move QNX target_cflags from arm-*-netbsd* to arm-*-nto*.
1830
1831 2014-05-16 Jon Turney <jon.turney@dronecode.org.uk>
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
1842 2014-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
1848 2014-05-08 Hans-Peter Nilsson <hp@bitrange.com>
1849
1850 * mmo.c: Update URLs in documentation comments.
1851
1852 2014-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
1859 2014-05-07 Andreas Tobler <andreast@fgznet.ch>
1860
1861 * config.bfd: Add proper arm config for *-*-freebsd*.
1862
1863 2014-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
1872 2014-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
1879 2014-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
1885 2014-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
1938 2014-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
1952 2014-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
1958 2014-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
1964 2014-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
1969 2014-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
1975 2014-04-26 Alan Modra <amodra@gmail.com>
1976
1977 * po/SRC-POTFILES.in: Regenerate.
1978 * configure: Regenerate.
1979
1980 2014-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
1986 2014-04-24 Nick Clifton <nickc@redhat.com>
1987
1988 * peXXigen.c (rsrc_print_section): Fix compile time warning for
1989 32-bit hosts.
1990
1991 2014-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
2015 2014-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
2031 2014-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
2044 2014-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
2049 2014-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
2070 2014-04-22 Yuanhui Zhang <asmwarrior@gmail.com>
2071
2072 PR ld/16821
2073 * peXXigen.c (abs_finder): Fix for 32-bit host builds.
2074
2075 2014-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
2080 2014-04-21 Richard Henderson <rth@redhat.com>
2081
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
2091 * configure.ac (use_secureplt): Enable by default.
2092 * configure: Rebuild.
2093
2094 2014-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
2138 2014-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
2145 2014-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
2153 2014-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
2163 2014-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
2181 2014-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
2198 2014-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
2205 2014-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
2210 2014-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
2215 2014-04-15 Marcus Shawcroft <marcus.shawcroft@arm.com>
2216
2217 * (elfNN_aarch64_tls_relax): Fix instruction mask.
2218
2219 2014-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
2229 2014-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
2237 2014-04-11 Nick Clifton <nickc@redhat.com>
2238
2239 * bfd-in2.h: Regenerate.
2240 * libbfd.h: Regenerate.
2241
2242 2014-04-10 Cesar Philippidis <cesar@codesourcery.com>
2243
2244 * elf32-nios2.c (nios2_elf32_build_stubs): Ignore dynobjs
2245 when building function stubs.
2246
2247 2014-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
2259 2014-04-09 Alan Modra <amodra@gmail.com>
2260
2261 * libcoff.h: Regenerate.
2262
2263 2014-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
2269 2014-04-08 Jon Turney <jon.turney@dronecode.org.uk>
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
2284 2014-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
2289 2014-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
2294 2014-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
2299 2014-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
2305 2014-04-04 Tristan Gingold <gingold@adacore.com>
2306
2307 * bfd.c (bfd_get_arch_size): Default is taken from arch.
2308
2309 2014-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
2317 2014-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
2323 2014-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
2331 2014-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.
2340 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Likewise.
2341 * bfd-in2.h: Regenerate.
2342
2343 2014-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
2357 2014-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
2375 2014-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
2380 2014-03-27 Yury Gribov <y.gribov@samsung.com>
2381 Pavel Fedin <p.fedin@samsung.com>
2382
2383 * elf32-arm.c: Add support for limited pretty-printing of PLT
2384 entries on eabi and nacl targets.
2385 (elf32_arm_get_synthetic_symtab): Add new callback.
2386 (elf32_arm_nacl_plt_sym_val): Likewise.
2387 (elf32_arm_plt0_size): Add helper function.
2388 (elf32_arm_plt_size): Likewise.
2389
2390 2014-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
2395 2014-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
2404 2014-03-26 Nick Clifton <nickc@redhat.com>
2405
2406 * cofflink.c (_bfd_coff_generic_relocate_section): Skip
2407 relocations in discarded sections.
2408
2409 2014-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
2414 2014-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
2426 2014-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
2432 2014-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
2441 2014-03-19 Nick Clifton <nickc@redhat.com>
2442
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.
2446
2447 2014-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
2452 2014-03-14 Meador Inge <meadori@codesourcery.com>
2453
2454 * configure.in: Add strnlen to AC_CHECK_DECLS.
2455 * config.in: Regenerate.
2456 * configure: Regenerate.
2457 * sysdep.h (strnlen): Add prototype.
2458
2459 2014-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
2464 2014-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
2497 2014-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
2503 2014-03-12 Alan Modra <amodra@gmail.com>
2504
2505 * Makefile.in: Regenerate.
2506
2507 2014-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
2513 2014-03-11 Alan Modra <amodra@gmail.com>
2514
2515 PR 16686
2516 * coff-rs6000.c: Include stdint.h.
2517 * coff64-rs6000.c: Likewise.
2518
2519 2014-03-10 Tristan Gingold <gingold@adacore.com>
2520
2521 * ticoff.h: Removed.
2522
2523 2014-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
2535 2014-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
2545 2014-03-07 Pedro Alves <palves@redhat.com>
2546
2547 PR gdb/16696
2548 * rs6000-core.c (rs6000coff_core_p): Cast pointers to bfd_vma
2549 through ptr_to_uint instead of through long.
2550
2551 2014-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
2557 2014-03-05 Alan Modra <amodra@gmail.com>
2558
2559 Update copyright years.
2560
2561 2014-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
2571 2014-03-04 Heiher <r@hev.cc>
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
2578 2014-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
2596 2014-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
2602 2014-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
2612 2014-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
2617 2014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
2618
2619 * elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation
2620 of GOTOFF relocations.
2621
2622 2014-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
2650 2014-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
2656 2014-02-18 Jack Carter <jack.carter@imgtec.com>
2657
2658 * elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of
2659 PT_DYNAMIC segment flags.
2660
2661 2014-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
2669 2014-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
2683 2014-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
2689 2014-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
2695 2014-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
2702 2014-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
2710 2014-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
2716 2014-02-10 Alan Modra <amodra@gmail.com>
2717
2718 * po/SRC-POTFILES.in: Regenerate.
2719 * po/bfd.pot: Regenerate.
2720
2721 2014-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
2735 2014-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2736
2737 PR build/16550
2738 * cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t.
2739
2740 2014-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
2749 2014-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
2763 2014-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
2778 branch around trampolines on later relax passes. Don't
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
2789 2014-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
2799 2014-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
2845 2014-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
2854 2014-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
2866 2014-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
2872 2014-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
2877 2014-01-23 H.J. Lu <hongjiu.lu@intel.com>
2878
2879 PR ld/16498
2880 * elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error
2881 if TLS sections are not adjacent.
2882
2883 2014-01-22 Alan Modra <amodra@gmail.com>
2884
2885 * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed.
2886
2887 2014-01-22 Alan Modra <amodra@gmail.com>
2888
2889 * elf64-ppc.c (STK_LINKER): Comment typo fix.
2890
2891 2014-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
2899 2014-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
2906 2014-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
2913 2014-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
2919 2014-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
2926 2014-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
2932 2014-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
2939 2014-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
2947 2014-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
2953 2014-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
2962 2014-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
2972 2014-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
2977 2014-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
2987 2014-01-07 Tom Tromey <tromey@redhat.com>
2988
2989 * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility
2990 wrappers.
2991
2992 2014-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
2998 2014-01-02 Yuanhui Zhang <asmwarrior@gmail.com>
2999
3000 PR binutils/14289
3001 * pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80.
3002
3003 2014-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
3020 For older changes see ChangeLog-2013
3021 \f
3022 Copyright (C) 2014 Free Software Foundation, Inc.
3023
3024 Copying and distribution of this file, with or without modification,
3025 are permitted in any medium without royalty provided the copyright
3026 notice and this notice are preserved.
3027
3028 Local Variables:
3029 mode: change-log
3030 left-margin: 8
3031 fill-column: 74
3032 version-control: never
3033 End:
This page took 0.134746 seconds and 4 git commands to generate.