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

Reply via email to