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

Reply via email to