Imager and Apple's GCC 4.0

tonyc on 2005-05-17T04:44:17

At this point I'm ready to put out a test release of Imager 0.45, but... 0.44 is failing tests under OS X 10.4.

For a short time I had access to a 10.4 machine, and found that the pre-release of GCC 4.0 that Apple shipped with Tiger was generating incorrect code. When I build the released GCC 4.0 under OS X 10.3.9, and use that to build Imager, all tests pass.

To see the code in question, build Imager and run:

otool -vt fills.o | less +/^_fill_hatch # on OS X

At this point I'm wondering how to handle this. :

  • ship and be damned, take test failures from 10.4 testers, take test failures from people trying to install it, and live with it
  • attempt to workaround the two sections of code that I know have incorrect code generated, and hope no other code has the same problem.
  • probe the compiler GCC version and don't allow building by default if it's the GCC that shipped with OS X 10.4 (the perl -V output indicates GCC 3.3, but 10.4 builds with a GCC 4.0 pre-release by default.)

At the moment I'm inclined to go with the first option, but all the solutions have their problems.