diff options
| author | seyko <seyko2@gmail.com> | 2016-04-15 17:41:49 +0300 |
|---|---|---|
| committer | seyko <seyko2@gmail.com> | 2016-04-15 17:41:49 +0300 |
| commit | 5ee097fce9dee7eb4dc782c5d6bce75c01243d63 (patch) | |
| tree | 1da81b958161ecd9b771085831175cf40505bd95 | |
| parent | c6dc756d4e6905df8498596f5bd0c5a6aa1c6d24 (diff) | |
| download | tinycc-5ee097fce9dee7eb4dc782c5d6bce75c01243d63.tar.gz tinycc-5ee097fce9dee7eb4dc782c5d6bce75c01243d63.tar.bz2 | |
allow to compile tcc by pcc
* pcc have only __linux__ macro (and no __linux)
* pcc don't have __clear_cache proc
| -rw-r--r-- | i386-gen.c | 2 | ||||
| -rw-r--r-- | libtcc.c | 2 | ||||
| -rw-r--r-- | tccrun.c | 4 |
3 files changed, 6 insertions, 2 deletions
@@ -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; @@ -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 @@ -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 } |
