Subversion Repositories HelenOS

Rev

Rev 3677 | Rev 3690 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3677 Rev 3681
Line 57... Line 57...
57
#include <as.h>
57
#include <as.h>
58
 
58
 
59
#include <elf.h>
59
#include <elf.h>
60
#include <elf_load.h>
60
#include <elf_load.h>
61
 
61
 
-
 
62
void program_run(void *entry, pcb_t *pcb);
-
 
63
 
62
/** Pathname of the file that will be loaded */
64
/** Pathname of the file that will be loaded */
63
static char *pathname = NULL;
65
static char *pathname = NULL;
64
 
66
 
65
/** The Program control block */
67
/** The Program control block */
66
static pcb_t pcb;
68
static pcb_t pcb;
Line 274... Line 276...
274
        printf("run dynamic linker\n");
276
        printf("run dynamic linker\n");
275
        printf("entry point: 0x%lx\n", interp_info.entry);
277
        printf("entry point: 0x%lx\n", interp_info.entry);
276
        close_console();
278
        close_console();
277
 
279
 
278
        ipc_answer_0(rid, EOK);
280
        ipc_answer_0(rid, EOK);
279
        elf_run(&interp_info, &pcb);
281
        program_run(interp_info.entry, &pcb);
280
 
282
 
281
    } else {
283
    } else {
282
        /* Statically linked program */
284
        /* Statically linked program */
283
        close_console();
285
        close_console();
284
        ipc_answer_0(rid, EOK);
286
        ipc_answer_0(rid, EOK);
285
        elf_run(&prog_info, &pcb);
287
        program_run(prog_info.entry, &pcb);
286
    }
288
    }
287
 
289
 
288
    /* Not reached */
290
    /* Not reached */
289
}
291
}
290
 
292