Some fixes because of the elf32.h header cleaning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5045 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -56,7 +56,8 @@ elf_lookup_symbol_address(addr address, addr *baseAddress, char *text, size_t le
|
|||||||
struct elf_image_info *found_image;
|
struct elf_image_info *found_image;
|
||||||
struct Elf32_Sym *found_sym;
|
struct Elf32_Sym *found_sym;
|
||||||
long found_delta;
|
long found_delta;
|
||||||
int i,j,rv;
|
uint32 i;
|
||||||
|
int j,rv;
|
||||||
|
|
||||||
PRINT(("looking up %p\n",(void *)address));
|
PRINT(("looking up %p\n",(void *)address));
|
||||||
|
|
||||||
@@ -579,7 +580,7 @@ elf_load_uspace(const char *path, struct team *p, int flags, addr *entry)
|
|||||||
sprintf(regionName, "%s_seg%d", baseName, i);
|
sprintf(regionName, "%s_seg%d", baseName, i);
|
||||||
|
|
||||||
regionAddress = (char *)ROUNDOWN(pheaders[i].p_vaddr, PAGE_SIZE);
|
regionAddress = (char *)ROUNDOWN(pheaders[i].p_vaddr, PAGE_SIZE);
|
||||||
if (pheaders[i].p_flags & PF_W) {
|
if (pheaders[i].p_flags & PF_WRITE) {
|
||||||
/*
|
/*
|
||||||
* rw segment
|
* rw segment
|
||||||
*/
|
*/
|
||||||
@@ -767,7 +768,7 @@ elf_load_kspace(const char *path, const char *sym_prepend)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// we're here, so it must be a PT_LOAD segment
|
// we're here, so it must be a PT_LOAD segment
|
||||||
if ((pheaders[i].p_flags & (PF_R | PF_W | PF_X)) == (PF_R | PF_W)) {
|
if ((pheaders[i].p_flags & (PF_PROTECTION_MASK)) == (PF_READ | PF_WRITE)) {
|
||||||
// this is the writable segment
|
// this is the writable segment
|
||||||
if (rw_segment_handled) {
|
if (rw_segment_handled) {
|
||||||
// we've already created this segment
|
// we've already created this segment
|
||||||
@@ -777,7 +778,7 @@ elf_load_kspace(const char *path, const char *sym_prepend)
|
|||||||
image_region = 1;
|
image_region = 1;
|
||||||
protection = B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA;
|
protection = B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA;
|
||||||
sprintf(region_name, "%s_rw", path);
|
sprintf(region_name, "%s_rw", path);
|
||||||
} else if ((pheaders[i].p_flags & (PF_R | PF_W | PF_X)) == (PF_R | PF_X)) {
|
} else if ((pheaders[i].p_flags & (PF_PROTECTION_MASK)) == (PF_READ | PF_EXECUTE)) {
|
||||||
// this is the non-writable segment
|
// this is the non-writable segment
|
||||||
if (ro_segment_handled) {
|
if (ro_segment_handled) {
|
||||||
// we've already created this segment
|
// we've already created this segment
|
||||||
@@ -976,7 +977,7 @@ elf_init(kernel_args *ka)
|
|||||||
panic("elf_init: could not look up kernel text segment region\n");
|
panic("elf_init: could not look up kernel text segment region\n");
|
||||||
|
|
||||||
get_area_info(kernel_image->regions[0].id, &areaInfo);
|
get_area_info(kernel_image->regions[0].id, &areaInfo);
|
||||||
kernel_image->regions[0].start = areaInfo.address;
|
kernel_image->regions[0].start = (addr)areaInfo.address;
|
||||||
kernel_image->regions[0].size = areaInfo.size;
|
kernel_image->regions[0].size = areaInfo.size;
|
||||||
|
|
||||||
// data segment
|
// data segment
|
||||||
@@ -985,7 +986,7 @@ elf_init(kernel_args *ka)
|
|||||||
panic("elf_init: could not look up kernel data segment region\n");
|
panic("elf_init: could not look up kernel data segment region\n");
|
||||||
|
|
||||||
get_area_info(kernel_image->regions[1].id, &areaInfo);
|
get_area_info(kernel_image->regions[1].id, &areaInfo);
|
||||||
kernel_image->regions[1].start = areaInfo.address;
|
kernel_image->regions[1].start = (addr)areaInfo.address;
|
||||||
kernel_image->regions[1].size = areaInfo.size;
|
kernel_image->regions[1].size = areaInfo.size;
|
||||||
|
|
||||||
// we know where the dynamic section is
|
// we know where the dynamic section is
|
||||||
|
|||||||
Reference in New Issue
Block a user