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.ca> wrote:

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