diff options
| author | Attilio Rao <attilio@FreeBSD.org> | 2009-02-10 15:50:19 +0000 |
|---|---|---|
| committer | Attilio Rao <attilio@FreeBSD.org> | 2009-02-10 15:50:19 +0000 |
| commit | a1d7ce03ea70fb29b37f07706534ac41f722d0f1 (patch) | |
| tree | cbc7f972e68875419580625b01212e8ca9a248e6 | |
| parent | fc94457307a2df92744f9f5b0970381cc711cdc0 (diff) | |
Notes
| -rw-r--r-- | sys/kern/kern_linker.c | 8 | ||||
| -rw-r--r-- | sys/kern/link_elf.c | 6 | ||||
| -rw-r--r-- | sys/kern/link_elf_obj.c | 3 |
3 files changed, 11 insertions, 6 deletions
diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index 7805b0163fd5..93507134da69 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -425,6 +425,14 @@ linker_load_file(const char *filename, linker_file_t *result) * the module was not found. */ if (foundfile) { + + /* + * If the file type has not been recognized by the last try + * printout a message before to fail. + */ + if (error == ENOSYS) + printf("linker_load_file: Unsupported file type\n"); + /* * Format not recognized or otherwise unloadable. * When loading a module that is statically built into diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c index 52b3f8f0ba68..c17dd1561357 100644 --- a/sys/kern/link_elf.c +++ b/sys/kern/link_elf.c @@ -638,8 +638,7 @@ link_elf_load_file(linker_class_t cls, const char* filename, goto out; } if (hdr->e_type != ET_EXEC && hdr->e_type != ET_DYN) { - link_elf_error(filename, "Unsupported file type"); - error = ENOEXEC; + error = ENOSYS; goto out; } if (hdr->e_machine != ELF_TARG_MACH) { @@ -694,8 +693,7 @@ link_elf_load_file(linker_class_t cls, const char* filename, break; case PT_INTERP: - link_elf_error(filename, "Unsupported file type"); - error = ENOEXEC; + error = ENOSYS; goto out; } diff --git a/sys/kern/link_elf_obj.c b/sys/kern/link_elf_obj.c index 29165fe0fe9f..773474553246 100644 --- a/sys/kern/link_elf_obj.c +++ b/sys/kern/link_elf_obj.c @@ -474,8 +474,7 @@ link_elf_load_file(linker_class_t cls, const char *filename, goto out; } if (hdr->e_type != ET_REL) { - link_elf_error(filename, "Unsupported file type"); - error = ENOEXEC; + error = ENOSYS; goto out; } if (hdr->e_machine != ELF_TARG_MACH) { |
