This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Executable size decrease for egcs-1.1 ?


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]