Skip to contentSkip to conversation

sh: correct definitions to access stack pointers

PATCH Applied roel kluin 2 participants 2 messages Jan 1, 2011 – Jan 5, 2011

Subsystems (2)
lore
Share & tools
lore

roel kluin

author
#0 lore raw

PATCH 1/1 sh: correct definitions to access stack pointers

A definition like:

#define regs_return_value(regs) ((regs)->regs[0])

called with regs_return_value(foo) will be preprocessed to:

((foo)->foo[0])

        ^^^

So to fix this to ensure the preprocessor compiles such calls correctly.

---
 arch/sh/include/asm/ptrace.h    |    4 ++--
 arch/sh/include/asm/ptrace_32.h |    2 +-
 arch/sh/include/asm/ptrace_64.h |    2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)
arch/sh/include/asm/ptrace.h +2 -2
index f6edc10..de167d3 100644
@@ -40,8 +40,8 @@
 #include <asm/system.h>
 
 #define user_mode(regs)			(((regs)->sr & 0x40000000)=0)
-#define user_stack_pointer(regs)	((unsigned long)(regs)->regs[15])
-#define kernel_stack_pointer(regs)	((unsigned long)(regs)->regs[15])
+#define user_stack_pointer(_regs)	((unsigned long)(_regs)->regs[15])
+#define kernel_stack_pointer(_regs)	((unsigned long)(_regs)->regs[15])
 #define instruction_pointer(regs)	((unsigned long)(regs)->pc)
 
 extern void show_regs(struct pt_regs *);
arch/sh/include/asm/ptrace_32.h +1 -1
index 35d9e25..6c2239c 100644
@@ -76,7 +76,7 @@ struct pt_dspregs {
 #ifdef __KERNEL__
 
 #define MAX_REG_OFFSET		offsetof(struct pt_regs, tra)
-#define regs_return_value(regs)	((regs)->regs[0])
+#define regs_return_value(_regs)	((_regs)->regs[0])
 
 #endif /* __KERNEL__ */
 
arch/sh/include/asm/ptrace_64.h +1 -1
index d43c1cb..bf9be77 100644
@@ -13,7 +13,7 @@ struct pt_regs {
 #ifdef __KERNEL__
 
 #define MAX_REG_OFFSET		offsetof(struct pt_regs, tregs[7])
-#define regs_return_value(regs)	((regs)->regs[3])
+#define regs_return_value(_regs)	((_regs)->regs[3])
 
 #endif /* __KERNEL__ */
 
Applied
#1 lore raw
Quoted 11 lines · roel kluin

A definition like:

#define regs_return_value(regs) ((regs)->regs[0])

called with regs_return_value(foo) will be preprocessed to:

((foo)->foo[0])

        ^^^

So to fix this to ensure the preprocessor compiles such calls correctly.

Applied, thanks.