Jim Wilson
70bcb1452f
Fix hash section entry size to match ELF standard. Override for alpha-linux.
...
* elf64-alpha.c (alpha_elf_size_info): New.
(elf_backend_size_info): Define to alpha_elf_size_info.
* elfcode.h (elf_size_info): Change hash bucket size to 4.
2000-07-04 02:18:06 +00:00
Nick Clifton
60bcf0fa8c
Applied Stephane Carrez <Stephane.Carrez@worldnet.fr> patches to add support
...
for m68hc11 and m68hc12 processors.
2000-06-19 01:22:44 +00:00
Jeff Law
b9f6667271
* elf-bfd.h: Add prototypes for bfd_elf32_write_relocs,
...
bfd_elf32_slurp_reloc_table, bfd_elf64_write_relocs, and
bfd_elf64_slurp_reloc_table.
* elfcode.h (elf_write_relocs, elf_slurp_reloc_table): New
definitions to get external names.
(elf_write_relocs): Renamed from write_relocs and make global.
(elf_slurp_reloc_table): Make global.
(_bfd_elf,size_info): Use elf_write_relocs instead of write_relocs.
2000-04-24 07:55:09 +00:00
Richard Henderson
86dc0f79f5
* elf-bfd.h (struct elf_backend_data): Reorder collect and
...
type_change_ok; add sign_extend_vma.
* elf32-mips.c (elf_backend_sign_extend_vma): Define.
* elfcode.h (elf_swap_symbol_in): Mind be->sign_extend_vma.
(elf_swap_shdr_in, elf_swap_phdr_in): Likewise.
* elfxx-target.h (elf_backend_sign_extend_vma): Default.
(elfNN_bed): Follow struture changes.
1999-11-18 01:06:45 +00:00
Alan Modra
2f66722d55
Hackery to handle ix86 "jmp constant" as a pc-relative jump to the given
...
absolute address.
1999-09-13 06:45:15 +00:00
Ian Lance Taylor
eeaf533e61
* elfcode.h (write_relocs): Handle an absolute symbol in REL
...
relocs as we do for RELA relocs.
1999-09-11 20:14:57 +00:00
Richard Henderson
30b30c2181
* elf-bfd.h (struct elf_link_local_dynamic_entry): New.
...
(struct elf_link_hash_table): Add dynlocal.
(_bfd_elf_link_lookup_local_dynindx): Prototype.
(_bfd_elf_link_adjust_dynindx): Delete.
(_bfd_elf_link_renumber_dynsyms): Prototype.
(_bfd_elf,link_record_local_dynamic_symbol): Prototype.
* elfcode.h (elf_link_record_local_dynamic_symbol): New alias.
* elflink.c (_bfd_elf_link_adjust_dynindx): Delete.
(_bfd_elf_link_lookup_local_dynindx): New function.
(elf_link_renumber_hash_table_dynsyms): New function.
(_bfd_elf_link_renumber_dynsyms): New function.
* elflink.h (elf_link_record_local_dynamic_symbol): New function.
(struct elf_assign_sym_version_info): Delete removed_dynamic.
(bfd_elf,size_dynamic_sections): Use _bfd_strip_section_from_output
instead of elf_link_remove_section_and_adjust_dynindices.
Remove removed_dynamic code. Use _bfd_elf_link_renumber_dynsyms.
(elf_link_assign_sym_version): Remove removed_dynamic code.
(elf_link_renumber_dynsyms): Delete.
(elf_bfd_final_link): Install section and local symbols into .dynsym.
* elf32-m68k.c (elf_m68k_adjust_dynindx): Delete.
(elf_m68k_size_dynamic_sections): Don't set section dynindicies.
(elf_m68k_finish_dynamic_sections): Don't write section dynsyms.
* elf32-mips.c: Similarly.
* elf32-ppc.c: Similarly.
* elf32-sparc.c: Similarly.
* elf64-alpha.c: Similarly.
* elf64-sparc.c: Similarly.
1999-07-13 18:21:29 +00:00
Mark Mitchell
c7ac6ff835
* elflink.h (elf_link_create_dynamic_sections): Handle non-standard
...
hash-entry sizes.
(size_dynamic_sections): Likewise.
(elf_link_output_extsym): Likewise.
* elf.c: (elf_fake_sections): Likewise.
* libbfd.c (bfd_get): New macro.
(bfd_put): Likewise.
* bfd-in2.h: Regenerated.
* elf-bfd.h (elf_size_info): Add hash_entry_size,
int_rels_per_ext_rel, swap_dyn_out, swap_reloc_in, swap_reloc_out,
wap_reloca_in, and swap_reloca_out.
* elflink.h (elf_link_read_relocs_from_section): Adjust to handle
multiple internal relocations per external relocation.
(link_read_relocs): Likewise.
(elf_bfd_final_link): Likewise.
(elf_link_input_bfd): Likewise.
(elf_gc_mark): Likewise.
(elf_gc_smash_unused_vtentry_relocs): Likewise.
* elfcode.h (elf_swap_dyn_out): Adjust type to match
elf_swap_dyn_in.
(size_info): Add entries for new fields.
* elf64-mips.c (mips_elf64_swap_reloc_out): Enable.
(mips_elf64_be_swap_reloc_in): New function.
(mips_elf64_be_swap_reloc_out): Likewise.
(mips_elf64_be_swap_reloca_in): Likewise.
(mips_elf64_be_swap_reloca_out): Likewise.
(mips_elf64_size_info): Add entries for new fields.
1999-07-07 17:50:56 +00:00
Mark Mitchell
57e21befb9
* elfcode.h (elf_slurp_reloc_table_from_section): Don't assume
...
asect->reloc_count is valid.
1999-06-12 17:56:26 +00:00
Mark Mitchell
42fdc50906
* elf32-mips.c (elf_mips_howto_table): Add R_MIPS_JALR.
...
* elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
(mips_elf64_howto_table_rela): Likewise.
* elfcode.h (elf_slurp_reloc_table_from_section): New function,
split out from ...
(elf_slurp_reloc_table): Here. Use it to handle the case where a
single section has two associated relocation sections.
1999-06-02 18:16:48 +00:00
Mark Mitchell
bf572ba0b9
* elf-bfd.h (elf_backend_data): Remove use_rela_p. Add
...
may_use_rel_p, may_use_rela_p, default_use_rela_p.
(bfd_elf_section_data): Add use_rela_p.
* elf.c (bfd_section_from_shdr): Set use_rela_p appropriately.
(_bfd_elf_new_section_hook): Likewise.
(elf_fake_sections): Use may_use_rela_p, etc., instead of
use_rela_p.
(_bfd_elf_copy_private_section_data): Copy use_rela_p.
* elfcode.h (write_relocs): Determine whether or not use rela
relocs based on the relocation section header.
* elflink.c (_bfd_elf_create_dynamic_sections): Use default_use_rela_p
instead of use_rela_p.
* elfxx-target.h (elf_backend_may_use_relp): New macro.
(elf_backend_may_use_rela_p): Likewise.
(elf_backend_default_use_rela_p): Likewise.
(elfNN_bed): Use them.
1999-06-02 13:01:04 +00:00
Richard Henderson
252b5132c7
19990502 sourceware import
1999-05-03 07:29:11 +00:00