On Mon, May 02, 2016 at 12:37:09AM -0600, Jan Beulich wrote:
> >>> On 27.04.16 at 21:27, wrote:
> > @@ -506,6 +518,37 @@ static int prepare_payload(struct payload *payload,
> > }
> > }
> >
> > +sec = xsplice_elf_sec_by_name(elf, ELF_BUILD_ID_NOTE);
> > +if ( sec )
> > +
>>> On 27.04.16 at 21:27, wrote:
> @@ -506,6 +518,37 @@ static int prepare_payload(struct payload *payload,
> }
> }
>
> +sec = xsplice_elf_sec_by_name(elf, ELF_BUILD_ID_NOTE);
> +if ( sec )
> +{
> +n = sec->load_addr;
> +
> +if ( sec->sec->sh_size <= siz
>>> On 27.04.16 at 21:27, wrote:
> --- a/xen/arch/x86/test/Makefile
> +++ b/xen/arch/x86/test/Makefile
> @@ -6,17 +6,20 @@ CODE_SZ=$(shell nm --defined -S $(1) | grep $(2) | awk '{
> print "0x"$$2}')
> .PHONY: default
>
> XSPLICE := xen_hello_world.xsplice
> +XSPLICE_BYE := xen_bye_world.xspl
We now expect that the ELF payloads be built with the
--build-id.
Also the .xsplice.deps section has to have the contents
of the hypervisor (or a preceding payload) build-id.
We already have the code to verify the Elf_Note build-id
so export parts of it.
This dependency means the hypervisor MUST