This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Executable size decrease for egcs-1.1 ?
- To: egcs at cygnus dot com
- Subject: Executable size decrease for egcs-1.1 ?
- From: Yusuf Goolamabbas <yusufg at krdl dot org dot sg>
- Date: Wed, 1 Apr 1998 20:01:37 +0800
Any kind soul would like to work on this. I tried to try my luck today
and created a new source file frame_info.c which just contained
register_frame_info and ifdef the function in frame.c. A naive
approach which might be completely bogus
Added frame_info.c to Makefile.in and reran configure
Compilation failed with an abort when genattr triied to create
tmp-attr.h from sparc.md. I have no idea if what I did was correct so
I think it best if someone with more knowledge of the code came up
with a solution
Cheers, Yusuf
Re: Executable size increase using egcs 1.0.1 on Solaris 2.6
Jim Wilson (wilson@cygnus.com)
Tue, 10 Mar 1998 16:44:01 -0800
This size increase is due to the EH support in the startup files, crtbegin.o
and crtend.o, which causes a bunch of EH related stuff from libgcc.a to be
linked in. The -fno-exceptions option has no affect on the startup files,
so this won't help.
We can reduce the size of this stuff by changing the structure of libgcc.a.
Currently, crtbegin will call register_frame_info, which is in frame.c, and
this causes us to drag in the entire frame.o object file and everything it
calls. If register_frame_info was in a separate module, then we would end
up with a lot less extra code.
Jim
--
Kent Ridge Digital Labs (Formerly Institute of Systems Science)
Heng Mui Keng Terrace, Singapore 119597, Republic of Singapore
Tel: +65 874-3116, Fax: +65 774-4990, Email: yusufg@krdl.org.sg