In config/mips/linux.h, the macro ASM_DECLARE_FUNCTION_SIZE() doesn't actually
emit the .size directive. Testcase follows.
% cat tst.c
int
func1(void)
{
return(1);
}
% mips-linux-gcc -c tst.c
% mips-linux-readelf -s tst.o
Symbol table '.symtab' contains 11 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 FILE LOCAL DEFAULT ABS tst.c
2: 00000000 0 SECTION LOCAL DEFAULT 1
3: 00000000 0 SECTION LOCAL DEFAULT 3
4: 00000000 0 SECTION LOCAL DEFAULT 4
5: 00000000 0 SECTION LOCAL DEFAULT 8
6: 00000000 0 SECTION LOCAL DEFAULT 5
7: 00000000 0 SECTION LOCAL DEFAULT 6
8: 00000000 0 SECTION LOCAL DEFAULT 9
9: 00000000 0 FUNC GLOBAL DEFAULT 1 func1
10: 00000000 0 OBJECT GLOBAL DEFAULT UND _gp_disp
Will attach a patch after bug is opened.
--
Summary: .size directive not emitted for mips-linux
Product: gcc
Version: 3.3.4
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: angela at releasedominatrix dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: mips-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19370