Re: [PATCH] parisc: prefer _THIS_IP_ and _RET_IP_ statement expressions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2018-08-01 2:22 PM, Nick Desaulniers wrote:
As part of the effort to reduce the code duplication between _THIS_IP_
and current_text_addr(), let's consolidate callers of
current_text_addr() to use _THIS_IP_.
Using the generic _THIS_IP_ results in significantly longer code than the parisc implementation of current_text_addr().  It also results in a local label in the text.  This breaks the unwind data for the function with the label in 32-bit kernels.  The implementation of current_text_addr() doesn't add a label.  _THIS_IP_ should be defined using current_text_addr() on parisc.

Signed-off-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
---
  arch/parisc/kernel/unwind.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/parisc/kernel/unwind.c b/arch/parisc/kernel/unwind.c
index 2ef83d78eec4..a4b430f440a9 100644
--- a/arch/parisc/kernel/unwind.c
+++ b/arch/parisc/kernel/unwind.c
@@ -439,8 +439,8 @@ unsigned long return_address(unsigned int level)
  	/* initialize unwind info */
  	asm volatile ("copy %%r30, %0" : "=r"(sp));
  	memset(&r, 0, sizeof(struct pt_regs));
-	r.iaoq[0] = (unsigned long) current_text_addr();
-	r.gr[2] = (unsigned long) __builtin_return_address(0);
+	r.iaoq[0] = _THIS_IP_;
+	r.gr[2] = _RET_IP_;
  	r.gr[30] = sp;
  	unwind_frame_init(&info, current, &r);

Dave

--
John David Anglin  dave.anglin@xxxxxxxx

--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux