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