Argh. libsyscall.a has always been redundant. Did anyone ever link to it before this change in ps2sdk? Please remove it and move the syscalls back into libkernel.a where they belong. Why was this changed from ps2lib anyway?
And, let me guess, everyone who has built ps2sdk up to this point has been linking with newlib, and not ps2sdk's internal libc?
I saw the same link error for the first time yesterday, after a CVS update.
I added an extra '-lc' to the EE_LIBS in ps2sdk/ee/loader/Makefile, as the first entry and linking worked.
I am using gcc-3.2.2 in cygwin, which was compiled using ooPo's toolchain scripts, these include newlib as part of the build iirc.
I'm not sure where this linkage weirdness came from. The only update I'd gotten from CVS for ps2sdk was xprintf.c, and as I rule I always 'make clean' at the top level before 'make', esp. for library updates.
mrbrown wrote:Great. Now printf() uses malloc() internally. Congrats, our libc is as crappy as newlib now.
Where does it use malloc() ?
I only see it in mout(), mprintf() & vmprintf() and none of those are built into libc.a because of the #ifdef's. I just keept them there until there is some sort of agreement what to do with functions which weren't in the old xprintf.c source.