This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Global array is at an offset from the top of the bss section, instead of being at the top
- From: Senthil Kumar Selvaraj <senthil_kumar dot selvaraj at atmel dot com>
- To: Nagaraju Mekala <gnuuser dot raj at gmail dot com>
- Cc: <binutils at sourceware dot org>
- Date: Fri, 20 Jun 2014 11:51:55 +0530
- Subject: Re: Global array is at an offset from the top of the bss section, instead of being at the top
- Authentication-results: sourceware.org; auth=none
- References: <CAKuVEhDa_iynMk1POSxTFw=BRcXnE-iyoaZNhgFDBEDpV3fBCg at mail dot gmail dot com>
On Fri, Jun 20, 2014 at 11:20:49AM +0530, Nagaraju Mekala wrote:
> Hi,
>
> I want to understand why few bytes are reserved in start of the bss section
>
> I have an array defined on top of the source code as follow:
>
> static int DestinationAddress[BUF_SIZE] ;
>
> My expectation is the linker will put it on top of the .bss section.
> However I notice there are always 28 bytes sitting in front of
> DestinationAddress[] no matter what I do.
>
> ffff0000 l .bss 00000000 completed.8489
> ffff0004 l .bss 00000000 object.8494
> ffff001c l O .bss 00007000 DestinationAddress
>
> I was hoping the linker puts DestinationAddress at 0xffff0000. It is
> not clear to me what these items (completed.8489, object.8494) are.
>
> Can anyone please throw some light on it.
Unless the linker itself put those two items, it must have come from
some object file (and eventually some source file).
If you link with -Wl,-Map=<some map filename>, the generated file will
tell you which object file the two items came from. You can then go back
to which source file from which the object file was generated.
Hope that helps.
Regards
Senthil