URL
https://opencores.org/ocsvn/or1k_old/or1k_old/trunk
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;
|
}
|
}
|
}
|
}
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.