From bfd1c08d6c579445fe75dd633fbd9b0757cea5d0 Mon Sep 17 00:00:00 2001 From: grischka Date: Wed, 19 Oct 2016 19:21:27 +0200 Subject: 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 --- libtcc.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'libtcc.c') diff --git a/libtcc.c b/libtcc.c index 1b4b354..f184502 100644 --- a/libtcc.c +++ b/libtcc.c @@ -931,12 +931,8 @@ LIBTCCAPI void tcc_delete(TCCState *s1) dynarray_reset(&s1->pragma_libs, &s1->nb_pragma_libs); #ifdef TCC_IS_NATIVE -# ifdef HAVE_SELINUX - munmap (s1->write_mem, s1->mem_size); - munmap (s1->runtime_mem, s1->mem_size); -# else - tcc_free(s1->runtime_mem); -# endif + /* free runtime memory */ + tcc_run_free(s1); #endif tcc_free(s1->sym_attrs); -- cgit v1.3.1