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

Re: [Xen-devel] [PATCH v6 21/24] xsplice: Stacking build-id dependency checking.



On Fri, Apr 08, 2016 at 07:19:37PM +0100, Andrew Cooper wrote:
> On 07/04/16 04:49, Konrad Rzeszutek Wilk wrote:
> > diff --git a/Config.mk b/Config.mk
> > index db70638..4b6f3f5 100644
> > --- a/Config.mk
> > +++ b/Config.mk
> > @@ -134,6 +134,7 @@ ifeq ($(call ld-ver-build-id,$(LD)),n)
> >  build_id_linker :=
> >  else
> >  CFLAGS += -DBUILD_ID
> > +export XEN_HAS_BUILD_ID=y
> >  build_id_linker := --build-id=sha1
> >  endif
> 
> This hunk looks like it wants to be in patch 17, with its counterpart
> export.

Except that we don't use it in patch #17. We end up exposing it here
and using it in the Kconfig file to modify whether xSplice can be built.

> 
> > @@ -28,15 +31,43 @@ clean::
> >  .PHONY: config.h
> >  config.h: OLD_CODE_SZ=$(call CODE_SZ,$(BASEDIR)/xen-syms,xen_extra_version)
> >  config.h: NEW_CODE_SZ=$(call CODE_SZ,$<,xen_hello_world)
> > -config.h: xen_hello_world_func.o
> > +config.h: xen_hello_world_func.o xen_bye_world_func.o
> >     (set -e; \
> >      echo "#define NEW_CODE_SZ $(NEW_CODE_SZ)"; \
> >      echo "#define OLD_CODE_SZ $(OLD_CODE_SZ)") > $@
> >  
> > +#
> > +# This target is only accessible if CONFIG_XSPLICE is defined, which
> > +# depends on $(build_id_linker) being available. Hence we do not
> > +# need any checks.
> > +#
> > +.PHONY: notes.o
> > +notes.o:
> > +   $(OBJCOPY) -O binary --only-section=.note $(BASEDIR)/xen-syms $@.bin
> > +   $(OBJCOPY) -I binary -O elf64-x86-64 -B i386:x86-64 \
> > +              --rename-section=.data=.xsplice.depends -S $@.bin $@
> > +   rm -f $@.bin
> 
> Can you not use the notes.o generated alongside xen-syms ?

I need to tweak the file. That is the .note ends up being renamed to
.xsplice.depends.

If operate on the one in arch/x86/notes.o I can mess things up.
I could operate on the notes.o.bin - but that gets deleted during
the build.

Hence this.
> 
> > @@ -427,6 +438,8 @@ static int check_special_sections(const struct 
> > xsplice_elf *elf)
> >      return 0;
> >  }
> >  
> > +#define NT_GNU_BUILD_ID 3
> > +
> 
> This, being a defacto standard, should probably be in elfstruct.h

That is prob
> 
> Otherwise, Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

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