Rev 3686 | Rev 4338 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3686 | Rev 3690 | ||
---|---|---|---|
Line 298... | Line 298... | ||
298 | case PT_INTERP: |
298 | case PT_INTERP: |
299 | /* Assume silently interp == "/app/dload" */ |
299 | /* Assume silently interp == "/app/dload" */ |
300 | elf->info->interp = "/app/dload"; |
300 | elf->info->interp = "/app/dload"; |
301 | break; |
301 | break; |
302 | case PT_DYNAMIC: |
302 | case PT_DYNAMIC: |
- | 303 | /* Record pointer to dynamic section into info structure */ |
|
- | 304 | elf->info->dynamic = |
|
- | 305 | (void *)((uint8_t *)entry->p_vaddr + elf->bias); |
|
- | 306 | printf("dynamic section found at 0x%x\n", |
|
- | 307 | (uintptr_t)elf->info->dynamic); |
|
- | 308 | break; |
|
303 | case PT_SHLIB: |
309 | case PT_SHLIB: |
304 | case PT_NOTE: |
310 | case PT_NOTE: |
305 | case PT_LOPROC: |
311 | case PT_LOPROC: |
306 | case PT_HIPROC: |
312 | case PT_HIPROC: |
307 | default: |
313 | default: |
Line 455... | Line 461... | ||
455 | if (entry->sh_flags & SHF_TLS) { |
461 | if (entry->sh_flags & SHF_TLS) { |
456 | /* .tbss */ |
462 | /* .tbss */ |
457 | } |
463 | } |
458 | break; |
464 | break; |
459 | case SHT_DYNAMIC: |
465 | case SHT_DYNAMIC: |
460 | /* Record pointer to dynamic section into info structure */ |
- | |
461 | elf->info->dynamic = |
- | |
462 | (void *)((uint8_t *)entry->sh_addr + elf->bias); |
- | |
463 | printf("dynamic section found at 0x%x\n", |
- | |
464 | (uintptr_t)elf->info->dynamic); |
- | |
465 | break; |
466 | break; |
466 | default: |
467 | default: |
467 | break; |
468 | break; |
468 | } |
469 | } |
469 | 470 |