Message ID | 303b0288-d372-315b-16f9-4116d7f478fc@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Arm: drop bogus ALIGN() from linker script | expand |
On Wed, 14 Jun 2023, Jan Beulich wrote: > Having ALIGN() inside a section definition usually makes sense only with > a label definition following (an exception case is a few lines out of > context, where cache line sharing is intended to be avoided). > Constituents of .bss.page_aligned need to specify their own alignment > correctly anyway, or else they're susceptible to link order changing. > This requirement is already met: Arm-specific code has no such object, > while common (EFI) code has another one. That one has suitable alignment > specified. > > Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Stefano Stabellini <sstabellini@kernel.org> > --- > Note how RISC-V had this dropped pretty recently. > > --- a/xen/arch/arm/xen.lds.S > +++ b/xen/arch/arm/xen.lds.S > @@ -199,7 +199,6 @@ SECTIONS > .bss : { /* BSS */ > __bss_start = .; > *(.bss.stack_aligned) > - . = ALIGN(PAGE_SIZE); > *(.bss.page_aligned) > . = ALIGN(PAGE_SIZE); > __per_cpu_start = .; >
--- a/xen/arch/arm/xen.lds.S +++ b/xen/arch/arm/xen.lds.S @@ -199,7 +199,6 @@ SECTIONS .bss : { /* BSS */ __bss_start = .; *(.bss.stack_aligned) - . = ALIGN(PAGE_SIZE); *(.bss.page_aligned) . = ALIGN(PAGE_SIZE); __per_cpu_start = .;
Having ALIGN() inside a section definition usually makes sense only with a label definition following (an exception case is a few lines out of context, where cache line sharing is intended to be avoided). Constituents of .bss.page_aligned need to specify their own alignment correctly anyway, or else they're susceptible to link order changing. This requirement is already met: Arm-specific code has no such object, while common (EFI) code has another one. That one has suitable alignment specified. Signed-off-by: Jan Beulich <jbeulich@suse.com> --- Note how RISC-V had this dropped pretty recently.