[coldfire-gnu-discuss] GNU Linker

David Brown david at westcontrol.com
Wed Jan 17 14:17:31 UTC 2007


The map file will give you a break-down by section and object file, so 
you can at least see which object file is using the space.  If you need 
more detail, you can always try the "-fdata-sections" option on the 
compiler, which will put each data item in its own section.  I haven't 
used it myself, but give it a shot.

http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Optimize-Options.html#index-fdata_002dsections-577

mvh.,

David


Mats Blide wrote:
> Thank's for your answer. I tried your suggestions, but they seam 
> reluctant to give me the sizes of individual variables. What I'am 
> looking for is something like this:
> 
> .data       0x20000000       0x100    project/MyObjectFile.o
>              0x20000000       0x050    MyBuffer
>              0x20000050       0x002    MyVar
>              0x20000052       0x048    MySomeOtherBuffer
> 
> Now only have things like this:
> 
> .bss           0x20003264      0x907 lwip/src/core/pbuf.o
> 
> 
> 
> Telling me that pbuf.o consumes 0x907 bytes RAM in segment bss. And 
> that's fair enough. But I would like to se what is using that RAM.
> 
> /Mats
> 
> 
> 
> 
>> From: David Brown <david at westcontrol.com>
>> To: Mats Blide <matsblide at hotmail.com>, 
>> coldfire-gnu-discuss at codesourcery.com
>> Subject: Re: [coldfire-gnu-discuss] GNU Linker
>> Date: Wed, 17 Jan 2007 11:38:06 +0100
>>
>> Mats Blide wrote:
>>>
>>> Hi,
>>>
>>> I don't know if this is the right forum, but I have notised that it 
>>> is fairly active and gives quick response. So I give it a try. I'am 
>>> still a GNU newbie.
>>>
>>> I'am in the process off sliming a FreeRTOS/lwIP configuration to fitt 
>>> into my limited 32K RAM. I'am used to linkers that can produce a map 
>>> file where I can se the size of every individual object, but I'am not 
>>> able to figure out how to do this with GCC. As it is now it only 
>>> shows the RAM size used by each objectfile as a whole.
>>>
>>> Any help appresiated highly apreceated!
>>>
>>> Rgds /Mats
>>>
>>
>> You want something like:
>>     -Wl,-Map=program.map
>>
>> and possibly
>>     -Wl,--cref
>>
>>
>> in the command line for gcc when doing the linking.
>>
>> Running m68k-elf-size on the elf file will also give you the sizes of 
>> the sections, and objdump can give more details.
>>
>>
> 
> _________________________________________________________________
> Världen bevakas på MSN http://nyheter.msn.se/
> 
> 




More information about the coldfire-gnu-discuss mailing list