1
2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
3
* bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
5
(bfd_elf32_arm_set_byteswap_code): New prototype.
6
* bfd-in2.h: Regenerate.
7
* elf32-arm.c (bfd_elf32_arm_process_before_allocation): Don't take
8
byteswap_code as an argument. Revert 2006-11-01 change.
9
(bfd_elf32_arm_set_byteswap_code): New.
10
(elf32_arm_size_dynamic_sections): Call
11
bfd_elf32_arm_process_before_allocation.
13
2006-11-10 Thiemo Seufer <ths@mips.com>
15
* config.bfd (mips*el-sde-elf*, mips*-sde-elf*): Drop ECOFF support
18
2006-11-10 Nick Clifton <nickc@redhat.com>
20
* config.bfd: Move previously obsoleted targets to the REMOVED
22
Add maxq-*-coff to the obsolete list.
24
2006-11-10 Pedro Alves <pedro_alves@portugalmail.pt>
26
* pe-arm-wince.c (LOCAL_LABEL_PREFIX): Define as ".".
27
* pei-arm-wince.c (LOCAL_LABEL_PREFIX): Likewise.
28
* coff-arm.c (LOCAL_LABEL_PREFIX): Only define if not defined before.
30
2006-11-07 Daniel Jacobowitz <dan@codesourcery.com>
32
* elf32-arm.c (find_thumb_glue): Add ERROR_MESSAGE argument; set it
34
(find_arm_glue): Likewise.
35
(elf32_thumb_to_arm_stub, elf32_arm_create_thumb_stub)
36
(elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate): Add
37
ERROR_MESSAGE argument and pass it through.
38
(elf32_arm_to_thumb_export_stub): Update.
39
(elf32_arm_relocate_section): Use ERROR_MESSAGE and reloc_dangerous.
41
2006-11-07 Alan Modra <amodra@bigpond.net.au>
43
* elf64-ppc.c (enum _ppc64_sec_type): New.
44
(struct _ppc64_elf_section_data): Move "t_symndx" into opd union,
45
and rename fields. Add sec_type and has_14bit_branch.
46
(struct ppc_link_hash_table): Remove has_14bit_branch.
47
(get_opd_info, get_tls_mask, ppc64_elf_edit_opd): Adjust.
48
(ppc64_elf_relocate_section): Likewise.
49
(ppc64_elf_check_relocs): Likewise. Set per-section has_14bit_branch.
50
(ppc64_elf_size_stubs): Don't set default group size here.
51
(group_sections): Instead do so here, and group sections using
52
their individual requirements.
54
2006-11-07 Alan Modra <amodra@bigpond.net.au>
56
* elf64-ppc.c (struct ppc64_elf_obj_tdata): Remove "has_dotsym"
58
(struct ppc_link_hash_entry): Add "next_dot_sym".
59
(struct ppc_link_hash_table): Add "dot_syms".
60
(link_hash_newfunc): Make list of syms starting with a dot.
61
(ppc_get_stub_entry, adjust_opd_syms): Adjust.
62
(ppc64_elf_add_symbol_hook): Don't set has_dotsym.
63
(struct add_symbol_adjust_data): Delete.
64
(add_symbol_adjust): Simplify params and return.
65
(ppc64_elf_check_directives): Just process the "dot_syms" lists,
68
2006-11-02 Daniel Jacobowitz <dan@codesourcery.com>
70
* libbfd-in.h (_bfd_clear_contents): New prototype.
71
* reloc.c (_bfd_clear_contents): New.
72
* libbfd.h: Regenerated.
74
* elf32-arm.c (elf32_arm_final_link_relocate): Use
1
2007-10-25 Pedro Alves <pedro_alves@portugalmail.pt>
4
* bfd-in.h (STRING_COMMA_LEN): Don't handle NULL STR case.
5
* bfd-in2.h: Regenerate.
7
2007-09-04 Michael Snyder <msnyder@access-company.com>
9
* elf32-bfin.c (howto_table): Cut and paste error?
10
Name field of reloc is wrong.
12
2007-09-04 Alan Modra <amodra@bigpond.net.au>
14
* elf32-spu.c (elf_howto_table): Formatting.
16
2007-09-02 H.J. Lu <hongjiu.lu@intel.com>
19
* dwarf2.c (new_line_sorts_after): Undo the last change.
20
(add_line_info): Only keep the last entry with the same address
23
2007-08-31 H.J. Lu <hongjiu.lu@intel.com>
26
* dwarf2.c (new_line_sorts_after): Also compare line number.
28
2007-08-31 Jesse Michael <jmichael@suse.de>
30
* mach-o.c (bfd_mach_o_make_bfd_section): Fix test for non
33
2007-08-28 David Heine <dlheine@tensilica.com>
35
* elf32-xtensa.c (compute_ebb_actions): Update removed_bytes when
36
narrowing instructions.
38
2007-08-28 Mark Shinwell <shinwell@codesourcery.com>
39
Joseph Myers <joseph@codesourcery.com>
41
* elf32-arm.c (elf32_arm_compare_mapping): Compare first on vma,
44
2007-08-28 Robert Sebastian Gerus <arachnist@gmail.com>
46
* config.bfd: Add support for i[3-7]86-*-dragonfly*.
47
* configure.in: Likewise.
48
* configure: Regenerate.
50
2007-08-25 Ulrich Weigand <uweigand@de.ibm.com>
51
Alan Modra <amodra@bigpond.net.au>
53
* elf.c (elfcore_grok_spu_note): New function.
54
(elf_parse_notes): Call it.
56
2007-08-24 H.J. Lu <hongjiu.lu@intel.com>
58
* elf64-x86-64.c (elf64_x86_64_relocate_section): Adjust
61
2007-08-24 Pedro Alves <pedro_alves@portugalmail.pt>
63
* elf.c (elfcore_grok_win32pstatus): Remove HAVE_WIN32_PSTATUS_T
64
guard. Make it host independent.
65
(elfcore_grok_note): Remove HAVE_WIN32_PSTATUS_T guard around
68
2007-08-24 Jan Kratochvil <jan.kratochvil@redhat.com>
70
* elf-bfd.h (struct elf_obj_tdata): New BUILD_ID_SIZE, BUILD_ID.
71
* elf.c (elfcore_read_notes): Split to ...
72
(elf_read_notes) ... here ...
73
(elf_parse_notes): ... and here. Check `bfd_get_format (abfd)' with
74
the former subfunctions called only for BFD_CORE.
75
Call ELFOBJ_GROK_GNU_NOTE for BFD_OBJECT files with the owner "GNU".
76
(_bfd_elf_make_section_from_shdr): Call ELF_PARSE_NOTES for SHT_NOTEs.
77
(bfd_section_from_phdr): Update the call for renamed ELFCORE_READ_NOTES.
78
(elfobj_grok_gnu_build_id, elfobj_grok_gnu_note): New functions.
79
Code advisory: Roland McGrath
81
2007-08-24 Daniel Jacobowitz <dan@codesourcery.com>
83
* elf64-mips.c (elf_backend_sign_extend_vma): Define.
85
2007-08-24 Alan Modra <amodra@bigpond.net.au>
87
* elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Warning fix.
89
2007-08-23 H.J. Lu <hongjiu.lu@intel.com>
91
* Makefile.am: Run "make dep-am".
92
* Makefile.in: Regenerated.
94
2007-08-23 H.J. Lu <hongjiu.lu@intel.com>
96
* elf32-i386.c: Include "bfd_stdint.h".
97
(elf_i386_rtype_to_howto): New function.
98
(elf_i386_info_to_howto_rel): Use it.
99
(x86_64_opcode16): New union type.
100
(elf_i386_check_tls_transition): New function.
101
(elf_i386_tls_transition): Updated to check transition and
102
issue an error if a transition isn't supported.
103
(elf_i386_check_relocs): Return FALSE if
104
elf_i386_tls_transition returns FALSE.
105
(elf_i386_gc_sweep_hook): Likewise.
106
(elf_i386_relocate_section): Likewise. Remove BFD_ASSERT
109
* elf64-x86-64.c: Include "bfd_stdint.h".
110
(x86_64_opcode16): New union type.
111
(x86_64_opcode32): Likewise.
112
(elf64_x86_64_check_tls_transition): New function.
113
(elf64_x86_64_tls_transition): Updated to check transition and
114
issue an error if a transition isn't supported.
115
(elf64_x86_64_check_relocs): Return FALSE if
116
elf64_x86_64_tls_transition returns FALSE.
117
(elf64_x86_64_gc_sweep_hook): Likewise.
118
(elf64_x86_64_relocate_section): Likewise. Remove BFD_ASSERT
121
2007-08-22 H.J. Lu <hongjiu.lu@intel.com>
123
* elfxx-ia64.c: Convert to ISO C90 prototypes.
124
(elfNN_hpux_backend_section_from_bfd_section): Make it static.
126
2007-08-22 H.J. Lu <hongjiu.lu@intel.com>
128
* elf64-x86-64.c: Remove trailing whitespace.
129
* elfxx-ia64.c: Likewise.
131
2007-08-21 H.J. Lu <hongjiu.lu@intel.com>
133
* elf32-i386.c (elf_i386_tls_transition): Accept a pointer
134
to ELF hash entry instead of an integer for local test.
135
(elf_i386_check_relocs): Updated.
136
(elf_i386_gc_sweep_hook): Likewise.
137
(elf_i386_relocate_section): Likewise.
139
* elf64-x86-64.c (elf64_x86_64_tls_transition): Accept a
140
pointer to ELF hash entry instead of an integer for local
142
(elf64_x86_64_check_relocs): Updated.
143
(elf64_x86_64_gc_sweep_hook): Likewise.
144
(elf64_x86_64_relocate_section): Likewise.
146
2007-08-20 H.J. Lu <hongjiu.lu@intel.com>
148
* elf32-i386.c (elf_i386_tls_transition): Break long line.
149
* elf64-x86-64.c (elf64_x86_64_tls_transition): Likewise.
151
2007-08-20 Jan Kratochvil <jan.kratochvil@redhat.com>
153
* elfxx-target.h [ELF_COMMONPAGESIZE && ELF_MAXPAGESIZE]
154
(ELF_MINPAGESIZE): Fixed its size guess. Sanity checked its size.
155
(ELF_COMMONPAGESIZE, ELF_MAXPAGESIZE): Sanity checked their size.
157
2007-08-20 Nick Clifton <nickc@redhat.com>
159
* elflink.c (elf_fixup_link_order): Rewrite conversion of
160
s->alignment_power into an offset mask in order to avoid a gcc
163
2007-08-17 Jakub Jelinek <jakub@redhat.com>
165
* config.bfd: Handle sparcv*-*-linux-* the same as sparc-*-linux-*.
166
Change sparc64-*-linux-* to sparc64*-*-linux-*.
168
2007-08-17 Alan Modra <amodra@bigpond.net.au>
170
* po/Make-in: Add --msgid-bugs-address to xgettext invocation.
172
2007-08-16 H.J. Lu <hongjiu.lu@intel.com>
174
* elf.c: Revert last change.
176
2007-08-16 H.J. Lu <hongjiu.lu@intel.com>
178
* elf.c (get_segment_type): Change PT_GNU_STACK to PT_GNU_ATTR.
179
(bfd_section_from_phdr): Likewise.
180
(get_program_header_size): Likewise. Add a PT_GNU_ATTR segment
181
if there is an attribute section.
182
(_bfd_elf_map_sections_to_segments): Likewise.
183
(IS_SECTION_IN_INPUT_SEGMENT): Likewise.
185
2007-08-14 H.J. Lu <hongjiu.lu@intel.com>
188
* elf32-i386.c (elf_i386_relocate_section): Allow R_386_PC32
189
on ___tls_get_addr for GD->LE/LD->LE transitions when not
190
building shared library.
192
* elf64-x86-64.c (elf64_x86_64_relocate_section): Allow
193
R_X86_64_PC32 on __tls_get_addr for GD->LE/LD->LE transitions
194
when not building shared library.
196
2007-08-14 Jan Kratochvil <jan.kratochvil@redhat.com>
198
* elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): LOADBASE is now
199
initialized only on the first PT_LOAD. New variable LOADBASE_SET.
200
Removed PF_R checking for IA-64 vDSOs as redundant now.
201
Code advisory: Roland McGrath
203
2007-08-13 Richard Sandiford <richard@codesourcery.com>
205
* elfxx-mips.c (mips_elf_link_hash_table): Add computed_got_sizes.
206
(mips_elf_record_global_got_symbol): Increment local_gotno for
207
each forced-local symbol.
208
(_bfd_mips_elf_check_relocs): Pass forced-local call symbols to
209
mips_elf_record_global_got_symbol for VxWorks too.
210
(_bfd_mips_elf_always_size_sections): Set computed_got_sizes
211
to true after computing the GOT size.
212
(_bfd_mips_elf_hide_symbol): Increase local_gotno whenever
213
got.offset == 1. Only adjust global_gotno if computed_got_sizes.
214
For VxWorks, add a local entry when hiding a symbol that needs a
215
plt but has not been marked as needing a global got entry.
216
(_bfd_mips_elf_link_hash_table_create): Set computed_got_sizes to
219
2007-08-12 Daniel Jacobowitz <dan@codesourcery.com>
221
* coffgen.c (coff_get_normalized_symtab): Correct cast.
223
2007-08-13 Alan Modra <amodra@bigpond.net.au>
225
* elf.c (elf_modify_segment_map): Add remove_empty_load param.
226
Don't remove empty PT_LOAD header if false.
227
(_bfd_elf_map_sections_to_segments): If user phdrs, pass false
228
to elf_modify_segment_map.
229
(assign_file_positions_for_load_sections): Pass false to
230
elf_modify_segment_map.
232
2007-08-13 Alan Modra <amodra@bigpond.net.au>
234
* elf64-ppc.c (ADDI_R12_R12, LD_R11_0R2, LD_R2_0R2): Define.
235
Update stub comments.
236
(build_plt_stub): Build two variants, one without "addis".
237
(ppc_build_one_stub): Build stubs without "addis" if possible.
238
(ppc_size_one_stub): Size new stubs.
240
2007-08-11 Richard Sandiford <richard@codesourcery.com>
242
* config.bfd (sh-*-vxworks): Define targ_underscore to "yes".
244
2007-08-09 Michael Snyder <msnyder@access-company.com>
246
* aoutx.h (aout_get_external_symbols): Return if count is zero.
248
2007-08-09 H.J. Lu <hongjiu.lu@intel.com>
251
* elf.c (print_segment_map): New function.
252
(assign_file_positions_for_load_sections): Call print_segment_map
253
when a section can't be allocated in segment.
255
2007-08-09 Jan Kratochvil <jan.kratochvil@redhat.com>
257
* opncls.c (bfd_openr_iovec): Fix the OPEN parameter macro expansion.
259
2007-08-07 Nick Clifton <nickc@redhat.com>
261
* po/bfd.pot: Updated template.
262
* po/BLD-POTFILES.in: Regenerate.
264
2007-08-07 Alan Modra <amodra@bigpond.net.au>
266
* elf.c: (_bfd_elf_make_section_from_phdr): Properly handle
269
2007-08-06 Daniel Jacobowitz <dan@codesourcery.com>
271
* Makefile.am (BUILD_HFILES): Clean bfd_stdint.h.
272
* Makefile.in: Regenerated.
274
2007-08-06 Daniel Jacobowitz <dan@codesourcery.com>
276
* configure.in: Update version to 2.18.50.
277
* configure: Regenerated.
279
2007-08-06 Paul Brook <paul@codesourcery.com>
281
* elf32-arm.c (elf32_arm_link_hash_entry): Add
282
plt_maybe_thumb_refcount.
283
(elf32_arm_link_hash_newfunc): Set plt_maybe_thumb_refcount.
284
(elf32_arm_copy_indirect_symbol): Ditto.
285
(elf32_arm_adjust_dynamic_symbol): Ditto.
286
(bfd_elf32_arm_process_before_allocation): Handle R_ARM_THM_JUMP24.
287
(arm_add_to_rel): Ditto.
288
(elf32_arm_final_link_relocate): Merge R_ARM_THM_JUMP24 with
289
R_ARM_THM_CALL. Handle R_ARM_THM_JUMP19 against a PLT stub.
290
(elf32_arm_gc_sweep_hook): Call check_use_blx. Update plt counts
291
for R_ARM_THM_JUMP24 and R_ARM_THM_JUMP19.
292
(elf32_arm_check_relocs): Update plt counts for R_ARM_THM_JUMP24
293
and R_ARM_THM_JUMP19.
294
(allocate_dynrelocs): Use plt_maybe_thumb_refcount.
295
(elf32_arm_finish_dynamic_symbol): Ditto.
296
(elf32_arm_output_plt_map): Ditto.
298
2007-08-06 Daniel Jacobowitz <dan@codesourcery.com>
300
* elf.c (rewrite_elf_program_header): Handle sections not sorted
302
(copy_elf_program_header): Likewise.
304
2007-08-04 H.J. Lu <hongjiu.lu@intel.com>
306
* elf-bfd.h (xvec_get_elf_backend_data): Add const.
308
* elfcode.h (elf_object_p): Use xvec_get_elf_backend_data.
309
* elfcore.h (elf_core_file_p): Likewise.
311
2007-08-02 H.J. Lu <hongjiu.lu@intel.com>
313
* coffcode.h (ALIGN_SET): Removed.
314
(ELIFALIGN_SET): Likewise.
315
(coff_set_alignment_hook): Handle IMAGE_SCN_ALIGN_128BYTES,
316
IMAGE_SCN_ALIGN_256BYTES, IMAGE_SCN_ALIGN_512BYTES,
317
IMAGE_SCN_ALIGN_1024BYTES, IMAGE_SCN_ALIGN_2048BYTES,
318
IMAGE_SCN_ALIGN_4096BYTES and IMAGE_SCN_ALIGN_8192BYTES.
320
2007-08-01 Michael Snyder <msnyder@access-company.com>
322
* vms-tir.c (new_section): Fix cut and paste error.
324
* aoutx.h (aout_link_add_symbols): Return if count is zero.
326
* elf.c (bfd_elf_print_symbol): Macro dereferences pointer, so
327
pointer must be non-null.
329
2007-08-01 Tristan Gingold <gingold@adacore.com>
331
* coffcode.h (coff_sort_func_alent): New function.
332
(coff_slurp_line_table): Sort line table if not already sorted.
334
2007-08-01 Jakub Jelinek <jakub@redhat.com>
336
* elf.c (_bfd_elf_map_sections_to_segments): Work around buggy
339
2007-08-01 Alan Modra <amodra@bigpond.net.au>
341
* aoutx.h (swap_ext_reloc_in): Set howto to NULL for unknown
343
(swap_std_reloc_in): Likewise.
344
(aout_link_input_section_std): Likewise. Return with an error
345
on unexpected relocation type.
346
(aout_link_input_section_ext): Likewise.
348
2007-08-01 Alan Modra <amodra@bigpond.net.au>
351
* aoutx.h (final_link): Write a zero in first word of
352
stringtab if no symbols rather than corrupting last byte
355
2007-07-31 Jakub Jelinek <jakub@redhat.com>
357
* elf.c (get_program_header_size): Adjacent loadable .note*
358
sections need just one PT_NOTE segment.
359
(_bfd_elf_map_sections_to_segments): Likewise.
361
2007-07-30 Michael Snyder <msnyder@access-company.com>
363
* coffgen.c (_bfd_coff_read_internal_relocs): Revert change of
364
2007-07-26. Buffer still in use, can't be freed.
366
2007-07-27 Michael Snyder <msnyder@access-company.com>
368
* cofflink.c (coff_link_add_symbols): Return if count is zero.
370
* coff-i386.c (coff_i386_rtype_to_howto): Off by one error.
372
* aoutx.h (slurp_symbol_table): Return if count == 0.
374
* coffgen.c (_bfd_coff_read_internal_relocs): Return if count is zero.
376
* elf32-i386.c (elf_i386_check_relocs): Check for null pointer.
378
2007-07-27 H.J. Lu <hongjiu.lu@intel.com>
380
* config.bfd (x86_64-*-mingw*): Don't include x86_64coff_vec.
382
2007-07-26 Michael Snyder <msnyder@access-company.com>
384
* coff-i386.c (coff_i386_rtype_to_howto): Guard against null.
386
* linker.c (bfd_section_already_linked_table_insert): Change
387
return type from void to boolean. Return FALSE on failure.
388
(_bfd_generic_section_already_linked): Test return value of
389
bfd_section_already_linked_table_insert, call fatal on error.
391
* elflink.c (_bfd_elf_section_already_linked): Test return value
392
of bfd_section_already_linked_table_insert, call fatal on error.
394
* libbfd-in.h (bfd_section_already_linked_table_insert): Update
395
return type to bfd_boolean.
397
* libbfd.h: Regenerate.
399
2007-07-26 Adam Nemet <anemet@caviumnetworks.com>
401
* archive.c (do_slurp_bsd_armap, do_slurp_coff_armap,
402
bfd_slurp_armap): Improve function comment.
404
2007-07-26 Michael Snyder <msnyder@access-company.com>
406
* linker.c (already_linked_newfunc): Check for NULL return from
409
* coffgen.c (fixup_symbol_value): Guard against null;
410
bfd_is_com_section will dereference the section pointer.
412
* syms.c (bfd_decode_symclass): Guard against NULL, since
413
bfd_is_com_section dereferences the pointer.
415
* srec.c (srec_scan): Check for EOF (critical because return value
416
will be used as array index).
418
* coffgen.c (_bfd_coff_read_internal_relocs): If internal_relocs
419
are not to be cached, free the temporary buffer.
421
* aoutx.h (slurp_reloc_table): Return TRUE if reloc_size == zero
424
* tekhex.c (first_phase): Check return value for null.
426
* elf.c (_bfd_elf_get_synthetic_symtab): Remove meaningless
429
2007-07-26 Alan Modra <amodra@bigpond.net.au>
431
* elflink.c (_bfd_elf_fix_symbol_flags): Remove unnecessary
432
check on dynobj. Remove bed shadow.
434
* srec.c (srec_get_section_contents): Return immediately on
435
count zero. Check that offset and count are within section.
436
* libbfd.c (_bfd_generic_get_section_contents): Check that
437
offset + count does not overflow.
439
* srec.c (srec_canonicalize_symtab): Don't alloc when symcount
440
is zero. Correct return value on error.
441
* mmo.c (mmo_canonicalize_symtab): Likewise.
442
* binary.c (binary_canonicalize_symtab) Correct return on error.
444
2007-07-26 Thiemo Seufer <ths@mips.com>
446
* bfd.c (_bfd_set_gp_value): Use abort instead of BFD_FAIL.
448
2007-07-26 Alan Modra <amodra@bigpond.net.au>
450
* reloc.c (bfd_generic_get_relocated_section_contents): Avoid
451
bfd_canonicalize_reloc call when bfd_get_reloc_upper_bound
452
says there are no relocs.
454
2007-07-26 Doug Kwan <dougkwan@google.com>
456
Speed up bfd_dwarf2_find_line.
457
* dwarf2.c (struct dwarf2_debug): Add new fields to support function
458
and variable info hash tables. Add last_comp_unit, info_hash_count,
459
funcinfo_hash_table, varinfo_hash_table, hash_units_head.
460
(struct comp_unit): Add prev_unit, cached.
461
(struct info_list_node, struct info_hash_entry,
462
struct info_hash_table): New.
463
(info_hash_table_newfunc, create_info_hash_table,
464
insert_info_hash_table, lookup_info_hash_table): New functions
465
implementing function and variable info hash tables.
466
(scan_unit_for_symbols): Add checks to make sure hash tables are
467
consistent with compilation units.
468
(comp_unit_maybe_decode_line_info): New function.
469
(comp_unit_find_line): Use comp_unit_maybe_decode_line_info.
470
(reverse_funcinfo_list, reverse_varinfo_list, comp_unit_hash_info,
471
info_hash_lookup_funcinfo, info_hash_lookup_varinfo,
472
stash_maybe_update_info_hash_table, stash_verify_info_hash_table,
473
stash_maybe_enable_info_hash_tables, stash_find_line_fast): New
474
functions. Make use of info hash tables to speed up
475
bfd_dwarf2_find_line.
476
(find_line): Use hash table for faster lookup if it is turned on.
477
Also add code to maintain bi-directional link in comp units.
479
2007-07-25 Michael Snyder <msnyder@access-company.com>
481
* coffgen.c (_bfd_coff_get_external_symbols): Nothing to be done
482
if size == 0; return and avoid possible null pointer issues.
484
2007-07-25 Alan Modra <amodra@bigpond.net.au>
486
* linker.c (generic_link_add_symbol_list): Warning fix.
488
2007-07-24 Michael Snyder <msnyder@access-company.com>
490
* opncls.c (bfd_make_writable): Check return from bfd_malloc.
492
* elflink.c (bfd_elf_final_link): Avoid redundant frees -- return
493
on bfd_malloc error rather than goto error_return.
495
2007-07-24 Alan Modra <amodra@bigpond.net.au>
497
* elflink.c (_bfd_elf_link_just_syms, merge_sections_remove_hook,
498
_bfd_elf_merge_sections, _bfd_elf_link_hash_newfunc,
499
_bfd_elf_link_hash_copy_indirect, _bfd_elf_link_hash_hide_symbol,
500
_bfd_elf_link_hash_table_init, _bfd_elf_link_hash_table_create,
501
bfd_elf_set_dt_needed_name, bfd_elf_get_dyn_lib_class,
502
bfd_elf_set_dyn_lib_class, bfd_elf_get_needed_list,
503
bfd_elf_get_runpath_list, bfd_elf_get_dt_soname,
504
bfd_elf_get_bfd_needed_list, struct elf_symbuf_symbol,
505
struct elf_symbuf_head, struct elf_symbol, elf_sort_elf_symbol,
506
elf_sym_name_compare, elf_create_symbuf,
507
bfd_elf_match_symbols_in_sections,
508
_bfd_elf_match_sections_by_type): Move to here..
509
* elf.c: ..from here.
511
2007-07-23 Richard Sandiford <richard@codesourcery.com>
513
* elflink.c (_bfd_elf_fix_symbol_flags): Only assert the type
514
of weakdef->root.type if weakdef has no regular definition.
516
2007-07-22 Adam Nemet <anemet@caviumnetworks.com>
518
* elfxx-mips.c (struct mips_elf_link_hash_table): Add new field
519
small_data_overflow_reported.
520
(_bfd_mips_elf_link_hash_table_create): Initialize it.
521
(_bfd_mips_elf_relocate_section) <bfd_reloc_overflow>: Report
522
small-data section overflow.
524
2007-07-19 Doug Kwan <dougkwan@google.com>
527
* dwarf2.c: (find_line) Do not dereference functionname_ptr if
530
2007-07-18 Bob Wilson <bob.wilson@acm.org>
532
* elf32-xtensa.c (xtensa_callback_required_dependence): Ignore
535
2007-07-18 Bob Wilson <bob.wilson@acm.org>
537
* elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Get section
538
vma and size for dynamic tags from the output sections.
540
2007-07-18 Alan Modra <amodra@bigpond.net.au>
542
* elf-bfd.h (struct sym_sec_cache): Delete "sec". Add "shndx".
543
* elf.c (bfd_section_from_r_symndx): Don't cache bfd section of
544
symbol. Instead cache ELF section index. Remove redundant
547
2007-07-15 Mike Frysinger <vapier@gentoo.org>
549
* trad-core.c (NBPG): If not defined, set to getpagesize().
551
2007-07-13 Roland McGrath <roland@redhat.com>
553
* elf-bfd.h (struct elf_obj_tdata): Revert last change.
554
Add after_write_object_contents, after_write_object_contents_info.
555
* elf.c (_bfd_elf_write_object_contents): Revert last change.
556
Instead, call after_write_object_contents if set.
558
2007-07-12 Kai Tietz <kai.tietz@onevision.com>
560
* bfd-in.h: (BFD_HOST_64BIT_LONG_LONG): New.
561
(BFD_HOSTPTR_T): Host pointer type for casting a
562
pointer to an integer type.
563
(bfd_hostptr_t): The typedef of BFD_HOSTPTR_T.
564
(sprintf_vma, fprintf_vma): Add support for long long prints.
565
* bfd-in2.h: Regenerate.
566
* configure.in: (BFD_HOST_64BIT_LONG_LONG): New.
567
(BFD_HOSTPTR_T): Host pointer type for casting a
568
pointer to an integer type. Default is "unsigned long".
569
(AC_CHECK_SIZEOF(void *)): New.
570
(host64): Set it if the pointer size is 8.
571
* configure: Regenerate.
572
* config.in: Add macro SIZEOF_VOID_P.
573
* coffcode.h: Replace host ptr type assuming "long" with
575
* coffgen.c: Likewise.
576
* elf-eh-frame.c: Likewise.
577
* peicode.h: Likewise.
579
2007-07-10 H.J. Lu <hongjiu.lu@intel.com>
581
* Makefile.in: Regenerated.
583
2007-07-10 H.J. Lu <hongjiu.lu@intel.com>
586
* simple.c (bfd_simple_get_relocated_section_content): Don't
587
apply relocation on executable and shared library.
589
2007-07-10 Nathan Sidwell <nathan@codesourcery.com>
591
* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate
592
copy relocs on vxworks.
594
2007-07-10 Alan Modra <amodra@bigpond.net.au>
596
* elf32-arm.c (elf32_arm_size_info): Init checksum_contents field.
597
* elf64-alpha.c (alpha_elf_size_info): Likewise.
598
* elf64-hppa.c (hppa64_elf_size_info): Likewise.
599
* elf64-mips.c (mips_elf64_size_info): Likewise.
600
* elf64-s390.c (s390_elf64_size_info): Likewise.
601
* elf64-sparc.c (elf64_sparc_size_info): Likewise.
603
2007-07-09 H.J. Lu <hongjiu.lu@intel.com>
605
* elflink.c (bfd_elf_record_link_assignment): Handle indirect
607
(_bfd_elf_merge_symbol): Properly update normal symbol when
608
overriding the versioned symbol from a dynamic library.
610
2007-07-09 Roland McGrath <roland@redhat.com>
612
* elf-bfd.h (struct elf_obj_tdata): Add members
613
emit_note_gnu_build_id and note_gnu_build_id_sec.
614
* elf.c (_bfd_id_note_section_size): New global function.
615
(read_hex, _bfd_elf_write_build_id_section): New static functions.
616
(_bfd_elf_write_object_contents): Call _bfd_elf_write_build_id_section
617
if emit_note_gnu_build_id is set.
618
* Makefile.am (elf.lo): Update dependencies.
620
* elf-bfd.h (struct elf_size_info): Add checksum_contents hook.
621
(bfd_elf32_checksum_contents, bfd_elf64_checksum_contents): Declare.
622
* elfcode.h (elf_checksum_contents): New macro and function.
623
(NAME(_bfd_elf,size_info)): Initialize checksum_contents hook.
625
2007-07-06 Michael Snyder <msnyder@access-company.com>
627
* elflink.c (elf_link_add_object_symbols): Return via
628
error_free_vers on "notice" failure.
630
2007-07-04 H.J. Lu <hongjiu.lu@intel.com>
632
* peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target
635
2007-07-04 Nick Clifton <nickc@redhat.com>
637
Import this patch from an internal tree:
639
2001-07-17 Richard Henderson <rth@redhat.com>
641
* elf32-mep.c (mep_final_link_relocate) [R_MEP_HI16S]: Correctly
642
compensate for high bit set in R_MEP_LOW16.
644
2007-07-03 Joseph Myers <joseph@codesourcery.com>
646
* elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from
647
input attributes if value has been copied.
649
2007-07-03 Nick Clifton <nickc@redhat.com>
651
* COPYING: Replace with GPLv3 text.
652
* aix386-core.c: Update copyright notice to refer to GPLv3.
653
* aix5ppc-core.c, aout0.c, aout32.c, aout64.c, aout-adobe.c,
654
aout-arm.c, aout-cris.c, aoutf1.h, aout-ns32k.c, aout-sparcle.c,
655
aout-target.h, aout-tic30.c, aoutx.h, archive64.c, archive.c,
656
archures.c, armnetbsd.c, bfd.c, bfd-in.h, bfdio.c, bfdwin.c,
657
binary.c, bout.c, cache.c, cf-i386lynx.c, cf-sparclynx.c,
658
cisco-core.c, coff64-rs6000.c, coff-alpha.c, coff-apollo.c,
659
coff-arm.c, coff-aux.c, coffcode.h, coffgen.c, coff-go32.c,
660
coff-h8300.c, coff-h8500.c, coff-i386.c, coff-i860.c, coff-i960.c,
661
coff-ia64.c, cofflink.c, coff-m68k.c, coff-m88k.c, coff-maxq.c,
662
coff-mcore.c, coff-mips.c, coff-or32.c, coff-pmac.c, coff-ppc.c,
663
coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c,
664
coff-svm68k.c, coffswap.h, coff-tic30.c, coff-tic4x.c,
665
coff-tic54x.c, coff-tic80.c, coff-u68k.c, coff-w65.c,
666
coff-we32k.c, coff-x86_64.c, coff-z80.c, coff-z8k.c, corefile.c,
667
cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c, cpu-bfin.c,
668
cpu-cr16.c, cpu-cr16c.c, cpu-cris.c, cpu-crx.c, cpu-d10v.c,
669
cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c, cpu-h8300.c,
670
cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c, cpu-i860.c,
671
cpu-i960.c, cpu-ia64.c, cpu-ia64-opc.c, cpu-ip2k.c, cpu-iq2000.c,
672
cpu-m10200.c, cpu-m10300.c, cpu-m32c.c, cpu-m32r.c, cpu-m68hc11.c,
673
cpu-m68hc12.c, cpu-m68k.c, cpu-m88k.c, cpu-maxq.c, cpu-mcore.c,
674
cpu-mep.c, cpu-mips.c, cpu-mmix.c, cpu-msp430.c, cpu-mt.c,
675
cpu-ns32k.c, cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c,
676
cpu-powerpc.c, cpu-rs6000.c, cpu-s390.c, cpu-score.c, cpu-sh.c,
677
cpu-sparc.c, cpu-spu.c, cpu-tic30.c, cpu-tic4x.c, cpu-tic54x.c,
678
cpu-tic80.c, cpu-v850.c, cpu-vax.c, cpu-w65.c, cpu-we32k.c,
679
cpu-xc16x.c, cpu-xstormy16.c, cpu-xtensa.c, cpu-z80.c, cpu-z8k.c,
680
demo64.c, doc/chew.c, dwarf1.c, dwarf2.c, ecoff.c, ecofflink.c,
681
ecoffswap.h, efi-app-ia32.c, efi-app-ia64.c, efi-app-x86_64.c,
682
elf32-am33lin.c, elf32-arc.c, elf32-arm.c, elf32-avr.c,
683
elf32-avr.h, elf32-bfin.c, elf32.c, elf32-cr16.c, elf32-cr16c.c,
684
elf32-cris.c, elf32-crx.c, elf32-d10v.c, elf32-d30v.c,
685
elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-gen.c,
686
elf32-h8300.c, elf32-hppa.c, elf32-hppa.h, elf32-i370.c,
687
elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
688
elf32-iq2000.c, elf32-m32c.c, elf32-m32r.c, elf32-m68hc11.c,
689
elf32-m68hc12.c, elf32-m68hc1x.c, elf32-m68hc1x.h, elf32-m68k.c,
690
elf32-m88k.c, elf32-mcore.c, elf32-mep.c, elf32-mips.c,
691
elf32-msp430.c, elf32-mt.c, elf32-openrisc.c, elf32-or32.c,
692
elf32-pj.c, elf32-ppc.c, elf32-ppc.h, elf32-s390.c, elf32-score.c,
693
elf32-sh64.c, elf32-sh64-com.c, elf32-sh64.h, elf32-sh.c,
694
elf32-sh-symbian.c, elf32-sparc.c, elf32-spu.c, elf32-spu.h,
695
elf32-v850.c, elf32-vax.c, elf32-xc16x.c, elf32-xstormy16.c,
696
elf32-xtensa.c, elf64-alpha.c, elf64.c, elf64-gen.c, elf64-hppa.c,
697
elf64-hppa.h, elf64-mips.c, elf64-mmix.c, elf64-ppc.c,
698
elf64-ppc.h, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
699
elf64-x86-64.c, elf-attrs.c, elf-bfd.h, elf.c, elfcode.h,
700
elfcore.h, elf-eh-frame.c, elf-hppa.h, elflink.c, elf-m10200.c,
701
elf-m10300.c, elfn32-mips.c, elf-strtab.c, elf-vxworks.c,
702
elf-vxworks.h, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
703
elfxx-sparc.c, elfxx-sparc.h, elfxx-target.h, epoc-pe-arm.c,
704
epoc-pei-arm.c, format.c, freebsd.h, gen-aout.c, genlink.h,
705
hash.c, host-aout.c, hosts/alphavms.h, hp300bsd.c, hp300hpux.c,
706
hppabsd-core.c, hpux-core.c, i386aout.c, i386bsd.c, i386dynix.c,
707
i386freebsd.c, i386linux.c, i386lynx.c, i386mach3.c, i386msdos.c,
708
i386netbsd.c, i386os9k.c, ieee.c, ihex.c, init.c, irix-core.c,
709
libaout.h, libbfd.c, libbfd-in.h, libcoff-in.h, libecoff.h,
710
libhppa.h, libieee.h, libnlm.h, liboasys.h, libpei.h, libxcoff.h,
711
linker.c, lynx-core.c, m68k4knetbsd.c, m68klinux.c, m68knetbsd.c,
712
m88kmach3.c, m88kopenbsd.c, mach-o.c, mach-o.h, mach-o-target.c,
713
mep-relocs.pl, merge.c, mipsbsd.c, mmo.c, netbsd-core.c, netbsd.h,
714
newsos3.c, nlm32-alpha.c, nlm32.c, nlm32-i386.c, nlm32-ppc.c,
715
nlm32-sparc.c, nlm64.c, nlm.c, nlmcode.h, nlmswap.h, nlm-target.h,
716
ns32k.h, ns32knetbsd.c, oasys.c, opncls.c, osf-core.c,
717
pc532-mach.c, pdp11.c, pe-arm.c, pe-arm-wince.c, pef.c, pef.h,
718
pef-traceback.h, pe-i386.c, pei-arm.c, pei-arm-wince.c, peicode.h,
719
pei-i386.c, pei-mcore.c, pei-mips.c, pei-ppc.c, pei-sh.c,
720
pei-x86_64.c, pe-mcore.c, pe-mips.c, pe-ppc.c, pe-sh.c,
721
pe-x86_64.c, peXXigen.c, ppcboot.c, ptrace-core.c, reloc16.c,
722
reloc.c, riscix.c, rs6000-core.c, sco5-core.c, section.c,
723
simple.c, som.c, som.h, sparclinux.c, sparclynx.c, sparcnetbsd.c,
724
srec.c, stabs.c, stab-syms.c, stamp-h.in, sunos.c, syms.c,
725
sysdep.h, targets.c, targmatch.sed, tekhex.c, ticoff.h,
726
trad-core.c, vax1knetbsd.c, vaxbsd.c, vaxnetbsd.c, versados.c,
727
vms.c, vms-gsd.c, vms.h, vms-hdr.c, vms-misc.c, vms-tir.c,
728
xcofflink.c, xcoff-target.h, xsym.c, xsym.h, xtensa-isa.c,
729
xtensa-modules.c: Likewise.
730
* elf32-sh-relocs.h: Add copyright notice.
731
* hosts/alphalinux.h, hosts/decstation.h, hosts/delta68.h,
732
hosts/dpx2.h, hosts/hp300bsd.h, hosts/i386bsd.h,
733
hosts/i386linux.h, hosts/i386mach3.h, hosts/i386sco.h,
734
hosts/i860mach3.h, hosts/m68kaux.h, hosts/m68klinux.h,
735
hosts/m88kmach3.h, hosts/mipsbsd.h, hosts/mipsmach3.h,
736
hosts/news.h, hosts/news-mips.h, hosts/pc532mach.h,
737
hosts/riscos.h, hosts/symmetry.h, hosts/tahoe.h, hosts/vaxbsd.h,
738
hosts/vaxlinux.h, hosts/vaxult2.h, hosts/vaxult.h: Likewise.
739
* bfd-in2.h, libbfd.h, libcoff.h: Regenerate.
741
2007-07-02 Joseph Myers <joseph@codesourcery.com>
743
* elfxx-mips.c (mips_elf_calculate_relocation): Handle
744
R_MIPS_TLS_DTPREL32 and R_MIPS_TLS_DTPREL64.
745
* elf64-mips.c (mips_elf64_howto_table_rela): Support
748
2007-07-02 Alan Modra <amodra@bigpond.net.au>
750
* Makefile.am: Run "make dep-am".
751
* Makefile.in: Regenerate.
752
* aclocal.m4: Regenerate.
753
* config.in: Regenerate.
754
* po/SRC-POTFILES.in: Regenerate.
755
* po/bfd.pot: Regenerate.
757
2007-07-02 Alan Modra <amodra@bigpond.net.au>
759
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Tidy
760
symsec != NULL tests.
762
2007-07-02 Alan Modra <amodra@bigpond.net.au>
765
* elf.c (assign_file_positions_for_load_sections): Adjust lma
768
2007-06-30 H.J. Lu <hongjiu.lu@intel.com>
770
* aclocal.m4: Regenerated.
771
* Makefile.in: Likewise.
773
2007-06-29 Joseph Myers <joseph@codesourcery.com>
775
* elf32-ppc.c (ppc_elf_merge_obj_attributes): New.
776
(ppc_elf_merge_private_bfd_data): Call it.
778
2007-06-29 Joseph Myers <joseph@codesourcery.com>
780
* elfxx-mips.c (mips_elf_merge_obj_attributes): New.
781
(_bfd_mips_elf_merge_private_bfd_data): Call it.
783
2007-06-29 Joseph Myers <joseph@codesourcery.com>
786
* Makefile.am (BFD32_BACKENDS): Add elf-attrs.lo.
787
(BFD32_BACKENDS_CFILES): Add elf-attrs.c.
788
(elf-attrs.lo): Generate dependencies.
789
* Makefile.in: Regenerate.
790
* configure.in (elf): Add elf-attrs.lo.
791
* configure: Regenerate.
792
* elf-bfd.h (struct elf_backend_data): Add entries for object
794
(NUM_KNOWN_OBJ_ATTRIBUTES, obj_attribute, obj_attribute_list,
795
OBJ_ATTR_PROC, OBJ_ATTR_GNU, OBJ_ATTR_FIRST, OBJ_ATTR_LAST,
796
Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility):
798
(struct elf_obj_tdata): Add entries for object attributes.
799
(elf_known_obj_attributes, elf_other_obj_attributes,
800
elf_known_obj_attributes_proc, elf_other_obj_attributes_proc):
802
(bfd_elf_obj_attr_size, bfd_elf_set_obj_attr_contents,
803
bfd_elf_get_obj_attr_int, bfd_elf_add_obj_attr_int,
804
bfd_elf_add_proc_attr_int, bfd_elf_add_obj_attr_string,
805
bfd_elf_add_proc_attr_string, bfd_elf_add_obj_attr_compat,
806
bfd_elf_add_proc_attr_compat, _bfd_elf_attr_strdup,
807
_bfd_elf_copy_obj_attributes, _bfd_elf_obj_attrs_arg_type,
808
_bfd_elf_parse_attributes, _bfd_elf_merge_object_attributes): New.
809
* elf.c (_bfd_elf_copy_private_bfd_data): Copy object attributes.
810
(bfd_section_from_shdr): Handle attributes sections.
811
* elflink.c (bfd_elf_final_link): Handle attributes sections.
812
* elfxx-target.h (elf_backend_obj_attrs_vendor,
813
elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type,
814
elf_backend_obj_attrs_section_type): New.
816
* elf32-arm.c (NUM_KNOWN_ATTRIBUTES, aeabi_attribute,
817
aeabi_attribute_list): Remove.
818
(struct elf32_arm_obj_tdata): Remove object attributes fields.
819
(check_use_blx, bfd_elf32_arm_set_vfp11_fix, using_thumb2,
820
elf32_arm_copy_private_bfd_data, elf32_arm_merge_eabi_attributes):
821
Update for new object attributes interfaces.
822
(uleb128_size, is_default_attr, eabi_attr_size,
823
elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute,
824
elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link,
825
elf32_arm_new_eabi_attr, elf32_arm_get_eabi_attr_int,
826
elf32_arm_add_eabi_attr_int, attr_strdup,
827
elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat,
828
copy_eabi_attributes, elf32_arm_parse_attributes): Remove. Moved
829
to generic code in elf-attrs.c.
830
(elf32_arm_obj_attrs_arg_type): New.
831
(elf32_arm_fake_sections): Do not handle .ARM.attributes.
832
(elf32_arm_section_from_shdr): Do not handle SHT_ARM_ATTRIBUTES.
833
(bfd_elf32_bfd_final_link): Remove.
834
(elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section,
835
elf_backend_obj_attrs_arg_type,
836
elf_backend_obj_attrs_section_type): New.
837
* elf32-bfin.c (bfin_elf_copy_private_bfd_data): Copy object
839
* elf32-frv.c (frv_elf_copy_private_bfd_data): Likewise.
840
* elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Likewise.
841
* elf32-mep.c (mep_elf_copy_private_bfd_data): Likewise.
842
* elf32-mt.c (mt_elf_copy_private_bfd_data): Likewise.
843
* elf32-sh.c (sh_elf_copy_private_data): Likewise.
844
* elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
846
2007-06-29 Paul Brook <paul@codesourcery.com>
848
* elf32-arm.c (bfd_elf32_arm_process_before_allocation): Suppress
849
call veneers for call relocations against undefined symbols.
850
(elf32_arm_final_link_relocate): Turn call to undefined symbol
851
into a jump to the next instruction.
853
2007-06-29 Michael Snyder <msnyder@access-company.com>
855
* bfd.c (bfd_demangle): Plug memory leak (Coverity).
857
2007-06-29 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
859
* Makefile.am: Add cr16 related entry
860
* Makefile.in: Regenerate
861
* archures.c: Add bfd_cr16_arch
862
* bfd-in2.h: Regenerate
863
* config.bfd: Add cr16-elf
864
* configure.in: Add bfd_elf32_cr16_vec
865
* configure: Regenerate.
866
* targets.c: Added cr16 related information
867
* cpu-cr16.c: New file.
868
* elf32-cr16.c: New file.
869
* reloc.c: Added cr16 relocs.
871
2007-06-29 Alan Modra <amodra@bigpond.net.au>
873
* elflink.c (_bfd_elf_link_assign_sym_version): Improve error
874
message for undefined version nodes.
875
(elf_gc_sweep): Don't warn when zero size sections are
878
2007-06-29 Nathan Froyd <froydnj@codesourcery.com>
880
* elf32-ppc.c (ppc_elf_info_to_howto): Check for invalid relocation
883
2007-06-29 Alan Modra <amodra@bigpond.net.au>
885
* elf32-spu.c (spu_elf_fake_sections): New function.
886
(elf_backend_fake_sections): Define.
888
2007-06-29 Alan Modra <amodra@bigpond.net.au>
890
* elf.c (assign_file_positions_for_load_sections): Use elf
891
section header sh_size rather than bfd section size, simplifying
894
2007-06-29 Alan Modra <amodra@bigpond.net.au>
897
* elf.c (assign_file_positions_for_load_sections): Ensure bss
898
segments meet gABI alignment requirements. Don't allocate
899
file space for bss sections in a segment also containing file
902
2007-06-27 Alan Modra <amodra@bigpond.net.au>
904
* bfd.c (struct bfd): Rename "next" to "archive_next".
905
* archive.c: Rename uses throughout file.
906
* archive64.c: Likewise.
907
* coff-rs6000.c: Likewise.
910
* bfd-in2.h: Regenerate.
912
* elf32-ppc.c (ppc_elf_select_plt_layout): Properly iterate over
914
* elf32-spu.c (spu_elf_create_sections): Likewise.
916
2007-06-26 H.J. Lu <hongjiu.lu@intel.com>
918
* dwarf2.c (find_line): New. Contains the duplicated code from:
919
(_bfd_dwarf2_find_nearest_line): Use it.
920
(_bfd_dwarf2_find_line): Use it.
922
2007-06-26 Joseph Myers <joseph@codesourcery.com>
924
* elf32-arm.c (copy_eabi_attributes): Copy type of attributes.
926
2007-06-25 Richard Sandiford <richard@codesourcery.com>
928
* elfxx-mips.c (mips_elf_calculate_relocation): Allow local stubs
929
to be used for calls from MIPS16 code.
931
2007-06-23 Andreas Schwab <schwab@suse.de>
933
* configure.in (--with-separate-debug-dir): New option.
934
* configure: Regenerate.
935
* Makefile.am (dwarf2.lo): Add rule to pass DEBUGDIR.
936
* Makefile.in: Regenerate.
937
* dwarf2.c (_bfd_dwarf2_find_nearest_line): Pass DEBUGDIR to
938
bfd_follow_gnu_debuglink.
939
(_bfd_dwarf2_find_line): Likewise.
941
2007-06-22 Nick Clifton <nickc@redhat.com>
943
* dwarf2.c: Add support for reading in debug information via a
944
.gnu_debuglink section:
945
(struct dwarf2_debug): Add bfd field to record the bfd containing
947
(parse_comp_unit): Remove ABFD parameter. Instead use the bfd
948
field in the dwarf2_debug structure.
949
(_bfd_dwarf2_find_nearest_line): If a debug info section could not
950
be found in the current bfd call bfd_follow_gnu_debuglink to see
951
if another file contains the debug information. If it does, open
953
(_bfd_dwarf2_find_line): Likewise.
955
2007-06-19 H.J. Lu <hongjiu.lu@intel.com>
958
* elfxx-ia64.c (sort_dyn_sym_info): Keep the valid got_offset
959
when removing duplicated entries.
960
(get_dyn_sym_info): Initialize the got_offset field to -1.
961
Update call to sort_dyn_sym_info.
962
(elfNN_ia64_relocate_section): Call sort_dyn_sym_info to sort
963
array of addend and remove duplicates.
965
2007-06-18 H.J. Lu <hongjiu.lu@intel.com>
967
* libpei.h (_bfd_XXi_final_link_postscript): Remove
969
(bfd_target_pei_p): New.
970
(bfd_target_pei_arch): New
971
(bfd_target_efi_p): Likewise.
972
(bfd_target_efi_arch): New
973
(bfd_pe_executable_p): Use bfd_target_pei_p and
976
* peicode.h (arch_type): New enum.
977
(pe_arch): New function.
978
(pe_bfd_object_p): Don't match PE/EFI target with EFI/PE file
979
if there is an EFI/PE target.
981
2007-06-14 H.J. Lu <hongjiu.lu@intel.com>
983
* Makefile.am (ACLOCAL_AMFLAGS): Add -I . -I ../config.
985
* acinclude.m4: Don't include m4 files. Remove libtool
988
* Makefile.in: Regenerated.
989
* aclocal.m4: Likewise.
990
* configure: Likewise.
992
2007-06-11 Sterling Augustine <sterling@tensilica.com>
993
Bob Wilson <bob.wilson@acm.org>
995
* elf32-xtensa.c (extend_ebb_bounds_forward): Use renamed
996
XTENSA_PROP_NO_TRANSFORM flag instead of XTENSA_PROP_INSN_NO_TRANSFORM.
997
(extend_ebb_bounds_backward, compute_text_actions): Likewise.
998
(compute_ebb_proposed_actions, coalesce_shared_literal): Likewise.
999
(xtensa_get_property_predef_flags): Likewise.
1000
(compute_removed_literals): Pass new arguments to is_removable_literal.
1001
(is_removable_literal): Add sec, prop_table and ptblsize arguments.
1002
Do not remove literal if the NO_TRANSFORM property flag is set.
1004
2007-05-31 Richard Sandiford <rsandifo@nildram.co.uk>
1006
* elfxx-mips.c (mips_elf_initialize_tls_index): When processing a
1007
type (3) single-GOT entry, read tls_type from the hash table entry
1008
rather than the GOT entry.
1010
2007-06-01 Alan Modra <amodra@bigpond.net.au>
1012
* simple.c (bfd_simple_get_relocated_section_contents): Init
1015
2007-05-30 Alan Modra <amodra@bigpond.net.au>
1017
* elf.c (elf_fake_sections): Adjust test for SHT_NOBITS sections
1018
created by objcopy --only-keep-debug.
1019
(_bfd_elf_init_private_section_data): Only change elf_section_type
1022
* elf.c (assign_file_positions_for_load_sections): Correct sh_type
1023
to SHT_NOBITS earlier. Base actions in rest of function on sh_type
1024
and sh_flags instead of bfd section flags. Delete voff and code
1025
keeping nobits segments aligned.
1027
2007-05-25 Eric Christopher <echristo@apple.com>
1029
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame):
1030
Check that sym_sec isn't NULL before accessing.
1032
2007-05-24 Steve Ellcey <sje@cup.hp.com>
1034
* Makefile.in: Regnerate.
1035
* configure: Regenerate.
1036
* aclocal.m4: Regenerate.
1037
* doc/Makefile.in: Regenerate.
1039
2007-05-22 Paul Brook <paul@codesourcery.com>
1041
* elf32-arm.c (output_arch_syminfo): Replace plt_shndx and plt_offset
1042
with sec and sec_shndx.
1043
(elf32_arm_ouput_plt_map_sym): Use them.
1044
(elf32_arm_output_arch_local_syms): Output mapping symbols for
1047
2007-05-18 Paul Brook <paul@codesourcery.com>
1049
* elf32-arm.c (ARM2THUMB_V5_STATIC_GLUE_SIZE): Define.
1050
(a2t1v5_ldr_insn, a2t1v5_ldr_insn): New.
1051
(record_arm_to_thumb_glue): Add v5t non-pic glue.
1052
(elf32_arm_create_thumb_stub): Ditto.
1054
2007-05-16 H.J. Lu <hongjiu.lu@intel.com>
1055
Alan Modra <amodra@bigpond.net.au>
1057
* elflink.c (_bfd_elf_adjust_dynamic_copy): Align dynamic bss
1058
section to the minimum alignment.
1060
2007-05-15 H.J. Lu <hongjiu.lu@intel.com>
1061
Alan Modra <amodra@bigpond.net.au>
1064
* elf-bfd.h (_bfd_elf_adjust_dynamic_copy): New.
1065
* elflink.c (_bfd_elf_adjust_dynamic_copy): New.
1067
* elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Call
1068
_bfd_elf_adjust_dynamic_copy to adjust for the copy in dynamic
1070
* elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
1071
* elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
1072
* elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
1073
* elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
1074
* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
1075
* elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
1076
* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
1077
* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
1078
* elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
1079
* elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
1080
* elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
1081
* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
1082
* elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
1083
* elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
1084
* elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise.
1085
* elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Likewise.
1086
* elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
1088
2007-05-15 Richard Sandiford <richard@codesourcery.com>
1090
* elfxx-mips.c (mips_elf_create_local_got_entry): Remove
1091
input_section argument. Create .rela.dyn relocations against
1092
symbol 0 rather than the section symbol.
1093
(mips_elf_local_got_index): Remove input_section argument.
1094
Update call to mips_elf_create_local_got_entry.
1095
(mips_elf_got_page, mips_elf_got16_entry): Likewise.
1096
(mips_elf_calculate_relocation): Update calls to
1097
mips_elf_local_got_index, mips_elf_got16_entry and mips_elf_got_page.
1099
2007-05-15 Mark Shinwell <shinwell@codesourcery.com>
1101
* elf32-arm.c (elf32_arm_final_link_relocate): Correctly
1102
handle the Thumb-2 JUMP19 relocation.
1104
2007-05-15 Alan Modra <amodra@bigpond.net.au>
1107
* elf.c (elf_fake_sections): Don't allow backend to change
1108
SHT_NOBITS if called for strip/objcopy --only-keep-debug.
1109
* elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove similar
1112
2007-05-14 Alan Modra <amodra@bigpond.net.au>
1114
* elf.c (bfd_elf_string_from_elf_section): Return NULL on
1116
(bfd_elf_get_str_section): Likewise.
1118
2007-05-12 Alan Modra <amodra@bigpond.net.au>
1121
* elf-eh-frame.c (struct cie): Add "local_personality". Make
1122
"personality" a union.
1123
(cie_eq): Compare local_personality too. Adjust personality
1125
(_bfd_elf_discard_section_eh_frame): Check binding on personality
1126
reloc sym to allow for bad symtab. Use stashed local syms rather
1127
than reading personality local sym. Handle discarded sections.
1129
2007-05-12 Alan Modra <amodra@bigpond.net.au>
1131
* elf32-spu.c (elf_howto_table): Add howto for R_SPU_ADDR16X.
1133
2007-05-11 Alan Modra <amodra@bigpond.net.au>
1135
* elf32-ppc.h (ppc_elf_select_plt_layout): Update prototype.
1136
(enum ppc_elf_plt_type): Move from..
1137
* elf32-ppc.c: ..here.
1138
(struct ppc_elf_obj_tdata): Add makes_plt_call and has_rel16.
1139
(struct ppc_elf_link_hash_table): Reorder. Add old_bfd. Delete
1140
can_use_new_plt. Make is_vxworks a bitfield.
1141
(ppc_elf_link_hash_table_create): Don't clear is_vxworks (again).
1142
(ppc_elf_check_relocs): Update setting of reloc flags. Set old_bfd.
1143
(ppc_elf_select_plt_layout): Modify parameters. Use bfd reloc
1144
flags to better detect object files needing old bss-style plt.
1145
Allow secure plt to be used without rel16 relocs being detected.
1146
Warn if secure plt request cannot be allowed.
1148
2007-05-11 Alan Modra <amodra@bigpond.net.au>
1150
* reloc.c (BFD_RELOC_SPU_PPU32, BFD_RELOC_SPU_PPU64): Define.
1151
* elf-bfd.h (struct elf_backend_data): Change return type of
1152
elf_backend_relocate_section to int.
1153
* elf32-spu.c (elf_howto_table): Add howtos for R_SPU_PPU32 and
1155
(spu_elf_bfd_to_reloc_type): Convert new relocs.
1156
(spu_elf_count_relocs): New function.
1157
(elf_backend_count_relocs): Define.
1158
(spu_elf_relocate_section): Arrange to emit R_SPU_PPU32 and
1160
* elflink.c (elf_link_input_bfd): Emit relocs if relocate_section
1162
* bfd-in2.h: Regenerate.
1163
* libbfd.h: Regenerate.
1165
2007-05-10 Richard Sandiford <richard@codesourcery.com>
1167
* elf32-arm.c (elf32_arm_check_relocs): Don't create PLT entries
1168
for R_ARM_ABS12 relocs.
1169
(elf32_arm_finish_dynamic_symbol): Fix the loop that creates
1170
non-shared VxWorks PLT entries.
1172
2007-05-11 Alan Modra <amodra@bigpond.net.au>
1175
* elf-eh-frame.c (struct cie): Make "personality" a bfd_vma.
1176
(_bfd_elf_discard_section_eh_frame): Handle local syms on
1177
personality relocation.
1179
2007-05-10 Richard Sandiford <richard@codesourcery.com>
1181
* elf.c (assign_file_positions_for_load_sections): Use p_memsz
1182
rather than p_filesz to calculate the LMA of the end of a segment.
1184
2007-05-10 Jakub Jelinek <jakub@redhat.com>
1186
* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't do copyreloc
1187
processing if symbol is defined in the executable.
1189
2007-05-10 Alexandre Oliva <aoliva@redhat.com>
1191
* elf32-frv.c (_frvfdpic_check_discarded_relocs): New.
1192
(frvfdpic_elf_discard_info): New.
1193
(elf_backend_discard_info): Define for FDPIC.
1195
2007-05-09 Mark Shinwell <shinwell@codesourcery.com>
1197
* elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Don't
1198
attempt to scan if the bfd doesn't correspond to an ELF image.
1199
(bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
1201
2007-05-08 Alexandre Oliva <aoliva@redhat.com>
1203
* elf32-frv.c (elf32_frv_relocate_section): Discard dynamic relocs
1204
for which _bfd_elf_section_offset returns -1.
1206
2007-05-08 Alan Modra <amodra@bigpond.net.au>
1208
* elf32-spu.c (spu_elf_size_stubs): Use "void *" for psyms.
1209
(mark_functions_via_relocs): Likewise.
1211
2007-05-07 Alan Modra <amodra@bigpond.net.au>
1213
* elflink.c (bfd_elf_final_link): Correct reloc handling for
1214
elf_backend_count_relocs.
1215
(bfd_elf_discard_info): Print an error if we can't read syms.
1217
2007-05-07 Alan Modra <amodra@bigpond.net.au>
1219
* elf32-spu.c (spu_elf_reloc_type_lookup): Return NULL on
1221
(spu_elf_gc_mark_hook, spu_elf_section_processing): Delete functions.
1222
(elf_backend_gc_mark_hook, elf_backend_section_processing): Don't
1225
2007-05-07 Alan Modra <amodra@bigpond.net.au>
1227
* elf.c (assign_file_positions_for_load_sections): Don't check
1230
2007-05-04 H.J. Lu <hongjiu.lu@intel.com>
1232
* elflink.c (elf_link_sort_relocs): Return if both .rela.dyn
1233
and .rel.dyn aren't present.
1235
2007-05-04 Nick Clifton <nickc@redhat.com>
1237
* elflink.c (elf_link_sort_relocs): If both .rela.dyn and .rel.dyn
1238
sections are present examine the indirect sections in an attempt
1239
to compute the correct relocation size. If there is any
1240
ambiguity, produce an error and refuse to sort.
1242
2007-05-03 Sandra Loosemore <sandra@codesourcery.com>
1244
* elf32-arm.c (allocate_dynrelocs): Fix typo in comment.
1246
2007-05-03 Vincent Riviere <vincent.riviere@freesbee.fr>
1247
Nick Clifton <nickc@redhat.com>
1250
* aoutx.h (swap_std_reloc_out): Treat relocs against weak symbols
1251
in the same way as relocs against external symbols.
1253
2007-05-02 Alan Modra <amodra@bigpond.net.au>
1255
* elf.c (assign_file_positions_for_load_sections): Set sh_offset
1256
here. Set sh_type to SHT_NOBITS if we won't be allocating
1257
file space. Don't bump p_memsz for non-alloc sections. Adjust
1258
section-in-segment check.
1259
(assign_file_positions_for_non_load_sections): Don't set sh_offset
1260
here for sections that have already been handled above.
1262
2007-04-30 Alan Modra <amodra@bigpond.net.au>
1264
* elf32-spu.c (struct spu_link_hash_table): Add stack_analysis
1265
and emit_stack_syms bitfields.
1266
(get_sym_h): Read all symbols if stack analysis will be done.
1267
(spu_elf_create_sections): Add stack_analysis and emit_stack_syms
1268
params, and stash in hash table.
1269
(is_hint): Split off from..
1270
(is_branch): ..here. Adjust callers.
1271
(spu_elf_size_stubs): Add stack_analysis param. Arrange to read
1273
(write_one_stub): Fix mem leak.
1274
(find_function_stack_adjust): New function.
1275
(sort_syms_syms, sort_syms_psecs): New vars.
1276
(sort_syms): New function.
1277
(struct call_info, struct function_info): New.
1278
(struct spu_elf_stack_info): New.
1279
(alloc_stack_info, maybe_insert_function, func_name): New functions.
1280
(is_nop, insns_at_end, check_function_ranges): Likewise.
1281
(find_function, insert_callee, mark_functions_via_relocs): Likewise.
1282
(pasted_function, interesting_section, discover_functions): Likewise.
1283
(mark_non_root, call_graph_traverse, build_call_tree): Likewise.
1284
(sum_stack, spu_elf_stack_analysis, spu_elf_final_link): Likewise.
1285
(bfd_elf32_bfd_final_link): Define.
1286
* elf32-spu.h (struct _spu_elf_section_data): Add stack_info field.
1287
(spu_elf_create_sections, spu_elf_size_stubs): Update prototypes.
1289
2007-04-28 Sergey Rogozhkin <rogozhkin@niisi.msk.ru>
1291
* elfxx-mips.c (mips_elf_create_dynamic_relocation): Don't access
1292
memory which we might not own.
1294
2007-04-27 Bob Wilson <bob.wilson@acm.org>
1296
* elf32-xtensa.c (elf_xtensa_make_sym_local): Restore deleted function.
1297
(elf_xtensa_hide_symbol, elf_backend_hide_symbol): Likewise.
1298
(elf_xtensa_allocate_dynrelocs): Use elf_xtensa_make_sym_local.
1300
2007-04-27 Bob Wilson <bob.wilson@acm.org>
1302
* elf32-xtensa.c (xtensa_read_table_entries): Step through table
1303
contents and relocs in parallel.
1305
2007-04-27 Bob Wilson <bob.wilson@acm.org>
1307
* elf32-xtensa.c (relax_property_section): Remove extra irel increment.
1309
2007-04-27 Alan Modra <amodra@bigpond.net.au>
1311
* cpu-rs6000.c: Write Mimi's name in ASCII.
1312
* coff-rs6000.c: Likewise.
1313
* rs6000-core.c: Likewise.
1315
2007-04-27 Alan Modra <amodra@bigpond.net.au>
1317
* sysdep.h: Include config.h first.
1318
Many files: Include sysdep.h before bfd.h.
1319
* Makefile.am: Run "make dep-am".
1320
* Makefile.in: Regenerate.
1322
2007-04-25 Alan Modra <amodra@bigpond.net.au>
1324
* sysdep.h: Revert last change.
1326
2007-04-24 Nick Clifton <nickc@redhat.com>
1328
* coffcode.h (coff_slurp_reloc_table): Initialise dst.r_offset.
1329
* coff-m68k.c (m68kcoff_rtype_to_howto): Initialize relent.howto.
1331
2007-04-24 Alan Modra <amodra@bigpond.net.au>
1333
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Warn if
1334
eh_frame_hdr table won't be created.
1336
2007-04-24 Alan Modra <amodra@bigpond.net.au>
1338
* acinclude.m4: Include config/stdint.m4.
1339
* configure.in: Invoke GCC_HEADER_STDINT.
1340
* sysdep.h: Don't include ansidecl.h here.
1341
* configure: Regenerate.
1342
* config.in: Regenerate.
1343
* Makefile.in: Regenerate.
1345
2007-04-23 Nathan Sidwell <nathan@codesourcery.com>
1347
* archures.c (bfd_mach_mcf_isa_c, bfd_mach_mcf_isa_c_mac,
1348
bfd_mach_mcf_isa_c_emac): New.
1349
* elf32-m68k.c (ISAC_PLT_ENTRY_SIZE, elf_isac_plt0_entry,
1350
elf_isac_plt_entry, elf_isac_plt_info): New.
1351
(elf32_m68k_object_p): Add ISA_C.
1352
(elf32_m68k_print_private_bfd_data): Print ISA_C.
1353
(elf32_m68k_get_plt_info): Detect ISA_C.
1354
* cpu-m68k.c (arch_info): Add ISAC.
1355
(m68k_arch_features): Likewise,
1356
(bfd_m68k_compatible): ISAs B & C are not compatible.
1358
2007-04-21 Nick Clifton <nickc@redhat.com>
1360
* ecoff.c (_bfd_ecoff_write_armap): Initialise rehash.
1361
(ecoff_link_add_archive_symbols): Likewise.
1362
* coff-m68k.c (m68kcoff_common_addend_rtype_to_howto): Initialise
1364
* ieee.c (parse_int): Initialise x.
1365
(must_parse_int): Initialise result.
1366
(ieee_slurp_external_symbols): Initialise value.
1368
2007-04-21 Alan Modra <amodra@bigpond.net.au>
1370
* config.bfd (spu-*-elf): Delete targ_selvecs.
1372
2007-04-19 Nick Clifton <nickc@redhat.com>
1374
* coffcode.h (coff_rtype_to_howto): Initialise genrel.howto.
1376
2007-04-19 Alan Modra <amodra@bigpond.net.au>
1378
* bfd.c (bfd_demangle): New function.
1379
* Makefile.am: Run "make dep-am".
1380
* Makefile.in: Regenerate.
1381
* bfd-in2.h: Regenerate.
1383
2007-04-18 Matthias Klose <doko@ubuntu.com>
1385
* Makefile.am (libbfd_la_LDFLAGS): Use bfd soversion.
1386
(bfdver.h): Use the date in non-release builds for the soversion.
1387
* Makefile.in: Regenerate.
1389
2007-04-17 Paul Brook <paul@codesourcery.com>
1391
* elf.c (_bfd_elf_is_function_type): New function.
1392
* elflink.c (_bfd_elf_merge_symbol): Use bed->is_function_type.
1393
(_bfd_elf_dynamic_symbol_p, _bfd_elf_symbol_refs_local_p,
1394
is_global_data_symbol_definition, elf_link_add_object_symbols): Ditto.
1395
* elf-bfd.h (elf_backend_data): Add is_function_type.
1396
(_bfd_elf_is_function_type): Add prototype.
1397
* elfxx-target.h (elf_backend_is_function_type): Add default
1399
(elfNN_bed): Add elf_backend_is_function_type.
1400
* elf32-arm.c (elf32_arm_is_function_type): New function.
1401
(elf_backend_is_function_type): Define.
1403
2007-04-17 Daniel Jacobowitz <dan@codesourcery.com>
1405
* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put
1406
DT_MIPS_RLD_MAP before DT_DEBUG again.
1408
2007-04-14 Steve Ellcey <sje@cup.hp.com>
1410
* Makefile.am: Add ACLOCAL_AMFLAGS.
1411
* configure.in: Change macro call order.
1412
* Makefile.in: Regnerate.
1413
* doc/Makefile.in: Regenerate.
1414
* configure: Regenerate.
1416
2007-04-14 Jakub Jelinek <jakub@redhat.com>
1418
* elflink.c (bfd_elf_final_link): Don't free symbuf for
1420
(bfd_elf_size_dynamic_sections): Don't access elf_section_data
1421
for non-elf input bfds.
1423
2007-04-12 Richard Sandiford <richard@codesourcery.com>
1425
* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
1426
DT_MIPS_RTLD_MAP for PIEs.
1428
2007-04-12 Richard Sandiford <richard@codesourcery.com>
1430
* elfxx-mips.c (mips_elf_calculate_relocation): Set DT_TEXTREL
1431
when creating a __GOTT_BASE__ or __GOTT_INDEX__ relocation
1432
in a read-only section.
1433
(_bfd_mips_elf_check_relocs): Likewise.
1435
2007-04-12 Bob Wilson <bob.wilson@acm.org>
1437
* elf32-xtensa.c (xtensa_is_insntable_section): New.
1438
(xtensa_is_proptable_section): New.
1439
(elf_xtensa_discard_info_for_section): Handle "full" .xt.prop property
1440
tables with 12-byte entries, as well as tables with 8-byte entries.
1441
Sort the relocations before examining them.
1442
(relax_property_section): Use xtensa_is_proptable_section and
1443
xtensa_is_littable_section. Rewrite code for combining table entries
1444
to be more robust in case of unexpected relocations. Do not set offset
1445
of unused relocations to less than zero.
1446
(xtensa_is_property_section): Use other functions instead of
1447
duplicating section name comparisons.
1448
(xtensa_is_littable_section): Use CONST_STRNEQ for ".gnu.linkonce.p.".
1449
(xtensa_get_property_predef_flags): Use xtensa_is_insntable_section.
1451
2007-04-12 Bob Wilson <bob.wilson@acm.org>
1453
* elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references
1454
from Xtensa property sections.
1456
2007-04-12 Alan Modra <amodra@bigpond.net.au>
1458
* elf32-spu.c (needs_ovl_stub): Test that spu_elf_section_data
1459
is non-NULL before dereferencing.
1461
2007-04-11 Nathan Sidwell <nathan@codesourcery.com>
1463
* elf-vxworks.c (elf_vxworks_emit_relocs): Remap weakdef PLT slot
1466
2007-04-10 Richard Henderson <rth@redhat.com>
1468
* elf64-alpha.c (struct alpha_elf_link_hash_table): Add relax_trip.
1469
(elf64_alpha_size_got_sections): Remove unused something_changed local.
1470
(elf64_alpha_size_plt_section): Return void.
1471
(elf64_alpha_size_rela_got_section): Likewise.
1472
(elf64_alpha_relax_section): Only regenerate got+plt if the
1473
relax_trip counter has changed.
1475
2007-04-09 Daniel Jacobowitz <dan@codesourcery.com>
1477
* Makefile.am (bfdver.h): Do not generate doc/bfdver.texi.
1478
* doc/Makefile.am (DOCFILES): Add bfdver.texi.
1479
(bfdver.texi): New rule.
1480
* Makefile.in, doc/Makefile.in: Regenerated.
1482
2007-04-03 Matt Thomas <matt@netbsd.org>
1484
* elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc
1485
in a shared object if it is not in a CODE section or if it is against
1486
a section symbol. This allows DWARF2 to use pcrel format.
1488
2007-04-05 H.J. Lu <hongjiu.lu@intel.com>
1491
* elflink.c (bfd_elf_final_link): Call einfo callback in
1492
bfd_link_info instead of _bfd_error_handler for DT_TEXTREL
1495
2007-04-05 Alan Modra <amodra@bigpond.net.au>
1497
* elf32-spu.c (spu_elf_output_symbol_hook): New function.
1498
(elf_backend_link_output_symbol_hook): Define.
1500
2007-04-02 Nick Clifton <nickc@redhat.com>
1503
* bfd.c (bfd_fprintf_vma): Do not print addresses of 32-bit
1504
targets as 64-bit values, even if running on a 64-bit host.
1505
* coffgen.c (coff_print_symbol): Likewise.
1507
2007-03-29 Nick Clifton <nickc@redhat.com>
1510
* elf.c (IS_VALID_GROUP_SECTION_HEADER): New macro.
1511
(setup_group): Use it. Report corrupt group section headers.
1512
(bfd_section_from_shdr): Use new macro. Replace constant 4 with
1513
GRP_ENTRY_SIZE. Cope with NULLs in the group section table.
1514
(elf_fake_section): Replace constant 4 with GRP_ENTRY_SIZE.
1516
2007-03-29 Alan Modra <amodra@bigpond.net.au>
1519
* elflink.c (evaluate_complex_relocation_symbols): Use bfd_vma
1520
for rel->r_info values.
1521
(bfd_elf_perform_complex_relocation): Likewise.
1522
* elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for
1523
unused entries. Don't clear plt.plist in loop.
1525
2007-03-28 Richard Sandiford <richard@codesourcery.com>
1527
* elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove append_rela.
1528
* elfxx-sparc.c (sparc_elf_append_rela_64, sparc_elf_append_rela_32):
1530
(sparc_elf_append_rela): ...this new function.
1531
(SPARC_ELF_APPEND_RELA): Delete.
1532
(_bfd_sparc_elf_link_hash_table_create): Don't initialize
1533
the deleted append_rela field.
1534
(_bfd_sparc_elf_relocate_section): Use sparc_elf_append_rela
1535
instead of SPARC_ELF_APPEND_RELA.
1536
(_bfd_sparc_elf_finish_dynamic_symbol): Likewise. Use the
1537
elf_size_info structure to find the size of a RELA entry and
1538
the associated swap-out function.
1539
(sparc64_finish_dyn, sparc64_finish_dyn): Merge into...
1540
(sparc_finish_dyn): ...this new function.
1541
(_bfd_sparc_elf_finish_dynamic_sections): Update calls accordingly.
1543
2007-03-28 Richard Sandiford <richard@codesourcery.com>
1544
Phil Edwards <phil@codesourcery.com>
1546
* doc/bfd.texinfo: Put the contents after the title page rather
1547
than at the end of the document.
1549
2007-03-27 Andreas Schwab <schwab@suse.de>
1551
* elfxx-ia64.c (elf_backend_default_execstack): Define to 0.
1553
2007-03-26 H.J. Lu <hongjiu.lu@intel.com>
1555
* configure: Regenerated.
1557
2007-03-26 Alan Modra <amodra@bigpond.net.au>
1559
* elf32-spu.c (struct stubarr): Add stub_hash_table and err fields.
1560
(allocate_spuear_stubs): New function.
1561
(spu_elf_size_stubs): Call allocate_spuear_stubs.
1563
2007-03-26 Alan Modra <amodra@bigpond.net.au>
1565
* aout-adobe.c (aout_32_bfd_reloc_name_lookup): Define.
1566
* aout-arm.c (MY_bfd_reloc_name_lookup): Define.
1567
(MY (bfd_reloc_name_lookup)): New function.
1568
* aout-ns32k.c (MY (bfd_reloc_name_lookup)): New function.
1569
* aout-target.h (NAME (aout, reloc_name_lookup)): Declare.
1570
(MY_bfd_reloc_name_lookup): Define.
1571
* aout-tic30.c (tic30_aout_reloc_name_lookup): New function.
1572
(MY_bfd_reloc_name_lookup): Define.
1573
* aoutx.h (NAME (aout, reloc_type_lookup)): Don't declare.
1574
(NAME (aout, reloc_name_lookup)): New function.
1575
* bout.c (b_out_bfd_reloc_name_lookup): New function.
1576
* coff-alpha.c (alpha_bfd_reloc_name_lookup): New function.
1577
(_bfd_ecoff_bfd_reloc_name_lookup): Define.
1578
* coff-arm.c (coff_arm_reloc_name_lookup): New function.
1579
(coff_bfd_reloc_name_lookup): Define.
1580
* coff-i386.c (coff_bfd_reloc_name_lookup): Define.
1581
(coff_i386_reloc_name_lookup): New function.
1582
* coff-i860.c (coff_i860_reloc_name_lookup): New function.
1583
(coff_bfd_reloc_name_lookup): Define.
1584
* coff-i960.c (coff_i960_reloc_name_lookup): New function.
1585
(coff_bfd_reloc_name_lookup): Define.
1586
* coff-m68k.c (m68k_reloc_name_lookup): New function.
1587
(coff_bfd_reloc_name_lookup): Define.
1588
* coff-maxq.c (maxq_reloc_name_lookup): New function.
1589
(coff_bfd_reloc_name_lookup): Define.
1590
* coff-mcore.c (mcore_coff_reloc_name_lookup): New function.
1591
(coff_bfd_reloc_name_lookup): Define.
1592
* coff-mips.c (mips_bfd_reloc_name_lookup): New function.
1593
(_bfd_ecoff_bfd_reloc_name_lookup): Define.
1594
* coff-ppc.c (ppc_coff_reloc_name_lookup): New function.
1595
(coff_bfd_reloc_name_lookup): Define.
1596
* coff-rs6000.c (coff_bfd_reloc_name_lookup): Define.
1597
(_bfd_xcoff_reloc_name_lookup): New function.
1598
(rs6000coff_vec, pmac_xcoff_vec): Init new field.
1599
* coff-sh.c (coff_bfd_reloc_name_lookup): Define.
1600
(sh_coff_reloc_name_lookup): New function.
1601
* coff-sparc.c (coff_sparc_reloc_name_lookup): New function.
1602
(coff_bfd_reloc_name_lookup): Define.
1603
* coff-tic30.c (coff_bfd_reloc_name_lookup): Define.
1604
(tic30_coff_reloc_name_lookup): New function.
1605
* coff-tic4x.c (coff_bfd_reloc_name_lookup): Define.
1606
(tic4x_coff_reloc_name_lookup): New function.
1607
* coff-tic54x.c (coff_bfd_reloc_name_lookup): Define.
1608
(tic54x_coff_reloc_name_lookup): New function.
1609
* coff-x86_64.c (coff_bfd_reloc_name_lookup): Define.
1610
(coff_amd64_reloc_name_lookup): New function.
1611
* coff-z80.c (coff_z80_reloc_name_lookup): New function.
1612
(coff_bfd_reloc_name_lookup): Define.
1613
* coff-z8k.c (coff_z8k_reloc_name_lookup): New function.
1614
(coff_bfd_reloc_name_lookup): Define.
1615
* coff64-rs6000.c (coff_bfd_reloc_name_lookup): Define.
1616
(xcoff64_reloc_name_lookup): New function.
1617
(rs6000coff64_vec, aix5coff64_vec): Init new field.
1618
* coffcode.h (coff_bfd_reloc_name_lookup): Define.
1619
* elf-hppa.h (elf_hppa_reloc_name_lookup): New function.
1620
* elf-m10200.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1621
* elf-m10300.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1622
* elf32-arc.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1623
* elf32-arm.c (elf32_arm_reloc_name_lookup): New function.
1624
(bfd_elf32_bfd_reloc_name_lookup): Define.
1625
* elf32-avr.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1626
* elf32-bfin.c (bfin_bfd_reloc_name_lookup): New function.
1627
(bfd_elf32_bfd_reloc_name_lookup): Define.
1628
* elf32-cr16c.c (elf_cr16c_reloc_name_lookup): New function.
1629
(bfd_elf32_bfd_reloc_name_lookup): Define.
1630
* elf32-cris.c (cris_reloc_name_lookup): New function.
1631
(bfd_elf32_bfd_reloc_name_lookup): Define.
1632
* elf32-crx.c (elf_crx_reloc_name_lookup): New function.
1633
(bfd_elf32_bfd_reloc_name_lookup): Define.
1634
* elf32-d10v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1635
* elf32-d30v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1636
* elf32-dlx.c (elf32_dlx_reloc_name_lookup): New function.
1637
(bfd_elf32_bfd_reloc_name_lookup): Define.
1638
* elf32-fr30.c (fr30_reloc_name_lookup): New function.
1639
(bfd_elf32_bfd_reloc_name_lookup): Define.
1640
* elf32-frv.c (frv_reloc_name_lookup): New function.
1641
(bfd_elf32_bfd_reloc_name_lookup): Define.
1642
* elf32-gen.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1643
* elf32-h8300.c (elf32_h8_reloc_name_lookup): New function.
1644
(bfd_elf32_bfd_reloc_name_lookup): Define.
1645
* elf32-hppa.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1646
* elf32-i370.c (i370_elf_reloc_name_lookup): New function.
1647
(bfd_elf32_bfd_reloc_name_lookup): Define.
1648
* elf32-i386.c (elf_i386_reloc_name_lookup): New function.
1649
(bfd_elf32_bfd_reloc_name_lookup): Define.
1650
* elf32-i860.c (elf32_i860_reloc_name_lookup): New function.
1651
(bfd_elf32_bfd_reloc_name_lookup): Define.
1652
* elf32-i960.c (elf32_i960_reloc_name_lookup): New function.
1653
(bfd_elf32_bfd_reloc_name_lookup): Define.
1654
* elf32-ip2k.c (ip2k_reloc_name_lookup): New function.
1655
(bfd_elf32_bfd_reloc_name_lookup): Define.
1656
* elf32-iq2000.c (iq2000_reloc_name_lookup): New function.
1657
(bfd_elf32_bfd_reloc_name_lookup): Define.
1658
* elf32-m32c.c (m32c_reloc_name_lookup): New function.
1659
(bfd_elf32_bfd_reloc_name_lookup): Define.
1660
* elf32-m32r.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1661
* elf32-m68hc11.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1662
* elf32-m68hc12.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1663
* elf32-m68k.c (reloc_name_lookup): New function.
1664
(bfd_elf32_bfd_reloc_name_lookup): Define.
1665
* elf32-m88k.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1666
* elf32-mcore.c (mcore_elf_reloc_name_lookup): New function.
1667
(bfd_elf32_bfd_reloc_name_lookup): Define.
1668
* elf32-mep.c (mep_reloc_name_lookup): New function.
1669
(bfd_elf32_bfd_reloc_name_lookup): Define.
1670
* elf32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1671
(mips_vxworks_bfd_reloc_name_lookup): Likewise.
1672
(bfd_elf32_bfd_reloc_name_lookup): Define.
1673
* elf32-msp430.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1674
* elf32-mt.c (mt_reloc_name_lookup): New function.
1675
(bfd_elf32_bfd_reloc_name_lookup): Define.
1676
* elf32-openrisc.c (openrisc_reloc_name_lookup): New function.
1677
(bfd_elf32_bfd_reloc_name_lookup): Define.
1678
* elf32-or32.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1679
* elf32-pj.c (pj_elf_reloc_name_lookup): New function.
1680
(bfd_elf32_bfd_reloc_name_lookup): Define.
1681
* elf32-ppc.c (ppc_elf_reloc_name_lookup): New function.
1682
(bfd_elf32_bfd_reloc_name_lookup): Define.
1683
* elf32-s390.c (elf_s390_reloc_name_lookup): New function.
1684
(bfd_elf32_bfd_reloc_name_lookup): Define.
1685
* elf32-score.c (elf32_score_reloc_name_lookup): New function.
1686
(bfd_elf32_bfd_reloc_name_lookup): Define.
1687
* elf32-sh.c (sh_elf_reloc_name_lookup): New function.
1688
(bfd_elf32_bfd_reloc_name_lookup): Define.
1689
* elf32-sparc.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1690
* elf32-spu.c (spu_elf_reloc_name_lookup): New function.
1691
(bfd_elf32_bfd_reloc_name_lookup): Define.
1692
* elf32-v850.c (v850_elf_reloc_name_lookup): New function.
1693
(bfd_elf32_bfd_reloc_name_lookup): Define.
1694
* elf32-vax.c (reloc_name_lookup): New function.
1695
(bfd_elf32_bfd_reloc_name_lookup): Define.
1696
* elf32-xc16x.c (xc16x_reloc_name_lookup): New function.
1697
(bfd_elf32_bfd_reloc_name_lookup): Define.
1698
* elf32-xstormy16.c (xstormy16_reloc_name_lookup): New function.
1699
(bfd_elf32_bfd_reloc_name_lookup): Define.
1700
* elf32-xtensa.c (elf_xtensa_reloc_name_lookup): New function.
1701
(bfd_elf32_bfd_reloc_name_lookup): Define.
1702
* elf64-alpha.c (elf64_alpha_bfd_reloc_name_lookup): New function.
1703
(bfd_elf64_bfd_reloc_name_lookup): Define.
1704
* elf64-gen.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1705
* elf64-hppa.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1706
* elf64-mips.c (bfd_elf64_bfd_reloc_name_lookup): New function.
1707
* elf64-mmix.c (bfd_elf64_bfd_reloc_name_lookup): New function.
1708
* elf64-ppc.c (ppc64_elf_reloc_name_lookup): New function.
1709
(bfd_elf64_bfd_reloc_name_lookup): Define.
1710
* elf64-s390.c (elf_s390_reloc_name_lookup): New function.
1711
(bfd_elf64_bfd_reloc_name_lookup): Define.
1712
* elf64-sh64.c (sh_elf64_reloc_name_lookup): New function.
1713
(bfd_elf64_bfd_reloc_name_lookup): Define.
1714
* elf64-sparc.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1715
* elf64-x86-64.c (elf64_x86_64_reloc_name_lookup): New function.
1716
(bfd_elf64_bfd_reloc_name_lookup): Define.
1717
* elfn32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1718
* elfxx-ia64.c (elfNN_ia64_reloc_name_lookup): New function.
1719
(bfd_elfNN_bfd_reloc_name_lookup): Define.
1720
* elfxx-sparc.c (_bfd_sparc_elf_reloc_name_lookup): New function.
1721
* elfxx-sparc.h (_bfd_sparc_elf_reloc_name_lookup): Declare.
1722
* i386msdos.c (msdos_bfd_reloc_name_lookup): Define.
1723
* i386os9k.c (aout_32_bfd_reloc_name_lookup): Define.
1724
* ieee.c (ieee_bfd_reloc_name_lookup): Define.
1725
* libaout.h (NAME (aout, reloc_name_lookup)): Declare.
1726
* libbfd-in.h (_bfd_norelocs_bfd_reloc_name_lookup): Declare.
1727
* mipsbsd.c (MY_bfd_reloc_name_lookup): Define.
1728
(MY(reloc_type_lookup)): Rename from MY(reloc_howto_type_lookup).
1729
(MY(reloc_name_lookup)): New function.
1730
* nlm-target.h (nlm_bfd_reloc_name_lookup): Define.
1731
* oasys.c (oasys_bfd_reloc_name_lookup): Define.
1732
* pdp11.c (NAME (aout, reloc_name_lookup)): New function.
1733
* pe-mips.c (coff_mips_reloc_name_lookup): New function.
1734
(coff_bfd_reloc_name_lookup): Define.
1735
* reloc.c (bfd_reloc_name_lookup): New function.
1736
* riscix.c (riscix_reloc_name_lookup): New function.
1737
(MY_bfd_reloc_name_lookup): Define.
1738
* som.c (som_bfd_reloc_name_lookup): New function.
1739
* targets.c (struct bfd_target): Add reloc_name_lookup.
1740
(BFD_JUMP_TABLE_RELOCS): Add NAME##_bfd_reloc_name_lookup.
1741
* versados.c (versados_bfd_reloc_name_lookup): Define.
1742
* vms.c (vms_bfd_reloc_name_lookup): New function.
1743
* bfd-in2.h: Regenerate.
1744
* libbfd.h: Regenerate.
1746
2007-03-26 Thiemo Seufer <ths@mips.com>
1749
* elfxx-mips.c (mips_elf_next_relocation): Don't signal an error if no
1750
matching relocation is found.
1751
(_bfd_mips_elf_relocate_section): Only warn about missing relocations.
1753
2007-03-23 H.J. Lu <hongjiu.lu@intel.com>
1755
* configure: Regenerated.
1757
2007-03-23 Joseph Myers <joseph@codesourcery.com>
1759
* configure.in: Use ACX_PKGVERSION and ACX_BUGURL.
1760
* configure: Regenerate.
1762
2007-03-23 Alan Modra <amodra@bigpond.net.au>
1764
* elf32-spu.c (spu_stub_name): Don't put input section in stub name.
1765
Remove input_sec param. Adjust all calls.
1766
(write_one_stub): Adjust stub symbol.
1767
(needs_ovl_stub): New function, extracted from..
1768
(spu_elf_size_stubs): ..here.
1769
(spu_elf_relocate_section): Use needs_ovl_stub.
1771
2007-03-22 Joseph Myers <joseph@codesourcery.com>
1773
* Makefile.am (bfdver.h): Only set VERSION_PACKAGE in bfdver.texi
1775
* configure.in (REPORT_BUGS_TO): Do not use "URL:" prefix.
1776
* Makefile.in, configure, doc/Makefile.in: Regenerate.
1778
2007-03-22 H.J. Lu <hongjiu.lu@intel.com>
1781
* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the virtual
1782
address and virtual size of the last section for the image
1785
2007-03-22 H.J. Lu <hongjiu.lu@intel.com>
1788
* elf.c (assign_file_positions_for_load_sections): Check if
1789
all sections are in the segment.
1791
2007-03-20 H.J. Lu <hongjiu.lu@intel.com>
1794
* elfxx-mips.c (_bfd_mips_elf_relocate_section): Report missing
1795
matching LO16 relocation for HI16 relocation.
1797
2007-03-20 Paul Brook <paul@codesourcery.com>
1799
* bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
1800
* bfd-in2.h: Regenerate.
1801
* elf32-arm.c (elf32_arm_link_hash_table): Add pic_veneer.
1802
(record_arm_to_thumb_glue): Use globals->pic_veneer.
1803
(elf32_arm_create_thumb_stub): Ditto.
1804
(bfd_elf32_arm_set_target_relocs): Set globals->pic_veneer.
1806
2007-03-18 Mark Shinwell <shinwell@codesourcery.com>
1808
* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add "bfd *"
1809
argument and extra last argument.
1810
* bfd-in2.h: Regenerate.
1811
* elf32-arm.c (elf32_arm_obj_tdata): Add no_enum_size_warning
1813
(bfd_elf32_arm_set_target_relocs): Add "bfd *" argument and
1814
extra last argument. Set no_enum_size_warning appropriately.
1815
(elf32_arm_merge_eabi_attributes): Improve enum sizes
1816
diagnostic, suppressing it when no_enum_size_warning dictates.
1818
2007-03-20 Nick Clifton <nickc@redhat.com>
1821
* elf.c (copy_private_bfd_data): Widen the scope of Solaris
1822
specific conditions that need the program headers to be
1825
2007-03-19 H.J. Lu <hongjiu.lu@intel.com>
1827
* peXXigen.c (_bfd_XXi_swap_aouthdr_in): Store Magic,
1828
MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
1829
SizeOfInitializedData, SizeOfUninitializedData,
1830
AddressOfEntryPoint, BaseOfCode and BaseOfData in internal
1831
extra PE a.out header.
1832
(IMAGE_NT_OPTIONAL_HDR_MAGIC): Defined as 0x10b if not defined.
1833
(IMAGE_NT_OPTIONAL_HDR64_MAGIC): Defined as 0x20b if not
1835
(IMAGE_NT_OPTIONAL_HDRROM_MAGIC): Defined as 0x107 if not
1837
(_bfd_XX_print_private_bfd_data_common): Also print Magic,
1838
MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
1839
SizeOfInitializedData, SizeOfUninitializedData,
1840
AddressOfEntryPoint, BaseOfCode and BaseOfData from internal
1841
extra PE a.out header.
1843
2007-03-18 H.J. Lu <hongjiu.lu@intel.com>
1845
* targets.c (_bfd_target_vector): Add bfd_efi_app_x86_64_vec
1846
only if BFD64 is defined.
1848
2007-03-17 Alan Modra <amodra@bigpond.net.au>
1850
* elf32-spu.c (spu_elf_size_stubs): Always use an overlay stub
1853
2007-03-15 H.J. Lu <hongjiu.lu@intel.com>
1855
* doc/Makefile.in: Regenerated.
1857
2007-03-15 H.J. Lu <hongjiu.lu@intel.com>
1859
* Makefile.am (bfdver.h): Substitute report_bugs_to. Also
1860
create doc/bfdver.texi.
1861
* Makefile.in: Regenerated.
1863
* configure.in (--with-bugurl): New option.
1864
* configure: Regenerated.
1866
* version.h (REPORT_BUGS_TO): New.
1868
2007-03-13 H.J. Lu <hongjiu.lu@intel.com>
1871
* elf-bfd.h (elf_backend_data): Add elf_osabi.
1872
(_bfd_elf_set_osabi): New.
1874
* elf.c (_bfd_elf_set_osabi): New.
1876
* elf32-hppa.c (elf32_hppa_post_process_headers): Removed.
1877
(elf_backend_post_process_headers): Defined with
1879
(ELF_OSABI): Properly defined for each target.
1881
* elf32-i370.c (i370_elf_post_process_headers): Removed.
1882
(ELF_OSABI): Defined.
1883
(elf_backend_post_process_headers): Defined with
1886
* elf32-i386.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
1888
(elf_i386_post_process_headers): Set EI_OSABI with elf_osabi.
1890
* elf32-msp430.c (elf32_msp430_post_process_headers): Removed.
1891
(ELF_OSABI): Defined.
1892
(elf_backend_post_process_headers): Defined with
1895
* elf64-alpha.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
1897
(elf64_alpha_fbsd_post_process_headers): Set EI_OSABI with
1900
* elf64-hppa.c (elf64_hppa_post_process_headers): Set EI_OSABI
1902
(ELF_OSABI): Properly defined for each target.
1903
(elf_backend_post_process_headers): Defined with
1904
_bfd_elf_set_osabi for Linux.
1906
* elf64-sparc.c (elf64_sparc_fbsd_post_process_headers): Removed.
1907
(ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
1908
(elf_backend_post_process_headers): Defined with
1911
* elf64-x86-64.c (elf64_x86_64_fbsd_post_process_headers): Removed.
1912
(ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
1913
(elf_backend_post_process_headers): Defined with
1916
* elfcode.h (elf_object_p): Match the ELFOSABI_NONE ELF target
1917
with any ELF target of the compatible machine for which we do not
1918
have a specific backend.
1920
* elfxx-ia64.c (elfNN_hpux_post_process_headers): Set EI_OSABI
1923
* elfxx-target.h (ELF_OSABI): Default to ELFOSABI_NONE.
1924
(elfNN_bed): Initialize elf_osabi with ELF_OSABI.
1926
2007-03-08 Alan Modra <amodra@bigpond.net.au>
1928
* elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out
1931
2007-03-08 Alan Modra <amodra@bigpond.net.au>
1933
* Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo.
1934
(BFD64_BACKENDS_CFILES): Add efi-app-x86_64.c.
1936
* Makefile.in: Regenerate.
1937
* po/SRC-POTFILES.in: Regenerate.
1939
2007-03-07 H.J. Lu <hongjiu.lu@intel.com>
1941
* config.bfd (x86_64-*-freebsd*): Add bfd_efi_app_x86_64_vec.
1942
(x86_64-*-kfreebsd*-gnu): Likewise.
1943
(x86_64-*-netbsd*): Likewise.
1944
(x86_64-*-openbsd*): Likewise.
1945
(x86_64-*-linux-*): Likewise.
1947
* configure.in: Support bfd_efi_app_x86_64_vec.
1948
* configure: Regenerated.
1950
* efi-app-x86_64.c: New file.
1952
* targets.c (bfd_efi_app_x86_64_vec): New.
1953
(_bfd_target_vector): Add bfd_efi_app_x86_64_vec.
1955
2007-03-07 Kai Tietz <kai.tietz@onevision.com>
1957
* reloc.c (bfd_generic_get_relocated_section_contents): Remove
1958
const for type reloc_howto_type.
1960
2007-03-07 Alan Modra <amodra@bigpond.net.au>
1963
* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): No error on relocatable link.
1964
(elf_discarded_section): Move..
1965
* bfd-in.h: ..to here.
1966
* bfd-in2.h: Regenerate.
1967
* elflink.c (elf_link_input_bfd): Don't zap relocs against symbols
1968
from discarded sections before relocate_section has done its job.
1969
* reloc.c (bfd_generic_get_relocated_section_contents): Handle
1970
relocs against symbols from discarded sections.
1971
* elf-hppa.h (elf_hppa_howto_table): Set size. Set dst_mask on
1973
(elf_hppa_relocate_section): Handle relocatable link after setting
1974
sec, sym, h etc. for final link. Squash error messages for
1975
relocatable link. Clear section contents for relocs against
1976
symbols in discarded sections, and zero reloc. Remove existing
1978
* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
1979
* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
1980
* elf32-arm.c (elf32_arm_relocate_section): Likewise.
1981
* elf32-avr.c (elf32_avr_relocate_section): Likewise.
1982
* elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
1983
(bfin_relocate_section): Likewise.
1984
* elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
1985
* elf32-cris.c (cris_elf_relocate_section): Likewise.
1986
* elf32-crx.c (elf32_crx_relocate_section): Likewise.
76
1987
* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
1988
* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
1989
* elf32-frv.c (elf32_frv_relocate_section): Likewise.
1990
* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
77
1991
* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
1992
* elf32-i370.c (i370_elf_relocate_section): Likewise.
78
1993
* elf32-i386.c (elf_i386_relocate_section): Likewise.
1994
* elf32-i860.c (elf32_i860_relocate_section): Likewise.
1995
* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
1996
* elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
1997
* elf32-m32c.c (m32c_elf_relocate_section): Likewise.
1998
* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
1999
* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
2000
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
2001
* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
2002
* elf32-mep.c (mep_elf_relocate_section): Likewise.
2003
* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
2004
* elf32-mt.c (mt_elf_relocate_section): Likewise.
2005
* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
79
2006
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
80
2007
* elf32-s390.c (elf_s390_relocate_section): Likewise.
2008
* elf32-score.c (_bfd_score_elf_relocate_section): Likewise.
81
2009
* elf32-sh.c (sh_elf_relocate_section): Likewise.
2010
* elf32-spu.c (spu_elf_relocate_section): Likewise.
2011
* elf32-v850.c (v850_elf_relocate_section): Likewise.
2012
* elf32-vax.c (elf_vax_relocate_section): Likewise.
2013
* elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
2014
* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
82
2015
* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
2016
* elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
2017
(elf64_alpha_relocate_section): Likewise.
2018
* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
83
2019
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
84
2020
* elf64-s390.c (elf_s390_relocate_section): Likewise.
2021
* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
85
2022
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
2023
* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
2024
* elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
86
2025
* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
88
* elfxx-ia64.c (elfNN_ia64_relocate_section): Set value to
89
zero for discarded symbols.
2027
* elf32-arm.c (elf32_arm_relocate_section): Always adjust section
2028
symbols for relocatable link. Don't use always-zero st_value.
2029
(elf_backend_rela_normal): Don't define.
2030
* elf32-bfin.c (bfinfdpic_relocate_section): Use
2031
RELOC_FOR_GLOBAL_SYMBOL.
2032
* elf32-frv.c (elf32_frv_relocate_section): Likewise.
2033
* elf32-d10v.c (elf32_d10v_relocate_section): Combine SEC_MERGE
2034
section symbol adjustments with same for relocatable link.
2035
* elf32-i386.c (elf_i386_relocate_section): Likewise.
2036
* elf32-m68hc1x.c (m68hc11_get_relocation_value): Move..
2037
(elf32_m68hc11_check_relocs): ..to here.
2038
* elf32-score.c (score_elf_final_link_relocate): Remove zero
90
2040
* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
92
2006-11-01 Thiemo Seufer <ths@mips.com>
93
David Ung <davidu@mips.com>
95
* elf-bfd.h (local_call_stubs): New member.
96
* elfxx-mips.c (FN_STUB_P, CALL_STUB_P, CALL_FP_STUB_P): New macros.
97
(mips_elf_calculate_relocation): Handle local mips16 call stubs.
98
(mips16_stub_section_p): Rename from mips_elf_stub_section_p, use
100
(_bfd_mips_elf_check_relocs): Handle call stubs for code which
101
mixes mips16 and mips32 functions. Use mips16_stub_section_p. Mark
102
used stubs with SEC_KEEP. Use the new stub macros.
104
2006-11-01 Alan Modra <amodra@bigpond.net.au>
106
* elf32-arm.c (bfd_elf32_arm_process_before_allocation): Correct
109
2006-11-01 Daniel Jacobowitz <dan@codesourcery.com>
111
* elfxx-mips.c (mips_elf_merge_gots): Always use maxcnt.
113
2006-10-31 Alan Modra <amodra@bigpond.net.au>
115
* elf.c (elfcore_write_note): Pad note descriptor to 4-byte
116
boundary. Tidy. Comment.
118
2006-10-30 H.J. Lu <hongjiu.lu@intel.com>
121
* elf-bfd.h (elf_obj_tdata): Add symbuf.
122
(_bfd_elf_section_already_linked): Add struct bfd_link_info *.
123
(_bfd_elf_check_kept_section): Likewise.
124
(bfd_elf_match_symbols_in_sections): Likewise.
126
* elf.c (assign_section_numbers): Updated to add
127
struct bfd_link_info *.
128
(bfd_elf_match_symbols_in_sections): Updated. Cache symbol
129
buffer if info->reduce_memory_overheads is false.
131
* elflink.c (match_group_member): Updated to add
132
struct bfd_link_info *.
133
(_bfd_elf_check_kept_section): Likewise.
134
(elf_link_input_bfd): Likewise.
135
(_bfd_elf_section_already_linked): Likewise.
136
(bfd_elf_final_link): Free symbol buffer if
137
info->reduce_memory_overheads is false.
139
* libbfd-in.h (_bfd_nolink_section_already_linked): Add
140
struct bfd_link_info *.
141
(_bfd_generic_section_already_linked): Likewise.
142
* libbfd.h: Regenerated.
144
* linker.c (bfd_section_already_linked): Add
145
struct bfd_link_info *.
146
(_bfd_generic_section_already_linked): Likewise.
147
* targets.c (bfd_target): Add struct bfd_link_info * to
148
_section_already_linked.
149
* bfd-in2.h: Regenerated.
151
2006-10-30 Alan Modra <amodra@bigpond.net.au>
153
* bfd.c (bfd_error_type): Add bfd_error_on_input.
154
(input_bfd, input_error): New static vars.
155
(bfd_set_error): Handle bfd_error_on_input.
156
(bfd_errmsg): Likewise.
157
(bfd_perror): Simplify.
158
* archive.c (_bfd_write_archive_contents): Report errors on input.
159
* bfd-in2.h: Regenerate.
161
2006-10-30 Alan Modra <amodra@bigpond.net.au>
163
* elf.c (elfcore_write_note): Pad to 4-byte boundary.
165
2006-10-28 Richard Sandiford <richard@codesourcery.com>
167
* elf32-mips.c (elf_mips_howto_table_rel): Add R_MIPS_GLOB_DAT.
168
* elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
169
(elf_mips_howto_table_rela): Likewise.
170
* elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
171
(mips_elf64_howto_table_rela): Likewise.
173
2006-10-26 H.J. Lu <hongjiu.lu@intel.com>
175
* elf.c (_bfd_elf_init_private_section_data): Assert output
176
section ELF type instead of check if it is SHT_NULL. Copy
177
OS/PROC specific flags from input section to output section.
179
2006-10-27 Alan Modra <amodra@bigpond.net.au>
181
* section.c (SEC_KEEP): Update comment.
182
* bfd-in2.h: Regenerate.
183
* elflink.c (bfd_elf_gc_sections): Ignore SEC_EXCLUDE sections.
184
* merge.c (_bfd_merge_sections): Set SEC_KEEP on excluded sections.
185
* stabs.c (_bfd_discard_section_stabs): Likewise.
186
(_bfd_link_section_stabs): Likewise. Simplify abs_section check.
188
2006-10-26 Ben Elliston <bje@au.ibm.com>
190
* reloc.c (_bfd_relocate_contents): Remove explicit case 0.
192
* elf.c (bfd_section_from_shdr): Remove extraneous breaks.
193
* targets.c (find_target): Remove extraneous break.
195
2006-10-26 Ben Elliston <bje@au.ibm.com>
197
* coff-maxq.c (coff_maxq20_reloc): Remove unused variable `howto'.
198
(struct maxq_reloc_map): Unused; remove.
199
(maxq_reloc_map): Likewise.
200
(maxq_reloc_type_lookup): Remove loop over maxq_reloc_map.
202
2006-10-26 Ben Elliston <bje@au.ibm.com>
204
* elf.c (bfd_elf_set_dyn_lib_class): Change second argument type
205
from int to enum dynamic_lib_link_class lib_class.
206
* bfd-in.h (bfd_elf_set_dyn_lib_class): Likewise.
207
* bfd-in2.h: Regenerate.
209
2006-10-25 Alan Modra <amodra@bigpond.net.au>
210
Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
211
Yukishige Shibata <shibata@rd.scei.sony.co.jp>
212
Nobuhisa Fujinami <fnami@rd.scei.sony.co.jp>
213
Takeaki Fukuoka <fukuoka@rd.scei.sony.co.jp>
215
* cpu-spu.c: New file.
216
* elf32-spu.c: New file.
217
* elf32-spu.h: New file.
218
* archures.c: Add SPU support.
219
* config.bfd: Likewise.
220
* configure.in: Likewise.
222
* targets.c: Likewise.
223
* Makefile.am: Likewise. Run "make dep-am".
224
* libbfd.h: Regenerate.
225
* bfd-in2.h: Regenerate.
226
* Makefile.in: Regenerate.
227
* configure: Regenerate.
228
* po/SRC-POTFILES.in: Regenerate.
230
2006-10-23 Alan Modra <amodra@bigpond.net.au>
232
* elf64-ppc.c (ppc64_elf_edit_opd): Clarify comment.
234
2006-10-23 Alan Modra <amodra@bigpond.net.au>
236
* elf32-score.c: Formatting.
237
(elf_backend_omit_section_dynsym): Define.
238
(score_elf_create_dynamic_relocation): Remove code copied from mips.
239
Don't use section syms in dynamic relocs. Remove unused param.
240
(score_elf_final_link_relocate): Remove unused param.
242
2006-10-23 Alan Modra <amodra@bigpond.net.au>
244
* linker.c (fix_syms): Choose best of previous and next
245
section based on section flags and vma.
247
2006-10-21 Kaz Kojima <kkojima@rr.iij4u.or.jp>
249
* elf32-sh64.c (sh64_elf_merge_symbol_attribute): Do merging
250
only when the non visibility part of st_other is non-zero.
251
* elf64-sh64.c (sh64_elf64_merge_symbol_attribute): Likewise.
253
2006-10-20 Richard Sandiford <richard@codesourcery.com>
255
* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't extend
256
PT_DYNAMIC on GNU/Linux targets.
258
2006-10-20 Richard Sandiford <richard@codesourcery.com>
260
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make the
261
size of .rel.dyn reflect the value of DT_RELSZ.
263
2006-10-20 Richard Sandiford <richard@codesourcery.com>
265
* elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Allocate
266
a PT_NULL header for dynamic objects.
267
(_bfd_mips_elf_modify_segment_map): Add it.
269
2006-10-19 Mei Ligang <ligang@sunnorth.com.cn>
271
* elf32-score.c (score_elf_rel_dyn_section): Replace
272
bfd_make_section with bfd_make_section_with_flags.
273
(_bfd_score_elf_create_dynamic_sections): Ditto.
274
(score_elf_create_got_section): Ditto.
275
(score_elf_final_link_relocate): Delete referrence to
278
2006-10-19 Richard Sandiford <richard@codesourcery.com>
280
* elfxx-mips.c (sort_dynamic_relocs): Sort relocations against the
281
same symbol by increasing r_offset.
282
(sort_dynamic_relocs_64): Likewise. Fix comparisons between very
283
large and very small symbol indexes.
285
2006-10-19 Richard Sandiford <richard@codesourcery.com>
287
* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG
288
and DT_MIPS_RLD_MAP tags for position-independent executables.
289
Do not add DT_DEBUG to shared libraries for any MIPS target.
291
2006-10-18 H.J. Lu <hongjiu.lu@intel.com>
294
* elflink.c (elf_link_add_object_symbols): Hide definitions in
297
2006-10-19 Alan Modra <amodra@bigpond.net.au>
299
* elf32-arm.c (bfd_elf32_arm_allocate_interworking_sect): Check,
300
don't set, glue section size.
301
(record_arm_to_thumb_glue): Set glue section size here.
302
(record_thumb_to_arm_glue): Likewise.
303
(bfd_elf32_arm_add_glue_sections_to_bfd): Formatting.
304
(bfd_elf32_arm_process_before_allocation): Ignore exluded sections.
306
2006-10-18 Roy Marples <uberlord@gentoo.org>
308
* elf64-sparc.c: Add FreeBSD support.
309
(elf64_sparc_fbsd_post_process_headers): New function.
310
* targets.c (_bfd_target_vector): Add bfd_elf64_sparc_freebsd_vec.
311
* config.bfd (sparc64-*-freebsd*): Set targ_defvec to bfd_elf64_sparc_freebsd_vec.
312
* configure.in: Add entry for bfd_elf64_sparc_freebsd_vec.
313
* configure: Regenerate.
315
2006-10-17 Mark Shinwell <shinwell@codesourcery.com>
317
* elf32-arm.c (elf32_arm_final_link_relocate): Add support for
318
R_ARM_MOVW_BREL_NC, R_ARM_MOVW_BREL, R_ARM_MOVT_BREL,
319
R_ARM_THM_MOVW_BREL_NC, R_ARM_THM_MOVW_BREL and
320
R_ARM_THM_MOVT_BREL relocations.
322
2006-10-17 Mark Shinwell <shinwell@codesourcery.com>
324
* elf32-arm.c (elf32_arm_howto_table_1): Change offset for
325
R_THM_CALL to 25 and remove FIXME comment.
326
(using_thumb2): New function.
327
(elf32_arm_final_link_relocate): Cope with Thumb-2 BL encoding.
329
2006-10-17 Mark Shinwell <shinwell@codesourcery.com>
331
* elf32-arm.c (elf32_arm_final_link_relocate): Add cases
332
for R_ARM_ABS32_NOI and R_ARM_REL32_NOI.
333
(elf32_arm_gc_sweep_hook): Likewise.
334
(elf32_arm_check_relocs): Likewise.
335
(allocate_dynrelocs): Likewise.
337
2006-10-17 Alan Modra <amodra@bigpond.net.au>
339
* elf-bfd.h (struct elf_link_hash_table): Reorder. Add
340
text_index_section and data_index_section.
341
(struct elf_backend_data): Add elf_backend_init_index_section.
342
(_bfd_elf_init_1_index_section): Declare.
343
(_bfd_elf_init_2_index_sections): Declare.
344
* elfxx-target.h (elf_backend_init_index_section): Define.
345
(elfNN_bed): Init new field.
346
* elflink.c (_bfd_elf_link_omit_section_dynsym): Keep first tls
347
section and text_index_section plus data_index_section.
348
(_bfd_elf_link_renumber_dynsyms): Clear dynindx on omitted sections.
349
(_bfd_elf_init_1_index_section): New function.
350
(_bfd_elf_init_2_index_sections): New function.
351
(bfd_elf_size_dynsym_hash_dynstr): Call elf_backend_init_index_section.
352
(elf_link_input_bfd): When emitting relocs, use text_index_section
353
and data_index_section for removed sections.
354
* elf-m10300.c (elf_backend_omit_section_dynsym): Define.
355
* elf32-i386.c: Likewise.
356
* elf32-m32r.c: Likewise.
357
* elf32-sh.c: Likewise.
358
* elf32-xstormy16.c: Likewise.
359
* elf32-xtensa.c: Likewise.
360
* elf64-alpha.c: Likewise.
361
* elf64-hppa.c: Likewise.
362
* elf64-mmix.c: Likewise.
363
* elf64-sh64.c: Likewise.
364
* elfxx-ia64.c: Likewise.
365
* elf32-arm.c (elf32_arm_final_link_relocate): Use text_index_section
366
and data_index_section sym for relocs against sections with no dynamic
368
(elf_backend_init_index_section): Define.
369
* elf32-cris.c: Similarly.
370
* elf32-hppa.c: Similarly.
371
* elf32-i370.c: Similarly.
372
* elf32-m68k.c: Similarly.
373
* elf32-mips.c: Similarly.
374
* elf32-ppc.c: Similarly.
375
* elf32-s390.c: Similarly.
376
* elf32-sparc.c: Similarly.
377
* elf32-vax.c: Similarly.
378
* elf64-mips.c: Similarly.
379
* elf64-ppc.c: Similarly.
380
* elf64-s390.c: Similarly.
381
* elf64-sparc.c: Similarly.
382
* elf64-x86-64.c: Similarly.
383
* elfn32-mips.c: Similarly.
384
* elfxx-mips.c: Similarly.
385
* elfxx-sparc.c: Similarly.
386
* linker.c (fix_syms): Base symbols in removed sections on
387
previous section in preference to using absolute section.
389
2006-10-16 Andreas Schwab <schwab@suse.de>
391
* elfxx-ia64.c (addend_compare): Properly compute return value.
393
2006-10-15 H.J. Lu <hongjiu.lu@intel.com>
396
* elf.c (assign_file_positions_for_non_load_sections): Don't
397
page align empty SHF_ALLOC sections.
399
2006-10-13 Jakub Jelinek <jakub@redhat.com>
401
* elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections): Set
402
.plt sh_entsize to 0 if plt header size isn't multiple of
403
plt entry size or for 32-bit which adds a nop insn at the
404
end of the .plt section.
406
2006-10-12 Bob Wilson <bob.wilson@acm.org>
408
* elf32-xtensa.c (elf_xtensa_action_discarded): New.
409
(elf_backend_action_discarded): Define.
411
2006-10-11 Bob Wilson <bob.wilson@acm.org>
413
* elf32-xtensa.c (elf_xtensa_relocate_section): Return after
414
unresolvable relocation error.
415
(elf_xtensa_finish_dynamic_symbol): Set value of undefined, weak
418
2006-10-10 Bob Wilson <bob.wilson@acm.org>
420
* elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Add DT_DEBUG
423
2006-10-03 Jakub Jelinek <jakub@redhat.com>
425
* elf-bfd.h (struct eh_cie_fde): Add set_loc pointer.
426
* elf-eh-frame.c (skip_cfa_op): Fix handling of DW_CFA_advance_loc.
427
Handle DW_CFA_{remember,restore}_state, DW_CFA_GNU_window_save,
428
DW_CFA_val_{offset{,_sf},expression}.
429
(skip_non_nops): Record number of DW_CFA_set_loc ops.
430
(_bfd_elf_discard_section_eh_frame): Require skip_non_nops recognizes
431
all ops. If there are any DW_CFA_set_loc ops and they are pcrel
432
or going to be pcrel, compute set_loc array.
433
(_bfd_elf_eh_frame_section_offset): If make_relative, kill relocations
434
against DW_CFA_set_loc operands.
435
(_bfd_elf_write_section_eh_frame): Handle DW_CFA_set_loc adjusting.
437
2006-10-02 Daniel Jacobowitz <dan@codesourcery.com>
439
* elflink.c (_bfd_elf_merge_symbol): Discard references to TLS
440
symbols from the --just-syms file.
442
2006-10-01 Alan Modra <amodra@bigpond.net.au>
444
* elf64-ppc.c (ppc64_elf_build_stubs): Test glink size for
447
2006-09-29 H.J. Lu <hongjiu.lu@intel.com>
450
* elf64-x86-64.c (elf64_x86_64_relocate_section): Don't ignore
451
relocation overflow on branches to undefweaks.
453
2006-09-29 Alan Modra <amodra@bigpond.net.au>
455
* po/BLD-POTFILES.in: Regenerate.
456
* po/SRC-POTFILES.in: Regenerate.
458
2006-09-29 Danny Smith <dannysmith@users.sourceforge.net>
461
* pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
462
alignment for .data$, .rdata$ and .text$ sections so that sse
463
and sse2 code will work for linkonce sections too.
464
* pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
466
2006-09-28 Alan Modra <amodra@bigpond.net.au>
468
* elflink.c (_bfd_elf_gc_mark_hook): New function.
469
* elf-bfd.h (_bfd_elf_gc_mark_hook): Declare.
470
* elfxx-target.h (elf_backend_gc_mark_hook): Default to above.
471
* elf-m10300.c (mn10300_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
472
* elf32-arm.c (elf32_arm_gc_mark_hook): Likewise.
473
* elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
474
* elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
475
* elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
476
* elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
477
* elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
478
* elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
479
* elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
480
* elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
481
* elf32-score.c (_bfd_score_elf_gc_mark_hook): Likewise.
482
* elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
483
* elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
484
* elf32-xtensa.c (elf_xtensa_gc_mark_hook): Likewise.
485
* elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
486
* elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
487
* elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
488
* elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
489
* elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Likewise.
490
* elf32-bfin.c (bfin_gc_mark_hook): Likewise.
491
(bfinfdpic_gc_sweep_hook): Delete.
492
(elf_backend_gc_sweep_hook): Don't define for elf32-bfinfdpic.
493
* elf32-d10v.c (elf32_d10v_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
494
(elf32_d10v_gc_sweep_hook): Delete.
495
(elf_backend_gc_sweep_hook): Don't define.
496
* elf32-fr30.c (fr30_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
497
(fr30_elf_gc_sweep_hook): Delete.
498
(elf_backend_gc_sweep_hook): Don't define.
499
* elf32-frv.c (elf32_frv_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
500
(elf32_frv_gc_sweep_hook): Delete.
501
(elf_backend_gc_sweep_hook): Don't define.
502
* elf32-iq2000.c (iq2000_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
503
(iq2000_elf_gc_sweep_hook): Delete.
504
(elf_backend_gc_sweep_hook): Don't define.
505
* elf32-openrisc.c (openrisc_elf_gc_mark_hook): Use
506
_bfd_elf_gc_mark_hook.
507
(openrisc_elf_gc_sweep_hook): Delete.
508
(elf_backend_gc_sweep_hook): Don't define.
509
* elf32-v850.c (v850_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
510
(v850_elf_gc_sweep_hook): Delete.
511
(elf_backend_gc_sweep_hook): Don't define.
512
* elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Use
513
_bfd_elf_gc_mark_hook.
514
(xstormy16_elf_gc_sweep_hook): Delete.
515
(elf_backend_gc_sweep_hook): Don't define.
516
* elf64-sh64.c (sh_elf64_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
517
(sh_elf64_gc_sweep_hook): Delete.
518
(elf_backend_gc_sweep_hook): Don't define.
519
* elf32-avr.c (elf32_avr_gc_mark_hook): Delete.
520
(elf32_avr_gc_sweep_hook): Delete.
521
(elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
522
* elf32-cr16c.c (elf32_cr16c_gc_mark_hook): Delete.
523
(elf32_cr16c_gc_sweep_hook): Delete.
524
(elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
525
* elf32-crx.c (elf32_crx_gc_mark_hook): Delete.
526
(elf32_crx_gc_sweep_hook): Delete.
527
(elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
528
* elf32-h8300.c (elf32_h8_gc_mark_hook): Delete.
529
(elf32_h8_gc_sweep_hook): Delete.
530
(elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
531
* elf32-ip2k.c (ip2k_elf_gc_mark_hook): Delete.
532
(ip2k_elf_gc_sweep_hook): Delete.
533
(elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
534
* elf32-m32c.c (m32c_elf_gc_mark_hook, m32c_elf_gc_sweep_hook): Delete.
535
(elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
536
* elf32-m68hc11.c (elf_backend_gc_mark_hook): Don't define.
537
(elf_backend_gc_sweep_hook): Don't define.
538
* elf32-m68hc12.c (elf_backend_gc_mark_hook): Don't define.
539
(elf_backend_gc_sweep_hook): Don't define.
540
* elf32-m68hc1x.c (elf32_m68hc11_gc_mark_hook): Delete.
541
(elf32_m68hc11_gc_sweep_hook): Delete.
542
* elf32-m68hc1x.h (elf32_m68hc11_gc_mark_hook): Delete.
543
(elf32_m68hc11_gc_sweep_hook): Delete.
544
* elf32-msp430.c (elf32_msp430_gc_mark_hook): Delete.
545
(elf32_msp430_gc_sweep_hook): Delete.
546
(elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
547
* elf32-mt.c (mt_elf_gc_mark_hook, mt_elf_gc_sweep_hook): Delete.
548
(elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
550
2006-09-25 Pedro Alves <pedro_alves@portugalmail.pt>
552
* bfd-in.h (CONST_STRNCPY) : Delete.
555
* bfd-in2.h : Regenerate.
556
* elflink.c (bfd_elf_gc_sections) : Use LITMEMCPY. Don't manually
557
calculate string lengths.
558
* nlmcode.h (nlm_swap_auxiliary_headers_in) : Use LITMEMCPY.
560
2006-09-26 H.J. Lu <hongjiu.lu@intel.com>
564
* elf.c (assign_file_positions_for_non_load_sections): Don't
565
warn zero size allocated sections.
567
2006-09-27 Alan Modra <amodra@bigpond.net.au>
569
* elf32-score.c (_bfd_score_elf_relocate_section): Move assignment
570
to "name" so that compiler realizes it is never uninitialized.
571
Use bfd_elf_sym_name.
573
2006-09-26 H.J. Lu <hongjiu.lu@intel.com>
576
* elf.c (rewrite_elf_program_header): Use bfd_zalloc instead of
577
bfd_alloc to allocate segment map.
578
(copy_elf_program_header): Likewise.
580
2006-09-26 Mark Shinwell <shinwell@codesourcery.com>
581
Joseph Myers <joseph@codesourcery.com>
582
Ian Lance Taylor <ian@wasabisystems.com>
583
Ben Elliston <bje@wasabisystems.com>
585
* archures.c: Add definition for bfd_mach_arm_iWMMXt2.
586
* cpu-arm.c (processors): Add bfd_mach_arm_iWMMXt2.
587
(arch_info_struct, bfd_arm_update_notes): Likewise.
588
(architectures): Likewise.
589
(bfd_arm_merge_machines): Check for iWMMXt2.
590
* bfd-in2.h: Rebuild.
592
2006-09-24 H.J. Lu <hongjiu.lu@intel.com>
594
* configure: Regenerated.
596
2006-09-22 Alan Modra <amodra@bigpond.net.au>
598
* elfcode.h (elf_swap_symbol_in): Return bfd_boolean. Don't abort
600
* elf-bfd.h (elf_size_info <swap_symbol_in>): Adjust decl.
601
(bfd_elf32_swap_symbol_in, bfd_elf64_swap_symbol_in): Likewise.
602
* elf.c (bfd_elf_get_elf_syms): Test return of swap_symbol_in,
604
* elf32-arm.c (elf32_arm_swap_symbol_in): Return bfd_boolean.
606
2006-09-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
608
* elf32-s390.c (elf_s390_relocate_section): Remove check for code
609
section in LD to LE linker relaxation for R_390_TLS_LDO32.
610
* elf64-s390.c (elf_s390_relocate_section): Likewise for
613
2006-09-20 Kai Tietz <Kai.Tietz@onevision.com>
615
* configure.in: Added new target-vectors x86_64coff_vec,
616
x86_64pe_vec, and x86_64pei_vec.
617
* configure: Regenerate.
618
* config.bfd: Adjusted x86_64 target architecture detection.
619
* bfd.c: Add for new target "coff-x86-64"
620
(bfd_get_sign_extend): Add target vector idents for pe-x86-64. and pei-x86-64.
621
* coff-x86_64.c: Add new file for x86_64 (AMD64) coff support.
622
* libpei.h: Adjustments for COFF_WITH_pex64.
623
* coffcode.h: Add for new target machine, architecture, signature, and internal
625
* Makefile.am: Add new files to target-all and define make-rule for pex64igen.c
626
* Makefile.in: Regenerate.
627
* pe-x86_64.c: Add for new target "pe-x86-64".
628
* pei-x86_64.c: Add for new target "pei-x86-64".
629
* peicode.h: Adjusts for new targets.
630
(coff_swap_filehdr_out): Set for this target to
631
_bfd_pex64_only_swap_filehdr_out.
632
(SIZEOF_IDATA4): Define it as 8 byte size for this target.
633
(SIZEOF_IDATA5): Define it as 8 byte size for this target.
634
(jump_table jtab): Add for AMD64MAGIC.
635
(pe_ILF_build_a_bfd): Adjusts for new size of SIZEOF_IDATA4 and SIZE_IDATA5.
636
(pe_ILF_object_p): Add coff image-file signature to internal
637
signature translation.
638
* peXXigen.c: Adjust proper include of target coff-header and
639
introduced target specific code
640
(COFF_WITH_pex64): New macro for this target.
641
(pe_print_idata): New dumping method for import section of PE+ files.
642
* targets.c: Add new target vectors declarations for x86_64 coff targets.
643
* coffcode.h: Support code to support the x86_64 PE magic number.
644
* coff-x86_64.c: New file.
646
2006-09-17 Hans-Peter Nilsson <hp@axis.com>
648
* elf.c (special_sections_s): Revert last STRING_COMMA_LEN change
649
for .stabstr entry, explain why.
651
2006-09-17 Anton Blanchard <anton@samba.org>
652
Alan Modra <amodra@bigpond.net.au>
654
* dwarf2.c (concat_filename): Apply DW_AT_comp_dir if dir table
655
entry isn't absolute.
657
2006-09-17 Mei Ligang <ligang@sunnorth.com.cn>
659
* cpu-score.c: New file.
660
* elf32-score.c: New file.
661
* config.bfd: Add Score target.
662
* Makefile.am: Add Score files.
663
* Makefile.in: Regenerate.
664
* archures.c: Add Score architecture.
665
* reloc.c: Add Score relocs.
666
* targets.c: Add Score target vectors.
667
* bfd-in2.h: Regenerate.
668
* libbfd.h: Regenerate.
669
* configure.in: Add Score target.
670
* configure: Regenerate.
672
2006-09-16 Nick Clifton <nickc@redhat.com>
673
Pedro Alves <pedro_alves@portugalmail.pt>
675
* bfd-in.h (STRING_AND_COMMA): New macro. Takes one constant
676
string as its argument and emits the string followed by a comma
677
and then the length of the string.
678
(CONST_STRNEQ): New macro. Checks to see if a variable string
679
has a constant string as its initial characters.
680
(CONST_STRNCPY): New macro. Copies a constant string to the start
681
of a variable string.
682
* bfd-in2.h: Regenerate.
683
* archive.c: Make use of the new macros.
684
* archive64.c: Likewise.
686
* coff-ppc.c: Likewise.
687
* coff-stgo32.c: Likewise.
688
* coffcode.h: Likewise.
689
* cofflink.c: Likewise.
690
* cpu-i960.c: Likewise.
691
* dwarf2.c: Likewise.
693
* elf-m10300.c: Likewise.
695
* elf32-arm.c: Likewise.
696
* elf32-bfin.c: Likewise.
697
* elf32-cris.c: Likewise.
698
* elf32-hppa.c: Likewise.
699
* elf32-i370.c: Likewise.
700
* elf32-i386.c: Likewise.
701
* elf32-iq2000.c: Likewise.
702
* elf32-m32r.c: Likewise.
703
* elf32-m68hc11.c: Likewise.
704
* elf32-m68hc12.c: Likewise.
705
* elf32-m68k.c: Likewise.
706
* elf32-mcore.c: Likewise.
707
* elf32-ppc.c: Likewise.
708
* elf32-s390.c: Likewise.
709
* elf32-sh-symbian.c: Likewise.
710
* elf32-sh.c: Likewise.
711
* elf32-sh64.c: Likewise.
712
* elf32-v850.c: Likewise.
713
* elf32-vax.c: Likewise.
714
* elf32-xtensa.c: Likewise.
715
* elf64-alpha.c: Likewise.
716
* elf64-hppa.c: Likewise.
717
* elf64-mmix.c: Likewise.
718
* elf64-ppc.c: Likewise.
719
* elf64-s390.c: Likewise.
720
* elf64-sh64.c: Likewise.
721
* elf64-x86-64.c: Likewise.
722
* elflink.c: Likewise.
723
* elfxx-ia64.c: Likewise.
724
* elfxx-mips.c: Likewise.
725
* elfxx-sparc.c: Likewise.
726
* hpux-core.c: Likewise.
727
* i386linux.c: Likewise.
729
* libpei.h: Likewise.
730
* linker.c: Likewise.
731
* m68klinux.c: Likewise.
733
* nlmcode.h: Likewise.
734
* osf-core.c: Likewise.
737
* sparclinux.c: Likewise.
738
* vms-hdr.c: Likewise.
740
2006-09-14 Alan Modra <amodra@bigpond.net.au>
743
* elf.c (_bfd_elf_copy_private_header_data): Fix group members
744
that have had their SHT_GROUP section removed.
746
2006-09-12 H.J. Lu <hongjiu.lu@intel.com>
749
* elflink.c (elf_link_output_extsym): Compute bucket only if
752
2006-09-10 H.J. Lu <hongjiu.lu@intel.com>
755
* elf.c (_bfd_elf_make_section_from_shdr): Correct length of
758
2006-09-08 Vladimir Prus <vladimir@codesourcery.com>
760
* elf32-arm.c (elf32_arm_swap_symbol_out): Remove
761
unconditional setting of low bit for Thumb symbol
762
mistakenly left behind after check for external
763
symbols was added. Fix comment typo.
765
2006-09-07 H.J. Lu <hongjiu.lu@intel.com>
767
* elf-bfd.h (elf_link_hash_entry): Add a dynamic field.
768
(bfd_elf_link_mark_dynamic_symbol): New.
769
(SYMBOLIC_BIND): New.
771
* elf32-i386.c (elf_i386_check_relocs): Replace info->symbolic
772
with SYMBOLIC_BIND (info, h).
773
(elf_i386_relocate_section): Likewise.
774
* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
775
(elf64_x86_64_relocate_section): Likewise.
776
* elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
778
* elflink.c (bfd_elf_link_mark_dynamic_symbol): New.
779
(bfd_elf_record_link_assignment): Call
780
bfd_elf_link_mark_dynamic_symbol on new entry.
781
(_bfd_elf_merge_symbol): Likewise.
782
(_bfd_elf_export_symbol): Return if the symbol isn't exported.
783
(_bfd_elf_fix_symbol_flags): Replace info->symbolic with
784
SYMBOLIC_BIND (info, h).
785
(_bfd_elf_dynamic_symbol_p): Likewise.
786
(_bfd_elf_symbol_refs_local_p): Likewise.
787
(bfd_elf_size_dynamic_sections): Updated.
789
2006-09-05 Bibo Mao <bibo.mao@intel.com>
792
* coffcode.h (coff_write_object_contents): Set the optional
793
header magic number to PE32PMAGIC instead of ZMAGIC for ia64.
795
2006-09-04 Mark Shinwell <shinwell@codesourcery.com>
797
* elf32-arm.c (elf32_arm_howto_table_1): Adjust entries for
798
R_ARM_THM_ALU_PREL_11_0 and R_ARM_THM_PC12 relocations.
799
(elf32_arm_final_link_relocate): Handle R_ARM_THM_ALU_PREL_11_0
800
and R_ARM_THM_PC12 relocations.
802
2006-08-24 Bob Wilson <bob.wilson@acm.org>
804
* elf32-xtensa.c (xtensa_get_property_section_name): Delete.
805
(xtensa_get_property_section): New.
806
(xtensa_read_table_entries): Use xtensa_get_property_section.
807
(relax_property_section, xtensa_get_property_predef_flags): Handle
808
group name suffixes in property section names.
809
(match_section_group): New.
811
2006-08-23 Frediano Ziglio <Frediano.Ziglio@vodafone.com>
813
* archive.c (hpux_uid_gid_encode): Fix thinko decrementing "cnt"
816
2006-08-22 Daniel Jacobowitz <dan@codesourcery.com>
818
* elf32-arm.c (elf32_arm_copy_indirect_symbol): Only copy
819
plt_thumb_refcount from indirect symbols.
821
2006-08-22 Alan Modra <amodra@bigpond.net.au>
823
* elf32-ppc.c (ppc_elf_relocate_section): Correct GOT and PLT HA
825
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
827
2006-08-21 Mark Shinwell <shinwell@codesourcery.com>
829
* elf32-arm.c (elf32_arm_link_hash_table): Correct typo in
830
comment for target1_is_rel.
832
2006-08-21 Pedro Alves <pedro_alves@portugalmail.pt>
834
* Makefile.am: Add rules to build pe-arm-wince.lo
835
and pei-arm-wince.lo objects.
836
* Makefile.in: Regenerate.
837
* pe-arm-wince.c: New file.
838
* pei-arm-wince.c: New file.
839
* pei-arm.c: Remove ARM_WINCE block.
840
* pe-arm.c: Remove ARM_WINCE block. Rename
841
bfd_arm_pe_allocate_interworking_sections,
842
bfd_arm_pe_get_bfd_for_interworking, and
843
bfd_arm_pe_process_before_allocation to
844
bfd_armpe_allocate_interworking_sections,
845
bfd_armpe_get_bfd_for_interworking, and
846
bfd_armpe_process_before_allocation. Move them before
848
* bfd.c: ARM wince bfd format names were renamed. Adjust.
849
* coff-arm.c [ARM_WINCE]: Adjust so Windows CE doesn't end up
850
with unexpected/conflicting relocs.
851
* targets.c: The arm-wince-pe target got its own new vector.
853
* config.bfd: Likewise.
854
* configure.in: Likewise.
855
* configure: Regenerate.
857
2006-08-18 Paul Brook <paul@codesourcery.com>
859
* elf32-arm.c (elf32_arm_link_hash_entry): Add export_glue.
860
(elf32_arm_link_hash_newfunc): Initialize export_glue.
861
(record_arm_to_thumb_glue): Return stub symbol.
862
(elf32_arm_create_thumb_stub): New function.
863
(elf32_arm_to_thumb_stub): Use it.
864
(elf32_arm_to_thumb_export_stub): New function.
865
(elf32_arm_begin_write_processing): New function.
866
(allocate_dynrelocs): Allocate Arm stubs.
867
(elf_backend_begin_write_processing): Define.
868
(elf32_arm_symbian_begin_write_processing): Remove ATTRIBUTE_UNUSED.
869
Call elf32_arm_begin_write_processing.
871
2006-08-17 Alan Modra <amodra@bigpond.net.au>
873
* elf64-ppc.c (create_linkage_sections): Align .glink to 8 bytes.
874
(ppc64_elf_build_stubs): Use new lazy linking stub.
876
2006-08-17 Alan Modra <amodra@bigpond.net.au>
878
* elf64-ppc.c (ppc64_elf_size_stubs): Ignore non-code sections.
880
2006-08-16 H.J. Lu <hongjiu.lu@intel.com>
883
* elf.c (get_program_header_size): Add a PT_GNU_RELRO segment
884
only if there is a PT_DYNAMIC segment.
885
(_bfd_elf_map_sections_to_segments): Likewise.
886
(assign_file_positions_for_load_sections): Set PT_GNU_RELRO
887
segment alignment to 1.
889
2006-08-15 Thiemo Seufer <ths@mips.com>
890
Nigel Stephens <nigel@mips.com>
892
* elf32-mips.c, elf64-mips.c, elfn32-mips.c
893
(elf_backend_merge_symbol_attribute): Define.
894
* elflink.c (elf_link_add_object_symbols): Merge only the ELF
896
* elfxx-mips.c (_bfd_mips_elf_merge_symbol_attribute): New function.
898
2006-08-15 Thiemo Seufer <ths@mips.com>
899
Nigel Stephens <nigel@mips.com>
900
David Ung <davidu@mips.com>
902
* config.bfd: Add configurations for mips*el-sde-elf* and
905
2006-08-14 DJ Delorie <dj@redhat.com>
907
* elf-m10300.c (elf32_mn10300_link_hash_entry): Add value.
908
(elf32_mn10300_count_hash_table_entries): New.
909
(elf32_mn10300_list_hash_table_entries): New.
910
(sort_by_value): New.
911
(mn10300_elf_relax_section): Don't skip data sections; restrict
912
code-specific tests to code-specific areas so that potential
913
indirect calls can be detected. Check for multiple local symbols
914
at the same address and merge their flags.
915
(elf32_mn10300_link_hash_newfunc): Initialize value.
917
2006-08-14 Thiemo Seufer <ths@mips.com>
919
* elfxx-mips.c (_bfd_mips_elf_symbol_processing,
920
_bfd_mips_elf_add_symbol_hook): Don't try to place small common TLS
923
2006-08-11 Thiemo Seufer <ths@mips.com>
925
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Set
926
sh_entsize only when sgot was already initialized.
928
2006-08-08 DJ Delorie <dj@redhat.com>
930
* elf32-sh.c (sh_elf_relax_section): Allow for branches across
931
non-moving .align directives. Preserve any DIR32 offset when
932
converting bsr's to jsr's.
934
2006-08-08 Alan Modra <amodra@bigpond.net.au>
936
* elf64-ppc.c (ppc64_elf_build_stubs): Clear relbrlt reloc_count
937
after stubs have been built.
939
2006-08-07 Nick Clifton <nickc@redhat.com>
941
* elf32-sh.c (vxworks_object_p): Only check for vxworks target
942
vectors if they are going to be created.
944
2006-08-07 Nick Clifton <nickc@redhat.com>
946
* configure.in (bfd_elf32_shnbsd_vec): Fix typo.
947
* configure: Regenerate.
949
2006-08-07 Nick Clifton <nickc@redhat.com>
951
* coff-arm.c (coff_arm_rtype_to_howto): Only check for ARM_SECREL
952
relocation types if the target is ARM_WINCE.
954
2006-08-05 Pedro Alves <pedro_alves@portugalmail.pt>
956
* bfd.c (bfd_get_sign_extend_vma): Add cases for pe-arm-little
958
* coff-arm.c (coff_arm_rtype_to_howto) [COFF_WITH_PE]: Handle
960
(coff_arm_reloc_type_lookup): Map BFD_RELOC_32_SECREL to
962
* pe-arm.c [COFF_SECTION_ALIGNMENT_ENTRIES]: Define.
963
* pei-arm.c [TARGET_UNDERSCORE]: Define for ARM_WINCE like in
965
[COFF_SECTION_ALIGNMENT_ENTRIES]: Define.
967
2006-08-04 Marcelo Tosatti <marcelo@kvack.org>
969
* elflink.c (elf_gc_sweep): If info.print_gc_sections is true,
970
list removed sections to stderr.
972
2006-08-04 Richard Sandiford <richard@codesourcery.com>
973
Kazu Hirata <kazu@codesourcery.com>
974
Phil Edwards <phil@codesourcery.com>
975
Nathan Sidwell <nathan@codesourcery.com>
977
* config.bfd (sh-*-vxworks): Use bfd_elf32_shvxworks_vec and
978
bfd_elf32_shlvxworks_vec.
979
* configure.in (bfd_elf32_sh64_vec): Add elf-vxworks.lo.
980
(bfd_elf32_sh64l_vec, bfd_elf32_sh64lin_vec): Likewise.
981
(bfd_elf32_sh64blin_vec, bfd_elf32_sh64lnbsd_vec): Likewise.
982
(bfd_elf32_sh64nbsd_vec, bfd_elf32_sh_vec): Likewise.
983
(bfd_elf32_shblin_vec, bfd_elf32_shl_vec): Likewise.
984
(bfd_elf32_shl_symbian_vec, bfd_elf32_shlin_vec): Likewise.
985
(bfd_elf32_shlnbsd_vec, bfd_elf32_shnbsd_vec): Likewise.
986
(bfd_elf32_shlvxworks_vec, bfd_elf32_shvxworks_vec): New stanzas.
987
* configure: Regenerate.
988
* Makefile.am: Regenerate dependencies.
989
* Makefile.in: Regenerate.
990
* elf-vxworks.c (elf_vxworks_gott_symbol_p): New function.
991
(elf_vxworks_add_symbol_hook): Use it.
992
(elf_vxworks_link_output_symbol_hook): Likewise. Use the hash
993
table entry to check for weak undefined symbols and to obtain
995
(elf_vxworks_emit_relocs): Use target_index instead of this_idx.
996
* elf32-sh-relocs.h: New file, split from elf32-sh.c.
997
(R_SH_DIR32): Use SH_PARTIAL32 for the partial_inplace field,
998
SH_SRC_MASK32 for the src_mask field, and SH_ELF_RELOC for the
999
special_function field.
1000
(R_SH_REL32): Use SH_PARTIAL32 and SH_SRC_MASK32 here too.
1001
(R_SH_REL32, R_SH_TLS_GD_32, R_SH_TLS_LD_32): Likewise.
1002
(R_SH_TLS_LDO_32, R_SH_TLS_IE_32, R_SH_TLS_LE_32): Likewise.
1003
(R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32, R_SH_TLS_TPOFF32): Likewise.
1004
(R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT): Likewise.
1005
(R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Likewise.
1006
(SH_PARTIAL32, SH_SRC_MASK32, SH_ELF_RELOC): Undefine at end of file.
1007
* elf32-sh.c: Include elf32-vxworks.h.
1008
(MINUS_ONE): Define.
1009
(sh_elf_howto_table): Include elf32-sh-relocs.h with SH_PARTIAL32
1010
set to TRUE, SH_SRC_MASK32 set to 0xffffffff, and SH_ELF_RELOC set
1012
(sh_vxworks_howto_table): New variable. Include elf32-sh-relocs.h
1013
with SH_PARTIAL32 set to FALSE, SH_SRC_MASK32 set to 0, and
1014
SH_ELF_RELOC set to bfd_elf_generic_reloc.
1015
(vxworks_object_p, get_howto_table): New functions.
1016
(sh_elf_reloc_type_lookup): Fix typo. Use get_howto_table.
1017
(sh_elf_info_to_howto): Use get_howto_table.
1018
(sh_elf_relax_section): Honor the partial_inplace field of the
1020
(sh_elf_relax_delete_bytes): Likewise.
1021
(elf_sh_plt_info): New structure.
1022
(PLT_ENTRY_SIZE): Replace both definitions with...
1023
(ELF_PLT_ENTRY_SIZE): ...this new macro, with separate definitions for
1024
INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
1025
(elf_sh_plt0_entry_be): Update sizes of both definitions accordingly.
1026
(elf_sh_plt0_entry_le): Likewise.
1027
(elf_sh_plt_entry_be, elf_sh_plt_entry_le): Likewise.
1028
(elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le): Likewise.
1029
(elf_sh_plts): New structure, with separate definitions for
1030
INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
1031
(elf_sh_plt0_entry): Delete both definitions.
1032
(elf_sh_plt_entry, elf_sh_pic_plt_entry): Likewise.
1033
(elf_sh_sizeof_plt, elf_sh_plt_plt0_offset): Likewise.
1034
(elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset): Likewise.
1035
(elf_sh_plt_reloc_offset): Likewise.
1036
(movi_shori_putval): Delete in favor of...
1037
(install_plt_field): ...this new function, with separate definitions
1038
for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
1039
(get_plt_info): New function, with separate definitions
1040
for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
1041
(elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset): Delete.
1042
(VXWORKS_PLT_HEADER_SIZE, VXWORKS_PLT_ENTRY_SIZE): New macros.
1043
(vxworks_sh_plt0_entry_be, vxworks_sh_plt0_entry_le): New constants.
1044
(vxworks_sh_plt_entry_be, vxworks_sh_plt_entry_le): Likewise.
1045
(vxworks_sh_pic_plt_entry_be, vxworks_sh_pic_plt_entry_le): Likewise.
1046
(get_plt_index, get_plt_offset): New functions.
1047
(elf_sh_link_hash_table): Add srelplt2, plt_info and vxworks_p fields.
1048
(sh_elf_link_hash_table_create): Initialize them.
1049
(sh_elf_create_dynamic_sections): Call
1050
elf_vxworks_create_dynamic_sections for VxWorks.
1051
(allocate_dynrelocs): Use htab->plt_info to get the size of PLT
1052
entries. Allocate relocation entries in .rela.plt.unloaded if
1053
generating a VxWorks executable.
1054
(sh_elf_always_size_sections): New function.
1055
(sh_elf_size_dynamic_sections): Extend .rela.plt handling to
1057
(sh_elf_relocate_section): Use get_howto_table. Honor
1058
partial_inplace when calculating the addend for dynamic
1059
relocations. Use get_plt_index.
1060
(sh_elf_finish_dynamic_symbol): Use get_plt_index, install_plt_field
1061
and htab->plt_info. Fill in the bra .plt offset for VxWorks
1062
executables. Populate .rela.plt.unloaded. Do not make
1063
_GLOBAL_OFFSET_TABLE_ absolute on VxWorks.
1064
(sh_elf_finish_dynamic_sections): Use install_plt_field and
1065
htab->plt_info. Handle cases where there is no special PLT header.
1066
Populate the first relocation in .rela.plt.unloaded and fix up
1067
the remaining entries.
1068
(sh_elf_plt_sym_val): Use get_plt_info.
1069
(elf_backend_always_size_sections): Define.
1070
(TARGET_BIG_SYM, TARGET_BIG_NAME): Override for VxWorks.
1071
(TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
1072
(elf32_bed, elf_backend_want_plt_sym): Likewise.
1073
(elf_symbol_leading_char, elf_backend_want_got_underscore): Likewise.
1074
(elf_backend_grok_prstatus, elf_backend_grok_psinfo): Likewise.
1075
(elf_backend_add_symbol_hook): Likewise.
1076
(elf_backend_link_output_symbol_hook): Likewise.
1077
(elf_backend_emit_relocs): Likewise.
1078
(elf_backend_final_write_processing): Likewise.
1079
(ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Likewise.
1080
* targets.c (bfd_elf32_shlvxworks_vec): Declare.
1081
(bfd_elf32_shvxworks_vec): Likewise.
1082
(_bfd_target_vector): Include bfd_elf32_shlvxworks_vec and
1083
bfd_elf32_shvxworks_vec.
1085
2006-08-02 Mark Kettenis <kettenis@gnu.org>
1087
* configure.in (arm-*-openbsd*): Set COREFILE to netbsd-core.lo.
1088
* configure: Regenerate.
1090
2006-08-02 Petr Salinger <Petr.Salinger@seznam.cz>
1093
* elf64-x86-64.c: Add FreeBSD support.
1094
(elf64_x86_64_fbsd_post_process_headers): New function.
1095
* targets.c (_bfd_target_vector): Add bfd_elf64_x86_64_freebsd_vec.
1096
* config.bfd (x64_64-*-freebsd*): Add bfd_elf64_x86_64_freebsd_vec
1097
to the targ_selvecs.
1098
* configure.in: Add entry for bfd_elf64_x86_64_freebsd_vec.
1099
* configure: Regenerate.
1101
2006-07-26 Andreas Schwab <schwab@suse.de>
1103
* elfxx-ia64.c (elfNN_ia64_choose_gp): Use rawsize if set.
1105
2006-07-26 Alan Modra <amodra@bigpond.net.au>
1107
* elf.c (elf_modify_segment_map): Delete empty PT_LOAD segments.
1108
* elf32-xtensa.c (elf_xtensa_modify_segment_map): Delete.
1109
(define elf_backend_modify_segment_map): Don't define.
1111
2006-07-25 Thiemo Seufer <ths@networkno.de>
1113
* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Allow
1114
linking of objects for compatible machine types.
1116
2006-07-25 Thiemo Seufer <ths@networkno.de>
1118
* elfxx-mips.c (mips_elf_next_relocation): Tighten check to test
1119
also for same symbol.
1121
2006-07-25 Thiemo Seufer <ths@mips.com>
1123
* elfxx-mips.c (mips_elf_calculate_relocation): Remove magic constant.
1125
2006-07-24 Michael Wetherell <mike.wetherell@ntlworld.com>
1127
* elf.c (bfd_section_from_shdr): Reject unrecognised OS-specific
1128
sections only if the SHF_OS_NONCONFORMING flag is present.
1130
2006-07-24 Nick Clifton <nickc@redhat.com>
1133
* peXXigen.c (_bfd_XXi_final_link_postscript): Check for the
1134
existance of output sections before putting their entries into the
1137
2006-07-20 Thiemo Seufer <ths@mips.com>
1139
* elf32-mips.c (mips16_jump_reloc): Remove function.
1140
(elf_mips16_howto_table_rel): Use _bfd_mips_elf_generic_reloc
1141
instead of mips16_jump_reloc.
1142
* elf64_mips.c, wlfn32-mips.c (mips16_jump_reloc): Remove function.
1143
(elf_mips16_howto_table_rel, elf_mips16_howto_table_rela): Use
1144
_bfd_mips_elf_generic_reloc instead of mips16_jump_reloc.
1146
2006-07-19 Alan Modra <amodra@bigpond.net.au>
1148
* bfd-in.h (enum notice_asneeded_action): Define.
1149
* bfd-in2.h: Regenerate.
1150
* elflink.c (elf_link_add_object_symbols): Call linker "notice"
1151
function with NULL name for as-needed handling.
1153
2006-07-18 Paul Brook <paul@codesourcery.com>
1155
* bfd-in2.h: Regenerate.
1156
* libbfd.h: Regenerate.
1157
* reloc.c: Add BFD_RELOC_ARM_T32_ADD_IMM.
1159
2006-07-18 Nick Clifton <nickc@redhat.com>
1161
* elfxx-mips.c (_bfd_mips_elf_common_definition): New function.
1162
Consider SHN_MIPS_ACOMMON and SHN_MIPS_SCOMMON as being common
2042
2007-03-07 Alan Modra <amodra@bigpond.net.au>
2045
* elf.c (assign_file_positions_for_load_sections): Don't
2046
adjust p_memsz for !SEC_LOAD section vma modulo page size.
2047
Instead, use the same lma based adjustment for SEC_LOAD
1164
* elfxx-mips.h (_bfd_mips_elf_common_definition): Prototype.
1166
2006-07-14 Jakub Jelinek <jakub@redhat.com>
1168
* elflink.c (bfd_elf_size_dynsym_hash_dynstr): Fix cinfo.shift2 value.
1170
2006-07-14 Mark Kettenis <kettenis@gnu.org>
1172
* elflink.c (bfd_elf_size_dynsym_hash_dynstr): Move declarations
1173
to the start of a block.
1175
2006-07-13 Nick Clifton <nickc@redhat.com>
1177
* coff-sh.c (_bfd_sh_align_load_span): Catch sh_insn_info()
1178
returning a NULL value.
1180
2006-07-12 H.J. Lu <hongjiu.lu@intel.com>
1183
* elflink.c (_bfd_elf_merge_symbol): Copy the symbol info from
1184
the old versioned dynamic definition to the new one with
1185
non-default visibility. Hide the symbol if it is hidden or
1188
2006-07-12 Matthew R. Dempsky <mrd@alkemio.org>
1190
* cpu-m68k.c (bfd_m68k_compatible): Handle CPU32.
1192
2006-07-10 Jakub Jelinek <jakub@redhat.com>
1194
* elf.c (_bfd_elf_print_private_bfd_data): Handle DT_GNU_HASH.
1195
(bfd_section_from_shdr, elf_fake_sections, assign_section_numbers):
1196
Handle SHT_GNU_HASH.
1197
(special_sections_g): Include .gnu.hash section.
1198
(bfd_elf_gnu_hash): New function.
1199
* elf-bfd.h (bfd_elf_gnu_hash, _bfd_elf_hash_symbol): New prototypes.
1200
(struct elf_backend_data): Add elf_hash_symbol method.
1201
* elflink.c (_bfd_elf_link_create_dynamic_sections): Create .hash
1202
only if info->emit_hash, create .gnu.hash section if
1203
info->emit_gnu_hash.
1204
(struct collect_gnu_hash_codes): New type.
1205
(elf_collect_gnu_hash_codes, elf_renumber_gnu_hash_syms,
1206
_bfd_elf_hash_symbol): New functions.
1207
(compute_bucket_count): Don't compute HASHCODES array, instead add
1208
that and NSYMS as arguments. Use bed->s->sizeof_hash_entry
1209
instead of bed->s->arch_size / 8. Fix .hash size estimation.
1210
When not optimizing, use the number of hashed symbols rather than
1212
(bfd_elf_size_dynamic_sections): Only add DT_HASH if info->emit_hash,
1213
and ADD DT_GNU_HASH if info->emit_gnu_hash.
1214
(bfd_elf_size_dynsym_hash_dynstr): Size .hash only if info->emit_hash,
1215
adjust compute_bucket_count caller. Create and populate .gnu.hash
1216
section if info->emit_gnu_hash.
1217
(elf_link_output_extsym): Only populate .hash section if
1218
finfo->hash_sec != NULL.
1219
(bfd_elf_final_link): Adjust assertion. Handle DT_GNU_HASH.
1220
* elfxx-target.h (elf_backend_hash_symbol): Define if not yet defined.
1221
(elfNN_bed): Add elf_backend_hash_symbol.
1222
* elf64-x86-64.c (elf64_x86_64_hash_symbol): New function.
1223
(elf_backend_hash_symbol): Define.
1224
* elf32-i386.c (elf_i386_hash_symbol): New function.
1225
(elf_backend_hash_symbol): Define.
1227
2006-07-05 Nick Clifton <nickc@redhat.com>
1230
* cofflink.c (_bfd_coff_link_input_bfd): Fix selection of aux
1231
entry when multiple definitions of a symbol are encountered.
1233
2006-06-30 H.J. Lu <hongjiu.lu@intel.com>
1235
* elf32-i386.c (elf_i386_relocate_section): Use xchg %ax,%ax
1237
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1238
(elf64_x86_64_plt0_entry): Use nopl 0(%rax) instead of 4 nops.
1240
2006-06-29 Jakub Jelinek <jakub@redhat.com>
1243
* elf32-i386.c (GOT_TLS_MASK, GOT_TLS_IE_IE, GOT_TLS_IE_GD,
1244
GOT_TLS_IE_MASK, elf_i386_check_relocs, allocate_dynrelocs): Revert
1246
(elf_i386_relocate_section): Likewise. For GD->IE transition
1247
change subl into addl whenever tls_type is GOT_TLS_IE_POS.
1249
2006-06-23 Alan Modra <amodra@bigpond.net.au>
1252
* elf.c (bfd_elf_mkobject): Don't alloc if already done. Set
1253
program_header_size to -1.
1254
(_bfd_elf_map_sections_to_segments): Adjust program_header_size check.
1255
(assign_file_positions_for_load_sections ): Likewise.
1256
(_bfd_elf_sizeof_headers): Use saved program_header_size if
1258
* elf32-arm.c (elf32_arm_mkobject): Call bfd_elf_mkobject, don't
1259
alloc if already done.
1260
* elf32-i386.c (elf_i386_mkobject): Likewise.
1261
* elf32-ppc.c (ppc_elf_mkobject): Likewise.
1262
* elf32-s390.c (elf_s390_mkobject): Likewise.
1263
* elf32-sh.c (sh_elf_mkobject): Likewise.
1264
* elf64-alpha.c (elf64_alpha_mkobject): Likewise.
1265
* elf64-ppc.c (ppc64_elf_mkobject): Likewise.
1266
* elf64-s390.c (elf_s390_mkobject): Likewise.
1267
* elf64-x86-64.c (elf64_x86_64_mkobject): Likewise.
1268
* elfxx-sparc.c (_bfd_sparc_elf_mkobject): Likewise.
1270
2006-06-20 Jakub Jelinek <jakub@redhat.com>
1272
* elflink.c (elf_link_add_object_symbols): Don't create .tcommon
1273
section for relocatable link.
1275
2006-06-21 Alan Modra <amodra@bigpond.net.au>
1277
* elf-bfd.h (struct elf_backend_data): Add
1278
elf_backend_modify_program_headers.
1279
* elfxx-target.h (elf_backend_modify_program_headers): Define.
2050
2007-03-01 Bob Wilson <bob.wilson@acm.org>
2052
* elf32-xtensa.c (analyze_relocations): Zero src_count if not relaxing.
2053
(find_relaxable_sections): Do not increment src_count for unknown
2054
opcodes. Decode only once instead of calling is_l32r_relocation.
2055
(compute_text_actions): Remove unused no_insn_move flag. Assert that
2056
src_next matches src_count in relax_info.
2058
2007-03-01 Joseph Myers <joseph@codesourcery.com>
2060
* Makefile.am (bfdver.h): Use "." not " " between version number
2062
* Makefile.in: Regenerate.
2063
* configure.in (PKGVERSION): Default to "(GNU Binutils) ".
2064
* configure: Regenerate.
2066
2007-02-28 Nathan Sidwell <nathan@codesourcery.com>
2068
* config.bfd (sh-*-uclinux, sh[12]-*-uclinux): New stanza.
2070
2007-02-27 Alan Modra <amodra@bigpond.net.au>
2072
* elf32-spu.h (struct _ovl_stream): Make "start" and "end" const.
2073
* elf32-spu.c (ovl_mgr_pread): Add const to casts.
2075
2007-02-23 Carlos O'Donell <carlos@codesourcery.com>
2077
* dwarf2.c (_bfd_dwarf2_find_nearest_line): Assume 32-bit
2078
DWARF even with 64-bit addresses.
2079
(_bfd_dwarf2_find_nearest_line): Likewise.
2081
2007-02-23 Nick Clifton <nickc@redhat.com>
2084
* elf.c (copy_private_bfd_data): Always rewrite the program
2085
headers when a Solaris interpreter segment is involved.
2087
2007-02-22 Paul Brook <paul@codesourcery.com>
2089
* elflink.c (gc_mark_hook_fn): Remove.
2090
(_bfd_elf_gc_mark): Rename gc_mark_hook_fn to elf_gc_mark_hook_fn.
2091
(bfd_elf_gc_sections): Ditto. Call gc_mark_extra_sections.
2092
* elf-bfd.h (elf_gc_mark_hook_fn): Define.
2093
(elf_backend_data): Add gc_mark_extra_sections.
2094
* elfxx-target.h (elf_backend_gc_mark_extra_sections): Provide default
2096
(elfNN_bed): Add elf_backend_gc_mark_extra_sections.
2097
* elf32-arm.c (elf32_arm_gc_mark_extra_sections): New function.
2098
(elf_backend_gc_mark_extra_sections): Define.
2100
2007-02-21 Nick Clifton <nickc@redhat.com>
2102
* elf.c (_bfd_elf_map_sections_to_segments): If the
2103
override_segment_assignment callback is defined then call it.
2105
2007-02-21 Alan Modra <amodra@bigpond.net.au>
2107
* elf32-spu.c (spu_elf_size_stubs): Correct order of warning args.
2109
2007-02-19 Thiemo Seufer <ths@mips.com>
2111
* elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Remove
2112
translation marker from untranslatable strings.
2114
2007-02-19 Alan Modra <amodra@bigpond.net.au>
2116
* elf-bfd.h (struct elf_backend_data): Add default_execstack.
2117
* elflink.c (bfd_elf_size_dynamic_sections): Heed default_execstack.
2118
* elfxx-target.h (elf_backend_default_execstack): Define to 1.
1280
2119
(elfNN_bed): Init new field.
1281
* elf.c (elf_modify_segment_map): Remove comment.
1282
(assign_file_positions_for_load_sections): Only call
1283
elf_modify_segment_map for objcopy/strip.
1284
(assign_file_positions_except_relocs): Call
1285
elf_backend_modify_program_headers.
1286
* elf32-frv.c (elf32_frvfdpic_always_size_sections): Don't make
1288
(elf32_frvfdpic_modify_segment_map): Delete.
1289
(elf32_frvfdpic_modify_program_headers): New.
1290
(elf_backend_modify_segment_map): Don't define.
1291
(elf_backend_modify_program_headers): Define.
1292
* elf32-bfin.c (elf32_bfinfdpic_always_size_sections): Don't make
1294
(elf32_bfinfdpic_modify_segment_map): Delete.
1295
(elf32_bfinfdpic_modify_program_headers): New.
1296
(elf_backend_modify_segment_map): Don't define.
1297
(elf_backend_modify_program_headers): Define.
1298
* elfxx-ia64.c (elfNN_ia64_modify_program_headers): New function.
1300
(elfNN_ia64_modify_segment_map): ..here.
1301
(elf_backend_modify_program_headers): Define.
1303
2006-06-20 Jakub Jelinek <jakub@redhat.com>
1305
* bfd.c (bfd_record_phdr): Clear p_align and p_align_valid fields.
1306
* elf.c (_bfd_elf_link_hash_table_init): Clear hplt field.
1308
2006-06-20 Alan Modra <amodra@bigpond.net.au>
1310
* elf-bfd.h: Formatting.
1311
(_bfd_elf_map_sections_to_segments): Declare.
1312
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame_hdr): Don't
1313
clear program_header_size.
1314
* elf.c (get_program_header_size): Move. Don't use or set saved
1315
program_header_size here.
1316
(elf_modify_segment_map): New function. Split out from..
1317
(assign_file_positions_for_load_sections): ..here. Assert
1318
header size is correct. Remove dead code.
1319
(_bfd_elf_map_sections_to_segments): Rename from
1320
map_sections_to_segments. Make global. Use get_program_header_size
1321
when we need estimate of header size. Call elf_modify_segment_map.
1322
Set program_header_size.
1323
(print_segment_map): Delete.
1324
(_bfd_elf_sizeof_headers): If segment_map available, get the
1326
* elf32-arm.c (elf32_arm_symbian_modify_segment_map): Make safe
1327
for calling more than once.
1328
* elf32-bfin.c (elf32_bfinfdpic_modify_segment_map): Likewise.
1329
* elf32-frv.c (elf32_frvfdpic_modify_segment_map): Likewise.
1330
* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
1331
* elf32-i370.c (elf_backend_add_symbol_hook): Delete.
1332
(elf_backend_additional_program_headers): Delete.
1333
(elf_backend_modify_segment_map): Delete.
1334
* elf64-hppa.c (elf64_hppa_modify_segment_map): Convert to ISO C.
1335
* elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
1336
* doc/bfdint.texi: Delete SIZEOF_HEADERS difficulties.
1338
2006-06-19 Vladimir Prus <vladimir@codesourcery.com>
1340
* elf32-arm.c (elf32_arm_swap_symbol_out): Don't set low
1341
bit for undefined symbols.
1343
2006-06-19 Alan Modra <amodra@bigpond.net.au>
1345
* elf-bfd.h (struct elf_backend_data): Add bfd_link_info pointer
1347
(_bfd_elf_sizeof_headers): Replace bfd_boolean param with
1348
bfd_link_info pointer.
1349
* targets.c (struct bfd_target <_bfd_sizeof_headers>): Likewise.
1350
* bfd.c (bfd_sizeof_headers): Tweak param name.
1351
* aout-adobe.c (aout_adobe_sizeof_headers): Adjust.
1352
* aoutx.h (NAME (aout, sizeof_headers)): Adjust.
1353
* binary.c (binary_sizeof_headers): Adjust.
1354
* bout.c (b_out_sizeof_headers): Adjust.
1355
* coff-rs6000.c (_bfd_xcoff_sizeof_headers): Adjust.
1356
* coff64-rs6000.c (xcoff64_sizeof_headers): Adjust.
1357
* coffgen.c (coff_sizeof_headers): Adjust.
1358
* ecoff.c (_bfd_ecoff_sizeof_headers): Adjust.
1359
(ecoff_compute_section_file_positions): Adjust.
1360
(_bfd_ecoff_write_object_contents): Adjust.
1361
* elf.c (get_program_header_size, _bfd_elf_sizeof_headers): Adjust.
1362
* elf32-arm.c (elf32_arm_additional_program_headers): Adjust.
1363
* elf32-i370.c (elf_backend_additional_program_headers): Adjust.
1364
* elf32-ppc.c (ppc_elf_additional_program_headers): Adjust.
1365
* elf64-hppa.c (elf64_hppa_additional_program_headers): Adjust.
1366
* elf64-x86-64.c (elf64_x86_64_additional_program_headers): Adjust.
1367
* elfxx-ia64.c (elfNN_ia64_additional_program_headers): Adjust.
1368
* elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Adjust.
1369
* elfxx-mips.h (_bfd_mips_elf_additional_program_headers): Adjust.
1370
* i386msdos.c: Convert to ISO C.
1371
(msdos_sizeof_headers): Adjust.
1372
* i386os9k.c: Convert to ISO C.
1373
(os9k_sizeof_headers): Adjust.
1374
* ieee.c (ieee_sizeof_headers): Adjust.
1375
* ihex.c (ihex_sizeof_headers): Adjust.
1376
* libaout.h (NAME (aout, sizeof_headers)): Adjust.
1377
* libbfd-in.h (_bfd_nolink_sizeof_headers): Adjust.
1378
* libcoff-in.h (coff_sizeof_headers): Adjust.
1379
* libecoff.h (_bfd_ecoff_sizeof_headers): Adjust.
1380
* mach-o.c (bfd_mach_o_sizeof_headers): Adjust.
1381
* mmo.c (mmo_sizeof_headers): Adjust.
1382
* oasys.c (oasys_sizeof_headers): Adjust.
1383
* pdp11.c (NAME (aout, sizeof_headers)): Adjust.
1384
* pef.c (bfd_pef_sizeof_headers): Adjust.
1385
* ppcboot.c (ppcboot_sizeof_headers): Adjust.
1386
* som.c (som_sizeof_headers): Adjust.
1387
* srec.c (srec_sizeof_headers): Adjust.
1388
* tekhex.c (tekhex_sizeof_headers): Adjust.
1389
* versados.c (versados_sizeof_headers): Adjust.
1390
* vms.c (vms_sizeof_headers): Adjust.
1391
* xcoff-target.h (_bfd_xcoff_sizeof_headers): Adjust.
1392
* xsym.c (bfd_sym_sizeof_headers): Adjust.
1393
* xsym.h (bfd_sym_sizeof_headers): Adjust.
1394
* bfd-in2.h: Regenerate.
1395
* libbfd.h: Regenerate.
1396
* libcoff.h: Regenerate.
1398
2006-06-15 Mark Shinwell <shinwell@codesourcery.com>
1400
* bfd-in2.h: Regenerate.
1401
* elf32-arm.c (R_ARM_ALU_PC_G0_NC, R_ARM_ALU_PC_G0,
1402
R_ARM_ALU_PC_G1_NC, R_ARM_ALU_PC_G1, R_ARM_ALU_PC_G2,
1403
R_ARM_LDR_PC_G1, R_ARM_LDR_PC_G2, R_ARM_LDRS_PC_G0,
1404
R_ARM_LDRS_PC_G1, R_ARM_LDRS_PC_G2, R_ARM_LDC_PC_G0,
1405
R_ARM_LDC_PC_G1, R_ARM_LDC_PC_G2, R_ARM_ALU_SB_G0_NC,
1406
R_ARM_ALU_SB_G0, R_ARM_ALU_SB_G1_NC, R_ARM_ALU_SB_G1,
1407
R_ARM_ALU_SB_G2, R_ARM_LDR_SB_G0, R_ARM_LDR_SB_G1,
1408
R_ARM_LDR_SB_G2, R_ARM_LDRS_SB_G0, R_ARM_LDRS_SB_G1,
1409
R_ARM_LDRS_SB_G2, R_ARM_LDC_SB_G0, R_ARM_LDC_SB_G1,
1410
R_ARM_LDC_SB_G2): New relocation types.
1411
(R_ARM_PC13): Rename to AAELF name R_ARM_LDR_PC_G0 and
1412
adjust HOWTO entry to be consistent with R_ARM_LDR_PC_G1
1414
(elf32_arm_howto_table_3): Delete; contents merged into
1415
elf32_arm_howto_table_2.
1416
(elf32_arm_howto_from_type): Adjust correspondingly.
1417
(elf32_arm_reloc_map): Extend with the above relocations.
1418
(calculate_group_reloc_mask): New function.
1419
(identify_add_or_sub): New function.
1420
(elf32_arm_final_link_relocate): Support for the above
1422
* reloc.c: Add enumeration entries for BFD_RELOC_ARM_...
1423
codes to correspond to the above relocations.
1425
2006-06-14 Richard Sandiford <richard@codesourcery.com>
1427
* elf32-m68k.c (elf_m68k_plt_info): New structure.
1428
(elf_m68k_plt0_entry): Add R_68K_PC32-style in-place addends.
1429
(elf_m68k_plt_entry): Likewise.
1430
(elf_m68k_plt_info): New table.
1431
(CFV4E_PLT_ENTRY_SIZE): Rename to...
1432
(ISAB_PLT_ENTRY_SIZE): ...this.
1433
(CFV4E_FLAG): Delete.
1434
(elf_cfv4e_plt0_entry): Rename to...
1435
(elf_isab_plt0_entry): ...this. Adjust comments. Use (-6,%pc,%d0)
1436
for the second instruction too.
1437
(elf_cfv4e_plt_entry): Rename to...
1438
(elf_isab_plt_entry): ...this. Adjust comments and use (-6,%pc,%d0).
1439
(elf_isab_plt_info): New table.
1440
(CPU32_FLAG): Delete.
1441
(PLT_CPU32_ENTRY_SIZE): Rename to...
1442
(CPU32_PLT_ENTRY_SIZE): ...this.
1443
(elf_cpu32_plt0_entry): Update bounds accordingly. Add R_68K_PC32-
1444
style in-place addends.
1445
(elf_cpu32_plt_entry): Likewise.
1446
(elf_cpu32_plt_info): New table.
1447
(elf_m68k_link_hash_table): Add a plt_info field.
1448
(elf_m68k_link_hash_table_create): Initialize it.
1449
(elf_m68k_get_plt_info): New function.
1450
(elf_m68k_always_size_sections): Likewise.
1451
(elf_m68k_adjust_dynamic_symbol): Use the plt_info hash table field.
1452
(elf_m68k_install_pc32): New function.
1453
(elf_m68k_finish_dynamic_symbol): Factor code using plt_info and
1454
elf_m68k_install_pc32.
1455
(elf_m68k_finish_dynamic_sections): Likewise.
1456
(elf_m68k_plt_sym_val): Use elf_m68k_get_plt_info.
1457
(elf_backend_always_size_sections): Define.
1459
2006-06-14 Alan Modra <amodra@bigpond.net.au>
1461
* elflink.c (elf_link_add_object_symbols): Save and restore
1462
struct bfd_hash_table table, size and count fields for
1465
2006-06-12 Thiemo Seufer <ths@mips.com>
1467
* elf32-mips.c: Expand comment about ABI-mandated pagesize values.
1468
(ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): define in a more obvious way.
1469
* elf64-mips.c, elfn32-mips.c (ELF_MAXPAGESIZE): Fix value for IRIX6.
1470
Delete old comments.
1471
(ELF_COMMONPAGESIZE): Define in a more obvious way.
1473
2006-06-12 Nick Clifton <nickc@redhat.com>
1476
* elflink.c (elf_link_add_object_symbols): Fix the warning message
1477
about mismatched alignments to allow for the case where the common
1478
alignment has been deduced from the section alignment.
1479
* bfd.c (_bfd_default_error_handler): Update comment to explain
1480
why bfd and asection varargs are out of order. Explicitly catch
1481
and abort on NULL bfd and asection arguments.
1483
2006-06-11 Richard Sandiford <richard@codesourcery.com>
1484
Thiemo Seufer <ths@mips.com>
1486
* elfxx-mips.c (mips_elf_link_hash_table): Add function_stub_size.
1487
(STUB_ORI): New macro.
1488
(STUB_LI16U): Fix formatting.
1489
(MIPS_FUNCTION_STUB_SIZE): Delete.
1490
(MIPS_FUNCTION_STUB_MAX_SIZE): Likewise.
1491
(MIPS_FUNCTION_STUB_NORMAL_SIZE): New macro.
1492
(MIPS_FUNCTION_STUB_BIG_SIZE): Likewise.
1493
(_bfd_mips_elf_adjust_dynamic_symbol): Use htab->function_stub_size
1494
instead of MIPS_FUNCTION_STUB_SIZE.
1495
(count_section_dynsyms): New function, split out from
1496
_bfd_mips_elf_final_link.
1497
(_bfd_mips_elf_always_size_sections): Get a worst-case estimate
1498
of the number of dynamic symbols needed and use it to set up
1499
function_stub_size. Use function_stub_size rather than
1500
MIPS_FUNCTION_STUB_SIZE to determine the size of the stub section.
1501
Use 16-byte stubs for 0x10000 dynamic symbols.
1502
(_bfd_mips_elf_size_dynamic_sections): Use htab->function_stub_size
1503
instead of MIPS_FUNCTION_STUB_SIZE. Fix formatting.
1504
(_bfd_mips_elf_finish_dynamic_symbol): Likewise. Change the
1505
size of the stub buffer from MIPS_FUNCTION_STUB_MAX_SIZE to
1506
MIPS_FUNCTION_STUB_BIG_SIZE. Tweak the check for unhandled dynindxes.
1507
Use MIPS_FUNCTION_STUB_BIG_SIZE rather than a hard-coded 20.
1508
Use STUB_ORI rather than STUB_LI16U for big stubs.
1509
(_bfd_mips_elf_link_hash_table_create): Initialize function_stub_size.
1510
(_bfd_mips_elf_final_link): Use count_section_dynsyms.
1512
2006-06-09 David Ung <davidu@mips.com>
1514
* bfd/elfxx-mips.c (mips_elf_calculate_relocation): Fix mode for stub
1515
calling relocations.
1517
2006-06-08 David Daney <ddaney@avtrex.com>
1519
* elfxx-mips.c (STUB_LI16): Removed.
1520
(STUB_LUI): New macro.
1521
(STUB_LI16U): Ditto.
1522
(STUB_LI16S): Ditto.
1523
(MIPS_FUNCTION_STUB_SIZE): Rewrote to take info parameter.
1524
(_bfd_mips_elf_adjust_dynamic_symbol): Pass info parameter to
1525
MIPS_FUNCTION_STUB_SIZE.
1526
(_bfd_mips_elf_always_size_sections): Ditto.
1527
(_bfd_mips_elf_size_dynamic_sections): Ditto.
1528
(_bfd_mips_elf_finish_dynamic_sections): Ditto.
1529
(_bfd_mips_elf_finish_dynamic_symbol): Rewrote stub generation
1530
to allow larger symbol table indexes.
1532
2006-06-07 Joseph S. Myers <joseph@codesourcery.com>
1534
* po/Make-in (pdf, ps): New dummy targets.
1536
2006-06-06 Alan Modra <amodra@bigpond.net.au>
1538
* hash.c (bfd_hash_lookup): Correct stray line.
1540
* elf.c (_bfd_elf_init_private_section_data): Comment typo.
1541
(elfcore_grok_nto_status): Use long instead of pid_t.
1542
(elfcore_grok_nto_regs, elfcore_grok_nto_note): Likewise.
1544
2006-06-05 Daniel Jacobowitz <dan@codesourcery.com>
1546
* po/Make-in (top_builddir): Define.
1548
2006-06-05 Alan Modra <amodra@bigpond.net.au>
1550
* Makefile.am: Run "make dep-am".
1551
* Makefile.in: Regenerate.
1552
* config.in: Regenerate.
1554
2006-06-02 Alan Modra <amodra@bigpond.net.au>
1555
H.J. Lu <hongjiu.lu@intel.com>
1558
* elflink.c (bfd_elf_final_link): Don't output section symbols
1559
for special ELF sections.
1561
2006-06-01 Alan Modra <amodra@bigpond.net.au>
1563
* stabs.c (_bfd_link_section_stabs): Use bfd_make_section*_with_flags
1564
instead of bfd_make_section*.
1565
* aix386-core.c: Likewise.
1566
* aix5ppc-core.c: Likewise.
1567
* aout-adobe.c: Likewise.
1568
* aoutf1.h: Likewise.
1569
* binary.c: Likewise.
1570
* cisco-core.c: Likewise.
1571
* coff-arm.c: Likewise.
1572
* coff-h8300.c: Likewise.
1574
* elf32-bfin.c: Likewise.
1575
* elf32-m32c.c: Likewise.
1576
* hppabsd-core.c: Likewise.
1577
* hpux-core.c: Likewise.
1578
* i386linux.c: Likewise.
1581
* irix-core.c: Likewise.
1582
* lynx-core.c: Likewise.
1583
* m68klinux.c: Likewise.
1584
* mach-o.c: Likewise.
1585
* netbsd-core.c: Likewise.
1586
* nlmcode.h: Likewise.
1587
* opncls.c: Likewise.
1588
* osf-core.c: Likewise.
1589
* peXXigen.c: Likewise.
1590
* ppcboot.c: Likewise.
1591
* ptrace-core.c: Likewise.
1592
* rs6000-core.c: Likewise.
1593
* sco5-core.c: Likewise.
1594
* sparclinux.c: Likewise.
1596
* sunos.c: Likewise.
1597
* trad-core.c: Likewise.
1598
* xcofflink.c: Likewise.
1601
2006-05-31 Daniel Jacobowitz <dan@codesourcery.com>
1603
* Makefile.am (INCLUDES): Use @INCINTL@.
1604
* acinclude.m4: Include new gettext macros.
1605
* configure.in: Use ZW_GNU_GETTEXT_SISTER_DIR and AM_PO_SUBDIRS.
1606
Manually substitute POFILES and GMOFILES.
1607
* Makefile.in, aclocal.m4, configure, doc/Makefile.in: Regenerated.
1609
2006-05-30 H.J. Lu <hongjiu.lu@intel.com>
1611
* bfd.c (bfd_emul_get_maxpagesize): New.
1612
(bfd_elf_set_pagesize): Likewise.
1613
(bfd_emul_set_maxpagesize): Likewise.
1614
(bfd_emul_get_commonpagesize): Likewise.
1615
(bfd_emul_set_commonpagesize): Likewise.
1616
* bfd-in2.h: Regenerated.
1618
* elf-bfd.h (elf_backend_data): Add commonpagesize.
1619
(xvec_get_elf_backend_data): New.
1620
(get_elf_backend_data): Use xvec_get_elf_backend_data.
1622
* elf32-arm.c (elf32_arm_vxworks_bed): Remove const.
1623
* elfxx-target.h (elfNN_bed): Likewise.
1625
* elf32-arm.c (ELF_COMMONPAGESIZE): Defined.
1626
* elf32-mips.c (ELF_COMMONPAGESIZE): Likewise.
1627
* elf32-ppc.c (ELF_COMMONPAGESIZE): Likewise.
1628
* elf32-sh.c (ELF_COMMONPAGESIZE): Likewise.
1629
* elf32-sh64.c (ELF_COMMONPAGESIZE): Likewise.
1630
* elf32-sparc.c (ELF_COMMONPAGESIZE): Likewise.
1631
* elf64-alpha.c (ELF_COMMONPAGESIZE): Likewise.
1632
* elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise.
1633
* elf64-sparc.c (ELF_COMMONPAGESIZE): Likewise.
1634
* elf64-x86-64.c (ELF_COMMONPAGESIZE): Likewise.
1635
* elfn32-mips.c (ELF_COMMONPAGESIZE): Likewise.
1636
* elfxx-ia64.c (ELF_COMMONPAGESIZE): Likewise.
1638
* elfxx-target.h (ELF_COMMONPAGESIZE): Define if not defined.
1639
(elfNN_bed): Initialize commonpagesize with ELF_COMMONPAGESIZE.
1641
* targets.c (bfd_find_target): Support NULL abfd.
1643
2006-05-30 Nick Clifton <nickc@redhat.com>
1645
* po/es.po: Updated Spanish translation.
1647
2006-05-27 Alan Modra <amodra@bigpond.net.au>
1648
H.J. Lu <hongjiu.lu@intel.com>
1650
* elf.c (assign_file_positions_for_load_sections): Retrieve
1651
maxpagesize from m->p_align if it is valid. Set p_vaddr,
1652
p_paddr and p_align earlier. Revert 2006-05-19 change to p_align.
1653
(copy_elf_program_header): Copy p_align. Set p_align_valid.
1655
2006-05-26 H.J. Lu <hongjiu.lu@intel.com>
1657
* elf64-x86-64.c (ELF_MINPAGESIZE): Changed to 0x1000.
1659
2006-05-25 H.J. Lu <hongjiu.lu@intel.com>
1661
* elf64-x86-64.c (ELF_MINPAGESIZE): Set to 0x100000.
1663
2006-05-25 H.J. Lu <hongjiu.lu@intel.com>
1665
* elf64-x86-64.c (ELF_MAXPAGESIZE): Updated to 0x200000.
1667
2006-05-26 Alan Modra <amodra@bigpond.net.au>
1669
* elf.c (sym_is_global): Return a bfd_boolean.
1670
(ignore_section_sym): New function.
1671
(elf_map_symbols): Use ignore_section_sym to discard some syms.
1672
(_bfd_elf_symbol_from_bfd_symbol): Ensure section belongs to
1673
bfd before using elf_section_syms.
1675
2006-05-25 H.J. Lu <hongjiu.lu@intel.com>
1677
* config.bfd: (sh-*-linux*): Treat as 64bit target.
1678
(sh*l*-*-netbsdelf*): Likewise.
1679
(sh-*-netbsdelf*): Likewise.
1680
(shl*-*-elf*): Likewise.
1681
(sh[1234]l*-*-elf*): Likewise.
1682
(sh3el*-*-elf*): Likewise.
1683
(shl*-*-kaos*): Likewise.
1684
(sh-*-elf*): Likewise.
1685
(sh[1234]*-elf*): Likewise.
1686
(sh-*-rtems*): Likewise.
1687
(sh-*-kaos*): Likewise.
1689
2006-05-24 H.J. Lu <hongjiu.lu@intel.com>
1692
* config.bfd: Set want64 to true if 64bit bfd is used.
1693
(sh-*-linux*): Use targ64_selvecs for 64bit targets.
1694
(sh*l*-*-netbsdelf*): Likewise.
1695
(sh-*-netbsdelf*): Likewise.
1696
(shl*-*-elf*): Likewise.
1697
(sh[1234]l*-*-elf*): Likewise.
1698
(sh3el*-*-elf*): Likewise.
1699
(shl*-*-kaos*): Likewise.
1700
(sh-*-elf*): Likewise.
1701
(sh[1234]*-elf*): Likewise.
1702
(sh-*-rtems*): Likewise.
1703
(sh-*-kaos*): Likewise.
1705
2006-05-24 Paul Brook <paul@codesourcery.com>
1707
* elf-bfd.h (elf_backend_data): Add elf_backend_output_arch_local_syms
1708
* elf32-arm.c (output_arch_syminfo): Define.
1709
(elf32_arm_ouput_plt_map_sym, elf32_arm_output_plt_map,
1710
elf32_arm_output_arch_local_syms): New functions.
1711
(elf_backend_output_arch_local_syms): Define.
1712
* elflink.c (bfd_elf_final_link): Call
1713
elf_backend_output_arch_local_syms.
1714
* elfxx-target.h (elf_backend_output_arch_local_syms): Provide default
1716
(elfNN_bed): Add elf_backend_output_arch_local_syms.
1718
2006-05-24 Paul Brook <paul@codesourcery.com>
1720
* elf32-arm.c (put_arm_insn, put_thumb_insn): New functions.
1721
(elf32_thumb_to_arm_stub, elf32_arm_to_thumb_stub,
1722
elf32_arm_finish_dynamic_symbol): Use them.
1724
2006-05-24 Carlos O'Donell <carlos@systemhalted.org>
1725
Randolph Chung <tausq@debian.org>
1727
* elf-hppa.h (reloc_hppa_howto_table): Check bitfield for
1728
TPREL21L/TPREL14R relocations. Handle LTOFF_TP14R relocations.
1729
Add handling for TLS relocations.
1730
(elf_hpp_reloc_final_type): Handle TLS relocs.
1731
* elf32-hppa.c: Add authors for cleanup and TLS support.
1732
(hppa_elf_local_got_tls_type, hh_name, eh_name): Define.
1733
(elf32_hppa_link_hash_entry): Add tls_type.
1734
(elf32_hppa_link_hash_table): Add tld_ldm_got.
1735
(hppa_link_has_newfunc): Set tls_type.
1736
(elf32_hppa_link_hash_table_create): Set tls_ldm_got refcount.
1737
(hppa_stub_name): Use hh_name macro.
1738
(elf32_hppa_copy_indirect_symbol): Copy TLS information.
1739
(elf32_hppa_check_relocs): Call elf32_hppa_optimized_tls_reloc.
1741
(elf32_hppa_gc_sweep_hook): Likewise.
1742
(allocate_dynrelocs): Handle TLS relocs.
1743
(elf32_hppa_size_dynamic_sections): Count space required by TLS
1744
relocs. Use hh_name macro.
1745
(dtpoff_base): New function.
1747
(elf32_hppa_optimized_tls_reloc): Likewise.
1748
(final_link_relocate): Handle TLS relocs.
1749
(elf32_hppa_relocate_section): Handle TLS relocs. Use eh_name
1751
(elf32_hppa_finish_dynamic_symbol): Setup TLS got entries. Use
1752
hh_name and eh_name macros.
1753
(elf32_hppa_reloc_type_clas): Handle TLS relocs.
1755
2006-05-24 Bjoern Haase <bjoern.m.haase@web.de>
1757
* archures.c: Add bfd_mach_avr6.
1758
* cpu-avr.c: Likewise.
1759
* reloc.c (BFD_RELOC_AVR_LO8_LDI_GS, BFD_RELOC_AVR_HI8_LDI_GS):
1761
* libbfd.h: Regenerate.
1762
* bfd-in2.h:Regenerate.
1763
* elf32-avr.h: New file. Protoypes for functions accessed from ld.
1764
* elf32-avr.c: Add elf32-avr.h to include list.
1765
(elf32_avr_stub_hash_entry): New function.
1766
(elf32_avr_link_hash_table): New struct.
1767
(avr_link_hash_table): Likewise.
1768
(avr_stub_hash_entry): Likewise.
1769
(avr_stub_hash_lookup): New function.
1770
(stub_hash_newfunc): New function.
1771
(elf32_avr_link_hash_table_create): New function.
1772
(elf32_avr_link_hash_table_free): New function.
1773
(avr_get_stub_addr): New function.
1774
(debug_relax, debug_stubs): Add new global variables controlling
1775
debugging printout to stdout.
1776
(avr_pc_wrap_around): Change the type to bfd_vma.
1777
(avr_replace_call_ret_sequences): Add a new variable controling
1778
linkrelax optimizations.
1779
(avr_stub_is_required_for_16_bit_reloc): New function.
1780
(avr_final_link_relocate):
1781
Add linker hash table to parameter list. Use stub addr. if necessary.
1782
(elf32_avr_relocate_section):
1783
Add linker hashtable to parameter list of avr_final_link_relocate.
1784
(bfd_elf_avr_final_write_processing): Add support for bfd_mach_avr6.
1785
(elf32_avr_object_p): Add support for E_AVR_MACH_AVR6.
1786
(elf32_avr_relax_delete_bytes):
1787
Iterate over all sections of a bfd when adjusting relocs addends.
1788
(elf32_avr_relax_section):
1789
Evaluate avr_replace_call_ret_sequences and recalculate the size of
1791
(avr_stub_name): New function.
1792
(avr_get_stub_entry): New function.
1793
(avr_add_stub): New function.
1794
(avr_build_one_stub): New function.
1795
(avr_size_one_stub): New function.
1796
(elf32_avr_setup_params): New function.
1797
(elf32_avr_setup_section_lists): New function.
1798
(get_local_syms): New function.
1799
(elf32_avr_size_stubs): New function.
1800
(bfd_elf32_bfd_link_hash_table_create): New function.
1801
(bfd_elf32_bfd_link_hash_table_free): New function.
1803
2006-05-23 H.J. Lu <hongjiu.lu@intel.com>
1807
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Properly
1808
update CIE/FDE length. Don't pad to the section alignment.
1810
2006-05-23 Jie Zhang <jie.zhang@analog.com>
1812
* elf32-bfin.c (bfinfdpic_relocate_section): Clear reloc for
1813
deteted entries in .eh_frame section.
1815
2006-05-23 Jie Zhang <jie.zhang@analog.com>
1817
* elf32-bfin.c (bfin_check_relocs): Use __GLOBAL_OFFSET_TABLE_
1818
instead of _GLOBAL_OFFSET_TABLE_.
1819
(bfin_relocate_section): Ditto.
1820
(_bfin_create_got_section): Ditto.
1821
(elf32_bfinfdpic_create_dynamic_sections): Use
1822
__PROCEDURE_LINKAGE_TABLE_ instead of _PROCEDURE_LINKAGE_TABLE_.
1823
(bfin_finish_dynamic_symbol): Use __DYNAMIC instead of _DYNAMIC.
1825
2006-05-23 Alan Modra <amodra@bigpond.net.au>
1827
* elf64-ppc.c (compare_symbols): Prefer strong dynamic global
1828
function syms over other syms.
1830
2006-05-22 Daniel Jacobowitz <dan@codesourcery.com>
1832
* elflink.c (_bfd_elf_add_dynamic_entry): Remove DT_TEXTREL
1834
(bfd_elf_final_link): Add a late DT_TEXTREL check.
1835
* elfxx-mips.c (MIPS_ELF_READONLY_SECTION): Define.
1836
(mips_elf_create_dynamic_relocation): Set DF_TEXTREL.
1837
(_bfd_mips_elf_check_relocs): Delete MIPS_READONLY_SECTION.
1838
Use MIPS_ELF_READONLY_SECTION.
1839
(_bfd_mips_elf_size_dynamic_sections): Clear DF_TEXTREL after
1840
creating DT_TEXTREL.
1841
(_bfd_mips_elf_finish_dynamic_sections): Clear textrel markers
1842
if no text relocations were generated.
1844
2006-05-19 H.J. Lu <hongjiu.lu@intel.com>
1846
* elfxx-ia64.c (ELF_MAXPAGESIZE): Fix a typo in comment.
1848
2006-05-19 Alan Modra <amodra@bigpond.net.au>
1850
* elf.c (elf_fake_sections): Formatting.
1851
(assign_file_positions_for_load_sections): Only add SEC_ALLOC
1852
sections to p_memsz. Remove hack for PT_NOTE sections. Allow
1853
section alignment to increase p_align for PT_LOAD.
1854
(assign_file_positions_for_non_load_sections): Remove ARM BPABI
1855
hack for PT_DYNAMIC. Instead, set p_filesz for all segments
1856
other than PT_LOAD, and PT_NOTE in core.
1858
2006-05-17 Alan Modra <amodra@bigpond.net.au>
1860
* elf.c (assign_file_positions_for_segments): Split into..
1861
(assign_file_positions_for_load_sections): ..this, and..
1862
(assign_file_positions_for_non_load_sections): ..this new function,..
1863
(assign_file_positions_except_relocs): ..writing program headers here.
1865
2006-05-17 Alan Modra <amodra@bigpond.net.au>
1867
* elflink.c (elf_gc_sweep): Don't specially keep non-alloc,
1868
non-load sections if they have relocs.
1870
2006-05-15 Paul Brook <paul@codesourcery.com>
1872
* cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename ...
1873
(bfd_is_arm_special_symbol_name): ... to this. Add type argument.
1874
Check symbol name is of specified type.
1875
* elf32-arm.c (elf32_arm_is_target_special_symbol,
1876
arm_elf_find_function, elf32_arm_output_symbol_hook): Use
1877
bfd_is_arm_special_symbol_name.
1878
* bfd-in.h (BFD_ARM_SPECIAL_SYM_TYPE_MAP,
1879
BFD_ARM_SPECIAL_SYM_TYPE_TAG, BFD_ARM_SPECIAL_SYM_TYPE_OTHER,
1880
BFD_ARM_SPECIAL_SYM_TYPE_ANY): Define.
1881
(bfd_is_arm_mapping_symbol_name): Remove prototype.
1882
(bfd_is_arm_special_symbol_name): Add prototype.
1883
* bfd-in2.h: Regenerate.
1885
2006-05-15 David Heine <dlheine@tensilica.com>
1886
Bob Wilson <bob.wilson@acm.org>
1888
* elf32-xtensa.c (check_loop_aligned): Fix reversed check for
1889
undefined opcode. Clean up assertions.
1890
(narrow_instruction, widen_instruction): Remove "do_it" parameters.
1891
Factor most of the code into separate functions....
1892
(can_narrow_instruction, can_widen_instruction): New.
1893
(prev_instr_is_a_loop): New.
1894
(compute_ebb_proposed_actions): Combine error handling code for
1895
decode errors. Replace call to insn_decode_len with inline code.
1896
Use can_narrow_instruction and can_widen_instruction. Handle errors
1897
from call to xtensa_opcode_is_loop.
1898
(relax_section): Adjust calls to narrow_instruction and
1901
2006-05-15 Alan Modra <amodra@bigpond.net.au>
1904
* elf32-ppc.c (ppc_elf_relax_section): Don't segfault on non-pic
1907
2006-05-11 Michael Matz <matz@suse.de>
1909
* elflink.c (match_group_member): Correctly iterate group
1912
2006-05-11 Paul Brook <paul@codesourcery.com>
1914
* elf32-arm.c (elf32_arm_reloc_map): Add MOVW and MOVT relocs.
1915
(elf32_arm_final_link_relocate): Handle MOVW and MOVT relocs.
1916
(elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
1918
* bfd-in2.h: Regenerate.
1919
* libbfd.h: Regenerate.
1920
* libcoff.h: Regenerate.
1922
2006-05-11 Mike Bland <mbland@google.com>
1924
* elf.c (_bfd_elf_init_private_section_data): Don't change
1925
section type if already set.
1927
2006-05-10 Nick Clifton <nickc@redhat.com>
1930
* elfcode.h (valid_section_index_p): New function: Checks for a
1931
valid section index. Allows indicies in the range SHN_LOPROC to
1933
(elf_object_p): Use valid_section_index_p.
1935
2006-05-11 Pedro Alves <pedro_alves@portugalmail.pt>
1937
* coff-arm.c (ARM_26D, ARM_32, ARM_RVA_32, ARM_SECTION,
1938
ARM_SECREL): Mark WinCE versions of these relocs as partial
1940
(coff_arm_relocate_section): Adjust addend for WinCE.
1942
2006-05-10 Alan Modra <amodra@bigpond.net.au>
1945
* elflink.c (_bfd_elf_default_action_discarded): Revert 2006-02-16.
1947
2006-05-09 Nick Clifton <nickc@redhat.com>
1949
* coffcode.h (coff_write_relocs): Produce an error message if a an
1950
out-of-range symbol index is detected in a reloc.
1952
2006-05-09 Ben Elliston <bje@au.ibm.com>
1954
* elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Remove unused
1955
local variable `dynobj'.
1957
2006-05-05 Bjoern Haase <bjoern.m.haase@web.de>
1959
* elf32-avr.c (elf32_avr_relax_delete_bytes): Iterate over all
1960
of the bfd's sections for the reloc-addend adjustments.
1962
2006-05-05 Martin Schwidefsky <schwidefsky@de.ibm.com>
1964
* elf32-s390.c (invalid_tls_insn): Call bfd_set_error.
1965
(elf_s390_relocate_section): Add code to do the GD->LE and
1966
LD->LE TLS linker optimizations if a brasl instruction is used
1967
for the __tls_get_offset function call.
1968
* elf64-s390.c (invalid_tls_insn): Call bfd_set_error.
1970
2006-05-05 Alan Modra <amodra@bigpond.net.au>
1972
* elf64-ppc.c (ppc64_elf_tls_optimize): Only optimize
1973
R_PPC64_TPREL64 and R_PPC64_DTPMOD64 relocs when they are in
1974
the .toc and referenced by a TLS code sequence.
1975
(ppc64_elf_edit_toc): Cater for the unlikely situation that
1976
.toc is the first section in a file.
1978
2006-05-04 Andreas Schwab <schwab@suse.de>
1980
* aoutf1.h (struct external_sparc_core): Declare c_regs as struct
1981
regs instead of an array of int.
1982
(struct external_solaris_bcp_core): Likewise.
1983
(swapcore_sun3): Use offsetof instead of computing the offset
1985
(swapcore_sparc): Likewise. Simplify reference to c_regs.
1986
(swapcore_solaris_bcp): Likewise.
1988
2006-05-04 Daniel Jacobowitz <dan@codesourcery.com>
1990
* elfxx-mips.c (_bfd_mips_elf_hide_symbol): Adjust handling
1993
2006-05-04 Daniel Jacobowitz <dan@codesourcery.com>
1995
* cpu-arm.c (bfd_is_arm_mapping_symbol_name): Accept more
1998
2006-05-04 Ben Elliston <bje@au.ibm.com>
2000
* coff-or32.c (bfd_section_from_shdr): Remove unused local
2002
* cofflink.c (process_embedded_commands): Remove unused local
2003
variables `had_read' and `had_shared'.
2004
* ecofflink.c (bfd_ecoff_debug_accumulate): Remove unused local
2006
* ihex.c (ihex_read_section): Remove unused local variable `addr'.
2008
2006-05-03 Alan Modra <amodra@bigpond.net.au>
2010
* libbfd-in.h (_bfd_generic_new_section_hook): Declare.
2011
* section.c (bfd_abs_symbol, bfd_com_symbol): Delete.
2012
(bfd_und_symbol, bfd_ind_symbol): Delete.
2013
(BFD_FAKE_SECTION): Remove SYM_PTR param, set symbol_ptr_ptr to
2015
(STD_SECTION): Adjust.
2016
(_bfd_generic_new_section_hook): New function, extracted from..
2017
(bfd_section_init): ..here.
2018
(bfd_make_section_old_way): Call new_section_hook for abs, com,
2019
und and ind sections.
2020
* elf.c (_bfd_elf_large_com_section): Adjust.
2021
* aoutx.h (new_section_hook): Call _bfd_generic_new_section_hook.
2022
* pdp11.c (new_section_hook): Likewise.
2023
* coffcode.h (coff_new_section_hook): Likewise.
2024
* ecoff.c (_bfd_ecoff_new_section_hook): Likewise.
2025
* elf.c (_bfd_elf_new_section_hook): Likewise.
2026
* vms.c (vms_new_section_hook): Likwise.
2027
* elf32-arm.c (elf32_arm_new_section_hook): Check used_by_bfd isn't
2029
* elf32-sh64.c (sh64_elf_new_section_hook): Likewise.
2030
* elf32-xtensa.c (elf_xtensa_new_section_hook): Likewise.
2031
* elf64-mmix.c (mmix_elf_new_section_hook): Likewise.
2032
* elf64-ppc.c (ppc64_elf_new_section_hook): Likewise.
2033
* elfxx-mips.c (_bfd_mips_elf_new_section_hook): Likewise.
2034
* elfxx-sparc.c (_bfd_sparc_elf_new_section_hook): Likewise.
2035
* ieee.c (ieee_new_section_hook): Likewise. Call
2036
_bfd_generic_new_section_hook too.
2037
* mmo.c (mmo_new_section_hook): Likewise.
2038
* oasys.c (oasys_new_section_hook): Likewise.
2039
* som.c (som_new_section_hook): Likewise.
2040
* coff-w65.c (reloc_processing): Don't use bfd_abs_symbol.
2041
* bfd-in2.h: Regenerate.
2042
* libbfd.h: Regenerate.
2044
2006-05-03 Alan Modra <amodra@bigpond.net.au>
2046
* hash.c (DEFAULT_SIZE): Revert last change.
2047
(higher_prime_number): Correct test for no larger prime. Don't
2048
abort on error, instead return 0. Depopulate primes[].
2049
(bfd_hash_lookup): If we overflow size, refuse to grow table.
2051
2006-05-02 Paul Brook <paul@codesourcery.com>
2053
* elf32-arm.c (elf32_arm_final_link_relocate): Set thumb funciton bit
2056
2006-05-02 Ben Elliston <bje@au.ibm.com>
2058
* archive.c (bfd_generic_archive_p): Remove unused local variable
2060
* dwarf2.c (decode_line_info): Remove unused local variable
2062
* elfcode.h (elf_slurp_reloc_table_from_section): Remove unused
2064
* tekhex.c (tekhex_write_object_contents): Remove unused local
2065
variable `bytes_written'.
2066
* aout-ns32k.c (MY_swap_std_reloc_out): Remove unused local
2067
variable `r_addend'.
2068
* elf32-dlx.c (dlx_rtype_to_howto): Remove breaks after returns.
2069
* elfxx-mips.c (_bfd_elf_mips_mach): Remove breaks after returns.
2070
(_bfd_ns32k_relocate_contents): Remove break after return.
2071
* elf.c (bfd_section_from_shdr): Remove breaks after returns.
2073
2006-05-02 Nick Clifton <nickc@redhat.com>
2075
* elf32-sh-symbian.c: Rename local define DEBUG to SYMBIAN_DEBUG
2076
in order to avoid conflicts with the global DEBUG define.
2078
2006-05-02 Alan Modra <amodra@bigpond.net.au>
2080
* dwarf2.c: Formatting.
2081
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Simplify
2082
output section check.
2083
* elf32-i370.c: Warning fixes inside #ifdef DEBUG.
2084
* elf32-m32c.c: Similarly.
2085
* elf32-ppc.c: Similarly.
2086
* elf32-v850.c: Similarly.
2087
* nlm32-sparc.c: Similarly.
2088
* elfcode.h: Similarly.
2089
(elf_symbol_flags): Delete.
2090
* elflink.c (elf_link_input_bfd): Comment typo.
2092
2006-05-01 DJ Delorie <dj@redhat.com>
2094
* bfd-in.h (bfd_hash_table): Add count field.
2095
* bfd-in2.h: Regenerate.
2096
* hash.c (higher_prime_number): New.
2097
(bfd_hash_table_inint_n): Init count field.
2098
(bfd_hash_lookup): Grow table as needed.
2100
2006-04-27 Kaz Kojima <kkojima@rr.iij4u.or.jp>
2103
* tekhex.c (getvalue): Change return type to bfd_boolean and
2104
add the new parameter. Return false if the unexpected character
2107
(first_phase): Change return type to bfd_boolean and return
2108
false if the unexpected character is found. Replace abort
2109
with returning false.
2110
(pass_over): Change return type to bfd_boolean and the type of
2111
the second argument to bfd_boolean (*) (bfd *, int, char *).
2112
Return false if FUNC returns false.
2113
(tekhex_object_p): Return NULL if pass_over fails.
2115
2006-04-27 Alan Modra <amodra@bigpond.net.au>
2117
* coff-rs6000.c (xcoff_write_archive_contents_old): Warning fix.
2119
2006-04-26 H.J. Lu <hongjiu.lu@intel.com>
2122
* elf.c (_bfd_elf_new_section_hook): Don't set section ELF type
2123
and flags if its BFD flags have been set.
2124
(_bfd_elf_init_private_section_data): Don't copy the output ELF
2125
section type from input if it has been set to something
2128
2006-04-25 H.J. Lu <hongjiu.lu@intel.com>
2131
* elf.c (_bfd_elf_close_and_cleanup): Check elf_tdata (abfd)
2134
* elf32-arm.c (elf32_arm_close_and_cleanup): Check if
2135
abfd->sections is NULL.
2136
(elf32_arm_bfd_free_cached_info): New.
2137
(bfd_elf32_bfd_free_cached_info): Defined.
2139
* elfxx-target.h (bfd_elfNN_bfd_free_cached_info): Default it
2140
to _bfd_free_cached_info.
2142
* libbfd-in.h (_bfd_free_cached_info): New.
2143
* libbfd: Regenerated.
2145
* opncls.c (_bfd_delete_bfd): Check if abfd->memory is NULL.
2146
(_bfd_free_cached_info): New.
2148
2006-04-21 Alan Modra <amodra@bigpond.net.au>
2150
* elf.c (assign_file_positions_except_relocs): Move code setting
2151
file position of non-loaded sections..
2152
(assign_file_positions_for_segments): ..to here.
2154
2006-04-20 H.J. Lu <hongjiu.lu@intel.com>
2157
* elf.c (bfd_section_from_shdr): Allow sections reserved for
2158
applications. Issue an error on sections we don't know how
2161
2006-04-19 Alan Modra <amodra@bigpond.net.au>
2163
* Makefile.am: Run "make dep-am".
2164
* Makefile.in: Regenerate.
2166
2006-04-19 Alan Modra <amodra@bigpond.net.au>
2168
* warning.m4 (--enable-werror): Format help message.
2169
(--enable-build-warnings): Likewise.
2170
* configure: Regenerate.
2172
2006-04-18 Nick Clifton <nickc@redhat.com>
2175
* elfcode.h (elf_object_p): Allow files with corrupt e_shstrndx
2176
fields to still be handled as ELF files.
2178
2006-04-16 Daniel Jacobowitz <dan@codesourcery.com>
2180
* po/SRC-POTFILES.in: Regenerated.
2182
2006-04-16 Daniel Jacobowitz <dan@codesourcery.com>
2184
* configure.in: Update version to 2.17.50.
2185
* configure: Regenerated.
2187
2006-04-14 David Heine <dlheine@tensilica.com>
2189
* elf32-xtensa.c (build_reloc_opcodes): New.
2190
(compute_text_actions): Use it to decode opcodes outside inner loop.
2191
(check_section_ebb_pcrels_fit): Add "reloc_opcodes" argument, and if
2192
it is set, use it to get the opcodes for relocations.
2193
(move_shared_literal): Adjust call to check_section_ebb_pcrels_fit.
2195
2006-04-08 H.J. Lu <hongjiu.lu@intel.com>
2198
* elf32-i386.c (GOT_TLS_MASK): New macro for tls_type.
2199
(GOT_TLS_IE_IE): Likewise.
2200
(GOT_TLS_IE_GD): Likewise.
2201
(GOT_TLS_IE_MASK): Likewise.
2202
(elf_i386_check_relocs): For global symbols, set GOT_TLS_IE_GD
2203
and GOT_TLS_IE_IE for R_386_TLS_GD and R_386_TLS_IE
2205
(allocate_dynrelocs): If both GOT_TLS_IE_IE and GOT_TLS_IE_GD
2206
are set, treat tls_type as GOT_TLS_IE_BOTH.
2207
(elf_i386_relocate_section): Likewise.
2209
2006-04-07 Randolph Chung <tausq@debian.org>
2211
* elf64-hppa.c (elf64_hppa_grok_prstatus): New function.
2212
(elf64_hppa_grok_psinfo): Likewise.
2213
(elf_backend_grok_pstatus, elf_backend_grok_psinfo): Define.
2215
2006-04-06 DJ Delorie <dj@redhat.com>
2217
* elf32-m32c.c (m32c_elf_relocate_section): Generate a symbol for
2218
each plt entry we create.
2220
2006-04-06 Carlos O'Donell <carlos@codesourcery.com>
2222
* po/Make-in: Add install-html target.
2223
* Makefile.am: Rename docdir to bfddocdir. Add datarootdir, docdir
2224
htmldir. Add install-html and install-html-recursive targets.
2225
* Makefile.in: Regenerate.
2226
* configure.in: AC_SUBST for datarootdir, docdir and htmldir.
2227
* configure: Regenerate.
2229
2006-04-06 H.J. Lu <hongjiu.lu@intel.com>
2231
* elfxx-ia64.c (elfNN_ia64_relax_section): Skip unneeded passes
2232
with the skip_relax_pass_0 and skip_relax_pass_1 bits in the
2235
2006-04-05 Bernd Schmidt <bernd.schmidt@analog.com>
2237
* elf32-bfin.c (bfinfdpic_relocs_info_hash): Sprinkle casts to
2240
2006-04-05 H.J. Lu <hongjiu.lu@intel.com>
2241
James E Wilson <wilson@specifixinc.com>
2244
* elfxx-ia64.c (elfNN_ia64_dyn_sym_info): Remove next.
2245
(elfNN_ia64_local_hash_entry): Add count, sorted_count and
2247
(elfNN_ia64_link_hash_entry): Likewise.
2248
(elfNN_ia64_new_elf_hash_entry): Initialize count, sorted_count
2250
(elfNN_ia64_hash_copy_indirect): Updated elfNN_ia64_dyn_sym_info
2252
(elfNN_ia64_hash_hide_symbol): Likewise.
2253
(elfNN_ia64_global_dyn_sym_thunk): Likewise.
2254
(elfNN_ia64_local_dyn_sym_thunk): Likewise.
2255
(elfNN_ia64_global_dyn_info_free): New function.
2256
(elfNN_ia64_local_dyn_info_free): Likewise.
2257
(elfNN_ia64_hash_table_free): Free local and global
2258
elfNN_ia64_dyn_sym_info.
2259
(addend_compare): New function.
2260
(sort_dyn_sym_info): Likewise.
2261
(get_dyn_sym_info): Updated to use binary search for addend.
2262
(elfNN_ia64_check_relocs): Scan relocations to create dynamic
2263
relocation arrays first.
2265
2006-04-05 Bernd Schmidt <bernd.schmidt@analog.com>
2267
* elf32-bfin.c (_bfin_create_got_section): Don't generate a _gp
2270
2006-04-05 H.J. Lu <hongjiu.lu@intel.com>
2273
* elflink.c (check_dynsym): New.
2274
(elf_link_output_extsym): Use it.
2275
(bfd_elf_final_link): Likewise.
2277
2006-04-05 H.J. Lu <hongjiu.lu@intel.com>
2280
* elflink.c (_bfd_elf_merge_symbol): Skip the default indirect
2281
symbol from the dynamic definition with the default version if
2282
its type and the type of existing regular definition mismatch.
2284
2006-04-05 Richard Sandiford <richard@codesourcery.com>
2285
Daniel Jacobowitz <dan@codesourcery.com>
2287
* config.bfd (sparc-*-vxworks*): New stanza.
2288
* configure.in (bfd_elf32_sparc_vxworks_vec): New stanza.
2289
(bfd_elf32_sparc_vec, bfd_elf64_sparc_vec): Add elf-vxworks.lo.
2290
* configure: Regenerate.
2291
* elf32-sparc.c: Include elf-vxworks.h.
2292
(elf32_sparc_vxworks_link_hash_table_create: New.
2293
(elf32_sparc_vxworks_final_write_processing): New.
2294
(TARGET_BIG_SYM): Override for VxWorks.
2295
(TARGET_BIG_NAME, ELF_MINPAGESIZE): Likewise.
2296
(bfd_elf32_bfd_link_hash_table_create): Likewise.
2297
(elf_backend_want_got_plt, elf_backend_plt_readonly): Likewise.
2298
(elf_backend_got_header_size, elf_backend_add_symbol_hook): Likewise.
2299
(elf_backend_link_output_symbol_hook): Likewise.
2300
(elf_backend_emit_relocs): Likewise.
2301
(elf_backend_final_write_processing, elf32_bed): Likewise.
2302
* elfxx-sparc.c: Include libiberty.h and elf-vxworks.h.
2303
(sparc_vxworks_exec_plt0_entry, sparc_vxworks_exec_plt_entry): New.
2304
(sparc_vxworks_shared_plt0_entry, sparc_vxworks_shared_plt_entry): New.
2305
(_bfd_sparc_elf_link_hash_table_create): Don't initialize
2306
build_plt_entry here.
2307
(create_got_section): Initialize sgotplt for VxWorks.
2308
(_bfd_sparc_elf_create_dynamic_sections): Initialize build_plt_entry,
2309
plt_header_size and plt_entry_size, with new VxWorks-specific settings.
2310
Call elf_vxworks_create_dynamic_sections for VxWorks.
2311
(allocate_dynrelocs): Use plt_header_size and plt_entry_size.
2312
Allocate room for .got.plt and .rela.plt.unloaded entries on VxWorks.
2313
(_bfd_sparc_elf_size_dynamic_sections): Don't allocate a nop in .plt
2314
for VxWorks. Check for the .got.plt section.
2315
(sparc_vxworks_build_plt_entry): New function.
2316
(_bfd_sparc_elf_finish_dynamic_symbol): Add handling of VxWorks PLTs.
2317
Don't make _GLOBAL_OFFSET_TABLE_ and _PROCEDURE_LINKAGE_TABLE_
2318
absolute on VxWorks.
2319
(sparc32_finish_dyn): Add special handling for DT_RELASZ
2320
and DT_PLTGOT on VxWorks.
2321
(sparc_vxworks_finish_exec_plt): New.
2322
(sparc_vxworks_finish_shared_plt): New.
2323
(_bfd_sparc_elf_finish_dynamic_sections): Call them.
2324
Use plt_header_size and plt_entry_size.
2325
* elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add is_vxworks,
2326
srelplt2, sgotplt, plt_header_size and plt_entry_size fields.
2327
* Makefile.am (elfxx-sparc.lo): Depend on elf-vxworks.h.
2328
(elf32-sparc.lo): Likewise.
2329
* Makefile.in: Regenerate.
2330
* targets.c (bfd_elf32_sparc_vxworks_vec): Declare.
2331
(_bfd_target_vector): Add a pointer to it.
2333
2006-03-30 Ben Elliston <bje@au.ibm.com>
2336
* elflink.c (elf_fixup_link_order): Ensure `elfsec' is not a
2337
special section number that exceeds the number of ELF sections
2338
(eg. SHN_MIPS_SCOMMON).
2340
2006-03-27 Richard Sandiford <richard@codesourcery.com>
2342
* elfxx-mips.c (mips_got_entry): Add more commentary.
2343
(mips_elf_local_got_index): Use the hash table entry to record
2344
the GOT index of forced-local symbols.
2345
(mips_elf_initialize_tls_index): Rearrange code. Store the index
2346
in either the hash table entry or the mips_got_entry, not both.
2347
Add more commentary.
2348
(mips_elf_multi_got): Make sure the g->next is nonnull when calling
2349
mips_elf_initialize_tls_index.
2351
2006-03-25 Bernd Schmidt <bernd.schmidt@analog.com>
2353
* elf32-bfin.c (bfd_const_reloc, bfd_oper_reloc, bfin_push_reloc,
2354
RELOC_STACK_SIZE, reloc_stack, reloc_stack_tos, is_reloc_stack_empty,
2355
reloc_stack_push, reloc_stack_pop, reloc_stack_operate,
2356
bfin_areloc_howto_table): Delete. All
2357
uses deleted as well.
2358
(bfin_reloc_map): Delete all stack relocs.
2359
(bfin_info_to_howto, bfin_bfd_reloc_type_lookup,
2360
bfin_reloc_type_lookup): Don't support them.
2361
(bfin_relocate_section): Don't try to handle them.
2363
* config.bfd (bfin-*-*): Add bfd_elf32_bfinfdpic_vec.
2364
* configure.in: Likewise.
2365
* configure: Regenerate.
2366
* elf32-bfin.c: Include "elf/dwarf2.h" and "hashtab.h".
2367
(BFIN_RELOC_MAX): Now 0x21.
2368
(bfin_howto_table, bfin_reloc_map): Add FD-PIC relocs.
2369
(bfd_elf32_bfinfdpic_vec): Declare.
2370
(IS_FDPIC): New macro.
2371
(struct bfinfdpic_elf_link_hash_table): New struct.
2372
(bfinfdpic_hash_table, bfinfdpic_got_section,
2373
bfinfdpic_gotrel_section, bfinfdpic_gotfixup_section,
2374
bfinfdpic_plt_setion, bfinfdpic_pltrel_section,
2375
bfinfdpic_relocs_info, bfinfdpic_got_initial_offset,
2376
bfinfdpic_plt_initial_offset): Accessor macros for it.
2377
(BFINFDPIC_SYM_LOCAL, BFINFDPIC_FUNCDESC_LOCAL): New macros.
2378
(struct bfinfdpic_relocs_info): New struct.
2379
(LZPLT_RESOLVER_EXTRA, LZPLT_NORMAL_SIZE, LZPLT_ENTRIES,
2380
BFINFDPIC_LZPLT_BLOCK_SIZE, BFINFDPIC_LZPLT_RESOLV_LOC,
2381
DEFAULT_STACK_SIZE): New macros.
2382
(bfinfdpic_elf_link_hash_table_create, bfinfdpic_relocs_info_hash,
2383
bfinfdpic_relocs_info_eq, bfinfdpics_relocs_info_find,
2384
bfinfdpic_relocs_info_for_global, bfinfdpic_relocs_info_for_local,
2385
bfinfdpic_pic_merge_early_relocs_info, _bfinfdpic_add_dyn_reloc,
2386
_bfinfdpic_add_rofixup, _bfinfdpic_osec_to_segment,
2387
_bfinfdpic_osec_readonly_p, bfinfdpic_relocate_section,
2388
bfinfdpic_check_relocs, bfinfdpic_gc_sweep_hook,
2389
_bfinfdpic_link_omit_section_dynsym, _bfin_create_got_section,
2390
elf32_bfinfdpic_create_dynamic_sections, _bfinfdpic_get_fd_entry,
2391
_bfinfdpic_compute_got_alloc_data, _bfinfdpic_get_got_entry,
2392
_bfinfdpic_assign_got_entries, _bfinfdpic_assign_plt_entries,
2393
_bfinfdpic_resolve_final_relocs_info,
2394
elf32_bfinfdpic_size_dynamic_sections,
2395
elf32_bfinfdpic_always_size_sections,
2396
elf32_bfinfdpic_modify_segment_map,
2397
_bfinfdpic_count_got_plt_entries,
2398
elf32_bfinfdpic_finish_dynamic_sections,
2399
elf32_bfinfdpic_adjust_dynamic_symbol,
2400
elf32_bfinfdpic_finish_dynamic_symbol,
2401
elf32_bfinfdpic_elf_use_relative_eh_frame,
2402
elf32_bfinfdpic_elf_encode_eh_address,
2403
elf32_bfin_object_p, bfin_elf_copy_private_bfd_data,
2404
elf32_bfinfdpic_copy_private_bfd_data,
2405
(struct _bfinfdpic_dynamic_got_info,
2406
struct _bfinfdpic_dynamic_got_plt_info): New structs.
2407
(elf32_bfin_print_private_bfd_data): Print PIC flags.
2408
(elf32_bfin_merge_private_bfd_data): Extend to support FD-PIC.
2409
(TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, elf32_bed,
2410
elf_backend_got_header_size, bfd_elf32_bfd_link_hash_table_create,
2411
elf_backend_always_size_sectinos, elf_backend_modify_segment_map,
2412
bfd_elf32_bfd_copy_private_bfd_data,
2413
elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol,
2414
elf_backend_size_dynamic_sections, elf_backend_finish_dynamic_symbol,
2415
elf_backend_finish_dynamic_sections, elf_backend_relocate_section,
2416
elf_backend_can_make_relative_eh_frame, elf_backend_check_relocs,
2417
elf_backend_can_make_ldsa_relative_eh_frame, elf_backend_may_use_rel_p,
2418
elf_backend_may_use_rela_p, elf_backend_default_use_rela_p,
2419
elf_backend_omit_section_dynsym): Redefine these macros and include
2420
"elf32-target.h" again to create the elf32-bfinfdpic target.
2421
* reloc.c (BFD_RELOC_BFIN_GOT17M4, BFD_RELOC_BFIN_GOTHI,
2422
BFD_RELOC_BFIN_GOTLO, BFD_RELOC_BFIN_FUNCDESC,
2423
BFD_RELOC_BFIN_FUNCDESC_GOT17M4, BFD_RELOC_BFIN_FUNCDESC_GOTHI,
2424
BFD_RELOC_BFIN_FUNCDESC_GOTLO, BFD_RELOC_BFIN_FUNCDESC_VALUE,
2425
BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4, BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI,
2426
BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO, BFD_RELOC_BFIN_GOTOFFHI,
2427
BFD_RELOC_BFIN_GOTOFFLO): New.
2428
* targets.c (bfd_elf32_bfinfdpic_vec): New bfd_target.
2429
(_bfd_target_vector): Add it.
2430
* bfd-in2.h: Regenerate.
2431
* libbfd.h: Regenerate.
2433
2006-03-25 Richard Sandiford <richard@codesourcery.com>
2435
* cpu-m68k.c (bfd_m68k_compatible): Treat ISA A+ and ISA B code as
2436
incompatible. Likewise MAC and EMAC code.
2437
* elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Use
2438
bfd_get_compatible to set the new bfd architecture. Rely on it
2439
to detect incompatibilities.
2441
2006-03-23 Michael Matz <matz@suse.de>
2443
* reloc.c: Add BFD_RELOC_X86_64_GOT64, BFD_RELOC_X86_64_GOTPCREL64,
2444
BFD_RELOC_X86_64_GOTPC64, BFD_RELOC_X86_64_GOTPLT64,
2445
BFD_RELOC_X86_64_PLTOFF64.
2446
* bfd-in2.h: Regenerated.
2447
* libbfd.h: Regenerated.
2448
* elf64-x86-64.c (x86_64_elf_howto_table): Correct comment.
2449
Add howtos for above relocs.
2450
(x86_64_reloc_map): Add mappings for new relocs.
2451
(elf64_x86_64_check_relocs): R_X86_64_GOT64, R_X86_64_GOTPCREL64,
2452
R_X86_64_GOTPLT64 need a got entry. R_X86_64_GOTPLT64 also a PLT
2453
entry. R_X86_64_GOTPC64 needs a .got section. R_X86_64_PLTOFF64
2455
(elf64_x86_64_gc_sweep_hook): Reflect changes from
2456
elf64_x86_64_check_relocs for the new relocs.
2457
(elf64_x86_64_relocate_section): Handle new relocs.
2459
2006-03-22 Bob Wilson <bob.wilson@acm.org>
2461
* elf32-xtensa.c (xtensa_read_table_entries): Remove assertion that
2462
rel->r_addend is zero.
2464
2006-03-22 Richard Sandiford <richard@codesourcery.com>
2466
* elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Fix type
2469
2006-03-22 Richard Sandiford <richard@codesourcery.com>
2470
Daniel Jacobowitz <dan@codesourcery.com>
2471
Phil Edwards <phil@codesourcery.com>
2472
Zack Weinberg <zack@codesourcery.com>
2473
Mark Mitchell <mark@codesourcery.com>
2474
Nathan Sidwell <nathan@codesourcery.com>
2476
* bfd-in2.h: Regenerate.
2477
* config.bfd (mips*-*-vxworks*, mips*el-*-vxworks*): New stanzas.
2478
* configure.in (bfd_elf32_bigmips_vxworks_vec): New stanza.
2479
(bfd_elf32_littlemips_vxworks_vec): Likewise.
2480
(bfd_elf32_bigmips_vec): Add elf-vxworks.lo.
2481
(bfd_elf32_littlemips_vec): Likewise.
2482
(bfd_elf32_nbigmips_vec): Likewise.
2483
(bfd_elf32_nlittlemips_vec): Likewise.
2484
(bfd_elf32_ntradbigmips_vec): Likewise.
2485
(bfd_elf32_ntradlittlemips_vec): Likewise.
2486
(bfd_elf32_tradbigmips_vec): Likewise.
2487
(bfd_elf32_tradlittlemips_vec): Likewise.
2488
(bfd_elf64_bigmips_vec): Likewise.
2489
(bfd_elf64_littlemips_vec): Likewise.
2490
(bfd_elf64_tradbigmips_vec): Likewise.
2491
(bfd_elf64_tradlittlemips_vec): Likewise.
2492
* elf32-mips.c: Include elf-vxworks.h.
2493
(mips_info_to_howto_rel): Use elf_backend_mips_rtype_to_howto
2494
instead of calling mips_elf32_rtype_to_howto directly.
2495
(mips_vxworks_copy_howto_rela): New reloc howto.
2496
(mips_vxworks_jump_slot_howto_rela): Likewise.
2497
(mips_vxworks_bfd_reloc_type_lookup): New function.
2498
(mips_vxworks_rtype_to_howto): Likewise.
2499
(mips_vxworks_final_write_processing): Likewise.
2500
(TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Override for VxWorks.
2501
(TARGET_BIG_SYM, TARGET_BIG_NAME, elf_bed, ELF_MAXPAGESIZE): Likewise.
2502
(elf_backend_want_got_plt): Likewise.
2503
(elf_backend_want_plt_sym): Likewise.
2504
(elf_backend_got_symbol_offset): Likewise.
2505
(elf_backend_want_dynbss): Likewise.
2506
(elf_backend_may_use_rel_p): Likewise.
2507
(elf_backend_may_use_rela_p): Likewise.
2508
(elf_backend_default_use_rela_p): Likewise.
2509
(elf_backend_got_header_size: Likewise.
2510
(elf_backend_plt_readonly): Likewise.
2511
(bfd_elf32_bfd_reloc_type_lookup): Likewise.
2512
(elf_backend_mips_rtype_to_howto): Likewise.
2513
(elf_backend_adjust_dynamic_symbol): Likewise.
2514
(elf_backend_finish_dynamic_symbol): Likewise.
2515
(bfd_elf32_bfd_link_hash_table_create): Likewise.
2516
(elf_backend_add_symbol_hook): Likewise.
2517
(elf_backend_link_output_symbol_hook): Likewise.
2518
(elf_backend_emit_relocs): Likewise.
2519
(elf_backend_final_write_processing: Likewise.
2520
(elf_backend_additional_program_headers): Likewise.
2521
(elf_backend_modify_segment_map): Likewise.
2522
(elf_backend_symbol_processing): Likewise.
2523
* elfxx-mips.c: Include elf-vxworks.h.
2524
(mips_elf_link_hash_entry): Add is_relocation_target and
2525
is_branch_target fields.
2526
(mips_elf_link_hash_table): Add is_vxworks, srelbss, sdynbss, srelplt,
2527
srelplt2, sgotplt, splt, plt_header_size and plt_entry_size fields.
2528
(MIPS_ELF_RELA_SIZE, MIPS_ELF_REL_DYN_NAME): New macros.
2529
(MIPS_RESERVED_GOTNO): Take a mips_elf_link_hash_table argument.
2530
Return 3 for VxWorks.
2531
(ELF_MIPS_GP_OFFSET): Change the argument from a bfd to a
2532
mips_elf_link_hash_table. Return 0 for VxWorks.
2533
(MIPS_ELF_GOT_MAX_SIZE): Change the argument from a bfd to a
2534
mips_elf_link_hash_table. Update the call to ELF_MIPS_GP_OFFSET.
2535
(mips_vxworks_exec_plt0_entry): New variable.
2536
(mips_vxworks_exec_plt_entry): Likewise.
2537
(mips_vxworks_shared_plt0_entry): Likewise.
2538
(mips_vxworks_shared_plt_entry): Likewise.
2539
(mips_elf_link_hash_newfunc): Initialize the new hash_entry fields.
2540
(mips_elf_rel_dyn_section): Change the bfd argument to a
2541
mips_elf_link_hash_table. Use MIPS_ELF_REL_DYN_NAME to get
2542
the name of the section.
2543
(mips_elf_initialize_tls_slots): Update the call to
2544
mips_elf_rel_dyn_section.
2545
(mips_elf_gotplt_index): New function.
2546
(mips_elf_local_got_index): Add an input_section argument.
2547
Update the call to mips_elf_create_local_got_entry.
2548
(mips_elf_got_page): Likewise.
2549
(mips_elf_got16_entry): Likewise.
2550
(mips_elf_create_local_got_entry): Add bfd_link_info and input_section
2551
arguments. Create dynamic relocations for each entry on VxWorks.
2552
(mips_elf_merge_gots): Update the use of MIPS_ELF_GOT_MAX_SIZE.
2553
(mips_elf_multi_got): Update the uses of MIPS_ELF_GOT_MAX_SIZE
2554
and MIPS_RESERVED_GOTNO.
2555
(mips_elf_create_got_section): Update the uses of
2556
MIPS_ELF_GOT_MAX_SIZE. Create .got.plt on VxWorks.
2557
(is_gott_symbol): New function.
2558
(mips_elf_calculate_relocation): Use a dynobj local variable.
2559
Update the calls to mips_elf_local_got_index, mips_elf_got16_entry and
2560
mips_elf_got_page_entry. Set G to the .got.plt entry when calculating
2561
VxWorks R_MIPS_CALL* relocations. Calculate and use G for all GOT
2562
relocations on VxWorks. Add dynamic relocations for references
2563
to the VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols. Don't
2564
create dynamic relocations for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64
2565
in VxWorks executables.
2566
(mips_elf_allocate_dynamic_relocations): Add a bfd_link_info argument.
2567
Use MIPS_ELF_RELA_SIZE to calculate the size of a VxWorks entry.
2568
Don't allocate a null entry on VxWorks.
2569
(mips_elf_create_dynamic_relocation): Update the call to
2570
mips_elf_rel_dyn_section. Use absolute rather than relative
2571
relocations for VxWorks, and make them RELA rather than REL.
2572
(_bfd_mips_elf_create_dynamic_sections): Don't make .dynamic
2573
read-only on VxWorks. Update the call to mips_elf_rel_dyn_section.
2574
Create the .plt, .rela.plt, .dynbss and .rela.bss sections on
2575
VxWorks. Likewise create the _PROCEDURE_LINKAGE_TABLE symbol.
2576
Call elf_vxworks_create_dynamic_sections for VxWorks and
2577
initialize the plt_header_size and plt_entry_size fields.
2578
(_bfd_mips_elf_check_relocs): Don't allow GOT relocations to be
2579
used in VxWorks executables. Don't allocate dynamic relocations
2580
for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 in VxWorks executables.
2581
Set is_relocation_target for each symbol referenced by a relocation.
2582
Allocate .rela.dyn entries for relocations against the special
2583
VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols. Create GOT
2584
entries for all VxWorks R_MIPS_GOT16 relocations. Don't allocate
2585
a global GOT entry for symbols mentioned in VxWorks R_MIPS_CALL*,
2586
R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 relocations. Update the calls
2587
to mips_elf_rel_dyn_section and mips_elf_allocate_dynamic_relocations.
2588
Set is_branch_target for symbols mentioned in R_MIPS_PC16 or R_MIPS_26
2589
relocations. Don't set no_fn_stub on VxWorks.
2590
(_bfd_mips_elf_adjust_dynamic_symbol): Update the call to
2591
mips_elf_allocate_dynamic_relocations.
2592
(_bfd_mips_vxworks_adjust_dynamic_symbol): New function.
2593
(_bfd_mips_elf_always_size_sections): Do not allocate GOT page
2594
entries for VxWorks, and do not create multiple GOTs.
2595
(_bfd_mips_elf_size_dynamic_sections): Use MIPS_ELF_REL_DYN_NAME.
2596
Handle .got specially for VxWorks. Update the uses of
2597
MIPS_RESERVED_GOTNO and mips_elf_allocate_dynamic_relocations.
2598
Check for sgotplt and splt. Allocate the .rel(a).dyn contents last,
2599
once its final size is known. Set DF_TEXTREL for VxWorks. Add
2600
DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL, DT_PLTRELSZ and DT_JMPREL
2601
tags on VxWorks. Do not add the MIPS-specific tags for VxWorks.
2602
(_bfd_mips_vxworks_finish_dynamic_symbol): New function.
2603
(mips_vxworks_finish_exec_plt): Likewise.
2604
(mips_vxworks_finish_shared_plt): Likewise.
2605
(_bfd_mips_elf_finish_dynamic_sections): Remove an unncessary call
2606
to mips_elf_rel_dyn_section. Use a VxWorks-specific value of
2607
DT_PLTGOT. Handle DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL,
2608
DT_PLTRELSZ and DT_JMPREL. Update the uses of MIPS_RESERVED_GOTNO
2609
and mips_elf_rel_dyn_section. Use a different GOT header for
2610
VxWorks. Don't sort .rela.dyn on VxWorks. Finish the PLT on VxWorks.
2611
(_bfd_mips_elf_link_hash_table_create): Initialize the new
2612
mips_elf_link_hash_table fields.
2613
(_bfd_mips_vxworks_link_hash_table_create): New function.
2614
(_bfd_mips_elf_final_link): Set the GP value to _GLOBAL_OFFSET_TABLE_
2615
on VxWorks. Update the call to ELF_MIPS_GP_OFFSET.
2616
* elfxx-mips.h (_bfd_mips_vxworks_adjust_dynamic_symbol): Declare.
2617
(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
2618
(_bfd_mips_vxworks_link_hash_table_create): Likewise.
2619
* libbfd.h: Regenerate.
2620
* Makefile.am (elfxx-mips.lo): Depend on elf-vxworks.h.
2621
(elf32-mips.lo): Likewise.
2622
* Makefile.in: Regenerate.
2623
* reloc.c (BFD_RELOC_MIPS_COPY, BFD_RELOC_MIPS_JUMP_SLOT): Declare.
2624
* targets.c (bfd_elf32_bigmips_vxworks_vec): Declare.
2625
(bfd_elf32_littlemips_vxworks_vec): Likewise.
2626
(_bfd_target_vector): Add entries for them.
2628
2006-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2630
* elf64-hppa.c (elf64_hppa_special_sections): Change flags for .tbss
2631
section from SHF_PARISC_WEAKORDER to SHF_HP_TLS.
2632
(elf_backend_special_sections): Remove #undef.
2634
2006-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2636
* elf64-hppa.c (allocate_global_data_opd): Don't create an OPD entry
2637
for undefined weak symbols.
2639
2006-03-17 Daniel Jacobowitz <dan@codesourcery.com>
2642
* elflink.c (bfd_elf_final_link): Remove
2643
bed->elf_backend_emit_relocs from emit_relocs.
2645
2006-03-17 Alexandre Oliva <aoliva@redhat.com>
2647
* elf32-ppc.c (ppc_elf_relocate_section): Copy addend from
2648
first relocation to the second when relaxing TLS GD to LE;
2649
zero it out when relaxing to IE.
2651
2006-03-17 Alan Modra <amodra@bigpond.net.au>
2654
* elflink.c (elf_link_add_object_symbols): Save and restore
2655
warning sym's linked sym.
2657
2006-03-16 Alan Modra <amodra@bigpond.net.au>
2660
* elflink.c (struct elf_smash_syms_data, elf_smash_syms): Delete.
2661
(elf_link_add_object_symbols): Delete unnecessary locals. Rename
2662
hash_table -> htab. Formatting. Save entire symbol table
2663
before loading as-needed syms, and restore afterwards if lib not
2664
needed. Use bfd_hash_allocate rather than bfd_alloc for sym
2665
name. Free some buffers earlier.
2666
* bfd-in.h (struct bfd_hash_table): Add entsize.
2667
(bfd_hash_table_init, bfd_hash_table_init_n): Adjust prototype.
2668
* elf-bfd.h (_bfd_elf_link_hash_table_init): Likewise
2669
* hash.c (bfd_hash_table_init_n): Add entsize param, save to
2120
* elf64-ppc.c (elf_backend_default_execstack): Define to 0.
2122
2007-02-17 Mark Mitchell <mark@codesourcery.com>
2123
Nathan Sidwell <nathan@codesourcery.com>
2124
Vladimir Prus <vladimir@codesourcery.com
2125
Joseph Myers <joseph@codesourcery.com>
2127
* configure.in (--with-pkgversion): New option.
2128
* configure: Regenerate.
2129
* Makefile.am (bfdver.h): Substitute for @bfd_version_package@.
2130
* Makefile.in: Regenerate.
2131
* version.h (BFD_VERSION_STRING): Define using
2132
@bfd_version_package@.
2134
2007-02-16 Carlos O'Donell <carlos@codesourcery.com>
2136
* elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data):
2137
Print EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_XGOT
2140
2007-02-15 Alan Modra <amodra@bigpond.net.au>
2142
* libbfd-in.h (_bfd_norelocs_get_reloc_upper_bound): Don't define,
2144
(_bfd_norelocs_canonicalize_reloc): Likewise.
2145
* libbfd.h: Regenerate.
2146
* libbfd.c (_bfd_norelocs_get_reloc_upper_bound): New function.
2147
(_bfd_norelocs_canonicalize_reloc): Likewise.
2148
* binary.c (binary_bfd_reloc_type_lookup): Don't define.
2149
(binary_get_reloc_upper_bound, binary_canonicalize_reloc): Likewise.
2150
(binary_vec): Use _bfd_norelocs in BFD_JUMP_TABLE_RELOCS.
2151
* ihex.c: Similarly.
2152
* mach-o-target.c: Similarly.
2153
* mach-o.c: Similarly.
2156
* ppcboot.c: Similarly.
2157
* srec.c: Similarly.
2158
* xsym.c: Similarly.
2160
2007-02-14 H.J. Lu <hongjiu.lu@intel.com>
2163
* elflink.c (_bfd_elf_add_default_symbol): Check warning symbol
2164
when adding default symbol.
2166
2007-02-13 Alan Modra <amodra@bigpond.net.au>
2168
* elf64-ppc.c (create_linkage_sections): Use section ".branch_lt"
2169
for branch lookup table.
2171
2007-02-12 Alan Modra <amodra@bigpond.net.au>
2173
* elf64-ppc.c (create_linkage_sections): Don't create
2174
.rela.rodata.brlt for --emit-relocs.
2175
(ppc_build_one_stub): Create relocs for brlt --emit-relocs here.
2176
(ppc_size_one_stub): Count them. Simplify test of stub type
2177
when counting stub relocs. Set SEC_RELOC too.
2178
(ppc64_elf_size_stubs): Clear reloc_count and SEC_RELOC.
2179
(ppc64_elf_finish_dynamic_sections): Output brlt relocs.
2181
2007-02-12 Alan Modra <amodra@bigpond.net.au>
2183
* elflink.c (evaluate_complex_relocation_symbols): Ignore relocs
2184
with a zero symbol index.
2186
2007-02-12 Alan Modra <amodra@bigpond.net.au>
2188
* elflink.c (bfd_elf_discard_info): Tidy setting of "eh".
2190
2007-02-05 Dave Brolley <brolley@redhat.com>
2191
Stan Cox <scox@redhat.com>
2194
* elflink.c (elf_link_input_bfd): Always setup finfo->internal_syms.
2196
2007-02-05 Dave Brolley <brolley@redhat.com>
2197
Richard Sandiford <rsandifo@redhat.com>
2198
Stan Cox <scox@redhat.com>
2199
Nick Clifton <nickc@redhat.com>
2200
DJ Delorie <dj@redhat.com>
2201
Frank Ch. Eigler <fche@redhat.com>
2202
Ben Elliston <bje@redhat.com>
2203
Richard Henderson <rth@redhat.com>
2205
* Makefile.am (ALL_MACHINES): Add cpu-mep.lo.
2206
(ALL_MACHINES_CFILES): Add CPU_MEP.c.
2207
(BFD32_BACKENDS): Add elf32-mep.lo.
2208
(BFD32_BACKENDS_CFILES): Add elf32-mep.c.
2209
(cpu-mep.lo,elf32-mep.lo): New targets.
2210
* archures.c (bfd_arch_mep): New enumerator.
2211
(bfd_mach_mep, bfd_mach_mep_h1): New macros.
2212
(bfd_mep_arch): New external variable.
2213
(bfd_archures_list): Add bfd_mep_arch.
2214
* config.bfd: Support mep-*-elf.
2215
* configure.in: Support bfd_elf32_mep_vec and bfd_elf32_mep_little_vec.
2216
* reloc.c (BFD_RELOC_MEP_*): New relocation numbers.
2217
* targets.c (bfd_elf32_mep_vec,bfd_elf32_mep_little_vec): New extern
2219
(_bfd_target_vector): Add bfd_elf32_mep_vec and
2220
bfd_elf32_mep_little_vec.
2221
* mep-relocs.pl: New file.
2222
* cpu-mep.c: New file.
2223
* elf32-mep.c: New file.
2224
* bfd-in2.h: Regenerate.
2225
* po/POTFILES.in: Regenerate.
2226
* libbfd.h: Regenerate.
2227
* Makefile.in: Regenerate.
2228
* configure: Regenerate.
2230
2007-02-05 Dave Brolley <brolley@redhat.com>
2232
* elflink.c (evaluate_complex_relocation_symbols): Check for
2233
STT_SRELC for global symbols.
2234
(perform_complex_relocations): Renamed to
2235
perform_complex_relocation and now examines only one relocation.
2236
(elf_link_input_bfd): Don't call perform_complex_relocations.
2237
* elf-bfd.h (bfd_elf_perform_complex_relocation_: New prototype.
2238
* elf32-mep.c (mep_elf_howto_table): Add R_RELC.
2239
(OD,OS,OU): #undefs corrected to N, S and U repectively.
2240
(mep_reloc_type_lookup): Handle BFD_RELOC_RELC.
2241
(complex_reloc_installation_howto): Removed.
2242
(mep_info_to_howto_rela): Remove special case for r_type==0xff.
2243
(mep_elf_relocate_section): Call bfd_elf_perform_complex_relocation.
2245
2007-02-05 Dave Brolley <brolley@redhat.com>
2246
Richard Sandiford <rsandifo@redhat.com>
2247
DJ Delorie <dj@redhat.com>
2248
Graydon Hoare <graydon@redhat.com>
2249
Nick Clifton <nickc@cambridge.redhat.com>
2250
Jeff Holcomb <jeffh@redhat.com>
2251
Frank Ch. Eigler <fche@redhat.com>
2253
* elf-bfd.h (bfd_elf_perform_complex_relocations): New prototype.
2254
* elf.c (swap_out_syms): Handle BSF_RELC and BSF_SRELC.
2255
* elfcode.h (elf_slurp_symbol_table): Handle STT_RELC and STT_SRELC.
2256
* elflink.c (set_symbolValue): New static function.
2257
(resolve_symbol): Likewise.
2258
(resolve_section): Likewise.
2259
(undefined_reference): Likewise.
2260
(eval_symbol): Likewise.
2261
(evaluate_complex_relocation_symbols): Likewise.
2262
(put_value): Likewise.
2263
(get_value): Likewise.
2264
(decode_complex_addend):
2265
(bfd_elf_perform_complex_relocation): New function.
2266
(elf_link_input_bfd): Call evaluate_complex_relocation_symbols.
2267
* reloc.c (BFD_RELOC_RELC): New relocation number.
2268
* syms.c (BSF_RELC,BSF_SRELC): New macros.
2270
2007-02-05 Bob Wilson <bob.wilson@acm.org>
2272
* elf32-xtensa.c (elf_xtensa_make_sym_local): Delete.
2273
(elf_xtensa_hide_symbol, elf_backend_hide_symbol): Delete.
2274
(elf_xtensa_fix_refcounts, elf_xtensa_allocate_plt_size)
2275
(elf_xtensa_allocate_got_size): Replace these with...
2276
(elf_xtensa_allocate_dynrelocs): ...this new function.
2277
(elf_xtensa_size_dynamic_sections): Use it.
2279
2007-02-05 Bob Wilson <bob.wilson@acm.org>
2281
* elf32-xtensa.c (elf_howto_table) <R_XTENSA_GLOB_DAT>
2282
<R_XTENSA_JMP_SLOT, R_XTENSA_RELATIVE, R_XTENSA_PLT, R_XTENSA_DIFF32>:
2283
Set src_mask to zero.
2284
<R_XTENSA_DIFF8, R_XTENSA_DIFF16>: Likewise. Also fix dst_mask.
2285
<R_XTENSA_ASM_EXPAND>: Set pcrel_offset to TRUE.
2287
2007-02-02 Bob Wilson <bob.wilson@acm.org>
2289
* elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Renamed to...
2290
(elf_xtensa_dynamic_symbol_p): ...this.
2292
2007-02-02 Bob Wilson <bob.wilson@acm.org>
2294
* elf32-xtensa.c (plt_reloc_count): Move into link hash table.
2295
(struct elf_xtensa_link_hash_table): New.
2296
(elf_xtensa_hash_table): New.
2297
(elf_xtensa_link_hash_table_create): New.
2298
(elf_xtensa_check_relocs): Update plt_reloc_count references.
2299
Update arguments to add_extra_plt_sections.
2300
(elf_xtensa_create_dynamic_sections): Record new sections in the hash
2301
table. Update for plt_reloc_count and add_extra_plt_sections.
2302
(add_extra_plt_sections, elf_xtensa_create_plt_entry): Replace dynobj
2303
argument with link info. Update calls to elf_xtensa_get_plt_section
2304
and elf_xtensa_get_gotplt_section.
2305
(elf_xtensa_allocate_local_got_size, elf_xtensa_size_dynamic_sections)
2306
(elf_xtensa_relocate_section, elf_xtensa_finish_dynamic_sections)
2307
(elf_xtensa_discard_info_for_section, shrink_dynamic_reloc_sections)
2308
(relax_property_section): Get sections from the hash table and update
2310
(elf_xtensa_get_plt_section, elf_xtensa_get_gotplt_section): Replace
2311
dynobj argument with link info. Get sections for first plt chunk from
2313
(bfd_elf32_bfd_link_hash_table_create): Define.
2315
2007-02-02 Jakub Jelinek <jakub@redhat.com>
2317
* elf-bfd.h (struct elf_obj_tdata): Change symbuf type to void *.
2318
* elf.c (struct elf_symbuf_symbol, struct elf_symbuf_head): New types.
2319
(struct elf_symbol): Change first member into union.
2320
(elf_sort_elf_symbol): Compare pointers to internal syms rather than
2321
internal syms. Only compare st_shndx fields.
2322
(elf_create_symbuf): New function.
2323
(bfd_elf_match_symbols_in_sections): Use it. If symbufs are available
2324
for bfds, use a binary search, otherwise don't qsort symbols
2325
unnecessarily only to select which symbols are for the particular
2328
2007-02-01 Nick Clifton <nickc@redhat.com>
2331
* elf.c (_bfd_elf_link_hash_table_init): Initialize all the fields
2332
in the elf_link_hash_table structure.
2334
2007-02-01 Alan Modra <amodra@bigpond.net.au>
2336
* elf-bfd.h (struct elf_backend_data): Add elf_backend_write_core_note.
2337
* elfxx-target.h (elf_backend_write_core_note): Define and use.
2338
* elf.c (elfcore_write_prpsinfo): Call the above. Add support for
2339
32-bit core note on 64-bit target.
2340
(elfcore_write_prstatus): Likewise.
2341
(elfcore_write_lwpstatus): Make note_name const.
2342
(elfcore_write_prfpreg): Likewise.
2343
(elfcore_write_pstatus): Add support for 32-bit core note on 64-bit
2345
* elf32-ppc.c (ppc_elf_write_core_note): New function.
2346
(elf_backend_write_core_note): Define.
2347
* elf64-ppc.c (ppc64_elf_write_core_note): New function.
2348
(elf_backend_write_core_note): Define.
2350
2007-01-31 H.J. Lu <hongjiu.lu@intel.com>
2352
* elf32-cris.c (INCLUDED_TARGET_FILE): Removed.
2353
(elf32_bed): Defined for elf32-us-cris.
2355
* elf64-sh64.c (elf64_bed): Defined for Linux.
2356
(INCLUDED_TARGET_FILE): Removed.
2358
* elfxx-target.h (elfNN_bed): Always define. Don't check
2359
INCLUDED_TARGET_FILE.
2361
2007-01-31 DJ Delorie <dj@redhat.com>
2363
* elf-m10300.c (mn10300_elf_relocate_section): Clarify the warning
2364
message for dangerous relocs, special case the common user error.
2366
2007-01-30 H.J. Lu <hongjiu.lu@intel.com>
2368
* elf.c (copy_elf_program_header): Start from the first section
2369
in a segment and stop when all sections in a segment are
2372
2007-01-29 Julian Brown <julian@codesourcery.com>
2374
* bfd-in2.h: Regenerate.
2375
* bfd-in.h (bfd_arm_vfp11_fix): New enum. Specify how VFP11
2376
instruction scanning should be done.
2377
(bfd_elf32_arm_init_maps, bfd_elf32_arm_vfp11_erratum_scan)
2378
(bfd_elf32_arm_vfp11_fix_veneer_locations): Add prototypes.
2379
(bfd_elf32_arm_set_target_relocs): Add vfp11 fix type argument to
2381
* elf-bfd.h (elf_backend_write_section): Add struct bfd_link_info
2383
* elf32-arm.c (VFP11_ERRATUM_VENEER_SECTION_NAME)
2384
(VFP11_ERRATUM_VENEER_ENTRY_NAME): Define macros.
2385
(elf32_vfp11_erratum_type): New enum.
2386
(elf32_vfp11_erratum_list): New struct. List of veneers or jumps to
2388
(_arm_elf_section_data): Add mapsize, erratumcount, erratumlist.
2389
(elf32_arm_link_hash_table): Add vfp11_erratum_glue_size,
2390
vfp11_fix and num_vfp11_fixes fields.
2391
(elf32_arm_link_hash_table_create): Initialise vfp11_fix,
2392
vfp11_erratum_glue_size, num_vfp11_fixes fields.
2393
(VFP11_ERRATUM_VENEER_SIZE): Define. Size of an (ARM) veneer.
2394
(bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
2396
(elf32_arm_section_map_add): Add an code/data mapping symbol entry
2398
(record_vfp11_erratum_veneer): Create a single veneer, and its
2400
(bfd_elf32_arm_add_glue_sections_to_bfd): Add vfp11 erratum glue.
2401
(bfd_elf32_arm_init_maps): Initialise mapping symbol table for input
2403
(bfd_elf32_arm_set_vfp11_fix): Set the type of erratum workaround
2405
(bfd_arm_vfp11_pipe): Define VFP11 instruction pipes.
2406
(bfd_arm_vfp11_regno): Recode a register number from a VFP11 insn.
2407
(bfd_arm_vfp11_write_mask): Update write mask according to coded
2409
(bfd_arm_vfp11_antidependency): New function.
2410
(bfd_arm_vfp11_insn_decode): Decode a VFP11 insn.
2411
(elf32_arm_compare_mapping): Declare.
2412
(bfd_elf32_arm_vfp11_erratum_scan): Scan the sections of an input
2413
BFD for potential erratum-triggering insns. Record results.
2414
(bfd_elf32_arm_vfp11_fix_veneer_locations): Find out where veneers
2415
and branches to veneers have been placed in virtual memory after
2417
(bfd_elf32_arm_set_target_relocs): Set vfp11_fix field in global
2671
(bfd_hash_table_init): Add param, adjust calls.
2672
* aoutx.h: Adjust all hash_table_init functions and calls.
2674
* coff-arm.c: Likewise.
2675
* coff-h8300.c: Likewise.
2676
* coff-ppc.c: Likewise.
2677
* cofflink.c: Likewise.
2678
* ecoff.c: Likewise.
2679
* ecofflink.c: Likewise.
2680
* elf-m10300.c: Likewise.
2681
* elf-strtab.c: Likewise.
2683
* elf32-arm.c: Likewise.
2684
* elf32-bfin.c: Likewise.
2685
* elf32-cris.c: Likewise.
2686
* elf32-frv.c: Likewise.
2687
* elf32-hppa.c: Likewise.
2688
* elf32-i386.c: Likewise.
2689
* elf32-m32r.c: Likewise.
2690
* elf32-m68hc1x.c: Likewise.
2691
* elf32-m68k.c: Likewise.
2692
* elf32-ppc.c: Likewise.
2693
* elf32-s390.c: Likewise.
2694
* elf32-sh.c: Likewise.
2695
* elf32-vax.c: Likewise.
2696
* elf64-alpha.c: Likewise.
2697
* elf64-hppa.c: Likewise.
2698
* elf64-ppc.c: Likewise.
2699
* elf64-s390.c: Likewise.
2700
* elf64-sh64.c: Likewise.
2701
* elf64-x86-64.c: Likewise.
2702
* elfxx-ia64.c: Likewise.
2703
* elfxx-mips.c: Likewise.
2704
* elfxx-sparc.c: Likewise.
2705
* i386linux.c: Likewise.
2706
* libaout.h: Likewise.
2707
* libbfd-in.h: Likewise.
2708
* libcoff-in.h: Likewise.
2709
* linker.c: Likewise.
2710
* m68klinux.c: Likewise.
2711
* merge.c: Likewise.
2712
* opncls.c: Likewise.
2713
* pdp11.c: Likewise.
2714
* sparclinux.c: Likewise.
2715
* stabs.c: Likewise.
2716
* sunos.c: Likewise.
2718
* xcofflink.c: Likewise.
2719
* section.c (struct section_hash_entry): Move to..
2720
* libbfd-in.h: ..here.
2721
* Makefile.am: Run "make dep-am"
2722
* Makefile.in: Regenerate.
2723
* bfd-in2.h: Regenerate.
2724
* libbfd.h: Regenerate.
2725
* libcoff.h: Regenerate.
2727
2006-03-16 Alan Modra <amodra@bigpond.net.au>
2729
* elf32-ppc.c (ppc_elf_check_relocs): REL24 and REL14 relocs
2730
against __GLOBAL_OFFSET_TABLE__ need never be dynamic. Tweak
2731
last change to REL32 relocs so that they are counted as
2732
possibly dynamic as per REL24 and REL14.
2734
2006-03-16 Alan Modra <amodra@bigpond.net.au>
2736
* elf32-ppc.c (ppc_elf_check_relocs): Don't fall into REL24
2739
2006-03-15 Ben Elliston <bje@au.ibm.com>
2741
* elf32-arm.c (elf32_arm_merge_eabi_attributes): Iterate over all
2742
in_list elements, not just the first.
2744
2006-03-14 Richard Sandiford <richard@codesourcery.com>
2746
* elf32-mips.c (mips_elf_adjust_addend): New function, mostly split
2748
(_bfd_mips_elf_relocate_section): ...here. Use it to adjust r_addend
2749
for final links too.
2751
2006-03-13 Richard Sandiford <richard@codesourcery.com>
2753
* elfxx-mips.c (mips_elf_create_got_section): Initialize hgot.
2755
2006-03-11 H.J. Lu <hongjiu.lu@intel.com>
2758
* dwarf2.c (concat_filename): Don't issue an error if file is 0.
2760
2006-03-10 Paul Brook <paul@codesourcery.com>
2762
* elf32-arm.c (INTERWORK_FLAG): Handle EABIv5.
2763
(elf32_arm_print_private_bfd_data): Ditto.
2765
2006-03-09 Paul Brook <paul@codesourcery.com>
2767
* cpu-arm.c (bfd_is_arm_mapping_symbol_name): Recognise additional
2770
2006-03-09 Khem Raj <khem@mvista.com>
2772
* elf32-arm.c(elf32_arm_finish_dynamic_sections): Use unsigned
2775
2006-03-08 H.J. Lu <hongjiu.lu@intel.com>
2777
* elfxx-ia64.c (elfNN_ia64_choose_gp): Properly choose gp.
2779
2006-03-07 Richard Sandiford <richard@codesourcery.com>
2780
Daniel Jacobowitz <dan@codesourcery.com>
2781
Zack Weinberg <zack@codesourcery.com>
2782
Nathan Sidwell <nathan@codesourcery.com>
2783
Paul Brook <paul@codesourcery.com>
2784
Ricardo Anguiano <anguiano@codesourcery.com>
2785
Phil Edwards <phil@codesourcery.com>
2787
* configure.in (bfd_elf32_bigarm_vec): Include elf-vxworks.lo.
2788
(bfd_elf32_bigarm_symbian_vec): Likewise.
2789
(bfd_elf32_bigarm_vxworks_vec): Likewise.
2790
(bfd_elf32_littlearm_vec): Likewise.
2791
(bfd_elf32_littlearm_symbian_vec): Likewise.
2792
(bfd_elf32_littlearm_vxworks_vec): Likewise.
2793
* configure: Regenerate.
2794
* elf32-arm.c: Include libiberty.h and elf-vxworks.h.
2795
(RELOC_SECTION, RELOC_SIZE, SWAP_RELOC_IN, SWAP_RELOC_OUT): New macros.
2796
(elf32_arm_vxworks_bed): Add forward declaration.
2797
(elf32_arm_howto_table_1): Fix the masks for R_ASM_ABS12.
2798
(elf32_arm_vxworks_exec_plt0_entry): New table.
2799
(elf32_arm_vxworks_exec_plt_entry): Likewise.
2800
(elf32_arm_vxworks_shared_plt_entry): Likewise.
2801
(elf32_arm_link_hash_table): Add vxworks_p and srelplt2 fields.
2802
(reloc_section_p): New function.
2803
(create_got_section): Use RELOC_SECTION.
2804
(elf32_arm_create_dynamic_sections): Likewise. Call
2805
elf_vxworks_create_dynamic_sections for VxWorks targets.
2806
Choose between the two possible values of plt_header_size
2808
(elf32_arm_link_hash_table_create): Initialize vxworks_p and srelplt2.
2809
(elf32_arm_abs12_reloc): New function.
2810
(elf32_arm_final_link_relocate): Call it. Allow the creation of
2811
dynamic R_ARM_ABS12 relocs on VxWorks. Use reloc_section_p,
2812
RELOC_SIZE, SWAP_RELOC_OUT and RELOC_SECTION. Initialize the
2813
r_addend fields of relocs. On rela targets, skip any code that
2814
adjusts in-place addends. When using _bfd_link_final_relocate
2815
to perform a final relocation, pass rel->r_addend as the addend
2817
(elf32_arm_merge_private_bfd_data): If one of the bfds is a VxWorks
2818
object, ignore flags that are not standard on VxWorks.
2819
(elf32_arm_check_relocs): Allow the creation of dynamic R_ARM_ABS12
2820
relocs on VxWorks. Use reloc_section_p.
2821
(elf32_arm_adjust_dynamic_symbol): Use RELOC_SECTION and RELOC_SIZE.
2822
(allocate_dynrelocs): Use RELOC_SIZE. Account for the size of
2823
.rela.plt.unloaded relocs on VxWorks targets.
2824
(elf32_arm_size_dynamic_sections): Use RELOC_SIZE. Check for
2825
.rela.plt.unloaded as well as .rel(a).plt. Add DT_RELA* tags
2826
instead of DT_REL* tags on RELA targets.
2827
(elf32_arm_finish_dynamic_symbol): Use RELOC_SECTION, RELOC_SIZE
2828
and SWAP_RELOC_OUT. Initialize r_addend fields. Handle VxWorks
2829
PLT entries. Do not make _GLOBAL_OFFSET_TABLE_ absolute on VxWorks.
2830
(elf32_arm_finish_dynamic_sections): Use RELOC_SECTION, RELOC_SIZE
2831
and SWAP_RELOC_OUT. Initialize r_addend fields. Handle DT_RELASZ
2832
like DT_RELSZ. Handle the VxWorks form of initial PLT entry.
2833
Correct the .rela.plt.unreloaded symbol indexes.
2834
(elf32_arm_output_symbol_hook): Call the VxWorks version of this
2835
hook on VxWorks targets.
2836
(elf32_arm_vxworks_link_hash_table_create): Set vxworks_p to true.
2837
Minor formatting tweak.
2838
(elf32_arm_vxworks_final_write_processing): New function.
2839
(elf_backend_add_symbol_hook): Override for VxWorks and reset
2841
(elf_backend_final_write_processing): Likewise.
2842
(elf_backend_emit_relocs): Likewise.
2843
(elf_backend_want_plt_sym): Likewise.
2844
(ELF_MAXPAGESIZE): Likewise.
2845
(elf_backend_may_use_rel_p): Minor formatting tweak.
2846
(elf_backend_may_use_rela_p): Likewise.
2847
(elf_backend_default_use_rela_p): Likewise.
2848
(elf_backend_rela_normal): Likewise.
2849
* Makefile.in (elf32-arm.lo): Depend on elf-vxworks.h.
2851
2006-03-06 Nathan Sidwell <nathan@codesourcery.com>
2853
* archures.c (bfd_mach_mcf_isa_a_nodiv, bfd_mach_mcf_isa_b_nousp):
2854
New. Adjust other variants.
2855
(bfd_default_scan): Update.
2856
* bfd-in2.h: Rebuilt.
2857
* cpu-m68k.c: Adjust.
2858
(bfd_m68k_compatible): New. Use it for architectures.
2859
* elf32-m68k.c (elf32_m68k_object_p): Adjust.
2860
(elf32_m68k_merge_private_bfd_data): Adjust. Correct isa-a/b
2862
(elf32_m68k_print_private_bfd_data): Adjust.
2863
* ieee.c (ieee_write_processor): Adjust.
2865
2006-03-06 Alan Modra <amodra@bigpond.net.au>
2867
* dwarf2.c: Formatting.
2868
(add_line_info): Remove outer loop.
2870
2006-03-05 H.J. Lu <hongjiu.lu@intel.com>
2871
Alan Modra <amodra@bigpond.net.au>
2874
* dwarf2.c (loadable_section): New struct.
2875
(dwarf2_debug): Add loadable_section_count and
2877
(new_line_sorts_after): New.
2878
(add_line_info): Use new_line_sorts_after to compare line
2880
(check_function_name): Removed.
2881
(unset_sections): New.
2882
(place_sections): New.
2883
(_bfd_dwarf2_find_nearest_line): Updated. Call place_sections
2884
and unset_sections on relocatable files.
2885
(_bfd_dwarf2_find_line): Likewise.
2887
2006-03-03 Nick Clifton <nickc@redhat.com>
2889
* cpu-avr.c: Update to ISO-C90 formatting.
2890
* elf32-avr.c: Likewise.
2892
2006-03-03 Bjoern Haase <bjoern.m.haase@web.de>
2894
* elf32-avr.c (avr_reloc_map): Insert BFD_RELOC_AVR_MS8_LDI
2896
(bfd_elf_avr_final_write_processing): Set
2897
EF_AVR_LINKRELAX_PREPARED in e_flags field.
2898
(elf32_avr_relax_section): New function.
2899
(elf32_avr_relax_delete_bytes): New function.
2900
(elf32_avr_get_relocated_section_contents): New function.
2901
(avr_pc_wrap_around): New function.
2902
(avr_relative_distance_considering_wrap_around): New function.
2903
(avr_final_link_relocate): Handle negative int8t_t immediate for R_AVR_LDI.
2904
* reloc.c: Add BFD_RELOC_AVR_MS8_LDI and BFD_RELOC_AVR_LDI_NEG
2905
* libbfd.h: Regenerate.
2906
* bfd-in2.h: Regenerate.
2908
2006-03-02 DJ Delorie <dj@redhat.com>
2910
* elf32-m32c.c (m32c_offset_for_reloc): Fix local symbol
2913
2006-03-02 Richard Sandiford <richard@codesourcery.com>
2915
* elf32-ppc.c (is_ppc_elf_target): Return true if the target is
2916
bfd_elf32_powerpc_vxworks_vec.
2918
2006-03-02 Nick Clifton <nickc@redhat.com>
2920
* elf32-m32c.c (m32c_elf_relax_section): Initialise 'gap'.
2922
2006-03-02 Richard Sandiford <richard@codesourcery.com>
2924
* elf32-i386.c (elf_i386_create_dynamic_sections): Use
2925
elf_vxworks_create_dynamic_sections.
2926
(elf_i386_size_dynamic_sections): Remove VxWorks GOT and PLT
2928
* elf32-ppc.c (ppc_elf_create_dynamic_sections): Use
2929
elf_vxworks_create_dynamic_sections.
2930
(ppc_elf_size_dynamic_sections): Remove VxWorks GOT and PLT
2932
* elf-vxworks.c (elf_vxworks_create_dynamic_sections): New function.
2933
* elf-vxworks.h (elf_vxworks_create_dynamic_sections): Declare.
2935
2006-03-02 Richard Sandiford <richard@codesourcery.com>
2937
* elf32-i386.c (elf_i386_vxworks_link_output_symbol_hook): Delete.
2938
(elf_backend_link_output_symbol_hook): Use
2939
elf_vxworks_link_output_symbol_hook instead.
2940
* elf32-ppc.c (elf_i386_vxworks_link_output_symbol_hook): Delete.
2941
(elf_backend_link_output_symbol_hook): Use
2942
elf_vxworks_link_output_symbol_hook instead.
2943
* elf-vxworks.c (elf_vxworks_link_output_symbol_hook): Provide the
2944
same interface as elf_backend_link_output_symbol_hook.
2945
* elf-vxworks.h (elf_vxworks_link_output_symbol_hook): Update
2946
prototype accordingly.
2948
2006-03-02 Richard Sandiford <richard@codesourcery.com>
2950
* elf32-ppc.c (ppc_elf_plt_type): New enumeration.
2951
(ppc_elf_link_hash_table): Replace old_got and new_got with
2952
plt_type and can_use_new_plt.
2953
(ppc_elf_create_dynamic_sections): Add SEC_HAS_CONTENTS,
2954
SEC_LOAD and SEC_READONLY to the VxWorks .plt flags.
2955
(ppc_elf_check_relocs): Set can_use_new_plt instead of new_plt.
2956
Move from plt_type == PLT_UNSET to PLT_OLD instead of setting old_plt.
2957
(ppc_elf_select_plt_layout): Move from plt_type == PLT_UNSET to
2958
either plt_type == PLT_OLD or plt_type == PLT_NEW. Assert that
2959
this function should not be called for VxWorks targets.
2960
(ppc_elf_tls_setup): Use plt_type instead of old_got.
2961
(allocate_got): Likewise. Rearrange so that max_before_header
2962
is only used for PLT_OLD and PLT_NEW.
2963
(allocate_dynrelocs): Use plt_type instead of old_got and is_vxworks.
2964
(ppc_elf_size_dynamic_sections): Likewise.
2965
(ppc_elf_relax_section): Likewise.
2966
(ppc_elf_relocate_section): Likewise.
2967
(ppc_elf_finish_dynamic_symbol): Likewise.
2968
(ppc_elf_vxworks_link_hash_table_create): Initialize plt_type.
2970
2006-02-28 Richard Sandiford <richard@codesourcery.com>
2972
* elf32-i386.c (elf_i386_link_hash_table): Add next_tls_desc_index.
2973
(elf_i386_link_hash_table_create): Initialize it.
2974
(elf_i386_compute_jump_table_size): Use it instead of
2975
srelplt->reloc_count.
2976
(allocate_dynrelocs): Likewise.
2977
(elf_i386_size_dynamic_sections): Likewise.
2978
(elf_i386_relocate_section): Likewise.
2980
2006-02-27 Jakub Jelinek <jakub@redhat.com>
2982
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle S flag.
2983
(_bfd_elf_write_section_eh_frame): Likewise.
2985
2006-02-27 Carlos O'Donell <carlos@codesourcery.com>
2987
* po/Make-in: Add html target.
2989
2006-02-27 Richard Sandiford <richard@codesourcery.com>
2991
* elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_symbol): Use the
2992
cached hgot entry to check for _GLOBAL_OFFSET_TABLE_.
2993
* elf32-arm.c (elf32_arm_finish_dynamic_symbol): Likewise.
2994
* elf32-bfin.c (bfin_finish_dynamic_symbol): Likewise.
2995
* elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
2996
* elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
2997
* elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise.
2998
* elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise.
2999
* elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Likewise.
3000
* elf32-sh.c (sh_elf_finish_dynamic_symbol): Likewise.
3001
* elf32-vax.c (elf_vax_finish_dynamic_symbol): Likewise.
3002
* elf32-xtensa.c (elf_xtensa_finish_dynamic_symbol): Likewise.
3003
* elf64-sh64.c (sh64_elf64_finish_dynamic_symbol): Likewise.
3004
* elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Likewise.
3005
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
3006
* elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise. Also use
3007
the cached hplt entry to check for _PROCEDURE_LINKAGE_TABLE_.
3008
* elf64-alpha.c (elf64_alpha_finish_dynamic_symbol): Likewise.
3009
* elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
3010
* elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Likewise.
3011
* elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
3013
2006-02-25 Richard Sandiford <richard@codesourcery.com>
3015
* elf-bfd.h (elf_link_hash_table): Add hplt field.
3016
* elflink.c (_bfd_elf_create_dynamic_sections): Initialize it.
3017
* elf-m10300.c (_bfd_mn10300_elf_create_got_section): Likewise.
3018
* elf32-frv.c (_frv_create_got_section): Likewise.
3019
* elf32-m32r.c (m32r_elf_create_dynamic_sections): Likewise.
3020
* elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
3021
* elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
3022
* elf64-sh64.c (sh64_elf64_create_dynamic_sections): Likewise.
3023
* elf32-i386.c (elf_i386_link_hash_table): Remove hgot and hplt.
3024
(elf_i386_link_hash_table_create): Don't initialize them.
3025
(elf_i386_size_dynamic_sections): Use the generic ELF hplt and
3027
(elf_i386_finish_dynamic_symbol): Likewise.
3028
* elf32-ppc.c (ppc_elf_link_hash_table): Remove hplt.
3029
(ppc_elf_size_dynamic_sections): Use the generic ELF hplt fields.
3030
(ppc_elf_finish_dynamic_symbol): Likewise.
3032
2006-02-24 DJ Delorie <dj@redhat.com>
3034
* elf32-m32c.c (m32c_elf_howto_table): Add relaxation relocs.
3035
(m32c_elf_relocate_section): Don't relocate them.
3036
(compare_reloc): New.
3037
(relax_reloc): Remove.
3038
(m32c_offset_for_reloc): New.
3039
(m16c_addr_encodings): New.
3040
(m16c_jmpaddr_encodings): New.
3041
(m32c_addr_encodings): New.
3042
(m32c_elf_relax_section): Relax jumps and address displacements.
3043
(m32c_elf_relax_delete_bytes): Adjust for internal syms. Fix up
3046
* reloc.c: Add m32c relax relocs.
3047
* libbfd.h: Regenerate.
3048
* bfd-in2.h: Regenerate.
3050
2006-02-24 H.J. Lu <hongjiu.lu@intel.com>
3053
* elf-bfd.h (elf_backend_data): Add elf_backend_fixup_symbol.
3054
(_bfd_elf_link_hash_fixup_symbol): New.
3056
* elflink.c (_bfd_elf_link_hash_fixup_symbol): New.
3057
(_bfd_elf_fix_symbol_flags): Call elf_backend_fixup_symbol if
3060
* elfxx-ia64.c (elf_backend_fixup_symbol): Defined.
3062
* elfxx-target.h (elf_backend_fixup_symbol): New.
3063
(elfNN_bed): Initialize elf_backend_fixup_symbol.
3065
2006-02-23 H.J. Lu <hongjiu.lu@intel.com>
3067
* cpu-ia64-opc.c (ins_immu5b): New.
3068
(ext_immu5b): Likewise.
3069
(elf64_ia64_operands): Add IMMU5b.
3071
2006-02-21 Alan Modra <amodra@bigpond.net.au>
3074
* elf32-arm.c (allocate_dynrelocs): Ensure undef weak sym in pie
3076
* elf32-hppa.c (allocate_dynrelocs): Likewise.
3077
* elf32-i386.c (allocate_dynrelocs): Likewise.
3078
* elf32-s390.c (allocate_dynrelocs): Likewise.
3079
* elf32-sh.c (allocate_dynrelocs): Likewise.
3080
* elf64-s390.c (allocate_dynrelocs): Likewise.
3081
* elf64-x86-64.c (allocate_dynrelocs): Likewise.
3082
* elf32-m32r.c (allocate_dynrelocs): Likewise. Discard relocs
3083
on undef weak with non-default visibility too.
3084
* elfxx-sparc.c (allocate_dynrelocs): Ditto.
3086
2006-02-21 Alan Modra <amodra@bigpond.net.au>
3088
* bfd.c: (_bfd_default_error_handler): Don't call abort on
3089
error, instead call _exit.
3090
(_bfd_abort): Call _exit not xexit.
3092
2006-02-17 Kevin Buettner <kevinb@redhat.com>
3094
* elf32-frv.c (elf32_frv_grok_prstatus, elf32_frv_grok_psinfo):
3096
* elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
3098
2006-02-17 Shrirang Khisti <shrirangk@kpitcummins.com>
3099
Anil Paranjape <anilp1@kpitcummins.com>
3100
Shilin Shakti <shilins@kpitcummins.com>
3102
* Makefile.am: Add xc16x related entry
3103
* Makefile.in: Regenerate
3104
* archures.c: Add bfd_xc16x_arch
3105
* bfd-in2.h: Regenerate
3106
* config.bfd: Add xc16x-*-elf
3107
* configure.in: Add bfd_elf32_xc16x_vec
3108
* configure: Regenerate.
3109
* targets.c: Added xc16x related information
3110
* cpu-xc16x.c: New file
3111
* reloc.c: Add new relocations specific to xc16x:
3112
BFD_RELOC_XC16X_PAG, BFD_RELOC_XC16X_POF, BFD_RELOC_XC16X_SEG,
3114
* elf32-xc16x.c: New file.
3116
2006-02-17 Alan Modra <amodra@bigpond.net.au>
3118
* elf32-ppc.c (allocate_dynrelocs): Tweak undef weak handling.
3119
* elf64-ppc.c (allocate_dynrelocs): Likewise.
3121
2006-02-17 Alan Modra <amodra@bigpond.net.au>
3124
* elf64-ppc.c (allocate_dynrelocs): Ensure undef weak sym is
3126
(ppc64_elf_relocate_section): Check output reloc section size.
3127
* elf32-ppc.c (allocate_dynrelocs): Simplify undef weak test.
3129
2006-02-16 H.J. Lu <hongjiu.lu@intel.com>
3132
* elf.c (get_segment_type): New function.
3133
(_bfd_elf_print_private_bfd_data): Use it.
3134
(print_segment_map): New function.
3135
(assign_file_positions_for_segments): Call print_segment_map
3136
when there are not enough room for program headers.
3138
2006-02-16 Nick Hudson <nick.hudson@dsl.pipex.com>
3140
* config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Use
3141
traditional MIPS ELF targets.
3143
2006-02-15 H.J. Lu <hongjiu.lu@intel.com>
3146
* dwarf2.c (check_function_name): New function.
3147
(_bfd_dwarf2_find_nearest_line): Use check_function_name to
3148
check if function is correct.
3150
2006-02-16 Alan Modra <amodra@bigpond.net.au>
3152
* elflink.c (_bfd_elf_default_action_discarded): Return 0 for
3154
(elf_link_input_bfd): Adjust comments.
3156
2006-02-10 H.J. Lu <hongjiu.lu@intel.com>
3158
* elf.c (copy_private_bfd_data): Minor update.
3160
2006-02-10 H.J. Lu <hongjiu.lu@intel.com>
3163
* elf.c (copy_private_bfd_data): Renamed to ...
3164
(rewrite_elf_program_header): This.
3165
(copy_elf_program_header): New function.
3166
(copy_private_bfd_data): Likewise.
3168
2006-02-07 Nathan Sidwell <nathan@codesourcery.com>
3170
* archures.c (bfd_mach_mcf5200, bfd_mach_mcf5206e,
3171
bfd_mach_mcf5307, bfd_mach_mcf5407, bfd_mach_mcf528x,
3172
bfd_mach_mcfv4e, bfd_mach_mcf521x, bfd_mach_mcf5249,
3173
bfd_mach_mcf547x, bfd_mach_mcf548x): Remove.
3174
(bfd_mach_mcf_isa_a, bfd_mach_mcf_isa_a_div,
3175
bfd_mach_mcf_isa_a_div_mac, bfd_mach_mcf_isa_a_div_emac,
3176
bfd_mach_mcf_isa_aplus, bfd_mach_mcf_isa_aplus_mac,
3177
bfd_mach_mcf_isa_aplus_emac, bfd_mach_mcf_isa_aplus_usp,
3178
bfd_mach_mcf_isa_aplus_usp_mac, bfd_mach_mcf_isa_aplus_usp_emac,
3179
bfd_mach_mcf_isa_b, bfd_mach_mcf_isa_b_mac, bfd_mach_mcf_isa_b_emac,
3180
bfd_mach_mcf_isa_b_usp_float, bfd_mach_mcf_isa_b_usp_float_mac,
3181
bfd_mach_mcf_isa_b_usp_float_emac): New.
3182
(bfd_default_scan): Update coldfire mapping.
3183
* bfd-in.h (bfd_m68k_mach_to_features,
3184
bfd_m68k_features_to_mach): Declare.
3185
* bfd-in2.h: Rebuilt.
3186
* cpu-m68k.c (arch_info_struct): Add new coldfire machines,
3187
adjust legacy names.
3188
(m68k_arch_features): New.
3189
(bfd_m68k_mach_to_features,
3190
bfd_m68k_features_to_mach): Define.
3191
* elf32-m68k.c (elf32_m68k_object_p): New.
3192
(elf32_m68k_merge_private_bfd_data): Merge the CF EF flags.
3193
(elf32_m68k_print_private_bfd_data): Print the CF EF flags.
3194
(elf_backend_object_p): Define.
3195
* ieee.c (ieee_write_processor): Update coldfire machines.
3196
* libbfd.h: Rebuilt.
3198
2006-02-06 Steve Ellcey <sje@cup.hp.com>
3200
* elfxx-ia64.c (elfNN_ia64_fake_sections): Set SHF_IA_64_HP_TLS
3203
2006-02-05 Arnold Metselaar <arnold.metselaar@planet.nl>
3205
* coff-z80.c (r_imm24): New howto.
3206
(rtype2howto): New case R_IMM24.
3207
(coff_z80_reloc_type_lookup): New case BFD_RELOC_24.
3208
(extra_case): Use bfd_get_8 for R_IMM8, new case R_IMM24.
3210
2006-02-04 Richard Sandiford <richard@codesourcery.com>
3212
* elfxx-mips.c (mips_elf_initialize_tls_index): If a TLS symbol
3213
has already been assigned a GOT index, copy that index to the
3214
current hash table entry.
3216
2006-02-01 Eric Botcazou <ebotcazou@libertysurf.fr>
3218
* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass
3219
for call-to-undefweak reloc overflow.
3221
2006-01-31 Eric Botcazou <ebotcazou@libertysurf.fr>
3223
* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass
3224
for 32-bit relocs overflow.
3226
2006-01-27 Paul Brook <paul@codesourcery.com>
3228
* elf32-arm.c (elf32_arm_get_symbol_type): Allow STT_TLS thumb
3231
2006-01-18 Alexandre Oliva <aoliva@redhat.com>
3233
Introduce TLS descriptors for i386 and x86_64.
3234
* reloc.c (BFD_RELOC_386_TLS_GOTDESC, BFD_RELOC_386_TLS_DESC,
3235
BFD_RELOC_386_TLS_DESC_CALL, BFD_RELOC_X86_64_GOTPC32_TLSDESC,
3236
BFD_RELOC_X86_64_TLSDESC, BFD_RELOC_X86_64_TLSDESC_CALL): New.
3237
* libbfd.h, bfd-in2.h: Rebuilt.
3238
* elf32-i386.c (elf_howto_table): New relocations.
3239
(R_386_tls): Adjust.
3240
(elf_i386_reloc_type_lookup): Map new relocations.
3241
(GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros.
3242
(GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros.
3243
(struct elf_i386_link_hash_entry): Add tlsdesc_got field.
3244
(struct elf_i386_obj_tdata): Add local_tlsdesc_gotent field.
3245
(elf_i386_local_tlsdesc_gotent): New macro.
3246
(struct elf_i386_link_hash_table): Add sgotplt_jump_table_size.
3247
(elf_i386_compute_jump_table_size): New macro.
3248
(link_hash_newfunc): Initialize tlsdesc_got.
3249
(elf_i386_link_hash_table_create): Set sgotplt_jump_table_size.
3250
(elf_i386_tls_transition): Handle R_386_TLS_GOTDESC and
3251
R_386_TLS_DESC_CALL.
3252
(elf_i386_check_relocs): Likewise. Allocate space for
3253
local_tlsdesc_gotent.
3254
(elf_i386_gc_sweep_hook): Handle R_386_TLS_GOTDESC and
3255
R_386_TLS_DESC_CALL.
3256
(allocate_dynrelocs): Count function PLT relocations. Reserve
3257
space for TLS descriptors and relocations.
3258
(elf_i386_size_dynamic_sections): Reserve space for TLS
3259
descriptors and relocations. Set up sgotplt_jump_table_size.
3260
Don't zero reloc_count in srelplt.
3261
(elf_i386_always_size_sections): New. Set up _TLS_MODULE_BASE_.
3262
(elf_i386_relocate_section): Handle R_386_TLS_GOTDESC and
3263
R_386_TLS_DESC_CALL.
3264
(elf_i386_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P.
3265
(elf_backend_always_size_sections): Define.
3266
* elf64-x86-64.c (x86_64_elf_howto): Add R_X86_64_GOTPC32_TLSDESC,
3267
R_X86_64_TLSDESC, R_X86_64_TLSDESC_CALL.
3268
(R_X86_64_standard): Adjust.
3269
(x86_64_reloc_map): Map new relocs.
3270
(elf64_x86_64_rtype_to_howto): New, split out of...
3271
(elf64_x86_64_info_to_howto): ... this function, and...
3272
(elf64_x86_64_reloc_type_lookup): ... use it to map elf_reloc_val.
3273
(GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros.
3274
(GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros.
3275
(struct elf64_x86_64_link_hash_entry): Add tlsdesc_got field.
3276
(struct elf64_x86_64_obj_tdata): Add local_tlsdesc_gotent field.
3277
(elf64_x86_64_local_tlsdesc_gotent): New macro.
3278
(struct elf64_x86_64_link_hash_table): Add tlsdesc_plt,
3279
tlsdesc_got and sgotplt_jump_table_size fields.
3280
(elf64_x86_64_compute_jump_table_size): New macro.
3281
(link_hash_newfunc): Initialize tlsdesc_got.
3282
(elf64_x86_64_link_hash_table_create): Initialize new fields.
3283
(elf64_x86_64_tls_transition): Handle R_X86_64_GOTPC32_TLSDESC and
3284
R_X86_64_TLSDESC_CALL.
3285
(elf64_x86_64_check_relocs): Likewise. Allocate space for
3286
local_tlsdesc_gotent.
3287
(elf64_x86_64_gc_sweep_hook): Handle R_X86_64_GOTPC32_TLSDESC and
3288
R_X86_64_TLSDESC_CALL.
3289
(allocate_dynrelocs): Count function PLT relocations. Reserve
3290
space for TLS descriptors and relocations.
3291
(elf64_x86_64_size_dynamic_sections): Reserve space for TLS
3292
descriptors and relocations. Set up sgotplt_jump_table_size,
3293
tlsdesc_plt and tlsdesc_got. Make room for them. Don't zero
3294
reloc_count in srelplt. Add dynamic entries for DT_TLSDESC_PLT
3296
(elf64_x86_64_always_size_sections): New. Set up
3298
(elf64_x86_64_relocate_section): Handle R_386_TLS_GOTDESC and
3299
R_386_TLS_DESC_CALL.
3300
(elf64_x86_64_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P.
3301
(elf64_x86_64_finish_dynamic_sections): Set DT_TLSDESC_PLT and
3302
DT_TLSDESC_GOT. Set up TLS descriptor lazy resolver PLT entry.
3303
(elf_backend_always_size_sections): Define.
3305
2006-01-17 H.J. Lu <hongjiu.lu@intel.com>
3308
* dwarf2.c (comp_unit_contains_address): Update comment.
3309
(_bfd_dwarf2_find_nearest_line): Use section's vma, instead of
3310
lma. Return TRUE only if both comp_unit_contains_address and
3311
comp_unit_find_nearest_line return TRUE.
3312
(_bfd_dwarf2_find_line): Use section's vma, instead of lma.
3314
2006-01-18 Alan Modra <amodra@bigpond.net.au>
3316
* elf-bfd.h (struct elf_backend_data): Add gc_mark_dynamic_ref.
3317
(bfd_elf_gc_mark_dynamic_ref_symbol): Declare.
3318
* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Rename from
3319
elf_gc_mark_dynamic_ref_symbol. Make global.
3320
(bfd_elf_gc_sections): Call bed->gc_mark_dynamic_ref.
3321
* elfxx-target.h (elf_backend_gc_mark_dynamic_ref): Define.
3322
(elfNN_bed): Init new field.
3323
* elf64-ppc.c (elf_backend_gc_mark_dynamic_ref): Define.
3324
(ppc64_elf_gc_mark_dynamic_ref): New function.
3326
2006-01-17 Alan Modra <amodra@bigpond.net.au>
3328
* elf64-ppc.c (ppc64_elf_gc_mark_hook): Don't hang forever in loop.
3330
2006-01-17 Nick Clifton <nickc@redhat.com>
3333
* elf.c (elfcore_write_pstatus): Add ATTRIBUTE_UNUSED to unused
3336
2006-01-11 Nick Clifton <nickc@redhat.com>
3338
* elf32-arm.c (elf32_arm_output_symbol_hook): Install new entry
3339
into the newly (re)allocated map array.
3341
2006-01-09 Alexis Wilke <alexis_wilke@yahoo.com>
3343
* peXXigen.c (tbl): Add comma after "HIGH3ADJ".
3345
2006-01-01 Jakub Jelinek <jakub@redhat.com>
3347
* elf64-ppc.c (ppc64_elf_action_discarded): Return 0
3350
For older changes see ChangeLog-2005
2419
(elf32_arm_output_symbol_hook): Remove.
2420
(elf32_arm_write_section): Output veneers, and branches to veneers.
2421
Use maps from input sections, not output sections, for code
2423
* elf32-ppc.c (ppc_elf_write_section): Add dummy link_info argument.
2424
* elf32-score.c (_bfd_score_elf_write_section): Likewise.
2425
* elfxx-mips.c (_bfd_mips_elf_write_section): Likewise.
2426
* elfxx-mips.h (_bfd_mips_elf_write_section): Likewise.
2428
2007-01-27 H.J. Lu <hongjiu.lu@intel.com>
2430
* elf64-hppa.c (elf64_bed): Defined for HPUX and Linux.
2431
(INCLUDED_TARGET_FILE): Removed.
2433
2007-01-27 Mike Frysinger <vapier@gentoo.org>
2435
* elf32-hppa.c (elf32_bed): Define for hpux, linux and netbsd.
2436
(INCLUDED_TARGET_FILE): Remove.
2438
2007-01-25 DJ Delorie <dj@redhat.com>
2440
* elf32-m32c.c (m32c_elf_howto_table): Don't complain about
2441
R_M32C_16 or R_M32C_24 relocs.
2443
2007-01-25 Nick Clifton <nickc@redhat.com>
2446
* elf32-avr.c (avr_link_hash_table): Check to make sure that the
2447
hash table was created by elf32_avr_link_hash_table_create before
2449
(elf32_avr_link_hash_newfunc): New function. Just pass the call
2450
through to _bfd_elf_link_hash_newfunc.
2451
(elf32_avr_link_hash_table_create): Use
2452
elf32_avr_link_hash_newfunc instead of
2453
_bfd_elf_link_hash_newfunc.
2454
(elf32_avr_relocate_section): Check for the hash table pointer
2456
(elf32_avr_relax_section, avr_build_one_stub,
2457
elf32_avr_setup_params, get_local_syms, elf32_avr_size_stubs,
2458
elf32_avr_build_stubs): Likewise.
2460
2007-01-16 H.J. Lu <hongjiu.lu@intel.com>
2463
* elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an
2464
argument, Elf_Internal_Sym *.
2466
* elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data
2467
symbol dynamic if info->dynamic_data is TRUE.
2468
(bfd_elf_record_link_assignment): Updated call to
2469
bfd_elf_record_link_assignment.
2470
(_bfd_elf_merge_symbol): Likewise. Always call
2471
bfd_elf_link_mark_dynamic_symbol.
2473
2007-01-12 H.J. Lu <hongjiu.lu@intel.com>
2475
* Makefile.am (BFD_LIBS): Removed.
2476
* Makefile.in: Regenerated.
2478
2007-01-11 H.J. Lu <hongjiu.lu@intel.com>
2481
* Makefile.am (OFILES): Add @bfd64_libs@.
2482
(libbfd_la_SOURCES): Remove $(BFD64_LIBS_CFILES).
2483
* Makefile.in: Regenerated.
2485
* configure.in (bfd_libs): Replaced by ...
2487
* configure: Regenerated.
2489
2007-01-11 Nathan Sidwell <nathan@codesourcery.com>
2491
* elf.c (assign_file_positions_for_load_sections): We can
2492
require fewer phdrs than expected.
2494
2007-01-08 Kazu Hirata <kazu@codesourcery.com>
2496
* archures.c (bfd_mach_cpu32_fido): Rename to bfd_mach_fido.
2497
* bfd-in2.h: Regenerate.
2498
* cpu-m68k.c (arch_info_struct): Use bfd_mach_fido instead of
2499
bfd_mach_cpu32_fido.
2500
(m68k_arch_features): Use fido_a instead of cpu32.
2501
(bfd_m68k_compatible): Reject the combination of Fido and
2502
ColdFire. Accept the combination of CPU32 and Fido with a
2504
* elf32-m68k.c (elf32_m68k_object_p,
2505
elf32_m68k_merge_private_bfd_data,
2506
elf32_m68k_print_private_bfd_data): Treat Fido as an
2507
architecture by itself.
2509
2007-01-08 Kai Tietz <kai.tietz@onevision.com>
2511
* config.bfd: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*.
2513
2007-01-05 Jakub Jelinek <jakub@redhat.com>
2515
* texhex.c (first_phase): Don't fall through into the default
2517
(pass_over): Replace abort () calls with return FALSE. Fix
2520
2007-01-04 Jie Zhang <jie.zhang@analog.com>
2522
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't set
2523
SEC_EXCLUDE on zero size .eh_frame.
2525
For older changes see ChangeLog-2006
3352
2527
Local Variables:
3353
2528
mode: change-log