Changeset 57d44dd in mainline for uspace/lib/c/generic/elf/elf_mod.c


Ignore:
Timestamp:
2018-04-10T18:51:14Z (6 years ago)
Author:
Jiří Zárevúcky <jiri.zarevucky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
20287223
Parents:
e3f819f
Message:

Instead of using .interp section, determine loader by name.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/elf/elf_mod.c

    re3f819f r57d44dd  
    268268                break;
    269269        case PT_INTERP:
    270                 /* Assume silently interp == "/app/dload" */
    271                 elf->info->interp = "/app/dload";
     270                elf->info->interp =
     271                    (void *)((uint8_t *)entry->p_vaddr + elf->bias);
     272
     273                // FIXME: This actually won't work, because the text segment is
     274                // not loaded yet.
     275                #if 0
     276                if (elf->info->interp[entry->p_filesz - 1] != '\0') {
     277                        DPRINTF("Unterminated ELF interp string.\n");
     278                        return EE_INVALID;
     279                }
     280                DPRINTF("interpreter: \"%s\"\n", elf->info->interp);
     281                #endif
    272282                break;
    273283        case PT_DYNAMIC:
Note: See TracChangeset for help on using the changeset viewer.