From b9f6667271e3dcb238c04160c38a46d2bd37753c Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Mon, 24 Apr 2000 07:55:09 +0000 Subject: [PATCH] * 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. --- bfd/ChangeLog | 10 ++++++++++ bfd/elf-bfd.h | 8 ++++++++ bfd/elfcode.h | 14 ++++++-------- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 3decd81c5ab..75d8d00072e 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,15 @@ Mon Apr 24 01:49:03 2000 Ulrich Drepper + * 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. + * archive.c (hpux_uid_gid_encode): New function. (bfd_ar_hdr_from_filesystem): Use it if HPUX_LARGE_AR_IDS is defined and the ID is greater than 99999. diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index 0dcecdf5884..3978aee2693 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -1142,6 +1142,10 @@ extern long bfd_elf32_slurp_symbol_table extern boolean bfd_elf32_write_shdrs_and_ehdr PARAMS ((bfd *)); extern int bfd_elf32_write_out_phdrs PARAMS ((bfd *, const Elf_Internal_Phdr *, int)); +extern void bfd_elf32_write_relocs + PARAMS ((bfd *, asection *, PTR)); +extern boolean bfd_elf32_slurp_reloc_table + PARAMS ((bfd *, asection *, asymbol **, boolean)); extern boolean bfd_elf32_add_dynamic_entry PARAMS ((struct bfd_link_info *, bfd_vma, bfd_vma)); extern boolean bfd_elf32_link_create_dynamic_sections @@ -1185,6 +1189,10 @@ extern long bfd_elf64_slurp_symbol_table extern boolean bfd_elf64_write_shdrs_and_ehdr PARAMS ((bfd *)); extern int bfd_elf64_write_out_phdrs PARAMS ((bfd *, const Elf_Internal_Phdr *, int)); +extern void bfd_elf64_write_relocs + PARAMS ((bfd *, asection *, PTR)); +extern boolean bfd_elf64_slurp_reloc_table + PARAMS ((bfd *, asection *, asymbol **, boolean)); extern boolean bfd_elf64_add_dynamic_entry PARAMS ((struct bfd_link_info *, bfd_vma, bfd_vma)); extern boolean bfd_elf64_link_create_dynamic_sections diff --git a/bfd/elfcode.h b/bfd/elfcode.h index c5edf9b8250..b1ce9d820fd 100644 --- a/bfd/elfcode.h +++ b/bfd/elfcode.h @@ -118,6 +118,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define elf_add_dynamic_entry NAME(bfd_elf,add_dynamic_entry) #define elf_write_shdrs_and_ehdr NAME(bfd_elf,write_shdrs_and_ehdr) #define elf_write_out_phdrs NAME(bfd_elf,write_out_phdrs) +#define elf_write_relocs NAME(bfd_elf,write_relocs) +#define elf_slurp_reloc_table NAME(bfd_elf,slurp_reloc_table) #define elf_link_create_dynamic_sections \ NAME(bfd_elf,link_create_dynamic_sections) #define elf_link_record_dynamic_symbol _bfd_elf_link_record_dynamic_symbol @@ -168,10 +170,6 @@ static void elf_swap_shdr_out static boolean elf_slurp_reloc_table_from_section PARAMS ((bfd *, asection *, Elf_Internal_Shdr *, bfd_size_type, arelent *, asymbol **, boolean)); -static boolean elf_slurp_reloc_table - PARAMS ((bfd *, asection *, asymbol **, boolean)); - -static void write_relocs PARAMS ((bfd *, asection *, PTR)); static boolean elf_file_p PARAMS ((Elf_External_Ehdr *)); @@ -746,8 +744,8 @@ elf_object_p (abfd) /* Write out the relocs. */ -static void -write_relocs (abfd, sec, data) +void +elf_write_relocs (abfd, sec, data) bfd *abfd; asection *sec; PTR data; @@ -1325,7 +1323,7 @@ elf_slurp_reloc_table_from_section (abfd, asect, rel_hdr, reloc_count, /* Read in and swap the external relocs. */ -static boolean +boolean elf_slurp_reloc_table (abfd, asect, symbols, dynamic) bfd *abfd; asection *asect; @@ -1533,7 +1531,7 @@ const struct elf_size_info NAME(_bfd_elf,size_info) = { ELFCLASS, EV_CURRENT, elf_write_out_phdrs, elf_write_shdrs_and_ehdr, - write_relocs, + elf_write_relocs, elf_swap_symbol_out, elf_slurp_reloc_table, elf_slurp_symbol_table, -- 2.30.2