diff options
author | Alan Modra <amodra@gmail.com> | 2004-03-25 12:48:45 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2004-03-25 12:48:45 +0000 |
commit | 5a580b3ac2af13bb20af5e0fd15904840c01f66d (patch) | |
tree | ced259dab58db3d68a96c0b82bbd553d1c3dd147 /bfd/elf-bfd.h | |
parent | a0049f1bbec85a37a9c129f232e678f42e214f63 (diff) | |
download | gdb-5a580b3ac2af13bb20af5e0fd15904840c01f66d.zip gdb-5a580b3ac2af13bb20af5e0fd15904840c01f66d.tar.gz gdb-5a580b3ac2af13bb20af5e0fd15904840c01f66d.tar.bz2 |
bfd/
* elflink.h (elf_link_add_object_symbols): Add DT_NEEDED for as-needed
and chained shared libs only if dynsym. Clear dynsym on forced-local.
* elf-bfd.h (_bfd_elf_add_dynamic_entry): Declare.
(bfd_elf32_add_dynamic_entry, bfd_elf64_add_dynamic_entry): Delete.
(_bfd_elf_add_dt_needed_tag): Declare.
(_bfd_elf_sort_symbol): Declare.
(_bfd_elf_finalize_dynstr): Declare.
(RELOC_FOR_GLOBAL_SYM): Formatting.
* elfcode.h (elf_add_dynamic_entry): Delete.
* elflink.c (_bfd_elf_add_dynamic_entry): New function. Corresponding
elflink.h function converted to use elf_size_info.
(_bfd_elf_add_dt_needed_tag): Likewise.
(_bfd_elf_sort_symbol): Likewise.
(_bfd_elf_finalize_dynstr): Likewise.
(compute_bucket_count): Likewise.
(bfd_elf_size_dynamic_sections): Likewise. Check result of
_bfd_elf_strtab_add before calling _bfd_elf_strtab_addref.
(elf_adjust_dynstr_offsets, elf_collect_hash_codes): Moved from..
* elflink.h: ..here.
(sort_symbol, add_dt_needed_tag): Delete.
(elf_add_dynamic_entry, elf_finalize_dynstr): Delete.
(compute_bucket_count, NAME(bfd_elf,size_dynamic_sections)): Delete.
Update all users.
* elf32-arm.h (add_dynamic_entry): Update. Remove casts.
* elf32-cris.c (add_dynamic_entry): Likewise.
* elf32-hppa.c (add_dynamic_entry): Likewise.
* elf32-i370.c (add_dynamic_entry): Likewise.
* elf32-i386.c (add_dynamic_entry): Likewise.
* elf32-m32r.c (add_dynamic_entry): Likewise.
* elf32-m68k.c (add_dynamic_entry): Likewise.
* elf32-ppc.c (add_dynamic_entry): Likewise.
* elf32-s390.c (add_dynamic_entry): Likewise.
* elf32-sh.c (add_dynamic_entry): Likewise.
* elf32-sparc.c (add_dynamic_entry): Likewise.
* elf32-vax.c (add_dynamic_entry): Likewise.
* elf32-xtensa.c (add_dynamic_entry): Likewise.
* elf64-alpha.c (add_dynamic_entry): Likewise.
* elf64-hppa.c (add_dynamic_entry): Likewise.
* elf64-ppc.c (add_dynamic_entry): Likewise.
* elf64-s390.c (add_dynamic_entry): Likewise.
* elf64-sparc.c (add_dynamic_entry): Likewise.
* elf64-x86-64.c (add_dynamic_entry): Likewise.
* elfxx-ia64.c (add_dynamic_entry): Likewise.
* elfxx-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
* elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
* elf32-frv.c (elf32_frv_size_dynamic_sections): Likewise.
* elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
ld/
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Update
size_dynamic_sections call.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r-- | bfd/elf-bfd.h | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index cd51e32..c2cd537 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -1593,8 +1593,6 @@ extern void bfd_elf32_write_relocs (bfd *, asection *, void *); extern bfd_boolean bfd_elf32_slurp_reloc_table (bfd *, asection *, asymbol **, bfd_boolean); -extern bfd_boolean bfd_elf32_add_dynamic_entry - (struct bfd_link_info *, bfd_vma, bfd_vma); extern const bfd_target *bfd_elf64_object_p (bfd *); @@ -1641,8 +1639,15 @@ extern void bfd_elf64_write_relocs (bfd *, asection *, void *); extern bfd_boolean bfd_elf64_slurp_reloc_table (bfd *, asection *, asymbol **, bfd_boolean); -extern bfd_boolean bfd_elf64_add_dynamic_entry + +extern bfd_boolean _bfd_elf_add_dynamic_entry (struct bfd_link_info *, bfd_vma, bfd_vma); +extern int _bfd_elf_add_dt_needed_tag + (struct bfd_link_info *, const char *, bfd_boolean); +extern int _bfd_elf_sort_symbol + (const void *, const void *); +extern bfd_boolean _bfd_elf_finalize_dynstr + (bfd *, struct bfd_link_info *); #define bfd_elf32_link_record_dynamic_symbol \ _bfd_elf_link_record_dynamic_symbol @@ -1762,12 +1767,14 @@ extern bfd_boolean _sh_elf_set_mach_from_flags ; \ else \ { \ - if (! info->callbacks->undefined_symbol \ - (info, h->root.root.string, input_bfd, \ - input_section, rel->r_offset, \ - (info->unresolved_syms_in_objects == RM_GENERATE_ERROR \ - || ELF_ST_VISIBILITY (h->other)) \ - )) \ + bfd_boolean err; \ + err = (info->unresolved_syms_in_objects == RM_GENERATE_ERROR \ + || ELF_ST_VISIBILITY (h->other) != STV_DEFAULT); \ + if (!info->callbacks->undefined_symbol (info, \ + h->root.root.string, \ + input_bfd, \ + input_section, \ + rel->r_offset, err)) \ return FALSE; \ warned = TRUE; \ } \ |