On 28 Feb 1999 20:38:50 +0900, [EMAIL PROTECTED] wrote:
>Allan Rae <[EMAIL PROTECTED]> wrote:
>gcc 2.8 supports both flags and they (especially -fno-exceptions)
>dramatically reduce binary size.  While gcc 2.7 does not support the
>latter flag and -fno-rtti is the default.
>Since emx a.out binaries are considerably larger than elf binaries in
>general, I have been considering to use them for OS/2 binaries after
>the discussion about a week ago on XFree86/OS2 list on the flags.

How can you use elf on OS/2? Repacking/converting to omf?

Just to facilitate comparison I collected some statistics from
respective lists (and inserted ','):
==================BEGIN FORWARDED MESSAGE==================
>Subject: Re: [XFreeOS2] LyX/2  1.0.0
>Sender: [EMAIL PROTECTED]
>Precedence: bulk
>Reply-To: [EMAIL PROTECTED]
...
As for the size issue, I believe what Stefan Neis said is the
answer.  Here is a statistic (exact size depends on libraries used,
codepage, etc.):
                        unstripped      stripped
emx09c  (=gcc 2.7.1)     10,735,882       1,634,308
emx09d  (=gcc 2.8.1)     15,938,707       2,899,972
emx09d (-fno-exceptions) 13,246,507       1,519,620
In LyX 1.2, g++-2.8 (emx09d) or later will be the definite
requirement.  (You cannot link 1.1 with emx09c, since the
executable size far exceeds 70M unstripped due to template codes,
for example.)
....
===================END FORWARDED MESSAGE===================
==================BEGIN FORWARDED MESSAGE==================
>To: LyX Developers <[EMAIL PROTECTED]>
>Subject: Compiler Flags
.....
using egcs-1.1.1        UNSTRIPPED      STRIPPED
CXXFLAGS="-g3 -O"        9,399,529      1,886,719
CXXFLAGS="-O"            2,146,834      1,886,716
CXXFLAGS="-g3 -O -fno-rtti -fno-exceptions"
                         7,506,158      1,252,164
CXXFLAGS="-O -fno-rtti -fno-exceptions"
                         1,504,070      1,252,164
...
===================END FORWARDED MESSAGE===================
So I think there are problems when debugging is necessary. 
For me as a user the stripped and optimized binary is more of
importance. 

But hence one questions: I got excellent results in the past when using
-Zomf flag (conversion to OS/2 object module format) and rewriting
Makefiles to use .obj, .lib., emxomfar, emxomfld etc.: up to 30 %
smaller binaries and emx docs say, this is recommended because of
stability. Performance may improve a bit, too. I understand that here
debugging is not possible (at least not with gdb). But for the
installation binary in 1.0.1 I would offer to rewrite Makefiles for
-Zomf if there are no objections.

Regards,

Arnd

Reply via email to