The .data section doesn't need to be separate from .rodata section,
they are both readonly.
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
---
arch/riscv/kernel/vdso/vdso.lds.S | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/arch/riscv/kernel/vdso/vdso.lds.S b/arch/riscv/kernel/vdso/vdso.lds.S
index d43fd7c7dd11..671aa21769bc 100644
--- a/arch/riscv/kernel/vdso/vdso.lds.S
+++ b/arch/riscv/kernel/vdso/vdso.lds.S
@@ -29,7 +29,13 @@ SECTIONS
.eh_frame_hdr : { *(.eh_frame_hdr) } :text :eh_frame_hdr
.eh_frame : { KEEP (*(.eh_frame)) } :text
- .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
+ .rodata : {
+ *(.rodata .rodata.* .gnu.linkonce.r.*)
+ *(.got.plt) *(.got)
+ *(.data .data.* .gnu.linkonce.d.*)
+ *(.dynbss)
+ *(.bss .bss.* .gnu.linkonce.b.*)
+ }
/*
* This linker script is used both with -r and with -shared.
@@ -44,13 +50,6 @@ SECTIONS
.alternative : {
*(.alternative)
}
-
- .data : {
- *(.got.plt) *(.got)
- *(.data .data.* .gnu.linkonce.d.*)
- *(.dynbss)
- *(.bss .bss.* .gnu.linkonce.b.*)
- }
}
/*
--
2.40.1
On Thu, Jul 27, 2023 at 01:30:23AM +0800, Jisheng Zhang wrote: > The .data section doesn't need to be separate from .rodata section, > they are both readonly. > > Signed-off-by: Jisheng Zhang <jszhang@kernel.org> > --- > arch/riscv/kernel/vdso/vdso.lds.S | 15 +++++++-------- > 1 file changed, 7 insertions(+), 8 deletions(-) > > diff --git a/arch/riscv/kernel/vdso/vdso.lds.S b/arch/riscv/kernel/vdso/vdso.lds.S > index d43fd7c7dd11..671aa21769bc 100644 > --- a/arch/riscv/kernel/vdso/vdso.lds.S > +++ b/arch/riscv/kernel/vdso/vdso.lds.S > @@ -29,7 +29,13 @@ SECTIONS > .eh_frame_hdr : { *(.eh_frame_hdr) } :text :eh_frame_hdr > .eh_frame : { KEEP (*(.eh_frame)) } :text > > - .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } > + .rodata : { > + *(.rodata .rodata.* .gnu.linkonce.r.*) > + *(.got.plt) *(.got) > + *(.data .data.* .gnu.linkonce.d.*) > + *(.dynbss) > + *(.bss .bss.* .gnu.linkonce.b.*) Looking at other architectures, it appears the last three lines of sections could be discarded, but I don't know enough about this to state they should be. Thanks, drew > + } > > /* > * This linker script is used both with -r and with -shared. > @@ -44,13 +50,6 @@ SECTIONS > .alternative : { > *(.alternative) > } > - > - .data : { > - *(.got.plt) *(.got) > - *(.data .data.* .gnu.linkonce.d.*) > - *(.dynbss) > - *(.bss .bss.* .gnu.linkonce.b.*) > - } > } > > /* > -- > 2.40.1 >
On Fri, Jul 28, 2023 at 02:57:03PM +0200, Andrew Jones wrote: > On Thu, Jul 27, 2023 at 01:30:23AM +0800, Jisheng Zhang wrote: > > The .data section doesn't need to be separate from .rodata section, > > they are both readonly. > > > > Signed-off-by: Jisheng Zhang <jszhang@kernel.org> > > --- > > arch/riscv/kernel/vdso/vdso.lds.S | 15 +++++++-------- > > 1 file changed, 7 insertions(+), 8 deletions(-) > > > > diff --git a/arch/riscv/kernel/vdso/vdso.lds.S b/arch/riscv/kernel/vdso/vdso.lds.S > > index d43fd7c7dd11..671aa21769bc 100644 > > --- a/arch/riscv/kernel/vdso/vdso.lds.S > > +++ b/arch/riscv/kernel/vdso/vdso.lds.S > > @@ -29,7 +29,13 @@ SECTIONS > > .eh_frame_hdr : { *(.eh_frame_hdr) } :text :eh_frame_hdr > > .eh_frame : { KEEP (*(.eh_frame)) } :text > > > > - .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } > > + .rodata : { > > + *(.rodata .rodata.* .gnu.linkonce.r.*) > > + *(.got.plt) *(.got) > > + *(.data .data.* .gnu.linkonce.d.*) > > + *(.dynbss) > > + *(.bss .bss.* .gnu.linkonce.b.*) > > Looking at other architectures, it appears the last three lines of > sections could be discarded, but I don't know enough about this to Hi Andrew, I checked x86, they still keep those sections. From another side, even if those sections are not needed, removing unused sections could be an independent patch, for safe reason or bisect reason. Thanks > state they should be. > > Thanks, > drew > > > > + } > > > > /* > > * This linker script is used both with -r and with -shared. > > @@ -44,13 +50,6 @@ SECTIONS > > .alternative : { > > *(.alternative) > > } > > - > > - .data : { > > - *(.got.plt) *(.got) > > - *(.data .data.* .gnu.linkonce.d.*) > > - *(.dynbss) > > - *(.bss .bss.* .gnu.linkonce.b.*) > > - } > > } > > > > /* > > -- > > 2.40.1 > >
© 2016 - 2025 Red Hat, Inc.