2007-08-28 David Heine <dlheine@tensilica.com>
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2007-08-28 David Heine <dlheine@tensilica.com>
2
3 * elf32-xtensa.c (compute_ebb_actions): Update removed_bytes when
4 narrowing instructions.
5
6 2007-08-28 Mark Shinwell <shinwell@codesourcery.com>
7 Joseph Myers <joseph@codesourcery.com>
8
9 * elf32-arm.c (elf32_arm_compare_mapping): Compare first on vma,
10 then on type.
11
12 2007-08-28 Robert Sebastian Gerus <arachnist@gmail.com>
13
14 * config.bfd: Add support for i[3-7]86-*-dragonfly*.
15 * configure.in: Likewise.
16 * configure: Regenerate.
17
18 2007-08-25 Ulrich Weigand <uweigand@de.ibm.com>
19 Alan Modra <amodra@bigpond.net.au>
20
21 * elf.c (elfcore_grok_spu_note): New function.
22 (elf_parse_notes): Call it.
23
24 2007-08-24 H.J. Lu <hongjiu.lu@intel.com>
25
26 * elf64-x86-64.c (elf64_x86_64_relocate_section): Adjust
27 indentation.
28
29 2007-08-24 Pedro Alves <pedro_alves@portugalmail.pt>
30
31 * elf.c (elfcore_grok_win32pstatus): Remove HAVE_WIN32_PSTATUS_T
32 guard. Make it host independent.
33 (elfcore_grok_note): Remove HAVE_WIN32_PSTATUS_T guard around
34 NT_WIN32PSTATUS.
35
36 2007-08-24 Jan Kratochvil <jan.kratochvil@redhat.com>
37
38 * elf-bfd.h (struct elf_obj_tdata): New BUILD_ID_SIZE, BUILD_ID.
39 * elf.c (elfcore_read_notes): Split to ...
40 (elf_read_notes) ... here ...
41 (elf_parse_notes): ... and here. Check `bfd_get_format (abfd)' with
42 the former subfunctions called only for BFD_CORE.
43 Call ELFOBJ_GROK_GNU_NOTE for BFD_OBJECT files with the owner "GNU".
44 (_bfd_elf_make_section_from_shdr): Call ELF_PARSE_NOTES for SHT_NOTEs.
45 (bfd_section_from_phdr): Update the call for renamed ELFCORE_READ_NOTES.
46 (elfobj_grok_gnu_build_id, elfobj_grok_gnu_note): New functions.
47 Code advisory: Roland McGrath
48
49 2007-08-24 Daniel Jacobowitz <dan@codesourcery.com>
50
51 * elf64-mips.c (elf_backend_sign_extend_vma): Define.
52
53 2007-08-24 Alan Modra <amodra@bigpond.net.au>
54
55 * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Warning fix.
56
57 2007-08-23 H.J. Lu <hongjiu.lu@intel.com>
58
59 * Makefile.am: Run "make dep-am".
60 * Makefile.in: Regenerated.
61
62 2007-08-23 H.J. Lu <hongjiu.lu@intel.com>
63
64 * elf32-i386.c: Include "bfd_stdint.h".
65 (elf_i386_rtype_to_howto): New function.
66 (elf_i386_info_to_howto_rel): Use it.
67 (x86_64_opcode16): New union type.
68 (elf_i386_check_tls_transition): New function.
69 (elf_i386_tls_transition): Updated to check transition and
70 issue an error if a transition isn't supported.
71 (elf_i386_check_relocs): Return FALSE if
72 elf_i386_tls_transition returns FALSE.
73 (elf_i386_gc_sweep_hook): Likewise.
74 (elf_i386_relocate_section): Likewise. Remove BFD_ASSERT
75 on TLS transitions.
76
77 * elf64-x86-64.c: Include "bfd_stdint.h".
78 (x86_64_opcode16): New union type.
79 (x86_64_opcode32): Likewise.
80 (elf64_x86_64_check_tls_transition): New function.
81 (elf64_x86_64_tls_transition): Updated to check transition and
82 issue an error if a transition isn't supported.
83 (elf64_x86_64_check_relocs): Return FALSE if
84 elf64_x86_64_tls_transition returns FALSE.
85 (elf64_x86_64_gc_sweep_hook): Likewise.
86 (elf64_x86_64_relocate_section): Likewise. Remove BFD_ASSERT
87 on TLS transitions.
88
89 2007-08-22 H.J. Lu <hongjiu.lu@intel.com>
90
91 * elfxx-ia64.c: Convert to ISO C90 prototypes.
92 (elfNN_hpux_backend_section_from_bfd_section): Make it static.
93
94 2007-08-22 H.J. Lu <hongjiu.lu@intel.com>
95
96 * elf64-x86-64.c: Remove trailing whitespace.
97 * elfxx-ia64.c: Likewise.
98
99 2007-08-21 H.J. Lu <hongjiu.lu@intel.com>
100
101 * elf32-i386.c (elf_i386_tls_transition): Accept a pointer
102 to ELF hash entry instead of an integer for local test.
103 (elf_i386_check_relocs): Updated.
104 (elf_i386_gc_sweep_hook): Likewise.
105 (elf_i386_relocate_section): Likewise.
106
107 * elf64-x86-64.c (elf64_x86_64_tls_transition): Accept a
108 pointer to ELF hash entry instead of an integer for local
109 test.
110 (elf64_x86_64_check_relocs): Updated.
111 (elf64_x86_64_gc_sweep_hook): Likewise.
112 (elf64_x86_64_relocate_section): Likewise.
113
114 2007-08-20 H.J. Lu <hongjiu.lu@intel.com>
115
116 * elf32-i386.c (elf_i386_tls_transition): Break long line.
117 * elf64-x86-64.c (elf64_x86_64_tls_transition): Likewise.
118
119 2007-08-20 Jan Kratochvil <jan.kratochvil@redhat.com>
120
121 * elfxx-target.h [ELF_COMMONPAGESIZE && ELF_MAXPAGESIZE]
122 (ELF_MINPAGESIZE): Fixed its size guess. Sanity checked its size.
123 (ELF_COMMONPAGESIZE, ELF_MAXPAGESIZE): Sanity checked their size.
124
125 2007-08-20 Nick Clifton <nickc@redhat.com>
126
127 * elflink.c (elf_fixup_link_order): Rewrite conversion of
128 s->alignment_power into an offset mask in order to avoid a gcc
129 error message.
130
131 2007-08-17 Jakub Jelinek <jakub@redhat.com>
132
133 * config.bfd: Handle sparcv*-*-linux-* the same as sparc-*-linux-*.
134 Change sparc64-*-linux-* to sparc64*-*-linux-*.
135
136 2007-08-17 Alan Modra <amodra@bigpond.net.au>
137
138 * po/Make-in: Add --msgid-bugs-address to xgettext invocation.
139
140 2007-08-16 H.J. Lu <hongjiu.lu@intel.com>
141
142 * elf.c: Revert last change.
143
144 2007-08-16 H.J. Lu <hongjiu.lu@intel.com>
145
146 * elf.c (get_segment_type): Change PT_GNU_STACK to PT_GNU_ATTR.
147 (bfd_section_from_phdr): Likewise.
148 (get_program_header_size): Likewise. Add a PT_GNU_ATTR segment
149 if there is an attribute section.
150 (_bfd_elf_map_sections_to_segments): Likewise.
151 (IS_SECTION_IN_INPUT_SEGMENT): Likewise.
152
153 2007-08-14 H.J. Lu <hongjiu.lu@intel.com>
154
155 PR ld/4918
156 * elf32-i386.c (elf_i386_relocate_section): Allow R_386_PC32
157 on ___tls_get_addr for GD->LE/LD->LE transitions when not
158 building shared library.
159
160 * elf64-x86-64.c (elf64_x86_64_relocate_section): Allow
161 R_X86_64_PC32 on __tls_get_addr for GD->LE/LD->LE transitions
162 when not building shared library.
163
164 2007-08-14 Jan Kratochvil <jan.kratochvil@redhat.com>
165
166 * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): LOADBASE is now
167 initialized only on the first PT_LOAD. New variable LOADBASE_SET.
168 Removed PF_R checking for IA-64 vDSOs as redundant now.
169 Code advisory: Roland McGrath
170
171 2007-08-13 Richard Sandiford <richard@codesourcery.com>
172
173 * elfxx-mips.c (mips_elf_link_hash_table): Add computed_got_sizes.
174 (mips_elf_record_global_got_symbol): Increment local_gotno for
175 each forced-local symbol.
176 (_bfd_mips_elf_check_relocs): Pass forced-local call symbols to
177 mips_elf_record_global_got_symbol for VxWorks too.
178 (_bfd_mips_elf_always_size_sections): Set computed_got_sizes
179 to true after computing the GOT size.
180 (_bfd_mips_elf_hide_symbol): Increase local_gotno whenever
181 got.offset == 1. Only adjust global_gotno if computed_got_sizes.
182 For VxWorks, add a local entry when hiding a symbol that needs a
183 plt but has not been marked as needing a global got entry.
184 (_bfd_mips_elf_link_hash_table_create): Set computed_got_sizes to
185 false.
186
187 2007-08-12 Daniel Jacobowitz <dan@codesourcery.com>
188
189 * coffgen.c (coff_get_normalized_symtab): Correct cast.
190
191 2007-08-13 Alan Modra <amodra@bigpond.net.au>
192
193 * elf.c (elf_modify_segment_map): Add remove_empty_load param.
194 Don't remove empty PT_LOAD header if false.
195 (_bfd_elf_map_sections_to_segments): If user phdrs, pass false
196 to elf_modify_segment_map.
197 (assign_file_positions_for_load_sections): Pass false to
198 elf_modify_segment_map.
199
200 2007-08-13 Alan Modra <amodra@bigpond.net.au>
201
202 * elf64-ppc.c (ADDI_R12_R12, LD_R11_0R2, LD_R2_0R2): Define.
203 Update stub comments.
204 (build_plt_stub): Build two variants, one without "addis".
205 (ppc_build_one_stub): Build stubs without "addis" if possible.
206 (ppc_size_one_stub): Size new stubs.
207
208 2007-08-11 Richard Sandiford <richard@codesourcery.com>
209
210 * config.bfd (sh-*-vxworks): Define targ_underscore to "yes".
211
212 2007-08-09 Michael Snyder <msnyder@access-company.com>
213
214 * aoutx.h (aout_get_external_symbols): Return if count is zero.
215
216 2007-08-09 H.J. Lu <hongjiu.lu@intel.com>
217
218 PR ld/4909
219 * elf.c (print_segment_map): New function.
220 (assign_file_positions_for_load_sections): Call print_segment_map
221 when a section can't be allocated in segment.
222
223 2007-08-09 Jan Kratochvil <jan.kratochvil@redhat.com>
224
225 * opncls.c (bfd_openr_iovec): Fix the OPEN parameter macro expansion.
226
227 2007-08-07 Nick Clifton <nickc@redhat.com>
228
229 * po/bfd.pot: Updated template.
230 * po/BLD-POTFILES.in: Regenerate.
231
232 2007-08-07 Alan Modra <amodra@bigpond.net.au>
233
234 * elf.c: (_bfd_elf_make_section_from_phdr): Properly handle
235 bss segments.
236
237 2007-08-06 Daniel Jacobowitz <dan@codesourcery.com>
238
239 * Makefile.am (BUILD_HFILES): Clean bfd_stdint.h.
240 * Makefile.in: Regenerated.
241
242 2007-08-06 Daniel Jacobowitz <dan@codesourcery.com>
243
244 * configure.in: Update version to 2.18.50.
245 * configure: Regenerated.
246
247 2007-08-06 Paul Brook <paul@codesourcery.com>
248
249 * elf32-arm.c (elf32_arm_link_hash_entry): Add
250 plt_maybe_thumb_refcount.
251 (elf32_arm_link_hash_newfunc): Set plt_maybe_thumb_refcount.
252 (elf32_arm_copy_indirect_symbol): Ditto.
253 (elf32_arm_adjust_dynamic_symbol): Ditto.
254 (bfd_elf32_arm_process_before_allocation): Handle R_ARM_THM_JUMP24.
255 (arm_add_to_rel): Ditto.
256 (elf32_arm_final_link_relocate): Merge R_ARM_THM_JUMP24 with
257 R_ARM_THM_CALL. Handle R_ARM_THM_JUMP19 against a PLT stub.
258 (elf32_arm_gc_sweep_hook): Call check_use_blx. Update plt counts
259 for R_ARM_THM_JUMP24 and R_ARM_THM_JUMP19.
260 (elf32_arm_check_relocs): Update plt counts for R_ARM_THM_JUMP24
261 and R_ARM_THM_JUMP19.
262 (allocate_dynrelocs): Use plt_maybe_thumb_refcount.
263 (elf32_arm_finish_dynamic_symbol): Ditto.
264 (elf32_arm_output_plt_map): Ditto.
265
266 2007-08-06 Daniel Jacobowitz <dan@codesourcery.com>
267
268 * elf.c (rewrite_elf_program_header): Handle sections not sorted
269 by address.
270 (copy_elf_program_header): Likewise.
271
272 2007-08-04 H.J. Lu <hongjiu.lu@intel.com>
273
274 * elf-bfd.h (xvec_get_elf_backend_data): Add const.
275
276 * elfcode.h (elf_object_p): Use xvec_get_elf_backend_data.
277 * elfcore.h (elf_core_file_p): Likewise.
278
279 2007-08-02 H.J. Lu <hongjiu.lu@intel.com>
280
281 * coffcode.h (ALIGN_SET): Removed.
282 (ELIFALIGN_SET): Likewise.
283 (coff_set_alignment_hook): Handle IMAGE_SCN_ALIGN_128BYTES,
284 IMAGE_SCN_ALIGN_256BYTES, IMAGE_SCN_ALIGN_512BYTES,
285 IMAGE_SCN_ALIGN_1024BYTES, IMAGE_SCN_ALIGN_2048BYTES,
286 IMAGE_SCN_ALIGN_4096BYTES and IMAGE_SCN_ALIGN_8192BYTES.
287
288 2007-08-01 Michael Snyder <msnyder@access-company.com>
289
290 * vms-tir.c (new_section): Fix cut and paste error.
291
292 * aoutx.h (aout_link_add_symbols): Return if count is zero.
293
294 * elf.c (bfd_elf_print_symbol): Macro dereferences pointer, so
295 pointer must be non-null.
296
297 2007-08-01 Tristan Gingold <gingold@adacore.com>
298
299 * coffcode.h (coff_sort_func_alent): New function.
300 (coff_slurp_line_table): Sort line table if not already sorted.
301
302 2007-08-01 Jakub Jelinek <jakub@redhat.com>
303
304 * elf.c (_bfd_elf_map_sections_to_segments): Work around buggy
305 GCC 3.4.x warning.
306
307 2007-08-01 Alan Modra <amodra@bigpond.net.au>
308
309 * aoutx.h (swap_ext_reloc_in): Set howto to NULL for unknown
310 r_type.
311 (swap_std_reloc_in): Likewise.
312 (aout_link_input_section_std): Likewise. Return with an error
313 on unexpected relocation type.
314 (aout_link_input_section_ext): Likewise.
315
316 2007-08-01 Alan Modra <amodra@bigpond.net.au>
317
318 PR4694
319 * aoutx.h (final_link): Write a zero in first word of
320 stringtab if no symbols rather than corrupting last byte
321 of text/data.
322
323 2007-07-31 Jakub Jelinek <jakub@redhat.com>
324
325 * elf.c (get_program_header_size): Adjacent loadable .note*
326 sections need just one PT_NOTE segment.
327 (_bfd_elf_map_sections_to_segments): Likewise.
328
329 2007-07-30 Michael Snyder <msnyder@access-company.com>
330
331 * coffgen.c (_bfd_coff_read_internal_relocs): Revert change of
332 2007-07-26. Buffer still in use, can't be freed.
333
334 2007-07-27 Michael Snyder <msnyder@access-company.com>
335
336 * cofflink.c (coff_link_add_symbols): Return if count is zero.
337
338 * coff-i386.c (coff_i386_rtype_to_howto): Off by one error.
339
340 * aoutx.h (slurp_symbol_table): Return if count == 0.
341
342 * coffgen.c (_bfd_coff_read_internal_relocs): Return if count is zero.
343
344 * elf32-i386.c (elf_i386_check_relocs): Check for null pointer.
345
346 2007-07-27 H.J. Lu <hongjiu.lu@intel.com>
347
348 * config.bfd (x86_64-*-mingw*): Don't include x86_64coff_vec.
349
350 2007-07-26 Michael Snyder <msnyder@access-company.com>
351
352 * coff-i386.c (coff_i386_rtype_to_howto): Guard against null.
353
354 * linker.c (bfd_section_already_linked_table_insert): Change
355 return type from void to boolean. Return FALSE on failure.
356 (_bfd_generic_section_already_linked): Test return value of
357 bfd_section_already_linked_table_insert, call fatal on error.
358
359 * elflink.c (_bfd_elf_section_already_linked): Test return value
360 of bfd_section_already_linked_table_insert, call fatal on error.
361
362 * libbfd-in.h (bfd_section_already_linked_table_insert): Update
363 return type to bfd_boolean.
364
365 * libbfd.h: Regenerate.
366
367 2007-07-26 Adam Nemet <anemet@caviumnetworks.com>
368
369 * archive.c (do_slurp_bsd_armap, do_slurp_coff_armap,
370 bfd_slurp_armap): Improve function comment.
371
372 2007-07-26 Michael Snyder <msnyder@access-company.com>
373
374 * linker.c (already_linked_newfunc): Check for NULL return from
375 bfd_hash_allocate.
376
377 * coffgen.c (fixup_symbol_value): Guard against null;
378 bfd_is_com_section will dereference the section pointer.
379
380 * syms.c (bfd_decode_symclass): Guard against NULL, since
381 bfd_is_com_section dereferences the pointer.
382
383 * srec.c (srec_scan): Check for EOF (critical because return value
384 will be used as array index).
385
386 * coffgen.c (_bfd_coff_read_internal_relocs): If internal_relocs
387 are not to be cached, free the temporary buffer.
388
389 * aoutx.h (slurp_reloc_table): Return TRUE if reloc_size == zero
390 or count == zero.
391
392 * tekhex.c (first_phase): Check return value for null.
393
394 * elf.c (_bfd_elf_get_synthetic_symtab): Remove meaningless
395 pointer increment.
396
397 2007-07-26 Alan Modra <amodra@bigpond.net.au>
398
399 * elflink.c (_bfd_elf_fix_symbol_flags): Remove unnecessary
400 check on dynobj. Remove bed shadow.
401
402 * srec.c (srec_get_section_contents): Return immediately on
403 count zero. Check that offset and count are within section.
404 * libbfd.c (_bfd_generic_get_section_contents): Check that
405 offset + count does not overflow.
406
407 * srec.c (srec_canonicalize_symtab): Don't alloc when symcount
408 is zero. Correct return value on error.
409 * mmo.c (mmo_canonicalize_symtab): Likewise.
410 * binary.c (binary_canonicalize_symtab) Correct return on error.
411
412 2007-07-26 Thiemo Seufer <ths@mips.com>
413
414 * bfd.c (_bfd_set_gp_value): Use abort instead of BFD_FAIL.
415
416 2007-07-26 Alan Modra <amodra@bigpond.net.au>
417
418 * reloc.c (bfd_generic_get_relocated_section_contents): Avoid
419 bfd_canonicalize_reloc call when bfd_get_reloc_upper_bound
420 says there are no relocs.
421
422 2007-07-26 Doug Kwan <dougkwan@google.com>
423
424 Speed up bfd_dwarf2_find_line.
425 * dwarf2.c (struct dwarf2_debug): Add new fields to support function
426 and variable info hash tables. Add last_comp_unit, info_hash_count,
427 funcinfo_hash_table, varinfo_hash_table, hash_units_head.
428 (struct comp_unit): Add prev_unit, cached.
429 (struct info_list_node, struct info_hash_entry,
430 struct info_hash_table): New.
431 (info_hash_table_newfunc, create_info_hash_table,
432 insert_info_hash_table, lookup_info_hash_table): New functions
433 implementing function and variable info hash tables.
434 (scan_unit_for_symbols): Add checks to make sure hash tables are
435 consistent with compilation units.
436 (comp_unit_maybe_decode_line_info): New function.
437 (comp_unit_find_line): Use comp_unit_maybe_decode_line_info.
438 (reverse_funcinfo_list, reverse_varinfo_list, comp_unit_hash_info,
439 info_hash_lookup_funcinfo, info_hash_lookup_varinfo,
440 stash_maybe_update_info_hash_table, stash_verify_info_hash_table,
441 stash_maybe_enable_info_hash_tables, stash_find_line_fast): New
442 functions. Make use of info hash tables to speed up
443 bfd_dwarf2_find_line.
444 (find_line): Use hash table for faster lookup if it is turned on.
445 Also add code to maintain bi-directional link in comp units.
446
447 2007-07-25 Michael Snyder <msnyder@access-company.com>
448
449 * coffgen.c (_bfd_coff_get_external_symbols): Nothing to be done
450 if size == 0; return and avoid possible null pointer issues.
451
452 2007-07-25 Alan Modra <amodra@bigpond.net.au>
453
454 * linker.c (generic_link_add_symbol_list): Warning fix.
455
456 2007-07-24 Michael Snyder <msnyder@access-company.com>
457
458 * opncls.c (bfd_make_writable): Check return from bfd_malloc.
459
460 * elflink.c (bfd_elf_final_link): Avoid redundant frees -- return
461 on bfd_malloc error rather than goto error_return.
462
463 2007-07-24 Alan Modra <amodra@bigpond.net.au>
464
465 * elflink.c (_bfd_elf_link_just_syms, merge_sections_remove_hook,
466 _bfd_elf_merge_sections, _bfd_elf_link_hash_newfunc,
467 _bfd_elf_link_hash_copy_indirect, _bfd_elf_link_hash_hide_symbol,
468 _bfd_elf_link_hash_table_init, _bfd_elf_link_hash_table_create,
469 bfd_elf_set_dt_needed_name, bfd_elf_get_dyn_lib_class,
470 bfd_elf_set_dyn_lib_class, bfd_elf_get_needed_list,
471 bfd_elf_get_runpath_list, bfd_elf_get_dt_soname,
472 bfd_elf_get_bfd_needed_list, struct elf_symbuf_symbol,
473 struct elf_symbuf_head, struct elf_symbol, elf_sort_elf_symbol,
474 elf_sym_name_compare, elf_create_symbuf,
475 bfd_elf_match_symbols_in_sections,
476 _bfd_elf_match_sections_by_type): Move to here..
477 * elf.c: ..from here.
478
479 2007-07-23 Richard Sandiford <richard@codesourcery.com>
480
481 * elflink.c (_bfd_elf_fix_symbol_flags): Only assert the type
482 of weakdef->root.type if weakdef has no regular definition.
483
484 2007-07-22 Adam Nemet <anemet@caviumnetworks.com>
485
486 * elfxx-mips.c (struct mips_elf_link_hash_table): Add new field
487 small_data_overflow_reported.
488 (_bfd_mips_elf_link_hash_table_create): Initialize it.
489 (_bfd_mips_elf_relocate_section) <bfd_reloc_overflow>: Report
490 small-data section overflow.
491
492 2007-07-19 Doug Kwan <dougkwan@google.com>
493
494 PR binutils/4797
495 * dwarf2.c: (find_line) Do not dereference functionname_ptr if
496 do_line is true.
497
498 2007-07-18 Bob Wilson <bob.wilson@acm.org>
499
500 * elf32-xtensa.c (xtensa_callback_required_dependence): Ignore
501 non-ELF sections.
502
503 2007-07-18 Bob Wilson <bob.wilson@acm.org>
504
505 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Get section
506 vma and size for dynamic tags from the output sections.
507
508 2007-07-18 Alan Modra <amodra@bigpond.net.au>
509
510 * elf-bfd.h (struct sym_sec_cache): Delete "sec". Add "shndx".
511 * elf.c (bfd_section_from_r_symndx): Don't cache bfd section of
512 symbol. Instead cache ELF section index. Remove redundant
513 checks of st_shndx.
514
515 2007-07-15 Mike Frysinger <vapier@gentoo.org>
516
517 * trad-core.c (NBPG): If not defined, set to getpagesize().
518
519 2007-07-13 Roland McGrath <roland@redhat.com>
520
521 * elf-bfd.h (struct elf_obj_tdata): Revert last change.
522 Add after_write_object_contents, after_write_object_contents_info.
523 * elf.c (_bfd_elf_write_object_contents): Revert last change.
524 Instead, call after_write_object_contents if set.
525
526 2007-07-12 Kai Tietz <kai.tietz@onevision.com>
527
528 * bfd-in.h: (BFD_HOST_64BIT_LONG_LONG): New.
529 (BFD_HOSTPTR_T): Host pointer type for casting a
530 pointer to an integer type.
531 (bfd_hostptr_t): The typedef of BFD_HOSTPTR_T.
532 (sprintf_vma, fprintf_vma): Add support for long long prints.
533 * bfd-in2.h: Regenerate.
534 * configure.in: (BFD_HOST_64BIT_LONG_LONG): New.
535 (BFD_HOSTPTR_T): Host pointer type for casting a
536 pointer to an integer type. Default is "unsigned long".
537 (AC_CHECK_SIZEOF(void *)): New.
538 (host64): Set it if the pointer size is 8.
539 * configure: Regenerate.
540 * config.in: Add macro SIZEOF_VOID_P.
541 * coffcode.h: Replace host ptr type assuming "long" with
542 bfd_hostptr_t type.
543 * coffgen.c: Likewise.
544 * elf-eh-frame.c: Likewise.
545 * peicode.h: Likewise.
546
547 2007-07-10 H.J. Lu <hongjiu.lu@intel.com>
548
549 * Makefile.in: Regenerated.
550
551 2007-07-10 H.J. Lu <hongjiu.lu@intel.com>
552
553 PR binutils/4756
554 * simple.c (bfd_simple_get_relocated_section_content): Don't
555 apply relocation on executable and shared library.
556
557 2007-07-10 Nathan Sidwell <nathan@codesourcery.com>
558
559 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate
560 copy relocs on vxworks.
561
562 2007-07-10 Alan Modra <amodra@bigpond.net.au>
563
564 * elf32-arm.c (elf32_arm_size_info): Init checksum_contents field.
565 * elf64-alpha.c (alpha_elf_size_info): Likewise.
566 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
567 * elf64-mips.c (mips_elf64_size_info): Likewise.
568 * elf64-s390.c (s390_elf64_size_info): Likewise.
569 * elf64-sparc.c (elf64_sparc_size_info): Likewise.
570
571 2007-07-09 H.J. Lu <hongjiu.lu@intel.com>
572
573 * elflink.c (bfd_elf_record_link_assignment): Handle indirect
574 symbol.
575 (_bfd_elf_merge_symbol): Properly update normal symbol when
576 overriding the versioned symbol from a dynamic library.
577
578 2007-07-09 Roland McGrath <roland@redhat.com>
579
580 * elf-bfd.h (struct elf_obj_tdata): Add members
581 emit_note_gnu_build_id and note_gnu_build_id_sec.
582 * elf.c (_bfd_id_note_section_size): New global function.
583 (read_hex, _bfd_elf_write_build_id_section): New static functions.
584 (_bfd_elf_write_object_contents): Call _bfd_elf_write_build_id_section
585 if emit_note_gnu_build_id is set.
586 * Makefile.am (elf.lo): Update dependencies.
587
588 * elf-bfd.h (struct elf_size_info): Add checksum_contents hook.
589 (bfd_elf32_checksum_contents, bfd_elf64_checksum_contents): Declare.
590 * elfcode.h (elf_checksum_contents): New macro and function.
591 (NAME(_bfd_elf,size_info)): Initialize checksum_contents hook.
592
593 2007-07-06 Michael Snyder <msnyder@access-company.com>
594
595 * elflink.c (elf_link_add_object_symbols): Return via
596 error_free_vers on "notice" failure.
597
598 2007-07-04 H.J. Lu <hongjiu.lu@intel.com>
599
600 * peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target
601 if arch is unknown.
602
603 2007-07-04 Nick Clifton <nickc@redhat.com>
604
605 Import this patch from an internal tree:
606
607 2001-07-17 Richard Henderson <rth@redhat.com>
608
609 * elf32-mep.c (mep_final_link_relocate) [R_MEP_HI16S]: Correctly
610 compensate for high bit set in R_MEP_LOW16.
611
612 2007-07-03 Joseph Myers <joseph@codesourcery.com>
613
614 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from
615 input attributes if value has been copied.
616
617 2007-07-03 Nick Clifton <nickc@redhat.com>
618
619 * COPYING: Replace with GPLv3 text.
620 * aix386-core.c: Update copyright notice to refer to GPLv3.
621 * aix5ppc-core.c, aout0.c, aout32.c, aout64.c, aout-adobe.c,
622 aout-arm.c, aout-cris.c, aoutf1.h, aout-ns32k.c, aout-sparcle.c,
623 aout-target.h, aout-tic30.c, aoutx.h, archive64.c, archive.c,
624 archures.c, armnetbsd.c, bfd.c, bfd-in.h, bfdio.c, bfdwin.c,
625 binary.c, bout.c, cache.c, cf-i386lynx.c, cf-sparclynx.c,
626 cisco-core.c, coff64-rs6000.c, coff-alpha.c, coff-apollo.c,
627 coff-arm.c, coff-aux.c, coffcode.h, coffgen.c, coff-go32.c,
628 coff-h8300.c, coff-h8500.c, coff-i386.c, coff-i860.c, coff-i960.c,
629 coff-ia64.c, cofflink.c, coff-m68k.c, coff-m88k.c, coff-maxq.c,
630 coff-mcore.c, coff-mips.c, coff-or32.c, coff-pmac.c, coff-ppc.c,
631 coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c,
632 coff-svm68k.c, coffswap.h, coff-tic30.c, coff-tic4x.c,
633 coff-tic54x.c, coff-tic80.c, coff-u68k.c, coff-w65.c,
634 coff-we32k.c, coff-x86_64.c, coff-z80.c, coff-z8k.c, corefile.c,
635 cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c, cpu-bfin.c,
636 cpu-cr16.c, cpu-cr16c.c, cpu-cris.c, cpu-crx.c, cpu-d10v.c,
637 cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c, cpu-h8300.c,
638 cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c, cpu-i860.c,
639 cpu-i960.c, cpu-ia64.c, cpu-ia64-opc.c, cpu-ip2k.c, cpu-iq2000.c,
640 cpu-m10200.c, cpu-m10300.c, cpu-m32c.c, cpu-m32r.c, cpu-m68hc11.c,
641 cpu-m68hc12.c, cpu-m68k.c, cpu-m88k.c, cpu-maxq.c, cpu-mcore.c,
642 cpu-mep.c, cpu-mips.c, cpu-mmix.c, cpu-msp430.c, cpu-mt.c,
643 cpu-ns32k.c, cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c,
644 cpu-powerpc.c, cpu-rs6000.c, cpu-s390.c, cpu-score.c, cpu-sh.c,
645 cpu-sparc.c, cpu-spu.c, cpu-tic30.c, cpu-tic4x.c, cpu-tic54x.c,
646 cpu-tic80.c, cpu-v850.c, cpu-vax.c, cpu-w65.c, cpu-we32k.c,
647 cpu-xc16x.c, cpu-xstormy16.c, cpu-xtensa.c, cpu-z80.c, cpu-z8k.c,
648 demo64.c, doc/chew.c, dwarf1.c, dwarf2.c, ecoff.c, ecofflink.c,
649 ecoffswap.h, efi-app-ia32.c, efi-app-ia64.c, efi-app-x86_64.c,
650 elf32-am33lin.c, elf32-arc.c, elf32-arm.c, elf32-avr.c,
651 elf32-avr.h, elf32-bfin.c, elf32.c, elf32-cr16.c, elf32-cr16c.c,
652 elf32-cris.c, elf32-crx.c, elf32-d10v.c, elf32-d30v.c,
653 elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-gen.c,
654 elf32-h8300.c, elf32-hppa.c, elf32-hppa.h, elf32-i370.c,
655 elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
656 elf32-iq2000.c, elf32-m32c.c, elf32-m32r.c, elf32-m68hc11.c,
657 elf32-m68hc12.c, elf32-m68hc1x.c, elf32-m68hc1x.h, elf32-m68k.c,
658 elf32-m88k.c, elf32-mcore.c, elf32-mep.c, elf32-mips.c,
659 elf32-msp430.c, elf32-mt.c, elf32-openrisc.c, elf32-or32.c,
660 elf32-pj.c, elf32-ppc.c, elf32-ppc.h, elf32-s390.c, elf32-score.c,
661 elf32-sh64.c, elf32-sh64-com.c, elf32-sh64.h, elf32-sh.c,
662 elf32-sh-symbian.c, elf32-sparc.c, elf32-spu.c, elf32-spu.h,
663 elf32-v850.c, elf32-vax.c, elf32-xc16x.c, elf32-xstormy16.c,
664 elf32-xtensa.c, elf64-alpha.c, elf64.c, elf64-gen.c, elf64-hppa.c,
665 elf64-hppa.h, elf64-mips.c, elf64-mmix.c, elf64-ppc.c,
666 elf64-ppc.h, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
667 elf64-x86-64.c, elf-attrs.c, elf-bfd.h, elf.c, elfcode.h,
668 elfcore.h, elf-eh-frame.c, elf-hppa.h, elflink.c, elf-m10200.c,
669 elf-m10300.c, elfn32-mips.c, elf-strtab.c, elf-vxworks.c,
670 elf-vxworks.h, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
671 elfxx-sparc.c, elfxx-sparc.h, elfxx-target.h, epoc-pe-arm.c,
672 epoc-pei-arm.c, format.c, freebsd.h, gen-aout.c, genlink.h,
673 hash.c, host-aout.c, hosts/alphavms.h, hp300bsd.c, hp300hpux.c,
674 hppabsd-core.c, hpux-core.c, i386aout.c, i386bsd.c, i386dynix.c,
675 i386freebsd.c, i386linux.c, i386lynx.c, i386mach3.c, i386msdos.c,
676 i386netbsd.c, i386os9k.c, ieee.c, ihex.c, init.c, irix-core.c,
677 libaout.h, libbfd.c, libbfd-in.h, libcoff-in.h, libecoff.h,
678 libhppa.h, libieee.h, libnlm.h, liboasys.h, libpei.h, libxcoff.h,
679 linker.c, lynx-core.c, m68k4knetbsd.c, m68klinux.c, m68knetbsd.c,
680 m88kmach3.c, m88kopenbsd.c, mach-o.c, mach-o.h, mach-o-target.c,
681 mep-relocs.pl, merge.c, mipsbsd.c, mmo.c, netbsd-core.c, netbsd.h,
682 newsos3.c, nlm32-alpha.c, nlm32.c, nlm32-i386.c, nlm32-ppc.c,
683 nlm32-sparc.c, nlm64.c, nlm.c, nlmcode.h, nlmswap.h, nlm-target.h,
684 ns32k.h, ns32knetbsd.c, oasys.c, opncls.c, osf-core.c,
685 pc532-mach.c, pdp11.c, pe-arm.c, pe-arm-wince.c, pef.c, pef.h,
686 pef-traceback.h, pe-i386.c, pei-arm.c, pei-arm-wince.c, peicode.h,
687 pei-i386.c, pei-mcore.c, pei-mips.c, pei-ppc.c, pei-sh.c,
688 pei-x86_64.c, pe-mcore.c, pe-mips.c, pe-ppc.c, pe-sh.c,
689 pe-x86_64.c, peXXigen.c, ppcboot.c, ptrace-core.c, reloc16.c,
690 reloc.c, riscix.c, rs6000-core.c, sco5-core.c, section.c,
691 simple.c, som.c, som.h, sparclinux.c, sparclynx.c, sparcnetbsd.c,
692 srec.c, stabs.c, stab-syms.c, stamp-h.in, sunos.c, syms.c,
693 sysdep.h, targets.c, targmatch.sed, tekhex.c, ticoff.h,
694 trad-core.c, vax1knetbsd.c, vaxbsd.c, vaxnetbsd.c, versados.c,
695 vms.c, vms-gsd.c, vms.h, vms-hdr.c, vms-misc.c, vms-tir.c,
696 xcofflink.c, xcoff-target.h, xsym.c, xsym.h, xtensa-isa.c,
697 xtensa-modules.c: Likewise.
698 * elf32-sh-relocs.h: Add copyright notice.
699 * hosts/alphalinux.h, hosts/decstation.h, hosts/delta68.h,
700 hosts/dpx2.h, hosts/hp300bsd.h, hosts/i386bsd.h,
701 hosts/i386linux.h, hosts/i386mach3.h, hosts/i386sco.h,
702 hosts/i860mach3.h, hosts/m68kaux.h, hosts/m68klinux.h,
703 hosts/m88kmach3.h, hosts/mipsbsd.h, hosts/mipsmach3.h,
704 hosts/news.h, hosts/news-mips.h, hosts/pc532mach.h,
705 hosts/riscos.h, hosts/symmetry.h, hosts/tahoe.h, hosts/vaxbsd.h,
706 hosts/vaxlinux.h, hosts/vaxult2.h, hosts/vaxult.h: Likewise.
707 * bfd-in2.h, libbfd.h, libcoff.h: Regenerate.
708
709 2007-07-02 Joseph Myers <joseph@codesourcery.com>
710
711 * elfxx-mips.c (mips_elf_calculate_relocation): Handle
712 R_MIPS_TLS_DTPREL32 and R_MIPS_TLS_DTPREL64.
713 * elf64-mips.c (mips_elf64_howto_table_rela): Support
714 R_MIPS_TLS_DTPREL64.
715
716 2007-07-02 Alan Modra <amodra@bigpond.net.au>
717
718 * Makefile.am: Run "make dep-am".
719 * Makefile.in: Regenerate.
720 * aclocal.m4: Regenerate.
721 * config.in: Regenerate.
722 * po/SRC-POTFILES.in: Regenerate.
723 * po/bfd.pot: Regenerate.
724
725 2007-07-02 Alan Modra <amodra@bigpond.net.au>
726
727 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Tidy
728 symsec != NULL tests.
729
730 2007-07-02 Alan Modra <amodra@bigpond.net.au>
731
732 PR 4712
733 * elf.c (assign_file_positions_for_load_sections): Adjust lma
734 by p_vaddr_offset.
735
736 2007-06-30 H.J. Lu <hongjiu.lu@intel.com>
737
738 * aclocal.m4: Regenerated.
739 * Makefile.in: Likewise.
740
741 2007-06-29 Joseph Myers <joseph@codesourcery.com>
742
743 * elf32-ppc.c (ppc_elf_merge_obj_attributes): New.
744 (ppc_elf_merge_private_bfd_data): Call it.
745
746 2007-06-29 Joseph Myers <joseph@codesourcery.com>
747
748 * elfxx-mips.c (mips_elf_merge_obj_attributes): New.
749 (_bfd_mips_elf_merge_private_bfd_data): Call it.
750
751 2007-06-29 Joseph Myers <joseph@codesourcery.com>
752
753 * elf-attrs.c: New.
754 * Makefile.am (BFD32_BACKENDS): Add elf-attrs.lo.
755 (BFD32_BACKENDS_CFILES): Add elf-attrs.c.
756 (elf-attrs.lo): Generate dependencies.
757 * Makefile.in: Regenerate.
758 * configure.in (elf): Add elf-attrs.lo.
759 * configure: Regenerate.
760 * elf-bfd.h (struct elf_backend_data): Add entries for object
761 attributes.
762 (NUM_KNOWN_OBJ_ATTRIBUTES, obj_attribute, obj_attribute_list,
763 OBJ_ATTR_PROC, OBJ_ATTR_GNU, OBJ_ATTR_FIRST, OBJ_ATTR_LAST,
764 Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility):
765 New.
766 (struct elf_obj_tdata): Add entries for object attributes.
767 (elf_known_obj_attributes, elf_other_obj_attributes,
768 elf_known_obj_attributes_proc, elf_other_obj_attributes_proc):
769 New.
770 (bfd_elf_obj_attr_size, bfd_elf_set_obj_attr_contents,
771 bfd_elf_get_obj_attr_int, bfd_elf_add_obj_attr_int,
772 bfd_elf_add_proc_attr_int, bfd_elf_add_obj_attr_string,
773 bfd_elf_add_proc_attr_string, bfd_elf_add_obj_attr_compat,
774 bfd_elf_add_proc_attr_compat, _bfd_elf_attr_strdup,
775 _bfd_elf_copy_obj_attributes, _bfd_elf_obj_attrs_arg_type,
776 _bfd_elf_parse_attributes, _bfd_elf_merge_object_attributes): New.
777 * elf.c (_bfd_elf_copy_private_bfd_data): Copy object attributes.
778 (bfd_section_from_shdr): Handle attributes sections.
779 * elflink.c (bfd_elf_final_link): Handle attributes sections.
780 * elfxx-target.h (elf_backend_obj_attrs_vendor,
781 elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type,
782 elf_backend_obj_attrs_section_type): New.
783 (elfNN_bed): Update.
784 * elf32-arm.c (NUM_KNOWN_ATTRIBUTES, aeabi_attribute,
785 aeabi_attribute_list): Remove.
786 (struct elf32_arm_obj_tdata): Remove object attributes fields.
787 (check_use_blx, bfd_elf32_arm_set_vfp11_fix, using_thumb2,
788 elf32_arm_copy_private_bfd_data, elf32_arm_merge_eabi_attributes):
789 Update for new object attributes interfaces.
790 (uleb128_size, is_default_attr, eabi_attr_size,
791 elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute,
792 elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link,
793 elf32_arm_new_eabi_attr, elf32_arm_get_eabi_attr_int,
794 elf32_arm_add_eabi_attr_int, attr_strdup,
795 elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat,
796 copy_eabi_attributes, elf32_arm_parse_attributes): Remove. Moved
797 to generic code in elf-attrs.c.
798 (elf32_arm_obj_attrs_arg_type): New.
799 (elf32_arm_fake_sections): Do not handle .ARM.attributes.
800 (elf32_arm_section_from_shdr): Do not handle SHT_ARM_ATTRIBUTES.
801 (bfd_elf32_bfd_final_link): Remove.
802 (elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section,
803 elf_backend_obj_attrs_arg_type,
804 elf_backend_obj_attrs_section_type): New.
805 * elf32-bfin.c (bfin_elf_copy_private_bfd_data): Copy object
806 attributes.
807 * elf32-frv.c (frv_elf_copy_private_bfd_data): Likewise.
808 * elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Likewise.
809 * elf32-mep.c (mep_elf_copy_private_bfd_data): Likewise.
810 * elf32-mt.c (mt_elf_copy_private_bfd_data): Likewise.
811 * elf32-sh.c (sh_elf_copy_private_data): Likewise.
812 * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
813
814 2007-06-29 Paul Brook <paul@codesourcery.com>
815
816 * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Suppress
817 call veneers for call relocations against undefined symbols.
818 (elf32_arm_final_link_relocate): Turn call to undefined symbol
819 into a jump to the next instruction.
820
821 2007-06-29 Michael Snyder <msnyder@access-company.com>
822
823 * bfd.c (bfd_demangle): Plug memory leak (Coverity).
824
825 2007-06-29 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
826
827 * Makefile.am: Add cr16 related entry
828 * Makefile.in: Regenerate
829 * archures.c: Add bfd_cr16_arch
830 * bfd-in2.h: Regenerate
831 * config.bfd: Add cr16-elf
832 * configure.in: Add bfd_elf32_cr16_vec
833 * configure: Regenerate.
834 * targets.c: Added cr16 related information
835 * cpu-cr16.c: New file.
836 * elf32-cr16.c: New file.
837 * reloc.c: Added cr16 relocs.
838
839 2007-06-29 Alan Modra <amodra@bigpond.net.au>
840
841 * elflink.c (_bfd_elf_link_assign_sym_version): Improve error
842 message for undefined version nodes.
843 (elf_gc_sweep): Don't warn when zero size sections are
844 removed.
845
846 2007-06-29 Nathan Froyd <froydnj@codesourcery.com>
847
848 * elf32-ppc.c (ppc_elf_info_to_howto): Check for invalid relocation
849 types.
850
851 2007-06-29 Alan Modra <amodra@bigpond.net.au>
852
853 * elf32-spu.c (spu_elf_fake_sections): New function.
854 (elf_backend_fake_sections): Define.
855
856 2007-06-29 Alan Modra <amodra@bigpond.net.au>
857
858 * elf.c (assign_file_positions_for_load_sections): Use elf
859 section header sh_size rather than bfd section size, simplifying
860 .tbss handling.
861
862 2007-06-29 Alan Modra <amodra@bigpond.net.au>
863
864 PR ld/4701
865 * elf.c (assign_file_positions_for_load_sections): Ensure bss
866 segments meet gABI alignment requirements. Don't allocate
867 file space for bss sections in a segment also containing file
868 or program headers.
869
870 2007-06-27 Alan Modra <amodra@bigpond.net.au>
871
872 * bfd.c (struct bfd): Rename "next" to "archive_next".
873 * archive.c: Rename uses throughout file.
874 * archive64.c: Likewise.
875 * coff-rs6000.c: Likewise.
876 * ecoff.c: Likewise.
877 * som.c: Likewise.
878 * bfd-in2.h: Regenerate.
879
880 * elf32-ppc.c (ppc_elf_select_plt_layout): Properly iterate over
881 input bfds.
882 * elf32-spu.c (spu_elf_create_sections): Likewise.
883
884 2007-06-26 H.J. Lu <hongjiu.lu@intel.com>
885
886 * dwarf2.c (find_line): New. Contains the duplicated code from:
887 (_bfd_dwarf2_find_nearest_line): Use it.
888 (_bfd_dwarf2_find_line): Use it.
889
890 2007-06-26 Joseph Myers <joseph@codesourcery.com>
891
892 * elf32-arm.c (copy_eabi_attributes): Copy type of attributes.
893
894 2007-06-25 Richard Sandiford <richard@codesourcery.com>
895
896 * elfxx-mips.c (mips_elf_calculate_relocation): Allow local stubs
897 to be used for calls from MIPS16 code.
898
899 2007-06-23 Andreas Schwab <schwab@suse.de>
900
901 * configure.in (--with-separate-debug-dir): New option.
902 * configure: Regenerate.
903 * Makefile.am (dwarf2.lo): Add rule to pass DEBUGDIR.
904 * Makefile.in: Regenerate.
905 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Pass DEBUGDIR to
906 bfd_follow_gnu_debuglink.
907 (_bfd_dwarf2_find_line): Likewise.
908
909 2007-06-22 Nick Clifton <nickc@redhat.com>
910
911 * dwarf2.c: Add support for reading in debug information via a
912 .gnu_debuglink section:
913 (struct dwarf2_debug): Add bfd field to record the bfd containing
914 the debug info.
915 (parse_comp_unit): Remove ABFD parameter. Instead use the bfd
916 field in the dwarf2_debug structure.
917 (_bfd_dwarf2_find_nearest_line): If a debug info section could not
918 be found in the current bfd call bfd_follow_gnu_debuglink to see
919 if another file contains the debug information. If it does, open
920 it and continue.
921 (_bfd_dwarf2_find_line): Likewise.
922
923 2007-06-19 H.J. Lu <hongjiu.lu@intel.com>
924
925 PR ld/4590
926 * elfxx-ia64.c (sort_dyn_sym_info): Keep the valid got_offset
927 when removing duplicated entries.
928 (get_dyn_sym_info): Initialize the got_offset field to -1.
929 Update call to sort_dyn_sym_info.
930 (elfNN_ia64_relocate_section): Call sort_dyn_sym_info to sort
931 array of addend and remove duplicates.
932
933 2007-06-18 H.J. Lu <hongjiu.lu@intel.com>
934
935 * libpei.h (_bfd_XXi_final_link_postscript): Remove
936 duplication.
937 (bfd_target_pei_p): New.
938 (bfd_target_pei_arch): New
939 (bfd_target_efi_p): Likewise.
940 (bfd_target_efi_arch): New
941 (bfd_pe_executable_p): Use bfd_target_pei_p and
942 bfd_target_efi_p.
943
944 * peicode.h (arch_type): New enum.
945 (pe_arch): New function.
946 (pe_bfd_object_p): Don't match PE/EFI target with EFI/PE file
947 if there is an EFI/PE target.
948
949 2007-06-14 H.J. Lu <hongjiu.lu@intel.com>
950
951 * Makefile.am (ACLOCAL_AMFLAGS): Add -I . -I ../config.
952
953 * acinclude.m4: Don't include m4 files. Remove libtool
954 kludge.
955
956 * Makefile.in: Regenerated.
957 * aclocal.m4: Likewise.
958 * configure: Likewise.
959
960 2007-06-11 Sterling Augustine <sterling@tensilica.com>
961 Bob Wilson <bob.wilson@acm.org>
962
963 * elf32-xtensa.c (extend_ebb_bounds_forward): Use renamed
964 XTENSA_PROP_NO_TRANSFORM flag instead of XTENSA_PROP_INSN_NO_TRANSFORM.
965 (extend_ebb_bounds_backward, compute_text_actions): Likewise.
966 (compute_ebb_proposed_actions, coalesce_shared_literal): Likewise.
967 (xtensa_get_property_predef_flags): Likewise.
968 (compute_removed_literals): Pass new arguments to is_removable_literal.
969 (is_removable_literal): Add sec, prop_table and ptblsize arguments.
970 Do not remove literal if the NO_TRANSFORM property flag is set.
971
972 2007-05-31 Richard Sandiford <rsandifo@nildram.co.uk>
973
974 * elfxx-mips.c (mips_elf_initialize_tls_index): When processing a
975 type (3) single-GOT entry, read tls_type from the hash table entry
976 rather than the GOT entry.
977
978 2007-06-01 Alan Modra <amodra@bigpond.net.au>
979
980 * simple.c (bfd_simple_get_relocated_section_contents): Init
981 input_bfds_tail.
982
983 2007-05-30 Alan Modra <amodra@bigpond.net.au>
984
985 * elf.c (elf_fake_sections): Adjust test for SHT_NOBITS sections
986 created by objcopy --only-keep-debug.
987 (_bfd_elf_init_private_section_data): Only change elf_section_type
988 if it is SHT_NULL.
989
990 * elf.c (assign_file_positions_for_load_sections): Correct sh_type
991 to SHT_NOBITS earlier. Base actions in rest of function on sh_type
992 and sh_flags instead of bfd section flags. Delete voff and code
993 keeping nobits segments aligned.
994
995 2007-05-25 Eric Christopher <echristo@apple.com>
996
997 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame):
998 Check that sym_sec isn't NULL before accessing.
999
1000 2007-05-24 Steve Ellcey <sje@cup.hp.com>
1001
1002 * Makefile.in: Regnerate.
1003 * configure: Regenerate.
1004 * aclocal.m4: Regenerate.
1005 * doc/Makefile.in: Regenerate.
1006
1007 2007-05-22 Paul Brook <paul@codesourcery.com>
1008
1009 * elf32-arm.c (output_arch_syminfo): Replace plt_shndx and plt_offset
1010 with sec and sec_shndx.
1011 (elf32_arm_ouput_plt_map_sym): Use them.
1012 (elf32_arm_output_arch_local_syms): Output mapping symbols for
1013 interworking glue.
1014
1015 2007-05-18 Paul Brook <paul@codesourcery.com>
1016
1017 * elf32-arm.c (ARM2THUMB_V5_STATIC_GLUE_SIZE): Define.
1018 (a2t1v5_ldr_insn, a2t1v5_ldr_insn): New.
1019 (record_arm_to_thumb_glue): Add v5t non-pic glue.
1020 (elf32_arm_create_thumb_stub): Ditto.
1021
1022 2007-05-16 H.J. Lu <hongjiu.lu@intel.com>
1023 Alan Modra <amodra@bigpond.net.au>
1024
1025 * elflink.c (_bfd_elf_adjust_dynamic_copy): Align dynamic bss
1026 section to the minimum alignment.
1027
1028 2007-05-15 H.J. Lu <hongjiu.lu@intel.com>
1029 Alan Modra <amodra@bigpond.net.au>
1030
1031 PR ld/4504
1032 * elf-bfd.h (_bfd_elf_adjust_dynamic_copy): New.
1033 * elflink.c (_bfd_elf_adjust_dynamic_copy): New.
1034
1035 * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Call
1036 _bfd_elf_adjust_dynamic_copy to adjust for the copy in dynamic
1037 bss section.
1038 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
1039 * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
1040 * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
1041 * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
1042 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
1043 * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
1044 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
1045 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
1046 * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
1047 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
1048 * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
1049 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
1050 * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
1051 * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
1052 * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise.
1053 * elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Likewise.
1054 * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
1055
1056 2007-05-15 Richard Sandiford <richard@codesourcery.com>
1057
1058 * elfxx-mips.c (mips_elf_create_local_got_entry): Remove
1059 input_section argument. Create .rela.dyn relocations against
1060 symbol 0 rather than the section symbol.
1061 (mips_elf_local_got_index): Remove input_section argument.
1062 Update call to mips_elf_create_local_got_entry.
1063 (mips_elf_got_page, mips_elf_got16_entry): Likewise.
1064 (mips_elf_calculate_relocation): Update calls to
1065 mips_elf_local_got_index, mips_elf_got16_entry and mips_elf_got_page.
1066
1067 2007-05-15 Mark Shinwell <shinwell@codesourcery.com>
1068
1069 * elf32-arm.c (elf32_arm_final_link_relocate): Correctly
1070 handle the Thumb-2 JUMP19 relocation.
1071
1072 2007-05-15 Alan Modra <amodra@bigpond.net.au>
1073
1074 PR 4479
1075 * elf.c (elf_fake_sections): Don't allow backend to change
1076 SHT_NOBITS if called for strip/objcopy --only-keep-debug.
1077 * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove similar
1078 fix from here.
1079
1080 2007-05-14 Alan Modra <amodra@bigpond.net.au>
1081
1082 * elf.c (bfd_elf_string_from_elf_section): Return NULL on
1083 invalid shstrndx.
1084 (bfd_elf_get_str_section): Likewise.
1085
1086 2007-05-12 Alan Modra <amodra@bigpond.net.au>
1087
1088 PR 4497
1089 * elf-eh-frame.c (struct cie): Add "local_personality". Make
1090 "personality" a union.
1091 (cie_eq): Compare local_personality too. Adjust personality
1092 comparison.
1093 (_bfd_elf_discard_section_eh_frame): Check binding on personality
1094 reloc sym to allow for bad symtab. Use stashed local syms rather
1095 than reading personality local sym. Handle discarded sections.
1096
1097 2007-05-12 Alan Modra <amodra@bigpond.net.au>
1098
1099 * elf32-spu.c (elf_howto_table): Add howto for R_SPU_ADDR16X.
1100
1101 2007-05-11 Alan Modra <amodra@bigpond.net.au>
1102
1103 * elf32-ppc.h (ppc_elf_select_plt_layout): Update prototype.
1104 (enum ppc_elf_plt_type): Move from..
1105 * elf32-ppc.c: ..here.
1106 (struct ppc_elf_obj_tdata): Add makes_plt_call and has_rel16.
1107 (struct ppc_elf_link_hash_table): Reorder. Add old_bfd. Delete
1108 can_use_new_plt. Make is_vxworks a bitfield.
1109 (ppc_elf_link_hash_table_create): Don't clear is_vxworks (again).
1110 (ppc_elf_check_relocs): Update setting of reloc flags. Set old_bfd.
1111 (ppc_elf_select_plt_layout): Modify parameters. Use bfd reloc
1112 flags to better detect object files needing old bss-style plt.
1113 Allow secure plt to be used without rel16 relocs being detected.
1114 Warn if secure plt request cannot be allowed.
1115
1116 2007-05-11 Alan Modra <amodra@bigpond.net.au>
1117
1118 * reloc.c (BFD_RELOC_SPU_PPU32, BFD_RELOC_SPU_PPU64): Define.
1119 * elf-bfd.h (struct elf_backend_data): Change return type of
1120 elf_backend_relocate_section to int.
1121 * elf32-spu.c (elf_howto_table): Add howtos for R_SPU_PPU32 and
1122 R_SPU_PPU64.
1123 (spu_elf_bfd_to_reloc_type): Convert new relocs.
1124 (spu_elf_count_relocs): New function.
1125 (elf_backend_count_relocs): Define.
1126 (spu_elf_relocate_section): Arrange to emit R_SPU_PPU32 and
1127 R_SPU_PPU64 relocs.
1128 * elflink.c (elf_link_input_bfd): Emit relocs if relocate_section
1129 returns 2.
1130 * bfd-in2.h: Regenerate.
1131 * libbfd.h: Regenerate.
1132
1133 2007-05-10 Richard Sandiford <richard@codesourcery.com>
1134
1135 * elf32-arm.c (elf32_arm_check_relocs): Don't create PLT entries
1136 for R_ARM_ABS12 relocs.
1137 (elf32_arm_finish_dynamic_symbol): Fix the loop that creates
1138 non-shared VxWorks PLT entries.
1139
1140 2007-05-11 Alan Modra <amodra@bigpond.net.au>
1141
1142 PR 4454
1143 * elf-eh-frame.c (struct cie): Make "personality" a bfd_vma.
1144 (_bfd_elf_discard_section_eh_frame): Handle local syms on
1145 personality relocation.
1146
1147 2007-05-10 Richard Sandiford <richard@codesourcery.com>
1148
1149 * elf.c (assign_file_positions_for_load_sections): Use p_memsz
1150 rather than p_filesz to calculate the LMA of the end of a segment.
1151
1152 2007-05-10 Jakub Jelinek <jakub@redhat.com>
1153
1154 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't do copyreloc
1155 processing if symbol is defined in the executable.
1156
1157 2007-05-10 Alexandre Oliva <aoliva@redhat.com>
1158
1159 * elf32-frv.c (_frvfdpic_check_discarded_relocs): New.
1160 (frvfdpic_elf_discard_info): New.
1161 (elf_backend_discard_info): Define for FDPIC.
1162
1163 2007-05-09 Mark Shinwell <shinwell@codesourcery.com>
1164
1165 * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Don't
1166 attempt to scan if the bfd doesn't correspond to an ELF image.
1167 (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
1168
1169 2007-05-08 Alexandre Oliva <aoliva@redhat.com>
1170
1171 * elf32-frv.c (elf32_frv_relocate_section): Discard dynamic relocs
1172 for which _bfd_elf_section_offset returns -1.
1173
1174 2007-05-08 Alan Modra <amodra@bigpond.net.au>
1175
1176 * elf32-spu.c (spu_elf_size_stubs): Use "void *" for psyms.
1177 (mark_functions_via_relocs): Likewise.
1178
1179 2007-05-07 Alan Modra <amodra@bigpond.net.au>
1180
1181 * elflink.c (bfd_elf_final_link): Correct reloc handling for
1182 elf_backend_count_relocs.
1183 (bfd_elf_discard_info): Print an error if we can't read syms.
1184
1185 2007-05-07 Alan Modra <amodra@bigpond.net.au>
1186
1187 * elf32-spu.c (spu_elf_reloc_type_lookup): Return NULL on
1188 invalid reloc code.
1189 (spu_elf_gc_mark_hook, spu_elf_section_processing): Delete functions.
1190 (elf_backend_gc_mark_hook, elf_backend_section_processing): Don't
1191 define.
1192
1193 2007-05-07 Alan Modra <amodra@bigpond.net.au>
1194
1195 * elf.c (assign_file_positions_for_load_sections): Don't check
1196 core segment.
1197
1198 2007-05-04 H.J. Lu <hongjiu.lu@intel.com>
1199
1200 * elflink.c (elf_link_sort_relocs): Return if both .rela.dyn
1201 and .rel.dyn aren't present.
1202
1203 2007-05-04 Nick Clifton <nickc@redhat.com>
1204
1205 * elflink.c (elf_link_sort_relocs): If both .rela.dyn and .rel.dyn
1206 sections are present examine the indirect sections in an attempt
1207 to compute the correct relocation size. If there is any
1208 ambiguity, produce an error and refuse to sort.
1209
1210 2007-05-03 Sandra Loosemore <sandra@codesourcery.com>
1211
1212 * elf32-arm.c (allocate_dynrelocs): Fix typo in comment.
1213
1214 2007-05-03 Vincent Riviere <vincent.riviere@freesbee.fr>
1215 Nick Clifton <nickc@redhat.com>
1216
1217 PR gas/3041
1218 * aoutx.h (swap_std_reloc_out): Treat relocs against weak symbols
1219 in the same way as relocs against external symbols.
1220
1221 2007-05-02 Alan Modra <amodra@bigpond.net.au>
1222
1223 * elf.c (assign_file_positions_for_load_sections): Set sh_offset
1224 here. Set sh_type to SHT_NOBITS if we won't be allocating
1225 file space. Don't bump p_memsz for non-alloc sections. Adjust
1226 section-in-segment check.
1227 (assign_file_positions_for_non_load_sections): Don't set sh_offset
1228 here for sections that have already been handled above.
1229
1230 2007-04-30 Alan Modra <amodra@bigpond.net.au>
1231
1232 * elf32-spu.c (struct spu_link_hash_table): Add stack_analysis
1233 and emit_stack_syms bitfields.
1234 (get_sym_h): Read all symbols if stack analysis will be done.
1235 (spu_elf_create_sections): Add stack_analysis and emit_stack_syms
1236 params, and stash in hash table.
1237 (is_hint): Split off from..
1238 (is_branch): ..here. Adjust callers.
1239 (spu_elf_size_stubs): Add stack_analysis param. Arrange to read
1240 and keep all syms.
1241 (write_one_stub): Fix mem leak.
1242 (find_function_stack_adjust): New function.
1243 (sort_syms_syms, sort_syms_psecs): New vars.
1244 (sort_syms): New function.
1245 (struct call_info, struct function_info): New.
1246 (struct spu_elf_stack_info): New.
1247 (alloc_stack_info, maybe_insert_function, func_name): New functions.
1248 (is_nop, insns_at_end, check_function_ranges): Likewise.
1249 (find_function, insert_callee, mark_functions_via_relocs): Likewise.
1250 (pasted_function, interesting_section, discover_functions): Likewise.
1251 (mark_non_root, call_graph_traverse, build_call_tree): Likewise.
1252 (sum_stack, spu_elf_stack_analysis, spu_elf_final_link): Likewise.
1253 (bfd_elf32_bfd_final_link): Define.
1254 * elf32-spu.h (struct _spu_elf_section_data): Add stack_info field.
1255 (spu_elf_create_sections, spu_elf_size_stubs): Update prototypes.
1256
1257 2007-04-28 Sergey Rogozhkin <rogozhkin@niisi.msk.ru>
1258
1259 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Don't access
1260 memory which we might not own.
1261
1262 2007-04-27 Bob Wilson <bob.wilson@acm.org>
1263
1264 * elf32-xtensa.c (elf_xtensa_make_sym_local): Restore deleted function.
1265 (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Likewise.
1266 (elf_xtensa_allocate_dynrelocs): Use elf_xtensa_make_sym_local.
1267
1268 2007-04-27 Bob Wilson <bob.wilson@acm.org>
1269
1270 * elf32-xtensa.c (xtensa_read_table_entries): Step through table
1271 contents and relocs in parallel.
1272
1273 2007-04-27 Bob Wilson <bob.wilson@acm.org>
1274
1275 * elf32-xtensa.c (relax_property_section): Remove extra irel increment.
1276
1277 2007-04-27 Alan Modra <amodra@bigpond.net.au>
1278
1279 * cpu-rs6000.c: Write Mimi's name in ASCII.
1280 * coff-rs6000.c: Likewise.
1281 * rs6000-core.c: Likewise.
1282
1283 2007-04-27 Alan Modra <amodra@bigpond.net.au>
1284
1285 * sysdep.h: Include config.h first.
1286 Many files: Include sysdep.h before bfd.h.
1287 * Makefile.am: Run "make dep-am".
1288 * Makefile.in: Regenerate.
1289
1290 2007-04-25 Alan Modra <amodra@bigpond.net.au>
1291
1292 * sysdep.h: Revert last change.
1293
1294 2007-04-24 Nick Clifton <nickc@redhat.com>
1295
1296 * coffcode.h (coff_slurp_reloc_table): Initialise dst.r_offset.
1297 * coff-m68k.c (m68kcoff_rtype_to_howto): Initialize relent.howto.
1298
1299 2007-04-24 Alan Modra <amodra@bigpond.net.au>
1300
1301 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Warn if
1302 eh_frame_hdr table won't be created.
1303
1304 2007-04-24 Alan Modra <amodra@bigpond.net.au>
1305
1306 * acinclude.m4: Include config/stdint.m4.
1307 * configure.in: Invoke GCC_HEADER_STDINT.
1308 * sysdep.h: Don't include ansidecl.h here.
1309 * configure: Regenerate.
1310 * config.in: Regenerate.
1311 * Makefile.in: Regenerate.
1312
1313 2007-04-23 Nathan Sidwell <nathan@codesourcery.com>
1314
1315 * archures.c (bfd_mach_mcf_isa_c, bfd_mach_mcf_isa_c_mac,
1316 bfd_mach_mcf_isa_c_emac): New.
1317 * elf32-m68k.c (ISAC_PLT_ENTRY_SIZE, elf_isac_plt0_entry,
1318 elf_isac_plt_entry, elf_isac_plt_info): New.
1319 (elf32_m68k_object_p): Add ISA_C.
1320 (elf32_m68k_print_private_bfd_data): Print ISA_C.
1321 (elf32_m68k_get_plt_info): Detect ISA_C.
1322 * cpu-m68k.c (arch_info): Add ISAC.
1323 (m68k_arch_features): Likewise,
1324 (bfd_m68k_compatible): ISAs B & C are not compatible.
1325
1326 2007-04-21 Nick Clifton <nickc@redhat.com>
1327
1328 * ecoff.c (_bfd_ecoff_write_armap): Initialise rehash.
1329 (ecoff_link_add_archive_symbols): Likewise.
1330 * coff-m68k.c (m68kcoff_common_addend_rtype_to_howto): Initialise
1331 relent.howto.
1332 * ieee.c (parse_int): Initialise x.
1333 (must_parse_int): Initialise result.
1334 (ieee_slurp_external_symbols): Initialise value.
1335
1336 2007-04-21 Alan Modra <amodra@bigpond.net.au>
1337
1338 * config.bfd (spu-*-elf): Delete targ_selvecs.
1339
1340 2007-04-19 Nick Clifton <nickc@redhat.com>
1341
1342 * coffcode.h (coff_rtype_to_howto): Initialise genrel.howto.
1343
1344 2007-04-19 Alan Modra <amodra@bigpond.net.au>
1345
1346 * bfd.c (bfd_demangle): New function.
1347 * Makefile.am: Run "make dep-am".
1348 * Makefile.in: Regenerate.
1349 * bfd-in2.h: Regenerate.
1350
1351 2007-04-18 Matthias Klose <doko@ubuntu.com>
1352
1353 * Makefile.am (libbfd_la_LDFLAGS): Use bfd soversion.
1354 (bfdver.h): Use the date in non-release builds for the soversion.
1355 * Makefile.in: Regenerate.
1356
1357 2007-04-17 Paul Brook <paul@codesourcery.com>
1358
1359 * elf.c (_bfd_elf_is_function_type): New function.
1360 * elflink.c (_bfd_elf_merge_symbol): Use bed->is_function_type.
1361 (_bfd_elf_dynamic_symbol_p, _bfd_elf_symbol_refs_local_p,
1362 is_global_data_symbol_definition, elf_link_add_object_symbols): Ditto.
1363 * elf-bfd.h (elf_backend_data): Add is_function_type.
1364 (_bfd_elf_is_function_type): Add prototype.
1365 * elfxx-target.h (elf_backend_is_function_type): Add default
1366 definition.
1367 (elfNN_bed): Add elf_backend_is_function_type.
1368 * elf32-arm.c (elf32_arm_is_function_type): New function.
1369 (elf_backend_is_function_type): Define.
1370
1371 2007-04-17 Daniel Jacobowitz <dan@codesourcery.com>
1372
1373 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put
1374 DT_MIPS_RLD_MAP before DT_DEBUG again.
1375
1376 2007-04-14 Steve Ellcey <sje@cup.hp.com>
1377
1378 * Makefile.am: Add ACLOCAL_AMFLAGS.
1379 * configure.in: Change macro call order.
1380 * Makefile.in: Regnerate.
1381 * doc/Makefile.in: Regenerate.
1382 * configure: Regenerate.
1383
1384 2007-04-14 Jakub Jelinek <jakub@redhat.com>
1385
1386 * elflink.c (bfd_elf_final_link): Don't free symbuf for
1387 non-elf input bfds.
1388 (bfd_elf_size_dynamic_sections): Don't access elf_section_data
1389 for non-elf input bfds.
1390
1391 2007-04-12 Richard Sandiford <richard@codesourcery.com>
1392
1393 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
1394 DT_MIPS_RTLD_MAP for PIEs.
1395
1396 2007-04-12 Richard Sandiford <richard@codesourcery.com>
1397
1398 * elfxx-mips.c (mips_elf_calculate_relocation): Set DT_TEXTREL
1399 when creating a __GOTT_BASE__ or __GOTT_INDEX__ relocation
1400 in a read-only section.
1401 (_bfd_mips_elf_check_relocs): Likewise.
1402
1403 2007-04-12 Bob Wilson <bob.wilson@acm.org>
1404
1405 * elf32-xtensa.c (xtensa_is_insntable_section): New.
1406 (xtensa_is_proptable_section): New.
1407 (elf_xtensa_discard_info_for_section): Handle "full" .xt.prop property
1408 tables with 12-byte entries, as well as tables with 8-byte entries.
1409 Sort the relocations before examining them.
1410 (relax_property_section): Use xtensa_is_proptable_section and
1411 xtensa_is_littable_section. Rewrite code for combining table entries
1412 to be more robust in case of unexpected relocations. Do not set offset
1413 of unused relocations to less than zero.
1414 (xtensa_is_property_section): Use other functions instead of
1415 duplicating section name comparisons.
1416 (xtensa_is_littable_section): Use CONST_STRNEQ for ".gnu.linkonce.p.".
1417 (xtensa_get_property_predef_flags): Use xtensa_is_insntable_section.
1418
1419 2007-04-12 Bob Wilson <bob.wilson@acm.org>
1420
1421 * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references
1422 from Xtensa property sections.
1423
1424 2007-04-12 Alan Modra <amodra@bigpond.net.au>
1425
1426 * elf32-spu.c (needs_ovl_stub): Test that spu_elf_section_data
1427 is non-NULL before dereferencing.
1428
1429 2007-04-11 Nathan Sidwell <nathan@codesourcery.com>
1430
1431 * elf-vxworks.c (elf_vxworks_emit_relocs): Remap weakdef PLT slot
1432 relocs too.
1433
1434 2007-04-10 Richard Henderson <rth@redhat.com>
1435
1436 * elf64-alpha.c (struct alpha_elf_link_hash_table): Add relax_trip.
1437 (elf64_alpha_size_got_sections): Remove unused something_changed local.
1438 (elf64_alpha_size_plt_section): Return void.
1439 (elf64_alpha_size_rela_got_section): Likewise.
1440 (elf64_alpha_relax_section): Only regenerate got+plt if the
1441 relax_trip counter has changed.
1442
1443 2007-04-09 Daniel Jacobowitz <dan@codesourcery.com>
1444
1445 * Makefile.am (bfdver.h): Do not generate doc/bfdver.texi.
1446 * doc/Makefile.am (DOCFILES): Add bfdver.texi.
1447 (bfdver.texi): New rule.
1448 * Makefile.in, doc/Makefile.in: Regenerated.
1449
1450 2007-04-03 Matt Thomas <matt@netbsd.org>
1451
1452 * elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc
1453 in a shared object if it is not in a CODE section or if it is against
1454 a section symbol. This allows DWARF2 to use pcrel format.
1455
1456 2007-04-05 H.J. Lu <hongjiu.lu@intel.com>
1457
1458 PR ld/4304
1459 * elflink.c (bfd_elf_final_link): Call einfo callback in
1460 bfd_link_info instead of _bfd_error_handler for DT_TEXTREL
1461 warning.
1462
1463 2007-04-05 Alan Modra <amodra@bigpond.net.au>
1464
1465 * elf32-spu.c (spu_elf_output_symbol_hook): New function.
1466 (elf_backend_link_output_symbol_hook): Define.
1467
1468 2007-04-02 Nick Clifton <nickc@redhat.com>
1469
1470 PR binutils/4292
1471 * bfd.c (bfd_fprintf_vma): Do not print addresses of 32-bit
1472 targets as 64-bit values, even if running on a 64-bit host.
1473 * coffgen.c (coff_print_symbol): Likewise.
1474
1475 2007-03-29 Nick Clifton <nickc@redhat.com>
1476
1477 PR binutils/4110
1478 * elf.c (IS_VALID_GROUP_SECTION_HEADER): New macro.
1479 (setup_group): Use it. Report corrupt group section headers.
1480 (bfd_section_from_shdr): Use new macro. Replace constant 4 with
1481 GRP_ENTRY_SIZE. Cope with NULLs in the group section table.
1482 (elf_fake_section): Replace constant 4 with GRP_ENTRY_SIZE.
1483
1484 2007-03-29 Alan Modra <amodra@bigpond.net.au>
1485
1486 PR ld/4267
1487 * elflink.c (evaluate_complex_relocation_symbols): Use bfd_vma
1488 for rel->r_info values.
1489 (bfd_elf_perform_complex_relocation): Likewise.
1490 * elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for
1491 unused entries. Don't clear plt.plist in loop.
1492
1493 2007-03-28 Richard Sandiford <richard@codesourcery.com>
1494
1495 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove append_rela.
1496 * elfxx-sparc.c (sparc_elf_append_rela_64, sparc_elf_append_rela_32):
1497 Merge into...
1498 (sparc_elf_append_rela): ...this new function.
1499 (SPARC_ELF_APPEND_RELA): Delete.
1500 (_bfd_sparc_elf_link_hash_table_create): Don't initialize
1501 the deleted append_rela field.
1502 (_bfd_sparc_elf_relocate_section): Use sparc_elf_append_rela
1503 instead of SPARC_ELF_APPEND_RELA.
1504 (_bfd_sparc_elf_finish_dynamic_symbol): Likewise. Use the
1505 elf_size_info structure to find the size of a RELA entry and
1506 the associated swap-out function.
1507 (sparc64_finish_dyn, sparc64_finish_dyn): Merge into...
1508 (sparc_finish_dyn): ...this new function.
1509 (_bfd_sparc_elf_finish_dynamic_sections): Update calls accordingly.
1510
1511 2007-03-28 Richard Sandiford <richard@codesourcery.com>
1512 Phil Edwards <phil@codesourcery.com>
1513
1514 * doc/bfd.texinfo: Put the contents after the title page rather
1515 than at the end of the document.
1516
1517 2007-03-27 Andreas Schwab <schwab@suse.de>
1518
1519 * elfxx-ia64.c (elf_backend_default_execstack): Define to 0.
1520
1521 2007-03-26 H.J. Lu <hongjiu.lu@intel.com>
1522
1523 * configure: Regenerated.
1524
1525 2007-03-26 Alan Modra <amodra@bigpond.net.au>
1526
1527 * elf32-spu.c (struct stubarr): Add stub_hash_table and err fields.
1528 (allocate_spuear_stubs): New function.
1529 (spu_elf_size_stubs): Call allocate_spuear_stubs.
1530
1531 2007-03-26 Alan Modra <amodra@bigpond.net.au>
1532
1533 * aout-adobe.c (aout_32_bfd_reloc_name_lookup): Define.
1534 * aout-arm.c (MY_bfd_reloc_name_lookup): Define.
1535 (MY (bfd_reloc_name_lookup)): New function.
1536 * aout-ns32k.c (MY (bfd_reloc_name_lookup)): New function.
1537 * aout-target.h (NAME (aout, reloc_name_lookup)): Declare.
1538 (MY_bfd_reloc_name_lookup): Define.
1539 * aout-tic30.c (tic30_aout_reloc_name_lookup): New function.
1540 (MY_bfd_reloc_name_lookup): Define.
1541 * aoutx.h (NAME (aout, reloc_type_lookup)): Don't declare.
1542 (NAME (aout, reloc_name_lookup)): New function.
1543 * bout.c (b_out_bfd_reloc_name_lookup): New function.
1544 * coff-alpha.c (alpha_bfd_reloc_name_lookup): New function.
1545 (_bfd_ecoff_bfd_reloc_name_lookup): Define.
1546 * coff-arm.c (coff_arm_reloc_name_lookup): New function.
1547 (coff_bfd_reloc_name_lookup): Define.
1548 * coff-i386.c (coff_bfd_reloc_name_lookup): Define.
1549 (coff_i386_reloc_name_lookup): New function.
1550 * coff-i860.c (coff_i860_reloc_name_lookup): New function.
1551 (coff_bfd_reloc_name_lookup): Define.
1552 * coff-i960.c (coff_i960_reloc_name_lookup): New function.
1553 (coff_bfd_reloc_name_lookup): Define.
1554 * coff-m68k.c (m68k_reloc_name_lookup): New function.
1555 (coff_bfd_reloc_name_lookup): Define.
1556 * coff-maxq.c (maxq_reloc_name_lookup): New function.
1557 (coff_bfd_reloc_name_lookup): Define.
1558 * coff-mcore.c (mcore_coff_reloc_name_lookup): New function.
1559 (coff_bfd_reloc_name_lookup): Define.
1560 * coff-mips.c (mips_bfd_reloc_name_lookup): New function.
1561 (_bfd_ecoff_bfd_reloc_name_lookup): Define.
1562 * coff-ppc.c (ppc_coff_reloc_name_lookup): New function.
1563 (coff_bfd_reloc_name_lookup): Define.
1564 * coff-rs6000.c (coff_bfd_reloc_name_lookup): Define.
1565 (_bfd_xcoff_reloc_name_lookup): New function.
1566 (rs6000coff_vec, pmac_xcoff_vec): Init new field.
1567 * coff-sh.c (coff_bfd_reloc_name_lookup): Define.
1568 (sh_coff_reloc_name_lookup): New function.
1569 * coff-sparc.c (coff_sparc_reloc_name_lookup): New function.
1570 (coff_bfd_reloc_name_lookup): Define.
1571 * coff-tic30.c (coff_bfd_reloc_name_lookup): Define.
1572 (tic30_coff_reloc_name_lookup): New function.
1573 * coff-tic4x.c (coff_bfd_reloc_name_lookup): Define.
1574 (tic4x_coff_reloc_name_lookup): New function.
1575 * coff-tic54x.c (coff_bfd_reloc_name_lookup): Define.
1576 (tic54x_coff_reloc_name_lookup): New function.
1577 * coff-x86_64.c (coff_bfd_reloc_name_lookup): Define.
1578 (coff_amd64_reloc_name_lookup): New function.
1579 * coff-z80.c (coff_z80_reloc_name_lookup): New function.
1580 (coff_bfd_reloc_name_lookup): Define.
1581 * coff-z8k.c (coff_z8k_reloc_name_lookup): New function.
1582 (coff_bfd_reloc_name_lookup): Define.
1583 * coff64-rs6000.c (coff_bfd_reloc_name_lookup): Define.
1584 (xcoff64_reloc_name_lookup): New function.
1585 (rs6000coff64_vec, aix5coff64_vec): Init new field.
1586 * coffcode.h (coff_bfd_reloc_name_lookup): Define.
1587 * elf-hppa.h (elf_hppa_reloc_name_lookup): New function.
1588 * elf-m10200.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1589 * elf-m10300.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1590 * elf32-arc.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1591 * elf32-arm.c (elf32_arm_reloc_name_lookup): New function.
1592 (bfd_elf32_bfd_reloc_name_lookup): Define.
1593 * elf32-avr.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1594 * elf32-bfin.c (bfin_bfd_reloc_name_lookup): New function.
1595 (bfd_elf32_bfd_reloc_name_lookup): Define.
1596 * elf32-cr16c.c (elf_cr16c_reloc_name_lookup): New function.
1597 (bfd_elf32_bfd_reloc_name_lookup): Define.
1598 * elf32-cris.c (cris_reloc_name_lookup): New function.
1599 (bfd_elf32_bfd_reloc_name_lookup): Define.
1600 * elf32-crx.c (elf_crx_reloc_name_lookup): New function.
1601 (bfd_elf32_bfd_reloc_name_lookup): Define.
1602 * elf32-d10v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1603 * elf32-d30v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1604 * elf32-dlx.c (elf32_dlx_reloc_name_lookup): New function.
1605 (bfd_elf32_bfd_reloc_name_lookup): Define.
1606 * elf32-fr30.c (fr30_reloc_name_lookup): New function.
1607 (bfd_elf32_bfd_reloc_name_lookup): Define.
1608 * elf32-frv.c (frv_reloc_name_lookup): New function.
1609 (bfd_elf32_bfd_reloc_name_lookup): Define.
1610 * elf32-gen.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1611 * elf32-h8300.c (elf32_h8_reloc_name_lookup): New function.
1612 (bfd_elf32_bfd_reloc_name_lookup): Define.
1613 * elf32-hppa.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1614 * elf32-i370.c (i370_elf_reloc_name_lookup): New function.
1615 (bfd_elf32_bfd_reloc_name_lookup): Define.
1616 * elf32-i386.c (elf_i386_reloc_name_lookup): New function.
1617 (bfd_elf32_bfd_reloc_name_lookup): Define.
1618 * elf32-i860.c (elf32_i860_reloc_name_lookup): New function.
1619 (bfd_elf32_bfd_reloc_name_lookup): Define.
1620 * elf32-i960.c (elf32_i960_reloc_name_lookup): New function.
1621 (bfd_elf32_bfd_reloc_name_lookup): Define.
1622 * elf32-ip2k.c (ip2k_reloc_name_lookup): New function.
1623 (bfd_elf32_bfd_reloc_name_lookup): Define.
1624 * elf32-iq2000.c (iq2000_reloc_name_lookup): New function.
1625 (bfd_elf32_bfd_reloc_name_lookup): Define.
1626 * elf32-m32c.c (m32c_reloc_name_lookup): New function.
1627 (bfd_elf32_bfd_reloc_name_lookup): Define.
1628 * elf32-m32r.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1629 * elf32-m68hc11.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1630 * elf32-m68hc12.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1631 * elf32-m68k.c (reloc_name_lookup): New function.
1632 (bfd_elf32_bfd_reloc_name_lookup): Define.
1633 * elf32-m88k.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1634 * elf32-mcore.c (mcore_elf_reloc_name_lookup): New function.
1635 (bfd_elf32_bfd_reloc_name_lookup): Define.
1636 * elf32-mep.c (mep_reloc_name_lookup): New function.
1637 (bfd_elf32_bfd_reloc_name_lookup): Define.
1638 * elf32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1639 (mips_vxworks_bfd_reloc_name_lookup): Likewise.
1640 (bfd_elf32_bfd_reloc_name_lookup): Define.
1641 * elf32-msp430.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1642 * elf32-mt.c (mt_reloc_name_lookup): New function.
1643 (bfd_elf32_bfd_reloc_name_lookup): Define.
1644 * elf32-openrisc.c (openrisc_reloc_name_lookup): New function.
1645 (bfd_elf32_bfd_reloc_name_lookup): Define.
1646 * elf32-or32.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1647 * elf32-pj.c (pj_elf_reloc_name_lookup): New function.
1648 (bfd_elf32_bfd_reloc_name_lookup): Define.
1649 * elf32-ppc.c (ppc_elf_reloc_name_lookup): New function.
1650 (bfd_elf32_bfd_reloc_name_lookup): Define.
1651 * elf32-s390.c (elf_s390_reloc_name_lookup): New function.
1652 (bfd_elf32_bfd_reloc_name_lookup): Define.
1653 * elf32-score.c (elf32_score_reloc_name_lookup): New function.
1654 (bfd_elf32_bfd_reloc_name_lookup): Define.
1655 * elf32-sh.c (sh_elf_reloc_name_lookup): New function.
1656 (bfd_elf32_bfd_reloc_name_lookup): Define.
1657 * elf32-sparc.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1658 * elf32-spu.c (spu_elf_reloc_name_lookup): New function.
1659 (bfd_elf32_bfd_reloc_name_lookup): Define.
1660 * elf32-v850.c (v850_elf_reloc_name_lookup): New function.
1661 (bfd_elf32_bfd_reloc_name_lookup): Define.
1662 * elf32-vax.c (reloc_name_lookup): New function.
1663 (bfd_elf32_bfd_reloc_name_lookup): Define.
1664 * elf32-xc16x.c (xc16x_reloc_name_lookup): New function.
1665 (bfd_elf32_bfd_reloc_name_lookup): Define.
1666 * elf32-xstormy16.c (xstormy16_reloc_name_lookup): New function.
1667 (bfd_elf32_bfd_reloc_name_lookup): Define.
1668 * elf32-xtensa.c (elf_xtensa_reloc_name_lookup): New function.
1669 (bfd_elf32_bfd_reloc_name_lookup): Define.
1670 * elf64-alpha.c (elf64_alpha_bfd_reloc_name_lookup): New function.
1671 (bfd_elf64_bfd_reloc_name_lookup): Define.
1672 * elf64-gen.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1673 * elf64-hppa.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1674 * elf64-mips.c (bfd_elf64_bfd_reloc_name_lookup): New function.
1675 * elf64-mmix.c (bfd_elf64_bfd_reloc_name_lookup): New function.
1676 * elf64-ppc.c (ppc64_elf_reloc_name_lookup): New function.
1677 (bfd_elf64_bfd_reloc_name_lookup): Define.
1678 * elf64-s390.c (elf_s390_reloc_name_lookup): New function.
1679 (bfd_elf64_bfd_reloc_name_lookup): Define.
1680 * elf64-sh64.c (sh_elf64_reloc_name_lookup): New function.
1681 (bfd_elf64_bfd_reloc_name_lookup): Define.
1682 * elf64-sparc.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1683 * elf64-x86-64.c (elf64_x86_64_reloc_name_lookup): New function.
1684 (bfd_elf64_bfd_reloc_name_lookup): Define.
1685 * elfn32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1686 * elfxx-ia64.c (elfNN_ia64_reloc_name_lookup): New function.
1687 (bfd_elfNN_bfd_reloc_name_lookup): Define.
1688 * elfxx-sparc.c (_bfd_sparc_elf_reloc_name_lookup): New function.
1689 * elfxx-sparc.h (_bfd_sparc_elf_reloc_name_lookup): Declare.
1690 * i386msdos.c (msdos_bfd_reloc_name_lookup): Define.
1691 * i386os9k.c (aout_32_bfd_reloc_name_lookup): Define.
1692 * ieee.c (ieee_bfd_reloc_name_lookup): Define.
1693 * libaout.h (NAME (aout, reloc_name_lookup)): Declare.
1694 * libbfd-in.h (_bfd_norelocs_bfd_reloc_name_lookup): Declare.
1695 * mipsbsd.c (MY_bfd_reloc_name_lookup): Define.
1696 (MY(reloc_type_lookup)): Rename from MY(reloc_howto_type_lookup).
1697 (MY(reloc_name_lookup)): New function.
1698 * nlm-target.h (nlm_bfd_reloc_name_lookup): Define.
1699 * oasys.c (oasys_bfd_reloc_name_lookup): Define.
1700 * pdp11.c (NAME (aout, reloc_name_lookup)): New function.
1701 * pe-mips.c (coff_mips_reloc_name_lookup): New function.
1702 (coff_bfd_reloc_name_lookup): Define.
1703 * reloc.c (bfd_reloc_name_lookup): New function.
1704 * riscix.c (riscix_reloc_name_lookup): New function.
1705 (MY_bfd_reloc_name_lookup): Define.
1706 * som.c (som_bfd_reloc_name_lookup): New function.
1707 * targets.c (struct bfd_target): Add reloc_name_lookup.
1708 (BFD_JUMP_TABLE_RELOCS): Add NAME##_bfd_reloc_name_lookup.
1709 * versados.c (versados_bfd_reloc_name_lookup): Define.
1710 * vms.c (vms_bfd_reloc_name_lookup): New function.
1711 * bfd-in2.h: Regenerate.
1712 * libbfd.h: Regenerate.
1713
1714 2007-03-26 Thiemo Seufer <ths@mips.com>
1715
1716 PR ld/4208
1717 * elfxx-mips.c (mips_elf_next_relocation): Don't signal an error if no
1718 matching relocation is found.
1719 (_bfd_mips_elf_relocate_section): Only warn about missing relocations.
1720
1721 2007-03-23 H.J. Lu <hongjiu.lu@intel.com>
1722
1723 * configure: Regenerated.
1724
1725 2007-03-23 Joseph Myers <joseph@codesourcery.com>
1726
1727 * configure.in: Use ACX_PKGVERSION and ACX_BUGURL.
1728 * configure: Regenerate.
1729
1730 2007-03-23 Alan Modra <amodra@bigpond.net.au>
1731
1732 * elf32-spu.c (spu_stub_name): Don't put input section in stub name.
1733 Remove input_sec param. Adjust all calls.
1734 (write_one_stub): Adjust stub symbol.
1735 (needs_ovl_stub): New function, extracted from..
1736 (spu_elf_size_stubs): ..here.
1737 (spu_elf_relocate_section): Use needs_ovl_stub.
1738
1739 2007-03-22 Joseph Myers <joseph@codesourcery.com>
1740
1741 * Makefile.am (bfdver.h): Only set VERSION_PACKAGE in bfdver.texi
1742 if nonempty.
1743 * configure.in (REPORT_BUGS_TO): Do not use "URL:" prefix.
1744 * Makefile.in, configure, doc/Makefile.in: Regenerate.
1745
1746 2007-03-22 H.J. Lu <hongjiu.lu@intel.com>
1747
1748 PR ld/4210
1749 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the virtual
1750 address and virtual size of the last section for the image
1751 size.
1752
1753 2007-03-22 H.J. Lu <hongjiu.lu@intel.com>
1754
1755 PR ld/4007
1756 * elf.c (assign_file_positions_for_load_sections): Check if
1757 all sections are in the segment.
1758
1759 2007-03-20 H.J. Lu <hongjiu.lu@intel.com>
1760
1761 PR ld/4208
1762 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Report missing
1763 matching LO16 relocation for HI16 relocation.
1764
1765 2007-03-20 Paul Brook <paul@codesourcery.com>
1766
1767 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
1768 * bfd-in2.h: Regenerate.
1769 * elf32-arm.c (elf32_arm_link_hash_table): Add pic_veneer.
1770 (record_arm_to_thumb_glue): Use globals->pic_veneer.
1771 (elf32_arm_create_thumb_stub): Ditto.
1772 (bfd_elf32_arm_set_target_relocs): Set globals->pic_veneer.
1773
1774 2007-03-18 Mark Shinwell <shinwell@codesourcery.com>
1775
1776 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add "bfd *"
1777 argument and extra last argument.
1778 * bfd-in2.h: Regenerate.
1779 * elf32-arm.c (elf32_arm_obj_tdata): Add no_enum_size_warning
1780 member.
1781 (bfd_elf32_arm_set_target_relocs): Add "bfd *" argument and
1782 extra last argument. Set no_enum_size_warning appropriately.
1783 (elf32_arm_merge_eabi_attributes): Improve enum sizes
1784 diagnostic, suppressing it when no_enum_size_warning dictates.
1785
1786 2007-03-20 Nick Clifton <nickc@redhat.com>
1787
1788 PR binutils/3535
1789 * elf.c (copy_private_bfd_data): Widen the scope of Solaris
1790 specific conditions that need the program headers to be
1791 rewritten.
1792
1793 2007-03-19 H.J. Lu <hongjiu.lu@intel.com>
1794
1795 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Store Magic,
1796 MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
1797 SizeOfInitializedData, SizeOfUninitializedData,
1798 AddressOfEntryPoint, BaseOfCode and BaseOfData in internal
1799 extra PE a.out header.
1800 (IMAGE_NT_OPTIONAL_HDR_MAGIC): Defined as 0x10b if not defined.
1801 (IMAGE_NT_OPTIONAL_HDR64_MAGIC): Defined as 0x20b if not
1802 defined.
1803 (IMAGE_NT_OPTIONAL_HDRROM_MAGIC): Defined as 0x107 if not
1804 defined.
1805 (_bfd_XX_print_private_bfd_data_common): Also print Magic,
1806 MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
1807 SizeOfInitializedData, SizeOfUninitializedData,
1808 AddressOfEntryPoint, BaseOfCode and BaseOfData from internal
1809 extra PE a.out header.
1810
1811 2007-03-18 H.J. Lu <hongjiu.lu@intel.com>
1812
1813 * targets.c (_bfd_target_vector): Add bfd_efi_app_x86_64_vec
1814 only if BFD64 is defined.
1815
1816 2007-03-17 Alan Modra <amodra@bigpond.net.au>
1817
1818 * elf32-spu.c (spu_elf_size_stubs): Always use an overlay stub
1819 on setjmp calls.
1820
1821 2007-03-15 H.J. Lu <hongjiu.lu@intel.com>
1822
1823 * doc/Makefile.in: Regenerated.
1824
1825 2007-03-15 H.J. Lu <hongjiu.lu@intel.com>
1826
1827 * Makefile.am (bfdver.h): Substitute report_bugs_to. Also
1828 create doc/bfdver.texi.
1829 * Makefile.in: Regenerated.
1830
1831 * configure.in (--with-bugurl): New option.
1832 * configure: Regenerated.
1833
1834 * version.h (REPORT_BUGS_TO): New.
1835
1836 2007-03-13 H.J. Lu <hongjiu.lu@intel.com>
1837
1838 PR binutils/3826
1839 * elf-bfd.h (elf_backend_data): Add elf_osabi.
1840 (_bfd_elf_set_osabi): New.
1841
1842 * elf.c (_bfd_elf_set_osabi): New.
1843
1844 * elf32-hppa.c (elf32_hppa_post_process_headers): Removed.
1845 (elf_backend_post_process_headers): Defined with
1846 _bfd_elf_set_osabi.
1847 (ELF_OSABI): Properly defined for each target.
1848
1849 * elf32-i370.c (i370_elf_post_process_headers): Removed.
1850 (ELF_OSABI): Defined.
1851 (elf_backend_post_process_headers): Defined with
1852 _bfd_elf_set_osabi.
1853
1854 * elf32-i386.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
1855 freebsd.
1856 (elf_i386_post_process_headers): Set EI_OSABI with elf_osabi.
1857
1858 * elf32-msp430.c (elf32_msp430_post_process_headers): Removed.
1859 (ELF_OSABI): Defined.
1860 (elf_backend_post_process_headers): Defined with
1861 _bfd_elf_set_osabi.
1862
1863 * elf64-alpha.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
1864 freebsd.
1865 (elf64_alpha_fbsd_post_process_headers): Set EI_OSABI with
1866 elf_osabi.
1867
1868 * elf64-hppa.c (elf64_hppa_post_process_headers): Set EI_OSABI
1869 with elf_osabi.
1870 (ELF_OSABI): Properly defined for each target.
1871 (elf_backend_post_process_headers): Defined with
1872 _bfd_elf_set_osabi for Linux.
1873
1874 * elf64-sparc.c (elf64_sparc_fbsd_post_process_headers): Removed.
1875 (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
1876 (elf_backend_post_process_headers): Defined with
1877 _bfd_elf_set_osabi.
1878
1879 * elf64-x86-64.c (elf64_x86_64_fbsd_post_process_headers): Removed.
1880 (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
1881 (elf_backend_post_process_headers): Defined with
1882 _bfd_elf_set_osabi.
1883
1884 * elfcode.h (elf_object_p): Match the ELFOSABI_NONE ELF target
1885 with any ELF target of the compatible machine for which we do not
1886 have a specific backend.
1887
1888 * elfxx-ia64.c (elfNN_hpux_post_process_headers): Set EI_OSABI
1889 with elf_osabi.
1890
1891 * elfxx-target.h (ELF_OSABI): Default to ELFOSABI_NONE.
1892 (elfNN_bed): Initialize elf_osabi with ELF_OSABI.
1893
1894 2007-03-08 Alan Modra <amodra@bigpond.net.au>
1895
1896 * elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out
1897 V850_OTHER_* bits.
1898
1899 2007-03-08 Alan Modra <amodra@bigpond.net.au>
1900
1901 * Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo.
1902 (BFD64_BACKENDS_CFILES): Add efi-app-x86_64.c.
1903 Run "make dep-am".
1904 * Makefile.in: Regenerate.
1905 * po/SRC-POTFILES.in: Regenerate.
1906
1907 2007-03-07 H.J. Lu <hongjiu.lu@intel.com>
1908
1909 * config.bfd (x86_64-*-freebsd*): Add bfd_efi_app_x86_64_vec.
1910 (x86_64-*-kfreebsd*-gnu): Likewise.
1911 (x86_64-*-netbsd*): Likewise.
1912 (x86_64-*-openbsd*): Likewise.
1913 (x86_64-*-linux-*): Likewise.
1914
1915 * configure.in: Support bfd_efi_app_x86_64_vec.
1916 * configure: Regenerated.
1917
1918 * efi-app-x86_64.c: New file.
1919
1920 * targets.c (bfd_efi_app_x86_64_vec): New.
1921 (_bfd_target_vector): Add bfd_efi_app_x86_64_vec.
1922
1923 2007-03-07 Kai Tietz <kai.tietz@onevision.com>
1924
1925 * reloc.c (bfd_generic_get_relocated_section_contents): Remove
1926 const for type reloc_howto_type.
1927
1928 2007-03-07 Alan Modra <amodra@bigpond.net.au>
1929
1930 PR 3958
1931 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): No error on relocatable link.
1932 (elf_discarded_section): Move..
1933 * bfd-in.h: ..to here.
1934 * bfd-in2.h: Regenerate.
1935 * elflink.c (elf_link_input_bfd): Don't zap relocs against symbols
1936 from discarded sections before relocate_section has done its job.
1937 * reloc.c (bfd_generic_get_relocated_section_contents): Handle
1938 relocs against symbols from discarded sections.
1939 * elf-hppa.h (elf_hppa_howto_table): Set size. Set dst_mask on
1940 SECREL32.
1941 (elf_hppa_relocate_section): Handle relocatable link after setting
1942 sec, sym, h etc. for final link. Squash error messages for
1943 relocatable link. Clear section contents for relocs against
1944 symbols in discarded sections, and zero reloc. Remove existing
1945 zero r_symndx code.
1946 * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
1947 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
1948 * elf32-arm.c (elf32_arm_relocate_section): Likewise.
1949 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
1950 * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
1951 (bfin_relocate_section): Likewise.
1952 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
1953 * elf32-cris.c (cris_elf_relocate_section): Likewise.
1954 * elf32-crx.c (elf32_crx_relocate_section): Likewise.
1955 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
1956 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
1957 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1958 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
1959 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
1960 * elf32-i370.c (i370_elf_relocate_section): Likewise.
1961 * elf32-i386.c (elf_i386_relocate_section): Likewise.
1962 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
1963 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
1964 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
1965 * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
1966 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
1967 * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
1968 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1969 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
1970 * elf32-mep.c (mep_elf_relocate_section): Likewise.
1971 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
1972 * elf32-mt.c (mt_elf_relocate_section): Likewise.
1973 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
1974 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1975 * elf32-s390.c (elf_s390_relocate_section): Likewise.
1976 * elf32-score.c (_bfd_score_elf_relocate_section): Likewise.
1977 * elf32-sh.c (sh_elf_relocate_section): Likewise.
1978 * elf32-spu.c (spu_elf_relocate_section): Likewise.
1979 * elf32-v850.c (v850_elf_relocate_section): Likewise.
1980 * elf32-vax.c (elf_vax_relocate_section): Likewise.
1981 * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
1982 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
1983 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
1984 * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
1985 (elf64_alpha_relocate_section): Likewise.
1986 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
1987 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1988 * elf64-s390.c (elf_s390_relocate_section): Likewise.
1989 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
1990 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1991 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
1992 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
1993 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
1994
1995 * elf32-arm.c (elf32_arm_relocate_section): Always adjust section
1996 symbols for relocatable link. Don't use always-zero st_value.
1997 (elf_backend_rela_normal): Don't define.
1998 * elf32-bfin.c (bfinfdpic_relocate_section): Use
1999 RELOC_FOR_GLOBAL_SYMBOL.
2000 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
2001 * elf32-d10v.c (elf32_d10v_relocate_section): Combine SEC_MERGE
2002 section symbol adjustments with same for relocatable link.
2003 * elf32-i386.c (elf_i386_relocate_section): Likewise.
2004 * elf32-m68hc1x.c (m68hc11_get_relocation_value): Move..
2005 (elf32_m68hc11_check_relocs): ..to here.
2006 * elf32-score.c (score_elf_final_link_relocate): Remove zero
2007 r_symndx code.
2008 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
2009
2010 2007-03-07 Alan Modra <amodra@bigpond.net.au>
2011
2012 PR 4144
2013 * elf.c (assign_file_positions_for_load_sections): Don't
2014 adjust p_memsz for !SEC_LOAD section vma modulo page size.
2015 Instead, use the same lma based adjustment for SEC_LOAD
2016 sections.
2017
2018 2007-03-01 Bob Wilson <bob.wilson@acm.org>
2019
2020 * elf32-xtensa.c (analyze_relocations): Zero src_count if not relaxing.
2021 (find_relaxable_sections): Do not increment src_count for unknown
2022 opcodes. Decode only once instead of calling is_l32r_relocation.
2023 (compute_text_actions): Remove unused no_insn_move flag. Assert that
2024 src_next matches src_count in relax_info.
2025
2026 2007-03-01 Joseph Myers <joseph@codesourcery.com>
2027
2028 * Makefile.am (bfdver.h): Use "." not " " between version number
2029 and date.
2030 * Makefile.in: Regenerate.
2031 * configure.in (PKGVERSION): Default to "(GNU Binutils) ".
2032 * configure: Regenerate.
2033
2034 2007-02-28 Nathan Sidwell <nathan@codesourcery.com>
2035
2036 * config.bfd (sh-*-uclinux, sh[12]-*-uclinux): New stanza.
2037
2038 2007-02-27 Alan Modra <amodra@bigpond.net.au>
2039
2040 * elf32-spu.h (struct _ovl_stream): Make "start" and "end" const.
2041 * elf32-spu.c (ovl_mgr_pread): Add const to casts.
2042
2043 2007-02-23 Carlos O'Donell <carlos@codesourcery.com>
2044
2045 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Assume 32-bit
2046 DWARF even with 64-bit addresses.
2047 (_bfd_dwarf2_find_nearest_line): Likewise.
2048
2049 2007-02-23 Nick Clifton <nickc@redhat.com>
2050
2051 PR binutils/3535
2052 * elf.c (copy_private_bfd_data): Always rewrite the program
2053 headers when a Solaris interpreter segment is involved.
2054
2055 2007-02-22 Paul Brook <paul@codesourcery.com>
2056
2057 * elflink.c (gc_mark_hook_fn): Remove.
2058 (_bfd_elf_gc_mark): Rename gc_mark_hook_fn to elf_gc_mark_hook_fn.
2059 (bfd_elf_gc_sections): Ditto. Call gc_mark_extra_sections.
2060 * elf-bfd.h (elf_gc_mark_hook_fn): Define.
2061 (elf_backend_data): Add gc_mark_extra_sections.
2062 * elfxx-target.h (elf_backend_gc_mark_extra_sections): Provide default
2063 definition.
2064 (elfNN_bed): Add elf_backend_gc_mark_extra_sections.
2065 * elf32-arm.c (elf32_arm_gc_mark_extra_sections): New function.
2066 (elf_backend_gc_mark_extra_sections): Define.
2067
2068 2007-02-21 Nick Clifton <nickc@redhat.com>
2069
2070 * elf.c (_bfd_elf_map_sections_to_segments): If the
2071 override_segment_assignment callback is defined then call it.
2072
2073 2007-02-21 Alan Modra <amodra@bigpond.net.au>
2074
2075 * elf32-spu.c (spu_elf_size_stubs): Correct order of warning args.
2076
2077 2007-02-19 Thiemo Seufer <ths@mips.com>
2078
2079 * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Remove
2080 translation marker from untranslatable strings.
2081
2082 2007-02-19 Alan Modra <amodra@bigpond.net.au>
2083
2084 * elf-bfd.h (struct elf_backend_data): Add default_execstack.
2085 * elflink.c (bfd_elf_size_dynamic_sections): Heed default_execstack.
2086 * elfxx-target.h (elf_backend_default_execstack): Define to 1.
2087 (elfNN_bed): Init new field.
2088 * elf64-ppc.c (elf_backend_default_execstack): Define to 0.
2089
2090 2007-02-17 Mark Mitchell <mark@codesourcery.com>
2091 Nathan Sidwell <nathan@codesourcery.com>
2092 Vladimir Prus <vladimir@codesourcery.com
2093 Joseph Myers <joseph@codesourcery.com>
2094
2095 * configure.in (--with-pkgversion): New option.
2096 * configure: Regenerate.
2097 * Makefile.am (bfdver.h): Substitute for @bfd_version_package@.
2098 * Makefile.in: Regenerate.
2099 * version.h (BFD_VERSION_STRING): Define using
2100 @bfd_version_package@.
2101
2102 2007-02-16 Carlos O'Donell <carlos@codesourcery.com>
2103
2104 * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data):
2105 Print EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_XGOT
2106 and EF_MIPS_UCODE.
2107
2108 2007-02-15 Alan Modra <amodra@bigpond.net.au>
2109
2110 * libbfd-in.h (_bfd_norelocs_get_reloc_upper_bound): Don't define,
2111 declare.
2112 (_bfd_norelocs_canonicalize_reloc): Likewise.
2113 * libbfd.h: Regenerate.
2114 * libbfd.c (_bfd_norelocs_get_reloc_upper_bound): New function.
2115 (_bfd_norelocs_canonicalize_reloc): Likewise.
2116 * binary.c (binary_bfd_reloc_type_lookup): Don't define.
2117 (binary_get_reloc_upper_bound, binary_canonicalize_reloc): Likewise.
2118 (binary_vec): Use _bfd_norelocs in BFD_JUMP_TABLE_RELOCS.
2119 * ihex.c: Similarly.
2120 * mach-o-target.c: Similarly.
2121 * mach-o.c: Similarly.
2122 * mmo.c: Similarly.
2123 * pef.c: Similarly.
2124 * ppcboot.c: Similarly.
2125 * srec.c: Similarly.
2126 * xsym.c: Similarly.
2127
2128 2007-02-14 H.J. Lu <hongjiu.lu@intel.com>
2129
2130 PR ld/3953
2131 * elflink.c (_bfd_elf_add_default_symbol): Check warning symbol
2132 when adding default symbol.
2133
2134 2007-02-13 Alan Modra <amodra@bigpond.net.au>
2135
2136 * elf64-ppc.c (create_linkage_sections): Use section ".branch_lt"
2137 for branch lookup table.
2138
2139 2007-02-12 Alan Modra <amodra@bigpond.net.au>
2140
2141 * elf64-ppc.c (create_linkage_sections): Don't create
2142 .rela.rodata.brlt for --emit-relocs.
2143 (ppc_build_one_stub): Create relocs for brlt --emit-relocs here.
2144 (ppc_size_one_stub): Count them. Simplify test of stub type
2145 when counting stub relocs. Set SEC_RELOC too.
2146 (ppc64_elf_size_stubs): Clear reloc_count and SEC_RELOC.
2147 (ppc64_elf_finish_dynamic_sections): Output brlt relocs.
2148
2149 2007-02-12 Alan Modra <amodra@bigpond.net.au>
2150
2151 * elflink.c (evaluate_complex_relocation_symbols): Ignore relocs
2152 with a zero symbol index.
2153
2154 2007-02-12 Alan Modra <amodra@bigpond.net.au>
2155
2156 * elflink.c (bfd_elf_discard_info): Tidy setting of "eh".
2157
2158 2007-02-05 Dave Brolley <brolley@redhat.com>
2159 Stan Cox <scox@redhat.com>
2160
2161 PR ld/3972
2162 * elflink.c (elf_link_input_bfd): Always setup finfo->internal_syms.
2163
2164 2007-02-05 Dave Brolley <brolley@redhat.com>
2165 Richard Sandiford <rsandifo@redhat.com>
2166 Stan Cox <scox@redhat.com>
2167 Nick Clifton <nickc@redhat.com>
2168 DJ Delorie <dj@redhat.com>
2169 Frank Ch. Eigler <fche@redhat.com>
2170 Ben Elliston <bje@redhat.com>
2171 Richard Henderson <rth@redhat.com>
2172
2173 * Makefile.am (ALL_MACHINES): Add cpu-mep.lo.
2174 (ALL_MACHINES_CFILES): Add CPU_MEP.c.
2175 (BFD32_BACKENDS): Add elf32-mep.lo.
2176 (BFD32_BACKENDS_CFILES): Add elf32-mep.c.
2177 (cpu-mep.lo,elf32-mep.lo): New targets.
2178 * archures.c (bfd_arch_mep): New enumerator.
2179 (bfd_mach_mep, bfd_mach_mep_h1): New macros.
2180 (bfd_mep_arch): New external variable.
2181 (bfd_archures_list): Add bfd_mep_arch.
2182 * config.bfd: Support mep-*-elf.
2183 * configure.in: Support bfd_elf32_mep_vec and bfd_elf32_mep_little_vec.
2184 * reloc.c (BFD_RELOC_MEP_*): New relocation numbers.
2185 * targets.c (bfd_elf32_mep_vec,bfd_elf32_mep_little_vec): New extern
2186 declarations.
2187 (_bfd_target_vector): Add bfd_elf32_mep_vec and
2188 bfd_elf32_mep_little_vec.
2189 * mep-relocs.pl: New file.
2190 * cpu-mep.c: New file.
2191 * elf32-mep.c: New file.
2192 * bfd-in2.h: Regenerate.
2193 * po/POTFILES.in: Regenerate.
2194 * libbfd.h: Regenerate.
2195 * Makefile.in: Regenerate.
2196 * configure: Regenerate.
2197
2198 2007-02-05 Dave Brolley <brolley@redhat.com>
2199
2200 * elflink.c (evaluate_complex_relocation_symbols): Check for
2201 STT_SRELC for global symbols.
2202 (perform_complex_relocations): Renamed to
2203 perform_complex_relocation and now examines only one relocation.
2204 (elf_link_input_bfd): Don't call perform_complex_relocations.
2205 * elf-bfd.h (bfd_elf_perform_complex_relocation_: New prototype.
2206 * elf32-mep.c (mep_elf_howto_table): Add R_RELC.
2207 (OD,OS,OU): #undefs corrected to N, S and U repectively.
2208 (mep_reloc_type_lookup): Handle BFD_RELOC_RELC.
2209 (complex_reloc_installation_howto): Removed.
2210 (mep_info_to_howto_rela): Remove special case for r_type==0xff.
2211 (mep_elf_relocate_section): Call bfd_elf_perform_complex_relocation.
2212
2213 2007-02-05 Dave Brolley <brolley@redhat.com>
2214 Richard Sandiford <rsandifo@redhat.com>
2215 DJ Delorie <dj@redhat.com>
2216 Graydon Hoare <graydon@redhat.com>
2217 Nick Clifton <nickc@cambridge.redhat.com>
2218 Jeff Holcomb <jeffh@redhat.com>
2219 Frank Ch. Eigler <fche@redhat.com>
2220
2221 * elf-bfd.h (bfd_elf_perform_complex_relocations): New prototype.
2222 * elf.c (swap_out_syms): Handle BSF_RELC and BSF_SRELC.
2223 * elfcode.h (elf_slurp_symbol_table): Handle STT_RELC and STT_SRELC.
2224 * elflink.c (set_symbolValue): New static function.
2225 (resolve_symbol): Likewise.
2226 (resolve_section): Likewise.
2227 (undefined_reference): Likewise.
2228 (eval_symbol): Likewise.
2229 (evaluate_complex_relocation_symbols): Likewise.
2230 (put_value): Likewise.
2231 (get_value): Likewise.
2232 (decode_complex_addend):
2233 (bfd_elf_perform_complex_relocation): New function.
2234 (elf_link_input_bfd): Call evaluate_complex_relocation_symbols.
2235 * reloc.c (BFD_RELOC_RELC): New relocation number.
2236 * syms.c (BSF_RELC,BSF_SRELC): New macros.
2237
2238 2007-02-05 Bob Wilson <bob.wilson@acm.org>
2239
2240 * elf32-xtensa.c (elf_xtensa_make_sym_local): Delete.
2241 (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Delete.
2242 (elf_xtensa_fix_refcounts, elf_xtensa_allocate_plt_size)
2243 (elf_xtensa_allocate_got_size): Replace these with...
2244 (elf_xtensa_allocate_dynrelocs): ...this new function.
2245 (elf_xtensa_size_dynamic_sections): Use it.
2246
2247 2007-02-05 Bob Wilson <bob.wilson@acm.org>
2248
2249 * elf32-xtensa.c (elf_howto_table) <R_XTENSA_GLOB_DAT>
2250 <R_XTENSA_JMP_SLOT, R_XTENSA_RELATIVE, R_XTENSA_PLT, R_XTENSA_DIFF32>:
2251 Set src_mask to zero.
2252 <R_XTENSA_DIFF8, R_XTENSA_DIFF16>: Likewise. Also fix dst_mask.
2253 <R_XTENSA_ASM_EXPAND>: Set pcrel_offset to TRUE.
2254
2255 2007-02-02 Bob Wilson <bob.wilson@acm.org>
2256
2257 * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Renamed to...
2258 (elf_xtensa_dynamic_symbol_p): ...this.
2259
2260 2007-02-02 Bob Wilson <bob.wilson@acm.org>
2261
2262 * elf32-xtensa.c (plt_reloc_count): Move into link hash table.
2263 (struct elf_xtensa_link_hash_table): New.
2264 (elf_xtensa_hash_table): New.
2265 (elf_xtensa_link_hash_table_create): New.
2266 (elf_xtensa_check_relocs): Update plt_reloc_count references.
2267 Update arguments to add_extra_plt_sections.
2268 (elf_xtensa_create_dynamic_sections): Record new sections in the hash
2269 table. Update for plt_reloc_count and add_extra_plt_sections.
2270 (add_extra_plt_sections, elf_xtensa_create_plt_entry): Replace dynobj
2271 argument with link info. Update calls to elf_xtensa_get_plt_section
2272 and elf_xtensa_get_gotplt_section.
2273 (elf_xtensa_allocate_local_got_size, elf_xtensa_size_dynamic_sections)
2274 (elf_xtensa_relocate_section, elf_xtensa_finish_dynamic_sections)
2275 (elf_xtensa_discard_info_for_section, shrink_dynamic_reloc_sections)
2276 (relax_property_section): Get sections from the hash table and update
2277 function calls.
2278 (elf_xtensa_get_plt_section, elf_xtensa_get_gotplt_section): Replace
2279 dynobj argument with link info. Get sections for first plt chunk from
2280 the hash table.
2281 (bfd_elf32_bfd_link_hash_table_create): Define.
2282
2283 2007-02-02 Jakub Jelinek <jakub@redhat.com>
2284
2285 * elf-bfd.h (struct elf_obj_tdata): Change symbuf type to void *.
2286 * elf.c (struct elf_symbuf_symbol, struct elf_symbuf_head): New types.
2287 (struct elf_symbol): Change first member into union.
2288 (elf_sort_elf_symbol): Compare pointers to internal syms rather than
2289 internal syms. Only compare st_shndx fields.
2290 (elf_create_symbuf): New function.
2291 (bfd_elf_match_symbols_in_sections): Use it. If symbufs are available
2292 for bfds, use a binary search, otherwise don't qsort symbols
2293 unnecessarily only to select which symbols are for the particular
2294 shndx.
2295
2296 2007-02-01 Nick Clifton <nickc@redhat.com>
2297
2298 PR ld/3852
2299 * elf.c (_bfd_elf_link_hash_table_init): Initialize all the fields
2300 in the elf_link_hash_table structure.
2301
2302 2007-02-01 Alan Modra <amodra@bigpond.net.au>
2303
2304 * elf-bfd.h (struct elf_backend_data): Add elf_backend_write_core_note.
2305 * elfxx-target.h (elf_backend_write_core_note): Define and use.
2306 * elf.c (elfcore_write_prpsinfo): Call the above. Add support for
2307 32-bit core note on 64-bit target.
2308 (elfcore_write_prstatus): Likewise.
2309 (elfcore_write_lwpstatus): Make note_name const.
2310 (elfcore_write_prfpreg): Likewise.
2311 (elfcore_write_pstatus): Add support for 32-bit core note on 64-bit
2312 target.
2313 * elf32-ppc.c (ppc_elf_write_core_note): New function.
2314 (elf_backend_write_core_note): Define.
2315 * elf64-ppc.c (ppc64_elf_write_core_note): New function.
2316 (elf_backend_write_core_note): Define.
2317
2318 2007-01-31 H.J. Lu <hongjiu.lu@intel.com>
2319
2320 * elf32-cris.c (INCLUDED_TARGET_FILE): Removed.
2321 (elf32_bed): Defined for elf32-us-cris.
2322
2323 * elf64-sh64.c (elf64_bed): Defined for Linux.
2324 (INCLUDED_TARGET_FILE): Removed.
2325
2326 * elfxx-target.h (elfNN_bed): Always define. Don't check
2327 INCLUDED_TARGET_FILE.
2328
2329 2007-01-31 DJ Delorie <dj@redhat.com>
2330
2331 * elf-m10300.c (mn10300_elf_relocate_section): Clarify the warning
2332 message for dangerous relocs, special case the common user error.
2333
2334 2007-01-30 H.J. Lu <hongjiu.lu@intel.com>
2335
2336 * elf.c (copy_elf_program_header): Start from the first section
2337 in a segment and stop when all sections in a segment are
2338 accounted for.
2339
2340 2007-01-29 Julian Brown <julian@codesourcery.com>
2341
2342 * bfd-in2.h: Regenerate.
2343 * bfd-in.h (bfd_arm_vfp11_fix): New enum. Specify how VFP11
2344 instruction scanning should be done.
2345 (bfd_elf32_arm_init_maps, bfd_elf32_arm_vfp11_erratum_scan)
2346 (bfd_elf32_arm_vfp11_fix_veneer_locations): Add prototypes.
2347 (bfd_elf32_arm_set_target_relocs): Add vfp11 fix type argument to
2348 prototype.
2349 * elf-bfd.h (elf_backend_write_section): Add struct bfd_link_info
2350 argument.
2351 * elf32-arm.c (VFP11_ERRATUM_VENEER_SECTION_NAME)
2352 (VFP11_ERRATUM_VENEER_ENTRY_NAME): Define macros.
2353 (elf32_vfp11_erratum_type): New enum.
2354 (elf32_vfp11_erratum_list): New struct. List of veneers or jumps to
2355 veneers.
2356 (_arm_elf_section_data): Add mapsize, erratumcount, erratumlist.
2357 (elf32_arm_link_hash_table): Add vfp11_erratum_glue_size,
2358 vfp11_fix and num_vfp11_fixes fields.
2359 (elf32_arm_link_hash_table_create): Initialise vfp11_fix,
2360 vfp11_erratum_glue_size, num_vfp11_fixes fields.
2361 (VFP11_ERRATUM_VENEER_SIZE): Define. Size of an (ARM) veneer.
2362 (bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
2363 glue section.
2364 (elf32_arm_section_map_add): Add an code/data mapping symbol entry
2365 to a section's map.
2366 (record_vfp11_erratum_veneer): Create a single veneer, and its
2367 associated symbols.
2368 (bfd_elf32_arm_add_glue_sections_to_bfd): Add vfp11 erratum glue.
2369 (bfd_elf32_arm_init_maps): Initialise mapping symbol table for input
2370 BFDs.
2371 (bfd_elf32_arm_set_vfp11_fix): Set the type of erratum workaround
2372 required.
2373 (bfd_arm_vfp11_pipe): Define VFP11 instruction pipes.
2374 (bfd_arm_vfp11_regno): Recode a register number from a VFP11 insn.
2375 (bfd_arm_vfp11_write_mask): Update write mask according to coded
2376 register number.
2377 (bfd_arm_vfp11_antidependency): New function.
2378 (bfd_arm_vfp11_insn_decode): Decode a VFP11 insn.
2379 (elf32_arm_compare_mapping): Declare.
2380 (bfd_elf32_arm_vfp11_erratum_scan): Scan the sections of an input
2381 BFD for potential erratum-triggering insns. Record results.
2382 (bfd_elf32_arm_vfp11_fix_veneer_locations): Find out where veneers
2383 and branches to veneers have been placed in virtual memory after
2384 layout.
2385 (bfd_elf32_arm_set_target_relocs): Set vfp11_fix field in global
2386 hash table.
2387 (elf32_arm_output_symbol_hook): Remove.
2388 (elf32_arm_write_section): Output veneers, and branches to veneers.
2389 Use maps from input sections, not output sections, for code
2390 byte-swapping.
2391 * elf32-ppc.c (ppc_elf_write_section): Add dummy link_info argument.
2392 * elf32-score.c (_bfd_score_elf_write_section): Likewise.
2393 * elfxx-mips.c (_bfd_mips_elf_write_section): Likewise.
2394 * elfxx-mips.h (_bfd_mips_elf_write_section): Likewise.
2395
2396 2007-01-27 H.J. Lu <hongjiu.lu@intel.com>
2397
2398 * elf64-hppa.c (elf64_bed): Defined for HPUX and Linux.
2399 (INCLUDED_TARGET_FILE): Removed.
2400
2401 2007-01-27 Mike Frysinger <vapier@gentoo.org>
2402
2403 * elf32-hppa.c (elf32_bed): Define for hpux, linux and netbsd.
2404 (INCLUDED_TARGET_FILE): Remove.
2405
2406 2007-01-25 DJ Delorie <dj@redhat.com>
2407
2408 * elf32-m32c.c (m32c_elf_howto_table): Don't complain about
2409 R_M32C_16 or R_M32C_24 relocs.
2410
2411 2007-01-25 Nick Clifton <nickc@redhat.com>
2412
2413 PR binutils/3874
2414 * elf32-avr.c (avr_link_hash_table): Check to make sure that the
2415 hash table was created by elf32_avr_link_hash_table_create before
2416 using it.
2417 (elf32_avr_link_hash_newfunc): New function. Just pass the call
2418 through to _bfd_elf_link_hash_newfunc.
2419 (elf32_avr_link_hash_table_create): Use
2420 elf32_avr_link_hash_newfunc instead of
2421 _bfd_elf_link_hash_newfunc.
2422 (elf32_avr_relocate_section): Check for the hash table pointer
2423 being NULL.
2424 (elf32_avr_relax_section, avr_build_one_stub,
2425 elf32_avr_setup_params, get_local_syms, elf32_avr_size_stubs,
2426 elf32_avr_build_stubs): Likewise.
2427
2428 2007-01-16 H.J. Lu <hongjiu.lu@intel.com>
2429
2430 PR ld/3831
2431 * elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an
2432 argument, Elf_Internal_Sym *.
2433
2434 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data
2435 symbol dynamic if info->dynamic_data is TRUE.
2436 (bfd_elf_record_link_assignment): Updated call to
2437 bfd_elf_record_link_assignment.
2438 (_bfd_elf_merge_symbol): Likewise. Always call
2439 bfd_elf_link_mark_dynamic_symbol.
2440
2441 2007-01-12 H.J. Lu <hongjiu.lu@intel.com>
2442
2443 * Makefile.am (BFD_LIBS): Removed.
2444 * Makefile.in: Regenerated.
2445
2446 2007-01-11 H.J. Lu <hongjiu.lu@intel.com>
2447
2448 PR binutils/3631
2449 * Makefile.am (OFILES): Add @bfd64_libs@.
2450 (libbfd_la_SOURCES): Remove $(BFD64_LIBS_CFILES).
2451 * Makefile.in: Regenerated.
2452
2453 * configure.in (bfd_libs): Replaced by ...
2454 (bfd64_libs): This.
2455 * configure: Regenerated.
2456
2457 2007-01-11 Nathan Sidwell <nathan@codesourcery.com>
2458
2459 * elf.c (assign_file_positions_for_load_sections): We can
2460 require fewer phdrs than expected.
2461
2462 2007-01-08 Kazu Hirata <kazu@codesourcery.com>
2463
2464 * archures.c (bfd_mach_cpu32_fido): Rename to bfd_mach_fido.
2465 * bfd-in2.h: Regenerate.
2466 * cpu-m68k.c (arch_info_struct): Use bfd_mach_fido instead of
2467 bfd_mach_cpu32_fido.
2468 (m68k_arch_features): Use fido_a instead of cpu32.
2469 (bfd_m68k_compatible): Reject the combination of Fido and
2470 ColdFire. Accept the combination of CPU32 and Fido with a
2471 warning.
2472 * elf32-m68k.c (elf32_m68k_object_p,
2473 elf32_m68k_merge_private_bfd_data,
2474 elf32_m68k_print_private_bfd_data): Treat Fido as an
2475 architecture by itself.
2476
2477 2007-01-08 Kai Tietz <kai.tietz@onevision.com>
2478
2479 * config.bfd: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*.
2480
2481 2007-01-05 Jakub Jelinek <jakub@redhat.com>
2482
2483 * texhex.c (first_phase): Don't fall through into the default
2484 case.
2485 (pass_over): Replace abort () calls with return FALSE. Fix
2486 buffer overflow.
2487
2488 2007-01-04 Jie Zhang <jie.zhang@analog.com>
2489
2490 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't set
2491 SEC_EXCLUDE on zero size .eh_frame.
2492
2493 For older changes see ChangeLog-2006
2494 \f
2495 Local Variables:
2496 mode: change-log
2497 left-margin: 8
2498 fill-column: 74
2499 version-control: never
2500 End:
This page took 0.087582 seconds and 5 git commands to generate.