When an object file is compiled by arm-elf-gcc 4.1.0, nm -S 2.16.* always shows zero as the size of a static variable.
Thanks, Shaun $ cat foo.c int foo; static int static_foo; $ arm-elf-gcc -c foo.c $ arm-elf-readelf -s foo.o | grep foo 1: 00000000 0 FILE LOCAL DEFAULT ABS foo.c 6: 00000000 0 NOTYPE LOCAL DEFAULT 3 static_foo 8: 00000004 4 OBJECT GLOBAL DEFAULT COM foo $ gcc -c foo.c $ readelf -s foo.o | grep foo 1: 00000000 0 FILE LOCAL DEFAULT ABS foo.c 5: 00000000 4 OBJECT LOCAL DEFAULT 3 static_foo 8: 00000004 4 OBJECT GLOBAL DEFAULT COM foo $ arm-elf-gcc --version | head -1 arm-elf-gcc (GCC) 4.1.0 $ arm-elf-readelf --version | head -1 GNU readelf 2.16.91 20060309 $ gcc --version | head -1 gcc (GCC) 4.0.3 20060212 (prerelease) (Debian 4.0.2-9) $ readelf --version | head -1 GNU readelf 2.16.91-multiarch 20060118 Debian GNU/Linux -- Summary: Size of static variables always zero on arm-elf Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sjackman at gmail dot com GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: arm-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26702