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