aboutsummaryrefslogtreecommitdiff
path: root/tcc.h
diff options
context:
space:
mode:
authorgrischka <grischka>2016-10-19 19:21:27 +0200
committergrischka <grischka>2016-10-19 19:21:27 +0200
commitbfd1c08d6c579445fe75dd633fbd9b0757cea5d0 (patch)
tree299e8c05200731561bd7f6bbe3d733fd9c3a4e94 /tcc.h
parent02919cd27506e25dacdbe72dad1ae2718eb75991 (diff)
downloadtinycc-bfd1c08d6c579445fe75dd633fbd9b0757cea5d0.tar.gz
tinycc-bfd1c08d6c579445fe75dd633fbd9b0757cea5d0.tar.bz2
tccrun/win64: cleanup runtime function table
- call RtlDeleteFunctionTable (important for multiple compilations) - the RUNTIME_FUNCTION* is now at the beginning of the runtime memory. Therefor when tcc_relocate is called with user memory, this should be done manually before it is free'd: RtlDeleteFunctionTable(*(void**)user_mem); [ free(user_mem); ] - x86_64-gen.c: expand char/short return values to int
Diffstat (limited to 'tcc.h')
-rw-r--r--tcc.h10
1 files changed, 3 insertions, 7 deletions
diff --git a/tcc.h b/tcc.h
index 9681903..bd4fee4 100644
--- a/tcc.h
+++ b/tcc.h
@@ -735,12 +735,8 @@ struct TCCState {
#ifdef TCC_IS_NATIVE
const char *runtime_main;
- /* for tcc_relocate */
- void *runtime_mem;
-# ifdef HAVE_SELINUX
- void *write_mem;
- unsigned long mem_size;
-# endif
+ void **runtime_mem;
+ int nb_runtime_mem;
#endif
/* used by main and tcc_parse_args only */
@@ -1532,13 +1528,13 @@ ST_FUNC void dlclose(void *p);
ST_FUNC const char *dlerror(void);
ST_FUNC void *dlsym(int flag, const char *symbol);
#endif
-
#ifdef CONFIG_TCC_BACKTRACE
ST_DATA int rt_num_callers;
ST_DATA const char **rt_bound_error_msg;
ST_DATA void *rt_prog_main;
ST_FUNC void tcc_set_num_callers(int n);
#endif
+ST_FUNC void tcc_run_free(TCCState *s1);
#endif
/********************************************************/