From 5ee097fce9dee7eb4dc782c5d6bce75c01243d63 Mon Sep 17 00:00:00 2001 From: seyko Date: Fri, 15 Apr 2016 17:41:49 +0300 Subject: [PATCH] allow to compile tcc by pcc * pcc have only __linux__ macro (and no __linux) * pcc don't have __clear_cache proc --- i386-gen.c | 2 +- libtcc.c | 2 +- tccrun.c | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/i386-gen.c b/i386-gen.c index fc0748fd..77536f88 100644 --- a/i386-gen.c +++ b/i386-gen.c @@ -1061,7 +1061,7 @@ ST_FUNC void gen_bounded_ptr_add(void) ST_FUNC void gen_bounded_ptr_deref(void) { addr_t func; - addr_t size, align; + int size, align; Elf32_Rel *rel; Sym *sym; diff --git a/libtcc.c b/libtcc.c index d5871793..f886b9d2 100644 --- a/libtcc.c +++ b/libtcc.c @@ -1125,7 +1125,7 @@ LIBTCCAPI TCCState *tcc_new(void) tcc_define_symbol(s, "__unix__", NULL); tcc_define_symbol(s, "__unix", NULL); tcc_define_symbol(s, "unix", NULL); -# if defined(__linux) +# if defined(__linux__) tcc_define_symbol(s, "__linux__", NULL); tcc_define_symbol(s, "__linux", NULL); # endif diff --git a/tccrun.c b/tccrun.c index 25191053..9ee70e43 100644 --- a/tccrun.c +++ b/tccrun.c @@ -235,7 +235,11 @@ static void set_pages_executable(void *ptr, unsigned long length) end = (addr_t)ptr + length; end = (end + PAGESIZE - 1) & ~(PAGESIZE - 1); mprotect((void *)start, end - start, PROT_READ | PROT_WRITE | PROT_EXEC); + #ifndef __PCC__ __clear_cache(ptr, (char *)ptr + length); + #else + /* pcc 1.2.0.DEVEL 20141206 don't have such proc */ + #endif #endif }