On Sun, Jan 23, 2011 at 03:09:32PM -0500, Ryan Macnak wrote:
Hello,
I am trying to build SqueakNOS on Ubuntu 10.10, using the sources from SqueakNOS-19-feb-2010.tar.bz2 from SourceForge. It gets as far as the final link step but then fails because of an undefined reference to __longjmp_chk. Any thoughts on what is going wrong?
ld -o ../release/SqueakNOS.kernel -T kernel.ld loader.o ../release/SqueakNOS.obj ../release/SqueakNOS.obj: In function `callbackLeave': /home/ryan/platforms/squeaknos/gnu-interp.c:3059: undefined reference to `__longjmp_chk' make[1]: *** [SqueakNOS.kernel] Error 1 rm loader.o make[1]: Leaving directory `/home/ryan/platforms/squeaknos/boot' make: *** [iso] Error 2
Thanks, Ryan
I cannot answer your question WRT the link error, but I would note that the callbackLeave() and callbackEnter() functions are from method category "callback support" in class Interpreter. They are unreferenced in the intepreter itself, and are called only by a couple of plugins that you are surely not using anyway (IA32ABI and ObjectiveCPlugin).
That suggests that you can probably just comment these two function out in your interp.c and be no worse off. If you are generating your own source with VMMaker, just delete the two methods in Interpreter callback support.
HTH, Dave