From 4274929c7ee6f442c3f89c5da64d112a9de4a6ba Mon Sep 17 00:00:00 2001 From: Joey Gouly Date: Tue, 28 Jun 2022 16:13:07 +0100 Subject: [PATCH] arm64: vdso*: place got/plt sections in .rodata The vDSO will not contain absolute relocations, so place these sections in .rodata. Signed-off-by: Joey Gouly Link: https://lore.kernel.org/linux-arm-kernel/00abb0c5-6360-0004-353f-e7a88b3bd22c@arm.com/ Cc: Will Deacon Cc: Vincenzo Frascino Link: https://lore.kernel.org/r/20220628151307.35561-3-joey.gouly@arm.com Signed-off-by: Will Deacon --- arch/arm64/kernel/vdso/vdso.lds.S | 12 +++++------- arch/arm64/kernel/vdso32/vdso.lds.S | 23 ++++++++++------------- 2 files changed, 15 insertions(+), 20 deletions(-) diff --git a/arch/arm64/kernel/vdso/vdso.lds.S b/arch/arm64/kernel/vdso/vdso.lds.S index 1cd8525..e69fb4a 100644 --- a/arch/arm64/kernel/vdso/vdso.lds.S +++ b/arch/arm64/kernel/vdso/vdso.lds.S @@ -52,17 +52,15 @@ SECTIONS .rela.dyn : ALIGN(8) { *(.rela .rela*) } - .plt : { + .rodata : { + *(.rodata*) + *(.got) + *(.got.plt) *(.plt) *(.plt.*) *(.iplt) *(.igot .igot.plt) - } - - .got : { *(.got) } - .got.plt : { *(.got.plt) } - - .rodata : { *(.rodata*) } :text + } :text _end = .; PROVIDE(end = .); diff --git a/arch/arm64/kernel/vdso32/vdso.lds.S b/arch/arm64/kernel/vdso32/vdso.lds.S index e2f8ced..6e67a652 100644 --- a/arch/arm64/kernel/vdso32/vdso.lds.S +++ b/arch/arm64/kernel/vdso32/vdso.lds.S @@ -36,7 +36,15 @@ SECTIONS .dynamic : { *(.dynamic) } :text :dynamic - .rodata : { *(.rodata*) } :text + .rodata : { + *(.rodata*) + *(.got) + *(.got.plt) + *(.plt) + *(.rel.iplt) + *(.iplt) + *(.igot.plt) + } :text .text : { *(.text*) @@ -46,18 +54,7 @@ SECTIONS *(.v4_bx) } :text =0xe7f001f2 - .rel.dyn : { *(.rel.text) } - - .got : { *(.got) } - .rel.got : { *(.rel.got) } - .got.plt : { *(.got.plt) } - .rel.plt : { *(.rel.plt) } - .plt : { - *(.plt) - *(.rel.iplt) - *(.iplt) - *(.igot.plt) - } + .rel.dyn : { *(.rel*) } ELF_DETAILS .ARM.exidx : { *(.ARM.exidx*) } -- 2.7.4