--- gforth/prim 1997/12/14 01:15:19 1.7 +++ gforth/prim 1998/07/05 20:50:00 1.9 @@ -2004,18 +2004,21 @@ define(argclist, \ icall(argnum) define(icall, `icall$1 argflist($1)u -- uret gforth -uret = ((Cell(*)(argdlist($1)))u)(argclist($1)); +uret = (SYSCALL(Cell(*)(argdlist($1)))u)(argclist($1)); ') define(fcall, `fcall$1 argflist($1)u -- rret gforth -rret = ((Float(*)(argdlist($1)))u)(argclist($1)); +rret = (SYSCALL(Float(*)(argdlist($1)))u)(argclist($1)); ') open-lib c_addr1 u1 -- u2 gforth open_lib #if defined(HAVE_LIBDL) || defined(HAVE_DLOPEN) +#ifndef RTLD_GLOBAL +#define RTLD_GLOBAL 0 +#endif u2=(UCell) dlopen(cstr(c_addr1, u1, 1), RTLD_GLOBAL | RTLD_LAZY); #else # ifdef HAVE_LIBKERNEL32