Minor cleanup.

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10264 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2004-11-27 12:34:11 +00:00
parent db4008e263
commit 53c082117f
+12 -9
View File
@@ -10,30 +10,32 @@ relocate_rel(image_t *image, struct Elf32_Rel *rel, int rel_len)
{ {
int i; int i;
struct Elf32_Sym *sym; struct Elf32_Sym *sym;
int vlErr;
addr_t S; addr_t S;
addr_t final_val; addr_t final_val;
# define P ((addr_t *)(image->regions[0].delta + rel[i].r_offset)) # define P ((addr_t *)(image->regions[0].delta + rel[i].r_offset))
# define A (*(P)) # define A (*(P))
# define B (image->regions[0].delta) # define B (image->regions[0].delta)
for (i = 0; i * (int)sizeof(struct Elf32_Rel) < rel_len; i++) { for (i = 0; i * (int)sizeof(struct Elf32_Rel) < rel_len; i++) {
unsigned type = ELF32_R_TYPE(rel[i].r_info); unsigned type = ELF32_R_TYPE(rel[i].r_info);
switch (ELF32_R_TYPE(rel[i].r_info)) { switch (type) {
case R_386_32: case R_386_32:
case R_386_PC32: case R_386_PC32:
case R_386_GLOB_DAT: case R_386_GLOB_DAT:
case R_386_JMP_SLOT: case R_386_JMP_SLOT:
case R_386_GOTOFF: case R_386_GOTOFF:
{
status_t status;
sym = SYMBOL(image, ELF32_R_SYM(rel[i].r_info)); sym = SYMBOL(image, ELF32_R_SYM(rel[i].r_info));
vlErr = resolve_symbol(image, sym, &S); status = resolve_symbol(image, sym, &S);
if(vlErr<0) { if (status < B_OK) {
return vlErr; printf("resolve symbol returned: %ld\n", status);
return status;
} }
}
} }
switch (type) { switch (type) {
case R_386_NONE: case R_386_NONE:
@@ -91,6 +93,7 @@ relocate_rel(image_t *image, struct Elf32_Rel *rel, int rel_len)
/* /*
* rldelf.c requires this function to be implemented on a per-cpu basis * rldelf.c requires this function to be implemented on a per-cpu basis
*/ */
static bool static bool
relocate_image(image_t *image) relocate_image(image_t *image)
{ {