Changes in kernel/generic/src/proc/program.c [9d58539:db675dd] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/proc/program.c
r9d58539 rdb675dd 80 80 kernel_uarg->uspace_uarg = NULL; 81 81 82 prg->loader_status = EE_OK; 82 83 prg->task = task_create(as, name); 83 84 if (!prg->task) … … 111 112 * executable image. The task is returned in *task. 112 113 * 113 * @param image_addr Address of an executable program image. 114 * @param name Name to set for the program's task. 115 * @param prg Buffer for storing program info. If image_addr 116 * points to a loader image, p->task will be set to 117 * NULL and EOK will be returned. 114 * @param[in] image_addr Address of an executable program image. 115 * @param[in] name Name to set for the program's task. 116 * @param[out] prg Buffer for storing program info. 117 * If image_addr points to a loader image, 118 * prg->task will be set to NULL and EOK 119 * will be returned. 118 120 * 119 121 * @return EOK on success or negative error code. … … 126 128 return ENOMEM; 127 129 128 unsigned int rc= elf_load((elf_header_t *) image_addr, as, 0);129 if ( rc!= EE_OK) {130 prg->loader_status = elf_load((elf_header_t *) image_addr, as, 0); 131 if (prg->loader_status != EE_OK) { 130 132 as_destroy(as); 131 133 prg->task = NULL; 132 134 prg->main_thread = NULL; 133 135 134 if ( rc!= EE_LOADER)136 if (prg->loader_status != EE_LOADER) 135 137 return ENOTSUP; 136 138 … … 140 142 141 143 program_loader = image_addr; 142 LOG("Registered program loader at %p", 143 (void *) image_addr); 144 printf("Program loader at %p\n", (void *) image_addr); 144 145 145 146 return EOK; … … 171 172 } 172 173 173 unsigned int rc= elf_load((elf_header_t *) program_loader, as,174 prg->loader_status = elf_load((elf_header_t *) program_loader, as, 174 175 ELD_F_LOADER); 175 if ( rc!= EE_OK) {176 if (prg->loader_status != EE_OK) { 176 177 as_destroy(as); 177 printf("Cannot spawn loader (%s)\n", elf_error(rc)); 178 printf("Cannot spawn loader (%s)\n", 179 elf_error(prg->loader_status)); 178 180 return ENOENT; 179 181 }
Note:
See TracChangeset
for help on using the changeset viewer.