Hi
In my feeble and ignorance, I'm attempting to build CogVM on OpenBSD.
I've come across some problems that my limited skills cannot solve.
$ make
gcc -g -O2 -msse2 -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1
-DCOGMTVM=0 -DDEBUGVM=0 -I/usr/X11R6/include -I/usr/local/include
-msse -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN
-I/home/dusty/CogVM/openCogVm/unixbuild/bld
-I/home/dusty/CogVM/openCogVm/unixbuild/bld
-I/home/dusty/CogVM/openCogVm/platforms/unix/vm
-I/home/dusty/CogVM/openCogVm/platforms/Cross/vm
-I/home/dusty/CogVM/openCogVm/src/vm
-I/home/dusty/CogVM/openCogVm/platforms/Cross/vm
-I/home/dusty/CogVM/openCogVm/platforms/unix/vm
-I/home/dusty/CogVM/openCogVm/src/vm
-I/home/dusty/CogVM/openCogVm/platforms/Cross/plugins/FilePlugin
-I/home/dusty/CogVM/openCogVm/platforms/unix/plugins/B3DAcceleratorPlugin
-I/home/dusty/CogVM/openCogVm/unixbuild/bld
-I/home/dusty/CogVM/openCogVm/unixbuild/bld
-I/home/dusty/CogVM/openCogVm/platforms/unix/vm
-I/home/dusty/CogVM/openCogVm/platforms/Cross/vm
-I/home/dusty/CogVM/openCogVm/src/vm -I/usr/X11R6/include -c -o
sqUnixMain.o /home/dusty/CogVM/openCogVm/platforms/unix/vm/sqUnixMain.c
/home/dusty/CogVM/openCogVm/platforms/unix/vm/sqUnixMain.c:62:22:
error: execinfo.h: No such file or directory
/home/dusty/CogVM/openCogVm/platforms/unix/vm/sqUnixMain.c:820:3:
error: #error need to implement extracting pc from a ucontext_t on
this system
/home/dusty/CogVM/openCogVm/platforms/unix/vm/sqUnixMain.c: In
function 'reportStackState':
/home/dusty/CogVM/openCogVm/platforms/unix/vm/sqUnixMain.c:824: error:
'fp' undeclared (first use in this function)
/home/dusty/CogVM/openCogVm/platforms/unix/vm/sqUnixMain.c:824: error:
(Each undeclared identifier is reported only once
/home/dusty/CogVM/openCogVm/platforms/unix/vm/sqUnixMain.c:824: error:
for each function it appears in.)
/home/dusty/CogVM/openCogVm/platforms/unix/vm/sqUnixMain.c:824: error:
'sp' undeclared (first use in this function)
*** Error code 1
Stop in /home/dusty/CogVM/openCogVm/unixbuild/bld/vm (line 273 of Makefile).
*** Error code 1
Stop in /home/dusty/CogVM/openCogVm/unixbuild/bld (line 406 of Makefile).
$
And the offending code is >>
#if COGVM
/* If we're in generated machine code then the
only way the stack
* dump machinery has of giving us an accurate
report is if we set
* stackPointer & framePointer to the native
stack & frame pointers.
*/
# if __APPLE__ && __MACH__ && __i386__
void *fp = (void *)(uap ? uap->uc_mcontext->ss.ebp: 0);
void *sp = (void *)(uap ? uap->uc_mcontext->ss.esp: 0);
# elif __linux__ && __i386__
void *fp = (void *)(uap ?
uap->uc_mcontext.gregs[REG_EBP]: 0);
void *sp = (void *)(uap ?
uap->uc_mcontext.gregs[REG_ESP]: 0);
# elif __FreeBSD__ && __i386__
void *fp = (void *)(uap ? uap->uc_mcontext.mc_ebp: 0);
void *sp = (void *)(uap ? uap->uc_mcontext.mc_esp: 0);
# elif __sun__ && __i386__
void *fp = (void *)(uap ? uap->uc_mcontext.gregs[REG_FP]: 0);
void *sp = (void *)(uap ? uap->uc_mcontext.gregs[REG_SP]: 0);
# else
# error need to implement extracting pc from a ucontext_t on this system
# endif
char *savedSP, *savedFP;
ifValidWriteBackStackPointersSaveTo(fp,sp,&savedFP,&savedSP);
#endif
I have got ucontext.h from src and stuff. Anyway. I want to know what
on earth I should do with call stacks and ucontext and what all this
is... Somebody educate me. I need to be schooled.
Many thanks
Dusty