This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Large code size?
- To: slouken at devolution dot com (Sam Lantinga)
- Subject: Re: Large code size?
- From: hjl at lucon dot org (H.J. Lu)
- Date: Wed, 24 Mar 1999 17:07:27 -0800 (PST)
- Cc: egcs at egcs dot cygnus dot com
>
> > > > > The egcs version (compiled with egcs 1.1.1, -O2 -funroll-loops):
> > > > > -rwxrwxr-x 1 hercules devel 1534443 Mar 25 1999 robotcom.so
> > > > >
> > > > > The VC++ version (compiled with VC++ 5.0, /G5 /Ox /Ot /Og /Oi /Op /Ob2)
> > > > > -r-xr-xr-x 1 hercules devel 654336 Mar 14 10:26 robotcom.dll
> > > > >
> > > > > Any ideas why this might be?
> > >
> > > > Did you try to apply 'strip.exe' to the resulting binary?
>
> > What does
>
> > # size robotcom.so
> > # file robotcom.so
>
> > say? BTW, how did you make robotcom.so?
>
>
> We built robotcom.so with the compiler flags:
> g++ -O2 -funroll-loops -fno-exceptions -DLINUX_BETA -D_REENTRANT
> and the linker flags:
> cc -shared -nostartfiles -s -o robotcom.so ...
>
If that is exactly what you use on Linux, they are wrong. You should
use
# g++ -O2 -fPIC -funroll-loops -fno-exceptions -DLINUX_BETA -D_REENTRANT
# g++ -shared -s -o robotcom.so ...
BTW, you should read
ftp://sunsite.unc.edu/pub/Linux/GCC/elf.ps.gz
if you want to program under Linux. It is kind of dated. But it is
still quite useful.
--
H.J. Lu (hjl@gnu.org)