|
Mark Wielaard |
bfca72 |
|
|
Mark Wielaard |
bfca72 |
On ppc64*, R2 is the TOC pointer, should not be considered a
|
|
Mark Wielaard |
bfca72 |
scratch register, and thus should not be in the clobber list.
|
|
Mark Wielaard |
bfca72 |
This is called out in newer GCC releases and triggers a
|
|
Mark Wielaard |
bfca72 |
compile time error.
|
|
Mark Wielaard |
bfca72 |
|
|
Mark Wielaard |
bfca72 |
Thusly, remove R2 from the clobber list.
|
|
Mark Wielaard |
bfca72 |
|
|
Mark Wielaard |
bfca72 |
diff --git a/coregrind/m_debuglog.c b/coregrind/m_debuglog.c
|
|
Mark Wielaard |
bfca72 |
index dc6e26d..be77680 100644
|
|
Mark Wielaard |
bfca72 |
--- a/coregrind/m_debuglog.c
|
|
Mark Wielaard |
bfca72 |
+++ b/coregrind/m_debuglog.c
|
|
Mark Wielaard |
bfca72 |
@@ -215,7 +215,7 @@ static UInt local_sys_write_stderr ( const HChar* buf, Int n )
|
|
Mark Wielaard |
bfca72 |
:
|
|
Mark Wielaard |
bfca72 |
: "b" (block)
|
|
Mark Wielaard |
bfca72 |
: "cc","memory","cr0","ctr",
|
|
Mark Wielaard |
bfca72 |
- "r0","r2","r3","r4","r5","r6","r7","r8","r9","r10","r11","r12"
|
|
Mark Wielaard |
bfca72 |
+ "r0","r3","r4","r5","r6","r7","r8","r9","r10","r11","r12"
|
|
Mark Wielaard |
bfca72 |
);
|
|
Mark Wielaard |
bfca72 |
if (block[0] < 0)
|
|
Mark Wielaard |
bfca72 |
block[0] = -1;
|
|
Mark Wielaard |
bfca72 |
@@ -231,7 +231,7 @@ static UInt local_sys_getpid ( void )
|
|
Mark Wielaard |
bfca72 |
: "=&r" (__res)
|
|
Mark Wielaard |
bfca72 |
: "i" (__NR_getpid)
|
|
Mark Wielaard |
bfca72 |
: "cc","memory","cr0","ctr",
|
|
Mark Wielaard |
bfca72 |
- "r0","r2","r4","r5","r6","r7","r8","r9","r10","r11","r12"
|
|
Mark Wielaard |
bfca72 |
+ "r0","r4","r5","r6","r7","r8","r9","r10","r11","r12"
|
|
Mark Wielaard |
bfca72 |
);
|
|
Mark Wielaard |
bfca72 |
return (UInt)__res;
|
|
Mark Wielaard |
bfca72 |
}
|
|
Mark Wielaard |
bfca72 |
diff --git a/include/valgrind.h b/include/valgrind.h
|
|
Mark Wielaard |
bfca72 |
index 6892007..d2e7c38 100644
|
|
Mark Wielaard |
bfca72 |
--- a/include/valgrind.h
|
|
Mark Wielaard |
bfca72 |
+++ b/include/valgrind.h
|
|
Mark Wielaard |
bfca72 |
@@ -2708,7 +2708,7 @@ typedef
|
|
Mark Wielaard |
bfca72 |
#define __CALLER_SAVED_REGS \
|
|
Mark Wielaard |
bfca72 |
"lr", "ctr", "xer", \
|
|
Mark Wielaard |
bfca72 |
"cr0", "cr1", "cr2", "cr3", "cr4", "cr5", "cr6", "cr7", \
|
|
Mark Wielaard |
bfca72 |
- "r0", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", \
|
|
Mark Wielaard |
bfca72 |
+ "r0", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", \
|
|
Mark Wielaard |
bfca72 |
"r11", "r12", "r13"
|
|
Mark Wielaard |
bfca72 |
|
|
Mark Wielaard |
bfca72 |
/* Macros to save and align the stack before making a function
|
|
Mark Wielaard |
bfca72 |
@@ -3264,7 +3264,7 @@ typedef
|
|
Mark Wielaard |
bfca72 |
#define __CALLER_SAVED_REGS \
|
|
Mark Wielaard |
bfca72 |
"lr", "ctr", "xer", \
|
|
Mark Wielaard |
bfca72 |
"cr0", "cr1", "cr2", "cr3", "cr4", "cr5", "cr6", "cr7", \
|
|
Mark Wielaard |
bfca72 |
- "r0", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", \
|
|
Mark Wielaard |
bfca72 |
+ "r0", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", \
|
|
Mark Wielaard |
bfca72 |
"r11", "r12", "r13"
|
|
Mark Wielaard |
bfca72 |
|
|
Mark Wielaard |
bfca72 |
/* Macros to save and align the stack before making a function
|