[PATCH v5 1/4] arm64: vdso: put ELF related sections in the linker script
Vincenzo Frascino
vincenzo.frascino at arm.com
Tue May 10 03:39:19 PDT 2022
Hi Joey,
On 5/10/22 10:58, Joey Gouly wrote:
> Use macros from vmlinux.lds.h to explicitly name sections that are included
> in the VDSO output.
>
> Signed-off-by: Joey Gouly <joey.gouly at arm.com>
> Cc: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Will Deacon <will at kernel.org>
> Cc: Masahiro Yamada <masahiroy at kernel.org>
> Cc: Vincenzo Frascino <vincenzo.frascino at arm.com>
> Cc: Kees Cook <keescook at chromium.org>
> Reviewed-by: Kees Cook <keescook at chromium.org>
> Reviewed-by: Vincenzo Frascino <vincenzo.frascino at arm.com>
As a general rule, when you make a consistent change to a patch that was
previously reviewed you should drop the "Reviewed-by:" tag as an indication that
the patch needs to be reviewed again.
> ---
> arch/arm64/kernel/vdso/vdso.lds.S | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/arch/arm64/kernel/vdso/vdso.lds.S b/arch/arm64/kernel/vdso/vdso.lds.S
> index a5e61e09ea92..1cd85258c079 100644
> --- a/arch/arm64/kernel/vdso/vdso.lds.S
> +++ b/arch/arm64/kernel/vdso/vdso.lds.S
> @@ -11,6 +11,7 @@
> #include <linux/const.h>
> #include <asm/page.h>
> #include <asm/vdso.h>
> +#include <asm-generic/vmlinux.lds.h>
>
> OUTPUT_FORMAT("elf64-littleaarch64", "elf64-bigaarch64", "elf64-littleaarch64")
> OUTPUT_ARCH(aarch64)
> @@ -49,11 +50,26 @@ SECTIONS
>
> .dynamic : { *(.dynamic) } :text :dynamic
>
> + .rela.dyn : ALIGN(8) { *(.rela .rela*) }
> +
> + .plt : {
> + *(.plt)
> + *(.plt.*)
> + *(.iplt)
> + *(.igot .igot.plt)
> + }
> +
> + .got : { *(.got) }
> + .got.plt : { *(.got.plt) }
> +
The vDSO library does not contain absolute relocations. Is there any specific
reason why these sections are not part of ".rodata"?
Please refer to: lib/vdso/Makefile
Note: A similar comment applies to vdso32.
> .rodata : { *(.rodata*) } :text
>
> _end = .;
> PROVIDE(end = .);
>
> + DWARF_DEBUG
> + ELF_DETAILS
> +
> /DISCARD/ : {
> *(.data .data.* .gnu.linkonce.d.* .sdata*)
> *(.bss .sbss .dynbss .dynsbss)
--
Regards,
Vincenzo
More information about the linux-arm-kernel
mailing list