allow to compile tcc by pcc

* pcc have only __linux__ macro (and no __linux)
    * pcc don't have __clear_cache proc
master
seyko 2016-04-15 17:41:49 +03:00
parent c6dc756d4e
commit 5ee097fce9
3 changed files with 6 additions and 2 deletions

View File

@ -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;

View File

@ -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

View File

@ -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
}