[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 1/4] xen/link: Cope with .rodata.cst* sections



On Wed, Jun 19, 2019 at 10:18:42PM +0100, Julien Grall wrote:
> Hi Andrew,
> 
> On 6/19/19 9:11 PM, Andrew Cooper wrote:
> > .rodata.cst* sections are used for mergable constant data, and the 
> > clang/llvm
> > 8 toolchain has been observed to create .rodata.cst8 in a default Xen build.
> > 
> > Unfortunately, this section (and its .init counterpart) aren't captured by
> > Xen's linker globs, and end up as orphaned sections.
> > 
> > Generalise the data globbing to pick up cst and future special sections.
> > 
> > Reported-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
> > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> > ---
> > CC: Jan Beulich <JBeulich@xxxxxxxx>
> > CC: Wei Liu <wl@xxxxxxx>
> > CC: Roger Pau Monné <roger.pau@xxxxxxxxxx>
> > CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> > CC: Julien Grall <julien.grall@xxxxxxx>
> > ---
> >   xen/arch/arm/xen.lds.S | 9 +++------
> >   xen/arch/x86/xen.lds.S | 9 +++------
> >   2 files changed, 6 insertions(+), 12 deletions(-)
> > 
> > diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
> > index e664c44..31d74a8 100644
> > --- a/xen/arch/arm/xen.lds.S
> > +++ b/xen/arch/arm/xen.lds.S
> > @@ -96,8 +96,7 @@ SECTIONS
> >          __start_schedulers_array = .;
> >          *(.data.schedulers)
> >          __end_schedulers_array = .;
> > -       *(.data.rel)
> > -       *(.data.rel.*)
> > +       *(.data.*)
> 
> My knowledge of linker is quite limited, so I might be wrong. But will not
> this match .data.vcpi & co?

AFAICT the x86 part of this change is fine, because the wildcard
matches are added after the more narrow matches of .data.* sections.

However for ARM the change is not correct, since the .data.* wildcard
is added before the more narrow match of .data.vpci.*. This could be
solved by moving the .data section at the end of the script (ie: after
the .init sections), like it's done on x86.

Thanks, Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.