|
From: | Thomas Preudhomme |
Subject: | Re: [Tinycc-devel] tcc 0.9.26 cannot build mob on x86 _64 linux (regression) |
Date: | Thu, 20 Mar 2014 19:13:07 +0800 |
User-agent: | Roundcube Webmail/0.7.2 |
Le 2014-03-20 04:28, Austin English a écrit :
Yes, that works, thanks. Ive been working on a test using tcc to try compiling all packages on my gentoo system (after testing with gcc/clang). tcc has been recompiling/reinstalled a few times in that process, which lead to the breakage.
I wouldn't exactly call it a breakage. It's a bootstrapping issue. On ARM systems the data cache is not coherent with the instruction cache so that tcc -run was not working correctly: the code is generated in data cache and then executed from the instruction cache which can still contain the old content of that memory area. The solution is to ask for the coherence explicitly. GCC propose the intrinsic __clear_cache for asking this and so we started to use it in tcc. Shortly after we added __clear_cache to libtcc1 so that tcc can compile itself. Of course that only works if you compile tcc with a tcc compiled after that commit, since otherwise you would have a tcc without __clear_cache which is now needed to compile tcc.
Best regards, Thomas
[Prev in Thread] | Current Thread | [Next in Thread] |