* symfile.c (add_psymbol_to_list, add_psymbol_addr_to_list):
[binutils-gdb.git] / bfd / elfcode.h
index 0b28608d012f759f1891c6964f8f6d1ee487ef29..471521d18b8cf6044dd557efb104a9cc8831c20a 100644 (file)
@@ -1,5 +1,5 @@
 /* ELF executable support for BFD.
-   Copyright 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+   Copyright 1991, 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
 
    Written by Fred Fish @ Cygnus Support, from information published
    in "UNIX System V Release 4, Programmers Guide: ANSI C and
@@ -146,8 +146,6 @@ extern struct bfd_strtab_hash *_bfd_elf_stringtab_init PARAMS ((void));
 extern boolean bfd_section_from_phdr PARAMS ((bfd *, Elf_Internal_Phdr *,
                                              int));
 
- int _bfd_elf_section_from_bfd_section PARAMS ((bfd *, struct sec *));
-
 static long elf_slurp_symbol_table PARAMS ((bfd *, asymbol **, boolean));
 
 static boolean elf_slurp_reloc_table PARAMS ((bfd *, asection *, asymbol **));
@@ -393,11 +391,13 @@ elf_swap_reloca_out (abfd, src, dst)
 }
 
 INLINE void
-elf_swap_dyn_in (abfd, src, dst)
+elf_swap_dyn_in (abfd, p, dst)
      bfd *abfd;
-     const Elf_External_Dyn *src;
+     const PTR p;
      Elf_Internal_Dyn *dst;
 {
+  const Elf_External_Dyn *src = (const Elf_External_Dyn *) p;
+
   dst->d_tag = get_word (abfd, src->d_tag);
   dst->d_un.d_val = get_word (abfd, src->d_un.d_val);
 }
@@ -477,11 +477,11 @@ elf_object_p (abfd)
   switch (x_ehdr.e_ident[EI_DATA])
     {
     case ELFDATA2MSB:          /* Big-endian */
-      if (!abfd->xvec->header_byteorder_big_p)
+      if (! bfd_header_big_endian (abfd))
        goto got_wrong_format_error;
       break;
     case ELFDATA2LSB:          /* Little-endian */
-      if (abfd->xvec->header_byteorder_big_p)
+      if (! bfd_header_little_endian (abfd))
        goto got_wrong_format_error;
       break;
     case ELFDATANONE:          /* No data encoding specified */
@@ -891,12 +891,9 @@ elf_slurp_symbol_table (abfd, symptrs, dynamic)
 
       /* Temporarily allocate room for the raw ELF symbols.  */
       x_symp = ((Elf_External_Sym *)
-               malloc (symcount * sizeof (Elf_External_Sym)));
+               bfd_malloc (symcount * sizeof (Elf_External_Sym)));
       if (x_symp == NULL && symcount != 0)
-       {
-         bfd_set_error (bfd_error_no_memory);
-         goto error_return;
-       }
+       goto error_return;
 
       if (bfd_read ((PTR) x_symp, sizeof (Elf_External_Sym), symcount, abfd)
          != symcount * sizeof (Elf_External_Sym))
@@ -1053,12 +1050,9 @@ elf_slurp_reloc_table (abfd, asect, symbols)
              && (asect->reloc_count
                  == d->rel_hdr.sh_size / d->rel_hdr.sh_entsize));
 
-  allocated = (PTR) malloc ((size_t) d->rel_hdr.sh_size);
+  allocated = (PTR) bfd_malloc ((size_t) d->rel_hdr.sh_size);
   if (allocated == NULL)
-    {
-      bfd_set_error (bfd_error_no_memory);
-      goto error_return;
-    }
+    goto error_return;
 
   if (bfd_seek (abfd, asect->rel_filepos, SEEK_SET) != 0
       || (bfd_read (allocated, 1, d->rel_hdr.sh_size, abfd)
@@ -1275,4 +1269,5 @@ const struct elf_size_info NAME(_bfd_elf,size_info) = {
   elf_swap_symbol_out,
   elf_slurp_reloc_table,
   elf_slurp_symbol_table,
+  elf_swap_dyn_in
 };