diff -ubwr ./libtcc.c ../../work.2/tcc-0.9.25/libtcc.c --- ./libtcc.c 2009-05-18 16:27:06.000000000 +0200 +++ ../../work.2/tcc-0.9.25/libtcc.c 2009-11-29 02:25:14.000000000 +0100 @@ -1509,10 +1509,18 @@ if (level == 0) { /* XXX: only support linux */ +#if defined(__FreeBSD__) + *paddr = uc->uc_mcontext.mc_rip; +#else *paddr = uc->uc_mcontext.gregs[REG_RIP]; +#endif return 0; } else { +#if defined(__FreeBSD__) + fp = uc->uc_mcontext.mc_rbp; +#else fp = uc->uc_mcontext.gregs[REG_RBP]; +#endif for(i=1;i