Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Oct 1997 12:28:55 +0930
From:      Mike Smith <mike@smith.net.au>
To:        John-Mark Gurney <gurney_j@resnet.uoregon.edu>
Cc:        Mike Smith <mike@smith.net.au>, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: Doug Rabson's kernel linker code.. 
Message-ID:  <199710240258.MAA00673@word.smith.net.au>
In-Reply-To: Your message of "Thu, 23 Oct 1997 17:01:30 MST." <19971023170130.55831@hydrogen.nike.efn.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
> > It should be possible at that stage to reference the various symbols 
> > set when the kernel is loaded and started; looking at create_pagetables 
> > in i386/i386/locore.S I see that KERNend is set to the end of the 
> > kernel plus any symbol table.
> 
> hmm.. any machine independant way to get this information?

Not really, no.  It's reasonably dependant on the load format and 
technique used by a particular architecture.

> yeh.. well..  as I stated about.. the file that needs this is
> kern/link_aout.c... and I don't really want to reference machine specific
> symbols...  unless we require all machines to contain these symbols..

This is no better or worse than using a compile-time manifest constant.

> the other option is to do something were we move the running of SYSINIT
> into kern_linker.c... and then at boot time we simply "link" in the
> kernel as we do with kld modules...  this would require extensions to
> kern_linker.c to support linking of a memory address.. but this wouldn't
> be hard to do...

If I read you correctly here, this is basically the first step in 
making the kernel boot-time linkable.  I think that everyone that's 
ever been interested in this issue is standing on their chairs yelling 
"GO!" at you about now...

mike





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710240258.MAA00673>