[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Reducing appication size for non-lx platforms



Sorry if this is a repeat... didn't see it in the archive.

I have a fairly small application that I'm building for a non-lx
platform.  However, the resulting binary is considerably larger than the
lx version.  If I strip the application, it doesn't run.  When I objdump
the file I get the following:

======================
architecture: cris, flags 0x000000bf:
HAS_RELOC, EXEC_P, HAS_LINENO, HAS_DEBUG, HAS_SYMS, HAS_LOCALS, WP_TEXT
start address 0x00003233

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         0000b760  00000000  00000000  00000020  2**1
                  CONTENTS, ALLOC, LOAD, RELOC, CODE
  1 .data         000003c0  0000b760  0000b760  0000b780  2**1
                  CONTENTS, ALLOC, LOAD, RELOC, DATA
  2 .bss          0000294c  0000bb20  0000bb20  00000000  2**1
                  ALLOC
SYMBOL TABLE:
00000000 l       .text 0000 00 04
/home/david/axis/devboard/target/elinux/lib/uccrt0.o
...

RELOCATION RECORDS FOR [.text]:
OFFSET   TYPE              VALUE
00000002 32                .text+0x0000000c
...

RELOCATION RECORDS FOR [.data]:
OFFSET   TYPE              VALUE
...
==============

The flags seem to indicate debug information, but the application is
built without debug (and no debug info seems present).  In addition,
deleting the symbol table seems to remove the relocation information as
well.  Is there any way to shrink this application, or is this pretty
much as small as it gets?

Thanks!

-Dave