@@ -20,19 +20,10 @@ */ #include #include #include "tcc.h" -#ifdef HAVE_DLFCN_H -#include -#endif -#ifdef HAVE_PSAPI_H -# ifdef HAVE_WINDOWS_H -# include -# endif -# include -#endif struct TclTCCState { TCCState *s; int relocated; }; @@ -67,18 +58,16 @@ Tcl_Obj *sym_addr; static CONST char *options[] = { "add_include_path", "add_file", "add_library", "add_library_path", "add_symbol", "command", "compile", "define", "get_symbol", "output_file", "undefine", - "add_runtime_sym", (char *) NULL }; enum options { TCC4TCL_ADD_INCLUDE, TCC4TCL_ADD_FILE, TCC4TCL_ADD_LIBRARY, TCC4TCL_ADD_LIBRARY_PATH, TCC4TCL_ADD_SYMBOL, TCC4TCL_COMMAND, TCC4TCL_COMPILE, - TCC4TCL_DEFINE, TCC4TCL_GET_SYMBOL, TCC4TCL_OUTPUT_FILE, TCC4TCL_UNDEFINE, - TCC4TCL_ADD_RUNTIME_SYM + TCC4TCL_DEFINE, TCC4TCL_GET_SYMBOL, TCC4TCL_OUTPUT_FILE, TCC4TCL_UNDEFINE }; char *str; ts = (struct TclTCCState *) cdata; s = ts->s; @@ -236,59 +225,10 @@ Tcl_WrongNumArgs(interp, 2, objv, "symbol"); return TCL_ERROR; } tcc_undefine_symbol(s,Tcl_GetString(objv[2])); return TCL_OK; - case TCC4TCL_ADD_RUNTIME_SYM: - if (objc != 3) { - Tcl_WrongNumArgs(interp, 2, objv, "symbol_name"); - return(TCL_ERROR); - } - - str = Tcl_GetString(objv[2]); -#ifdef HAVE_DLSYM - val_p = dlsym(NULL, str); -#elif defined(HAVE_ENUMPROCESSMODULES) - val_p = NULL; - { - HANDLE cur_proc; - HMODULE *modules; - DWORD needed, i; - - needed = 0; - - cur_proc = GetCurrentProcess(); - EnumProcessModules(cur_proc, NULL, 0, &needed); - - if (needed > 0) { - modules = (void *) ckalloc(needed); - if (EnumProcessModules(cur_proc, modules, needed, &needed)) { - for (i = 0; i < (needed / sizeof(HMODULE)); i++) { - val_p = (void *) GetProcAddress(modules[i], str); - - if (val_p) { - break; - } - } - } - - ckfree((void *) modules); - } - } -#else - val_p = NULL; -#endif - - if (val_p == NULL) { - Tcl_AppendResult(interp, "symbol not found", NULL); - - return(TCL_ERROR); - } - - tcc_add_symbol(s, Tcl_GetString(objv[2]), val_p); - - return(TCL_OK); default: Tcl_Panic("internal error during option lookup"); } return TCL_OK; }