Query on linker scripts
Carlo Caione
carlo.caione at gmail.com
Sat Mar 24 11:26:38 EDT 2012
On 24/03/2012 05:43, Vaibhav Jain wrote:
> Hi,
[cut]
> is confusing. An example is the use of symbols sbss and ebss in the bss
> section as show in the script below
> ENTRY (loader)
> SECTIONS
> {
> . = 0x00100000;
> .text ALIGN (0x1000) :
> {
> *(.text)
> }
> .rodata ALIGN (0x1000) :
> {
> *(.rodata*)
> }
> .data ALIGN (0x1000) :
> {
> *(.data)
> }
> .bss :
> {
> sbss = .;
> *(COMMON)
> *(.bss)
> ebss = .;
> }
> }
I'm not sure if you are OT, anyway...
i.e. they are useful if you want to clear the bss section before execution.
[snippet for ARM proc]
...
ldr r2, =_sbss
b LoopFillZerobss
/* Zero fill the bss segment. */
FillZerobss:
movs r3, #0
str r3, [r2], #4
LoopFillZerobss:
ldr r3, = _ebss
cmp r2, r3
bcc FillZerobss
...
--
Carlo Caione
More information about the Kernelnewbies
mailing list