investigating RAM usage with nm / diff. between "nm" and "size" ?

Ian Lance Taylor ian@wasabisystems.com
Tue Feb 10 15:44:00 GMT 2004


<heinricg@esiee.fr> writes:

> I'm trying to use the nm command in order to understand how a program
> makes use of RAM and how to reduce RAM requirements. My program is
> supposed to be embedded, so RAM is very limited.
> 
> Using, the nm command to list symbols in the program, the last symbol
> in the .bss section occurs at address 0xd0fe8. This also matches the
> last address in the section reported by the linker map.
> 
> The .bss section starts at 0xd0000, so that should mean my program
> uses 4072 bytes of RAM (?).
> 
> However, my concern is that when I use the size command, it reports
> only 3336 bytes in the .bss section.
> 
> Do you know why these differ?

What tells you that the .bss section starts at 0xd0000?  That is not a
typical address for the .bss section; the .bss section typically
starts just after the end of the .data section, and thus is typically
not on a page boundary.

It would also help if you indicated which target you are using, and
whether you are using a custom linker script.

Ian



More information about the Binutils mailing list