[gccsdk] Something broken in trunk GCCSDK?

Martin Wuerthner martin at mw-software.com
Thu Sep 9 15:11:09 PDT 2010

Last week-end I tried building an ARMv7-compatible Ghostscript 
executable. To do so, I checked out the trunk GCCSDK, built a 
cross-compiler (on openSuSE 11.2), which went smoothly and compiled 
the vanilla Ghostscript 8.54 sources.

At first glance the resulting executable works (e.g., it renders PDF 
files and converts PS to PDF fine), but it shows one striking oddity: 
When you run it using
  gs -h
then it displays:
Ghostscript 8.54<without a line feed, so the cursor remains here>

That behaviour is wrong. It is supposed to display the version date 
after the number and many additional lines of help information.

So, something has gone wrong in the porting process. The interesting 
thing is that I then checked out an older revision of GCCSDK (I chose 
rev4379), built the cross-compiler and recompiled the very same 
Ghostscript sources. This resulted in a fully working executable that 
displays the help information as it should.

So, I conclude that something must have become broken in trunk between 
rev4379 and HEAD that causes this change of behaviour of the compiled 
executable. There were several significant changes since then, not 
least a switch from GCC 4.1.1 to 4.1.2, so the question is how we find 
out what causes this problem. I can try and do some revision chopping 
but this is a slow process because checking out the source tree and 
building the cross compiler takes quite a while. So, I am wondering 
whether anyone has an idea which change could have caused such an 
effect. Has there been a change in output stream handling in Unixlib?

BTW: I chose rev4379 because it corresponds to the RISC OS release GCC 
4.1.1 rel 2. I based this choice on the assumption that the state of 
the GCC for RISC OS release should be a stable state of the GCCSDK 

Martin Wuerthner          MW Software          martin at mw-software.com

More information about the gcc mailing list