summaryrefslogtreecommitdiff
path: root/bfd/elfcode.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2002-06-05 13:32:02 +0000
committerAlan Modra <amodra@bigpond.net.au>2002-06-05 13:32:02 +0000
commitddcb707719484a2461bf1241b13ad393bbd724ed (patch)
tree88b342d5ec6ec2344d044e95fa0b44324c27f349 /bfd/elfcode.h
parent4aed693b7455e7dc22b807e4b3a37d6c63141b9f (diff)
downloadgdb-ddcb707719484a2461bf1241b13ad393bbd724ed.tar.gz
* elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
(bfd_elf32_swap_symbol_in): Update prototype. (bfd_elf64_swap_symbol_in): Likewise. * elfcode.h (elf_swap_symbol_in): Change input args to const PTR *. (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in. * elflink.h (elf_link_is_defined_archive_symbol): Likewise. (elf_link_add_object_symbols): Likewise. (elf_link_record_local_dynamic_symbol): Likewise. (elf_link_input_bfd): Likewise. (elf_gc_mark): Likewise. (elf_reloc_symbol_deleted_p): Likewise. * elf-m10200.c (mn10200_elf_relax_section): Likewise. (mn10200_elf_relax_delete_bytes): Likewise. (mn10200_elf_symbol_address_p): Likewise. (mn10200_elf_get_relocated_section_contents): Likewise. * elf-m10300.c (mn10300_elf_relax_section): Likewise. (mn10300_elf_relax_section): Likewise. (mn10300_elf_relax_delete_bytes): Likewise. (mn10300_elf_symbol_address_p): Likewise. (mn10300_elf_get_relocated_section_contents): Likewise. * elf32-h8300.c (elf32_h8_relax_section): Likewise. (elf32_h8_relax_delete_bytes): Likewise. (elf32_h8_symbol_address_p): Likewise. (elf32_h8_get_relocated_section_contents): Likewise. * elf32-hppa.c (get_local_syms): Likewise. * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise. * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise. * elf32-sh.c (sh_elf_relax_section): Likewise. (sh_elf_relax_delete_bytes): Likewise. (sh_elf_get_relocated_section_contents): Likewise. * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise. * elf64-alpha.c (elf64_alpha_relax_section): Likewise. * elf64-hppa.c (elf64_hppa_check_relocs): Likewise. * elf64-mmix.c (mmix_elf_relax_section): Likewise. * elf64-ppc.c (get_local_syms): Likewise. * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise. * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise. * elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser. * elf64-alpha.c (alpha_elf_size_info): Likewise. * elf64-hppa.c (hppa64_elf_size_info): Likewise. * elf64-mips.c (mips_elf64_size_info): Likewise. * elf64-s390.c (s390_elf64_size_info): Likewise. * elf64-sparc.c (sparc64_elf_size_info): Likewise.
Diffstat (limited to 'bfd/elfcode.h')
-rw-r--r--bfd/elfcode.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/bfd/elfcode.h b/bfd/elfcode.h
index 203323cdb5e..1a362eebcc5 100644
--- a/bfd/elfcode.h
+++ b/bfd/elfcode.h
@@ -1,6 +1,6 @@
/* ELF executable support for BFD.
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001 Free Software Foundation, Inc.
+ 2001, 2002 Free Software Foundation, Inc.
Written by Fred Fish @ Cygnus Support, from information published
in "UNIX System V Release 4, Programmers Guide: ANSI C and
@@ -203,12 +203,14 @@ static char *elf_symbol_flags PARAMS ((flagword));
format. */
void
-elf_swap_symbol_in (abfd, src, shndx, dst)
+elf_swap_symbol_in (abfd, psrc, pshn, dst)
bfd *abfd;
- const Elf_External_Sym *src;
- const Elf_External_Sym_Shndx *shndx;
+ const PTR *psrc;
+ const PTR *pshn;
Elf_Internal_Sym *dst;
{
+ const Elf_External_Sym *src = (const Elf_External_Sym *) psrc;
+ const Elf_External_Sym_Shndx *shndx = (const Elf_External_Sym_Shndx *) pshn;
int signed_vma = get_elf_backend_data (abfd)->sign_extend_vma;
dst->st_name = H_GET_32 (abfd, src->st_name);
@@ -1242,8 +1244,9 @@ elf_slurp_symbol_table (abfd, symptrs, dynamic)
/* Skip first symbol, which is a null dummy. */
for (i = 1; i < symcount; i++)
{
- elf_swap_symbol_in (abfd, x_symp + i,
- x_shndx + (x_shndx != NULL ? i : 0), &i_sym);
+ elf_swap_symbol_in (abfd, (const PTR *) (x_symp + i),
+ (const PTR *) (x_shndx + (x_shndx ? i : 0)),
+ &i_sym);
memcpy (&sym->internal_elf_sym, &i_sym, sizeof (Elf_Internal_Sym));
#ifdef ELF_KEEP_EXTSYM
memcpy (&sym->native_elf_sym, x_symp + i, sizeof (Elf_External_Sym));
@@ -1695,6 +1698,7 @@ const struct elf_size_info NAME(_bfd_elf,size_info) = {
elf_write_out_phdrs,
elf_write_shdrs_and_ehdr,
elf_write_relocs,
+ elf_swap_symbol_in,
elf_swap_symbol_out,
elf_slurp_reloc_table,
elf_slurp_symbol_table,