[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] GCC 4.2.2 - Keith's Latest Progress (or lack thereof)



Hello Vincent,

So you are building GCC for MiNT on Cygwin. I think in that case, it is a classic cross-build of GCC. If I understood well, a Canadian Build is when all the triplets build/host/target are different. But it is not the problem !

I have done both, build it natively (still have the binaries) and also build it in Cygwin (My understanding is its a Canadian Cross because the resulting binaries are not for the build system, those are the guidelines I followed.)

If you build a C++ program using the Cross GCC on Cygwin, it produces a valid MiNT executable, right ? But if you try to compile the same program with your "native" MiNT GCC built on Cygwin, it links, but it causes SIGILL when run. Did I understand ?

Yes, I can build a working executable (at list Valid in AranyM) with the C++ Cross Compiler. I was using the ScummVM tools to test this since there are 23 different utils, in either C or C++. The same source with the compilers running natively, the C tools build working executables, but the C++ tools that are built just crash with SIGILL. So I have tested both C++ bootstrapped (with GCC 2.95.3) and built natively (and then rebuilt with the bootstapped 4.2.2 natively), and also the compiler built using the Cross Compiler to build it.

If it is the case, you can send me the binary causing SIGILL. Please compile it for 68000 (the default) and link it with --traditional format. Something like this:
g++ hello.cpp -o hello.tos -Wl,--traditional-format

I will try to do this a little later today, maybe send you both a working one and a broken one.

Thanks!

Keith