OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [uclinux/] [uClinux-2.0.x/] [fs/] [binfmt_elf.c] - Diff between revs 852 and 1166

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 852 Rev 1166
Line 591... Line 591...
 
 
                        /* Now do relocations for the n-th section. n is read from
                        /* Now do relocations for the n-th section. n is read from
                           real setiona hader info field. */
                           real setiona hader info field. */
 
 
                        rel_nb = sec[rel_indx].len / sizeof(struct elf32_rel);
                        rel_nb = sec[rel_indx].len / sizeof(struct elf32_rel);
 
                        /* Check if section to relocate was allocated first */
 
                        if ((elf_shdata + elf_spnt->sh_info)->sh_flags & SHF_ALLOC) {
                        retval = do_relocate(elf_spnt->sh_info, rel_nb, rel_ptr, sym_ptr,  sec);
                        retval = do_relocate(elf_spnt->sh_info, rel_nb, rel_ptr, sym_ptr,  sec);
 
 
                        if (retval < 0) {
                        if (retval < 0) {
                                for(j = 0; j < elf_ex.e_shnum; j++)
                                for(j = 0; j < elf_ex.e_shnum; j++)
                                        if(sec[j].len)
                                        if(sec[j].len)
Line 602... Line 604...
                                do_munmap(code_start, code_len + code_len + bss_len + stack_len);
                                do_munmap(code_start, code_len + code_len + bss_len + stack_len);
                                kfree(elf_shdata);
                                kfree(elf_shdata);
                                return retval;
                                return retval;
                        }
                        }
 
 
 
                        }
 
 
                        /* Now unmap rel section */
                        /* Now unmap rel section */
                        do_munmap(sec[rel_indx].pm_add, sec[rel_indx].len);
                        do_munmap(sec[rel_indx].pm_add, sec[rel_indx].len);
                        sec[rel_indx].len = 0;
                        sec[rel_indx].len = 0;
                }
                }
        }
        }

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.