mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-20 21:33:08 +00:00
Unbreak powerpc-unknown-linux-uclibc.
There is invalid assembly in dmalloc for PowerPC. The issue is that 'stw' expects a memory operand, and =g constraint allows both registers and memory. Newer GCC tends to choose register even at -O0, resulting in invalid assembly. Instead, force a register constraint in 'mflr' and let GCC decide if it wants to store it into memory at all. Reported this upstream. Signed-off-by: Alexey Neyman <stilor@att.net>
This commit is contained in:
parent
e1d494a248
commit
85af584872
13
patches/dmalloc/5.5.2/170-ppc-bogus-assembly.patch
Normal file
13
patches/dmalloc/5.5.2/170-ppc-bogus-assembly.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff -ur dmalloc-5.5.2.orig/return.h dmalloc-5.5.2/return.h
|
||||
--- dmalloc-5.5.2.orig/return.h 2016-03-13 13:11:48.090431764 -0700
|
||||
+++ dmalloc-5.5.2/return.h 2016-03-13 13:12:11.246642618 -0700
|
||||
@@ -251,8 +251,7 @@
|
||||
|
||||
#define GET_RET_ADDR(file) \
|
||||
do { \
|
||||
- asm("mflr 0"); \
|
||||
- asm("stw 0,%0" : "=g" (file)); \
|
||||
+ asm("mflr %0" : "=r"(file)); \
|
||||
} while(0)
|
||||
|
||||
#endif /* __powerpc__ && __GNUC__ && !__OPTIMIZE__ */
|
Loading…
Reference in New Issue
Block a user