Interesting. Does this extend beyond llvm-gcc to clang or non -O1 flags? Does it happen with DragonEgg ( http://dragonegg.llvm.org/ ) ?
best, Jason
On Mon, Aug 15, 2011 at 2:10 PM, Marc Feeley feeley@iro.umontreal.cawrote:
On 2011-07-31, at 7:50 AM, Marc Feeley wrote:
On 2011-07-31, at 1:59 AM, mikel evins wrote:
A little more info about my failing attempts to build Gambit.
I tried a few variations (devel and non-devel) on downloading and
configuring and updating; all failed to make it through a make check without a crash.
I can install the prebuilt Gambit 4.6.1 binaries, and in some quick,
superficial testing, they appear to work correctly, but I can't build certain projects (including iOS projects), because I don't have the associated Gambit sources.
I'm using Lion (version 10.7) on an early 2008 24-inch iMac, with the
developer tools provided through the App Store (XCode version 4.1, build 4B110).
Has anyone built Gambit using this build environment or something close
to it? At this point, I'm sort of wondering whether I need to wipe the machine and do a clean reinstall of everything.
In case anyone wants more details, there's a lot more below:
I have encountered this problem also (with Lion and the new Xcode). The
problem is due to LLVM gcc which is the default C compiler now and which does not compile the Gambit sources properly when the --enable-single-host configure option is given. I've tried using gdb to find where the error is, but it is giving me an execution trace which doesn't correlate with the sources so I am confused in regards to the location of the error.
So to fix the problem temporarily I did
CC="i686-apple-darwin11-gcc-4.2.1" ./configure --enable-single-host make make check
I also committed a patch to look for "i686-apple-darwin11-gcc-4.2.1"
before "gcc", but that is not a long term solution.
My guess is that LLVM gcc is buggy, but I have not yet found a proof.
Indeed it is LLVM gcc that is buggy. It generates incorrect code for taking the address of a label (for use in computed gotos) when the -O1 option is used. The attached file exhibits the problem in a small C program.
I have just submitted a bug report to the LLVM group. I hate buggy compilers...
Marc
Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list