Fw: [Debian GNUstep maintainers] GNUstep on SPARC (yes Debian, but not only)

Riccardo Mottola zuse@libero.it
Sun, 17 Oct 2004 22:50:32 +0200


Hello

On Sunday, October 17, 2004, at 03:45 PM, G=FCrkan Seng=FCn wrote:

> make OBJCFLAGS=3D"-O0"  (only for objc files)
> make CFLAGS=3D"-O0"         (only for c files)
> make OPTFLAG=3D"-O0"      (c and objc files)
>
> we can also modify these flags in config.make, but it implies that all
> gnustep apps including gnustep-base will be compiled on sparc with =
-O0.
>
> Is this problem specific to gnustep-gui 0.9.4 ?
> Do you think it's better to use -O0 or -O1 ?

to the best of my knowledge (which is very limited) only gnustep-gui is=20=

affected, from one version on (to be precise since the version that=20
added supports for many file format without depending on wings). I am=20
not sure of the exact number.
It seems to be a gcc bug, although I was able to reproduce the problem=20=

on gcc 2.95 up to 3.4.2.

several months ago, when the problem appeared I was able to "workaround"=20=

this problem on all platforms through reducing the optimization level.=20=

Tests showed that -O1 was enough at the time with all compilers=20
(Platforms were OpenBSD and Solaris) I then threw in a disk installed=20
debian and tested there, I was able to both reproduce the problem and=20
work around it with the same trick.

Also I found that the affected files were only the NSBitmapImageRep=20
files.

After compiling gui, I set the optim level to -O2 again.

More recently, about a month ago, I made a bad discovery, I updated=20
gnustep on solaris and the workaround worked, I did the same on OpenBSD=20=

and it did not work anymore. This shows the problem is tricky and the=20
solution is not bullet proof...

Today and tomorrow I will try  Solaris and OpenBSD again. To see if=20
something is changed. If I still have my spare disk with debian on it,=20=

at your request, I could tri a build on it too to check if the=20
workaround still works there.

How this "trick" can be done?

compiling all -gui with -O1 or.. compile, touch the broken files, set=20
lower optimization, compile, rebump optimization level.

I am almost sure the optimization level can be given on the make file=20
line as option, I don't remember how though.

-Riccardo