Alan Hourihane wrote:
I don't think so. As it used to work before Vincent's recent changes.
Hello. I'm very surprised about that recent regression... I don't experience any problem with my latest build.Except the Quake problem provided by MiKRO (I will probably spend a lot of time on it tonight...). Except the C++ problem reported by Keith with the native GCC (I'm waiting for his testcase).
However, my own C and C++ programs built with the cross compiler work like a charm.
On the native side (on ARAnyM), I compiled the binutils 2.18 with GCC 2.95.3 and binutils 2.13. Then I replaced the binutils 2.13 provided by EasyMiNT by the newly built binutils 2.18. Then I compiled Quake with GCC 2.95 and binutils 2.18, it works without problem (the Quake problem appears when it is compiled with GCC 4.2.2 - either cross or natively). So it seems that there is no problem by using the binutils 2.18 and GCC 2.95.3 and libraries built with binutils 2.13.
However, I experienced a problem (I didn't have time to investigate). strip-2.13 seems to kill programs linked with ld-2.18. Such stripped programs causes a bus error at startup. However, strip-2.18 works as expected. That will require further investigation, because it may hide a big problem.
Alan: I recently worked only on ld. If you kept the old version of the binutils (the one working for you), try to replace only the new ld executable by the old, and relink the kernel. If it works again, the problem is really in the new ld. The executable generated by the two versions of ld should be strictly the same. If a byte differs, it will help to find the problem.
Many thanks to all of you for your feedback. We will track all that bugs and fix them all ! -- Vincent Rivière