I just tried compiling Pike 7.4 using gcc 4.0 (prerelease) on OS X and got an error about the CALL_MACHINE_CODE asm macro in src/code/ppc32.h clobbering r31 (which I guess is the purpose of that code). Any hints on how to get the compiler to accept it?
You could try using another register, such as r29, and see if it complains less. Just remember to update the define PPC_REG_PIKE_INTERP as well. The only actual requirement is that it is a callee saved register.
Thanks, that took care of the compiler error.
The next snag is that the .so modules seem to get odd symbol references to _fprintf$LDBLStub and similar wrappers (apparently for compatibility with different long double sizes). These symbols can't be resolved when dlopen() runs unless I manually add -lSystemStub to the makefiles. That ugly workaround surely isn't the intended solution, so the question is how it ought to be handled instead?
(Both the compiler and Darwin 8.0 are pre-release so it's possible these issues will be fixed later on. Still, any insights are welcome.)
pike-devel@lists.lysator.liu.se