relocatable modules' symbols
horseriver
horserivers at gmail.com
Sat Feb 23 20:56:08 EST 2013
On Sun, Feb 24, 2013 at 04:00:37PM +0700, Mulyadi Santosa wrote:
> On Sat, Feb 23, 2013 at 6:45 AM, horseriver <horserivers at gmail.com> wrote:
> > hi:
> >
> > I have built vmlinux at the top dir of kernel source ,then I use objdump to look into
> > its section information.I find the statup_32 which is the start routine of kernel ,
> > locats at 0xc0100000. I know the 0x100000 is the defined address for locating
> > protect-mode code .But which I can not understand is the 0xc prefix .where does it come from?
>
> If my guess is right, that's because kernel mode code start at
> 0xc000000 a.k.a a bit above 3 GiB on x86 32 bit machine
I have find this answer .
It is defined in lds script file .
here is the code :
SECTIONS
{
. = 0xC0000000 + 0x100000;
/* read-only */
_text = .; /* Text and read-only data */
why use 0xC0000000 as its start ? why not just use 0x100000 only ?
if use 0xC0000000,every linked symbole will be prefixed by 0xc , what is the purpose ?
thanks!
--
> regards,
>
> Mulyadi Santosa
> Freelance Linux trainer and consultant
>
> blog: the-hydra.blogspot.com
> training: mulyaditraining.blogspot.com
More information about the Kernelnewbies
mailing list