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.
This commit is contained in:
parent
3459efd284
commit
a2d9846554
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user