diff options
Diffstat (limited to 'dev-libs/DirectFB/files/DirectFB-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch')
-rw-r--r-- | dev-libs/DirectFB/files/DirectFB-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/dev-libs/DirectFB/files/DirectFB-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch b/dev-libs/DirectFB/files/DirectFB-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch deleted file mode 100644 index 06f56fed39d7..000000000000 --- a/dev-libs/DirectFB/files/DirectFB-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 253e1d0d10bdece158f8f68dc48c19ab57d2da29 Mon Sep 17 00:00:00 2001 -From: Mandeep Singh Baines <msb@chromium.org> -Date: Mon, 18 Mar 2013 19:03:36 -0700 -Subject: [PATCH] atomic: fix compiler error when building for thumb2 - -Fixed the following error: - -{standard input}: Assembler messages: -{standard input}:179: Error: thumb conditional instruction should be in IT block --- `strexeq r4,r1,[r2]' -{standard input}:283: Error: thumb conditional instruction should be in IT block --- `strexeq r1,r4,[r2]' -{standard input}:379: Error: thumb conditional instruction should be in IT block --- `strexeq r1,r2,[r0]' -make[4]: *** [fifo.lo] Error 1 - -Fix was to add the appropriate it block. - -While I was at it, I optimized the code a bit by: - -1) Moved the mov instruction above the ldrex to minimize the number -of instructions between the ldex and strex as recommeded here: -http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/BABFFBJB.html -2) Saved 4 bytes by replacing mov with movs and teq with cmp. - -Signed-off-by: Mandeep Singh Baines <msb@chromium.org> ---- - lib/direct/atomic.h | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/lib/direct/atomic.h b/lib/direct/atomic.h -index 94cb0c9..8dc0dfb 100644 ---- a/lib/direct/atomic.h -+++ b/lib/direct/atomic.h -@@ -191,9 +191,10 @@ static inline int _D__atomic_cmpxchg(volatile int *ptr, int old, int _new) - - do { - __asm__ __volatile__("@ atomic_cmpxchg\n" -+ "movs %0, #0\n" - "ldrex %1, [%2]\n" -- "mov %0, #0\n" -- "teq %1, %3\n" -+ "cmp %1, %3\n" -+ "it eq\n" - "strexeq %0, %4, [%2]\n" - : "=&r" (res), "=&r" (oldval) - : "r" (ptr), "Ir" (old), "r" (_new) --- -1.7.12.4 - |