This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Global array is at an offset from the top of the bss section, instead of being at the top


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]