These plt* and .text.ftrace_trampoline sections specified for arm64 have 
non-zero addressses. Non-zero section addresses in a relocatable ELF would 
confuse GDB when it tries to compute the section offsets and it ends up 
printing wrong symbol addresses. Therefore, set them to zero, which mirrors 
the change in commit 5d8591bc0fba ("module: set ksymtab/kcrctab* section 
addresses to 0x0").

Reported-by: Frank van der Linden <fllin...@amazon.com>
Signed-off-by: Shaoying Xu <sha...@amazon.com>
Cc: sta...@vger.kernel.org
---
 arch/arm64/include/asm/module.lds.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/include/asm/module.lds.h 
b/arch/arm64/include/asm/module.lds.h
index 691f15af788e..810045628c66 100644
--- a/arch/arm64/include/asm/module.lds.h
+++ b/arch/arm64/include/asm/module.lds.h
@@ -1,7 +1,7 @@
 #ifdef CONFIG_ARM64_MODULE_PLTS
 SECTIONS {
-       .plt (NOLOAD) : { BYTE(0) }
-       .init.plt (NOLOAD) : { BYTE(0) }
-       .text.ftrace_trampoline (NOLOAD) : { BYTE(0) }
+       .plt 0 (NOLOAD) : { BYTE(0) }
+       .init.plt 0 (NOLOAD) : { BYTE(0) }
+       .text.ftrace_trampoline 0 (NOLOAD) : { BYTE(0) }
 }
 #endif
-- 
2.16.6

Reply via email to