relocatable modules' symbols

Mulyadi Santosa mulyadi.santosa at gmail.com
Mon Feb 25 10:30:25 EST 2013


Hi...

On Sun, Feb 24, 2013 at 8:56 AM, horseriver <horserivers at gmail.com> wrote:
>   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 ?


maybe because some symbols are object of relocation, so their address
don't need to be incremented with 0xc000 0000.

Different situation with startup_32. AFAIK it's doing many thing
during early protected mode initialization, so its address must be set
to certain number.

-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com



More information about the Kernelnewbies mailing list