Use __builtin___clear_cache on ARM to fix a clang bug.

Thanks to Matthias Klose.
This commit is contained in:
Sylvestre Ledru 2013-01-31 16:35:41 +00:00
parent adce985593
commit e4bb76880e
3 changed files with 16 additions and 0 deletions

2
debian/changelog vendored
View File

@ -16,6 +16,8 @@ llvm-toolchain-3.2 (3.2-1~exp1) experimental; urgency=low
* Enable RTTI (Closes: #697754)
* Introduce lldb as a new package (Closes: #698601)
* Add a script pollycc which will call clang with the right arguments.
* Use __builtin___clear_cache on ARM to fix a clang bug.
Thanks to Matthias Klose.
-- Sylvestre Ledru <sylvestre@debian.org> Mon, 07 Jan 2013 15:45:54 +0100

13
debian/patches/declare_clear_cache.diff vendored Normal file
View File

@ -0,0 +1,13 @@
Index: b/lib/Support/Unix/Memory.inc
===================================================================
--- a/lib/Support/Unix/Memory.inc
+++ b/lib/Support/Unix/Memory.inc
@@ -318,7 +318,7 @@
// FIXME: Can we safely always call this for __GNUC__ everywhere?
const char *Start = static_cast<const char *>(Addr);
const char *End = Start + Len;
- __clear_cache(const_cast<char *>(Start), const_cast<char *>(End));
+ __builtin___clear_cache(const_cast<char *>(Start), const_cast<char *>(End));
# elif defined(__mips__)
const char *Start = static_cast<const char *>(Addr);
cacheflush(const_cast<char *>(Start), Len, BCACHE);

View File

@ -27,3 +27,4 @@ scan-build-clang-path.diff
57-lldb-soname.diff
0050-powerpcspe-fp.diff
polly-c++0x.diff
declare_clear_cache.diff