LoongArch: module: set section addresses to 0x0

Message ID 20230406025036.3022894-1-chenhuacai@loongson.cn
State New
Headers
Series LoongArch: module: set section addresses to 0x0 |

Commit Message

Huacai Chen April 6, 2023, 2:50 a.m. UTC
  These got*, plt* and .text.ftrace_trampoline sections specified for
LoongArch 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 5d8591bc0fbaeb6ded
("arm64 module: set plt* section addresses to 0x0").

Cc: stable@vger.kernel.org
Signed-off-by: Chong Qiao <qiaochong@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
---
 arch/loongarch/include/asm/module.lds.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
  

Comments

Guo Ren April 7, 2023, 9:10 a.m. UTC | #1
On Thu, Apr 6, 2023 at 10:51 AM Huacai Chen <chenhuacai@loongson.cn> wrote:
>
> These got*, plt* and .text.ftrace_trampoline sections specified for
> LoongArch 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 5d8591bc0fbaeb6ded
> ("arm64 module: set plt* section addresses to 0x0").
Good point, maybe I would check RISC-V!

Thx.

Reviewed-by: Guo Ren <guoren@kernel.org>

>
> Cc: stable@vger.kernel.org
> Signed-off-by: Chong Qiao <qiaochong@loongson.cn>
> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
> ---
>  arch/loongarch/include/asm/module.lds.h | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/loongarch/include/asm/module.lds.h b/arch/loongarch/include/asm/module.lds.h
> index 438f09d4ccf4..88554f92e010 100644
> --- a/arch/loongarch/include/asm/module.lds.h
> +++ b/arch/loongarch/include/asm/module.lds.h
> @@ -2,8 +2,8 @@
>  /* Copyright (C) 2020-2022 Loongson Technology Corporation Limited */
>  SECTIONS {
>         . = ALIGN(4);
> -       .got : { BYTE(0) }
> -       .plt : { BYTE(0) }
> -       .plt.idx : { BYTE(0) }
> -       .ftrace_trampoline : { BYTE(0) }
> +       .got 0 : { BYTE(0) }
> +       .plt 0 : { BYTE(0) }
> +       .plt.idx 0 : { BYTE(0) }
> +       .ftrace_trampoline 0 : { BYTE(0) }
>  }
> --
> 2.39.1
>
  

Patch

diff --git a/arch/loongarch/include/asm/module.lds.h b/arch/loongarch/include/asm/module.lds.h
index 438f09d4ccf4..88554f92e010 100644
--- a/arch/loongarch/include/asm/module.lds.h
+++ b/arch/loongarch/include/asm/module.lds.h
@@ -2,8 +2,8 @@ 
 /* Copyright (C) 2020-2022 Loongson Technology Corporation Limited */
 SECTIONS {
 	. = ALIGN(4);
-	.got : { BYTE(0) }
-	.plt : { BYTE(0) }
-	.plt.idx : { BYTE(0) }
-	.ftrace_trampoline : { BYTE(0) }
+	.got 0 : { BYTE(0) }
+	.plt 0 : { BYTE(0) }
+	.plt.idx 0 : { BYTE(0) }
+	.ftrace_trampoline 0 : { BYTE(0) }
 }