From a2d9846554d3e9751deea4ac1dc23bc058abe6d7 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 3 Sep 2001 04:37:55 +0000 Subject: Argh. Make the ia64 kernel work in all situations. For some reason, and I still dont know why, this was not failing on the non-kse kernel. It certainly should have since things were using linker_kernel_file unconditionally. This has highlighted a different problem though that means that trying to do a kldload on a non-dynamic kernel will implode. --- sys/kern/link_elf_obj.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'sys/kern/link_elf_obj.c') diff --git a/sys/kern/link_elf_obj.c b/sys/kern/link_elf_obj.c index 0f6a87a..d075281 100644 --- a/sys/kern/link_elf_obj.c +++ b/sys/kern/link_elf_obj.c @@ -161,9 +161,7 @@ r_debug_state(struct r_debug *dummy_one __unused, /* * The kernel symbol table starts here. */ -#ifndef __ia64__ extern struct _dynamic _DYNAMIC; -#endif static void link_elf_init(void* arg) @@ -186,7 +184,7 @@ link_elf_init(void* arg) #else dp = 0; #endif - if (dp) { + if (1) { modname = NULL; modptr = preload_search_by_type("elf kernel"); if (modptr) @@ -205,7 +203,8 @@ link_elf_init(void* arg) #endif ef->dynamic = dp; - parse_dynamic(ef); + if (dp) + parse_dynamic(ef); linker_kernel_file->address = (caddr_t) KERNBASE; linker_kernel_file->size = -(intptr_t)linker_kernel_file->address; -- cgit v1.1