binfmt_elf_fdpic: support 64-bit systems
[linux-2.6-microblaze.git] / fs / binfmt_elf_fdpic.c
index 1c6c583..43b2a28 100644 (file)
@@ -138,7 +138,7 @@ static int is_constdisp(struct elfhdr *hdr)
 static int elf_fdpic_fetch_phdrs(struct elf_fdpic_params *params,
                                 struct file *file)
 {
-       struct elf32_phdr *phdr;
+       struct elf_phdr *phdr;
        unsigned long size;
        int retval, loop;
        loff_t pos = params->hdr.e_phoff;
@@ -560,8 +560,8 @@ static int create_elf_fdpic_tables(struct linux_binprm *bprm,
        sp &= ~7UL;
 
        /* stack the load map(s) */
-       len = sizeof(struct elf32_fdpic_loadmap);
-       len += sizeof(struct elf32_fdpic_loadseg) * exec_params->loadmap->nsegs;
+       len = sizeof(struct elf_fdpic_loadmap);
+       len += sizeof(struct elf_fdpic_loadseg) * exec_params->loadmap->nsegs;
        sp = (sp - len) & ~7UL;
        exec_params->map_addr = sp;
 
@@ -571,8 +571,8 @@ static int create_elf_fdpic_tables(struct linux_binprm *bprm,
        current->mm->context.exec_fdpic_loadmap = (unsigned long) sp;
 
        if (interp_params->loadmap) {
-               len = sizeof(struct elf32_fdpic_loadmap);
-               len += sizeof(struct elf32_fdpic_loadseg) *
+               len = sizeof(struct elf_fdpic_loadmap);
+               len += sizeof(struct elf_fdpic_loadseg) *
                        interp_params->loadmap->nsegs;
                sp = (sp - len) & ~7UL;
                interp_params->map_addr = sp;
@@ -740,13 +740,13 @@ static int elf_fdpic_map_file(struct elf_fdpic_params *params,
                              struct mm_struct *mm,
                              const char *what)
 {
-       struct elf32_fdpic_loadmap *loadmap;
+       struct elf_fdpic_loadmap *loadmap;
 #ifdef CONFIG_MMU
-       struct elf32_fdpic_loadseg *mseg;
+       struct elf_fdpic_loadseg *mseg;
        unsigned long load_addr;
 #endif
-       struct elf32_fdpic_loadseg *seg;
-       struct elf32_phdr *phdr;
+       struct elf_fdpic_loadseg *seg;
+       struct elf_phdr *phdr;
        unsigned nloads, tmp;
        unsigned long stop;
        int loop, ret;
@@ -766,7 +766,7 @@ static int elf_fdpic_map_file(struct elf_fdpic_params *params,
 
        params->loadmap = loadmap;
 
-       loadmap->version = ELF32_FDPIC_LOADMAP_VERSION;
+       loadmap->version = ELF_FDPIC_LOADMAP_VERSION;
        loadmap->nsegs = nloads;
 
        /* map the requested LOADs into the memory space */
@@ -839,8 +839,8 @@ static int elf_fdpic_map_file(struct elf_fdpic_params *params,
                        if (phdr->p_vaddr >= seg->p_vaddr &&
                            phdr->p_vaddr + phdr->p_memsz <=
                            seg->p_vaddr + seg->p_memsz) {
-                               Elf32_Dyn __user *dyn;
-                               Elf32_Sword d_tag;
+                               Elf_Dyn __user *dyn;
+                               Elf_Sword d_tag;
 
                                params->dynamic_addr =
                                        (phdr->p_vaddr - seg->p_vaddr) +
@@ -850,11 +850,11 @@ static int elf_fdpic_map_file(struct elf_fdpic_params *params,
                                 * one item, and that the last item is a NULL
                                 * entry */
                                if (phdr->p_memsz == 0 ||
-                                   phdr->p_memsz % sizeof(Elf32_Dyn) != 0)
+                                   phdr->p_memsz % sizeof(Elf_Dyn) != 0)
                                        goto dynamic_error;
 
-                               tmp = phdr->p_memsz / sizeof(Elf32_Dyn);
-                               dyn = (Elf32_Dyn __user *)params->dynamic_addr;
+                               tmp = phdr->p_memsz / sizeof(Elf_Dyn);
+                               dyn = (Elf_Dyn __user *)params->dynamic_addr;
                                if (get_user(d_tag, &dyn[tmp - 1].d_tag) ||
                                    d_tag != 0)
                                        goto dynamic_error;
@@ -923,8 +923,8 @@ static int elf_fdpic_map_file_constdisp_on_uclinux(
        struct file *file,
        struct mm_struct *mm)
 {
-       struct elf32_fdpic_loadseg *seg;
-       struct elf32_phdr *phdr;
+       struct elf_fdpic_loadseg *seg;
+       struct elf_phdr *phdr;
        unsigned long load_addr, base = ULONG_MAX, top = 0, maddr = 0;
        int loop, ret;
 
@@ -1007,8 +1007,8 @@ static int elf_fdpic_map_file_by_direct_mmap(struct elf_fdpic_params *params,
                                             struct file *file,
                                             struct mm_struct *mm)
 {
-       struct elf32_fdpic_loadseg *seg;
-       struct elf32_phdr *phdr;
+       struct elf_fdpic_loadseg *seg;
+       struct elf_phdr *phdr;
        unsigned long load_addr, delta_vaddr;
        int loop, dvset;