249,7 → 249,7 |
* |
* @return Task of the running program or NULL on error. |
*/ |
task_t *task_create_from_as(as_t *as, uintptr_t entry_addr, char *name |
task_t *task_create_from_as(as_t *as, uintptr_t entry_addr, char *name, |
thread_t **thr) |
{ |
as_area_t *a; |
310,7 → 310,7 |
rc = elf_load((elf_header_t *) program_addr, as, 0); |
if (rc != EE_OK) { |
as_destroy(as); |
*task = NULL; |
*t = NULL; |
if (rc != EE_LOADER) |
return ENOTSUP; |
|
338,6 → 338,7 |
as_t *as; |
unsigned int rc; |
void *loader; |
thread_t *thr; |
|
as = as_create(0); |
ASSERT(as); |
352,7 → 353,7 |
} |
|
*t = task_create_from_as( |
as, ((elf_header_t *) program_loader)->e_entry, name); |
as, ((elf_header_t *) program_loader)->e_entry, name, &thr); |
|
return EOK; |
} |
467,7 → 468,7 |
return ENOMEM; |
} |
|
unsigned int erc = elf_load((elf_header_t *) kimage, as); |
unsigned int erc = elf_load((elf_header_t *) kimage, as, ELD_F_NONE); |
if (erc != EE_OK) { |
as_destroy(as); |
free(kernel_uarg); |