Sat Jun 8 20:52:38 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
authorroland <roland>
Mon, 10 Jun 1996 10:12:26 +0000 (10:12 +0000)
committerroland <roland>
Mon, 10 Jun 1996 10:12:26 +0000 (10:12 +0000)
* elf/link.h, elf/do-rel.h, elf/dynamic-link.h, elf/dl-deps.c,
  elf/dl-init.c, elf/dl-load.c, elf/dl-lookup.c, elf/dl-reloc.c,
  elf/dl-runtime.c, elf/dladdr.c, elf/dlclose.c, elf/dlsym.c,
  elf/linux-compat.c, elf/rtld.c: Change all uses of `Elf32_XXX' to
  `ElfW(XXX)' for wordsize-independence.

elf/dl-init.c
elf/dl-runtime.c
elf/dlclose.c
elf/dlsym.c
elf/dynamic-link.h
elf/linux-compat.c

index ee99ce3..66ef83e 100644 (file)
@@ -24,7 +24,7 @@ Cambridge, MA 02139, USA.  */
 /* Run initializers for MAP and its dependencies, in inverse dependency
    order (that is, leaf nodes first).  */
 
-Elf32_Addr
+ElfW(Addr)
 _dl_init_next (struct link_map *map)
 {
   unsigned int i;
index dce34f8..c306543 100644 (file)
@@ -24,9 +24,9 @@ Cambridge, MA 02139, USA.  */
 #define elf_machine_rel 1
 #define elf_machine_rela 2
 #if elf_machine_relplt == elf_machine_rel
-#define PLTREL Elf32_Rel
+#define PLTREL ElfW(Rel)
 #elif elf_machine_relplt == elf_machine_rela
-#define PLTREL Elf32_Rela
+#define PLTREL ElfW(Rela)
 #else
 #error "dl-machine.h bug: elf_machine_relplt not rel or rela"
 #endif
@@ -37,11 +37,11 @@ Cambridge, MA 02139, USA.  */
    in the trampoline code will be a local PC-relative call.  Tell the
    compiler not to worry that the function appears not to be called.  */
 
-static Elf32_Addr fixup (
+static ElfW(Addr) fixup (
 #ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
                         ELF_MACHINE_RUNTIME_FIXUP_ARGS,
 #endif
-                        struct link_map *l, Elf32_Word reloc_offset)
+                        struct link_map *l, ElfW(Word) reloc_offset)
      __attribute__ ((unused));
 
 /* This function is called through a special trampoline from the PLT the
@@ -51,15 +51,15 @@ static Elf32_Addr fixup (
    to that address.  Future calls will bounce directly from the PLT to the
    function.  */
 
-static Elf32_Addr
+static ElfW(Addr)
 fixup (
 #ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
        ELF_MACHINE_RUNTIME_FIXUP_ARGS,
 #endif
-       struct link_map *l, Elf32_Word reloc_offset)
+       struct link_map *l, ElfW(Word) reloc_offset)
 {
-  const Elf32_Sym *const symtab
-    = (const Elf32_Sym *) (l->l_addr + l->l_info[DT_SYMTAB]->d_un.d_ptr);
+  const ElfW(Sym) *const symtab
+    = (const ElfW(Sym) *) (l->l_addr + l->l_info[DT_SYMTAB]->d_un.d_ptr);
   const char *strtab =
     (const char *) (l->l_addr + l->l_info[DT_STRTAB]->d_un.d_ptr);
 
@@ -67,8 +67,8 @@ fixup (
     = (const void *) (l->l_addr + l->l_info[DT_JMPREL]->d_un.d_ptr +
                      reloc_offset);
 
-  Elf32_Addr resolve (const Elf32_Sym **ref,
-                     Elf32_Addr reloc_addr, int noplt)
+  ElfW(Addr) resolve (const ElfW(Sym) **ref,
+                     ElfW(Addr) reloc_addr, int noplt)
     {
       struct link_map *scope[2] = { _dl_loaded, NULL };
       return _dl_lookup_symbol (strtab + (*ref)->st_name, ref,
@@ -76,9 +76,9 @@ fixup (
     }
 
   /* Perform the specified relocation.  */
-  elf_machine_relplt (l, reloc, &symtab[ELF32_R_SYM (reloc->r_info)], resolve);
+  elf_machine_relplt (l, reloc, &symtab[ELFW(R_SYM) (reloc->r_info)], resolve);
 
-  return *(Elf32_Addr *) (l->l_addr + reloc->r_offset);
+  return *(ElfW(Addr) *) (l->l_addr + reloc->r_offset);
 }
 
 
index fbb3ca6..0d2689e 100644 (file)
@@ -65,7 +65,7 @@ dlclose (void *handle)
            {
              /* That was the last reference, and this was a dlopen-loaded
                 object.  We can unmap it.  */
-             const Elf32_Phdr *ph;
+             const ElfW(Phdr) *ph;
 
              if (map->l_info[DT_FINI])
                /* Call its termination function.  */
@@ -76,8 +76,8 @@ dlclose (void *handle)
              for (ph = map->l_phdr; ph < &map->l_phdr[map->l_phnum]; ++ph)
                if (ph->p_type == PT_LOAD)
                  {
-                   Elf32_Addr mapstart = ph->p_vaddr & ~(ph->p_align - 1);
-                   Elf32_Addr mapend = ((ph->p_vaddr + ph->p_memsz
+                   ElfW(Addr) mapstart = ph->p_vaddr & ~(ph->p_align - 1);
+                   ElfW(Addr) mapend = ((ph->p_vaddr + ph->p_memsz
                                          + ph->p_align - 1)
                                         & ~(ph->p_align - 1));
                    munmap ((caddr_t) mapstart, mapend - mapstart);
index f874af7..7677f27 100644 (file)
@@ -27,8 +27,8 @@ void *
 dlsym (void *handle, const char *name)
 {
   struct link_map *map = handle;
-  Elf32_Addr loadbase;
-  const Elf32_Sym *ref = NULL;
+  ElfW(Addr) loadbase;
+  const ElfW(Sym) *ref = NULL;
   void doit (void)
     {
       struct link_map *scope[2] = { map, NULL };
index 38236ba..b69cb3f 100644 (file)
@@ -25,7 +25,7 @@ Cambridge, MA 02139, USA.  */
 /* Read the dynamic section at DYN and fill in INFO with indices DT_*.  */
 
 static inline void
-elf_get_dynamic_info (Elf32_Dyn *dyn, Elf32_Dyn *info[DT_NUM + DT_PROCNUM])
+elf_get_dynamic_info (ElfW(Dyn) *dyn, ElfW(Dyn) *info[DT_NUM + DT_PROCNUM])
 {
   unsigned int i;
 
@@ -48,9 +48,9 @@ elf_get_dynamic_info (Elf32_Dyn *dyn, Elf32_Dyn *info[DT_NUM + DT_PROCNUM])
     }
 
   if (info[DT_RELA])
-    assert (info[DT_RELAENT]->d_un.d_val == sizeof (Elf32_Rela));
+    assert (info[DT_RELAENT]->d_un.d_val == sizeof (ElfW(Rela)));
   if (info[DT_REL])
-    assert (info[DT_RELENT]->d_un.d_val == sizeof (Elf32_Rel));
+    assert (info[DT_RELENT]->d_un.d_val == sizeof (ElfW(Rel)));
   if (info[DT_PLTREL])
     assert (info[DT_PLTREL]->d_un.d_val == DT_REL ||
            info[DT_PLTREL]->d_un.d_val == DT_RELA);
index 8821a14..b42c78a 100644 (file)
@@ -32,9 +32,9 @@ Cambridge, MA 02139, USA.  */
 void
 _init (void)
 {
-  const Elf32_Sym *ref = NULL;
+  const ElfW(Sym) *ref = NULL;
   struct link_map *scope[2] = { _dl_loaded, NULL };
-  Elf32_Addr loadbase = _dl_lookup_symbol ("atexit", &ref, scope,
+  ElfW(Addr) loadbase = _dl_lookup_symbol ("atexit", &ref, scope,
                                           "<ld-linux.so.1 initialization>",
                                           0, 1);
   (*(__typeof (atexit) *) (loadbase + ref->st_value)) (&_dl_fini);