On Wed, Mar 09, 2022 at 02:58:06PM +0000, Andrew Cooper wrote:
> On 09/03/2022 12:28, Roger Pau Monne wrote:
> > diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
> > index 960c51eb4c..4103763f63 100644
> > --- a/xen/arch/x86/xen.lds.S
> > +++ b/xen/arch/x86/xen.lds.S
> > @@ -87,9 +87,12 @@ SECTIONS
> >         *(.text.cold)
> >         *(.text.unlikely .text.*_unlikely .text.unlikely.*)
> >  
> > +       *(.text.page_aligned)
> >         *(.text)
> > +#ifdef CONFIG_CC_SPLIT_SECTIONS
> > +       *(.text.*)
> > +#endif
> >         *(.text.__x86_indirect_thunk_*)
> > -       *(.text.page_aligned)
> >  
> >         *(.fixup)
> >         *(.gnu.warning)
> > @@ -292,9 +295,7 @@ SECTIONS
> >  
> >    DECL_SECTION(.data) {
> >         *(.data.page_aligned)
> > -       *(.data)
> > -       *(.data.rel)
> > -       *(.data.rel.*)
> > +       *(.data .data.*)
> >    } PHDR(text)
> >  
> >    DECL_SECTION(.bss) {
> > @@ -309,7 +310,7 @@ SECTIONS
> >         *(.bss.percpu.read_mostly)
> >         . = ALIGN(SMP_CACHE_BYTES);
> >         __per_cpu_data_end = .;
> > -       *(.bss)
> > +       *(.bss .bss.*)
> 
> Sorry if I've missed it elsewhere, but why are .data.* and .bss.*
> unguarded, but .text.* under ifdef ?
> 
> Surely they should have the same disposition?

The catch-all .text.* added for -ffunction-sections will mean that
.text.startup and .text.exit will end up in .text instead of in .init
and discarded respectively. That's not the case for the data or bss
catch-alls.

Thanks, Roger.

Reply via email to