Jimi Xenidis
2006-Aug-22 12:47 UTC
[Xen-devel] Re: [Xen-staging] [xen-unstable] [LINUX] Support creating ELF note segments in the kernel ELF image.
On Aug 22, 2006, at 7:22 AM, Xen staging patchbot-unstable wrote:> # HG changeset patch > # User Ian Campbell <ian.campbell@xensource.com> > # Date 1156245643 -3600 > # Node ID a4550b7488400c44a9f27c92115c8e364493837a > # Parent cd4e7ace4e58d9e35c08ccaa4677c6b6d0cf137b > [LINUX] Support creating ELF note segments in the kernel ELF image. >[snip]> diff -r cd4e7ace4e58 -r a4550b748840 linux-2.6-xen-sparse/arch/i386/ > kernel/vmlinux.lds.S > --- a/linux-2.6-xen-sparse/arch/i386/kernel/vmlinux.lds.S Tue Aug > 22 11:34:46 2006 +0100 > +++ b/linux-2.6-xen-sparse/arch/i386/kernel/vmlinux.lds.S Tue Aug > 22 12:20:43 2006 +0100 > @@ -12,6 +12,12 @@ OUTPUT_ARCH(i386) > OUTPUT_ARCH(i386) > ENTRY(phys_startup_32) > jiffies = jiffies_64; > + > +PHDRS { > + text PT_LOAD FLAGS(5); /* R_E */ > + data PT_LOAD FLAGS(7); /* RWE */Are you sure you want to explicitly create a data segment that was not there before?> + note PT_NOTE FLAGS(4); /* R__ */FLAGS() should be zero. The NOTE segment(s) are usually for the ELF interpreter and not software accessible to the program. If it is your intention for this to be accessible by your program then you need a symbolic reference to it and it probably should not be in a segment all on its own. -JX _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2006-Aug-22 14:03 UTC
Re: [Xen-devel] Re: [Xen-staging] [xen-unstable] [LINUX] Support creating ELF note segments in the kernel ELF image.
On Tue, 2006-08-22 at 08:47 -0400, Jimi Xenidis wrote:> On Aug 22, 2006, at 7:22 AM, Xen staging patchbot-unstable wrote: > > > # HG changeset patch > > # User Ian Campbell <ian.campbell@xensource.com> > > # Date 1156245643 -3600 > > # Node ID a4550b7488400c44a9f27c92115c8e364493837a > > # Parent cd4e7ace4e58d9e35c08ccaa4677c6b6d0cf137b > > [LINUX] Support creating ELF note segments in the kernel ELF image. > > > [snip] > > diff -r cd4e7ace4e58 -r a4550b748840 linux-2.6-xen-sparse/arch/i386/ > > kernel/vmlinux.lds.S > > --- a/linux-2.6-xen-sparse/arch/i386/kernel/vmlinux.lds.S Tue Aug > > 22 11:34:46 2006 +0100 > > +++ b/linux-2.6-xen-sparse/arch/i386/kernel/vmlinux.lds.S Tue Aug > > 22 12:20:43 2006 +0100 > > @@ -12,6 +12,12 @@ OUTPUT_ARCH(i386) > > OUTPUT_ARCH(i386) > > ENTRY(phys_startup_32) > > jiffies = jiffies_64; > > + > > +PHDRS { > > + text PT_LOAD FLAGS(5); /* R_E */ > > + data PT_LOAD FLAGS(7); /* RWE */ > > Are you sure you want to explicitly create a data segment that was > not there before?I''m note 100% sure since this is a patch backported -mm but I think that may have been part of the intention.> > + note PT_NOTE FLAGS(4); /* R__ */ > > FLAGS() should be zero. The NOTE segment(s) are usually for the ELF > interpreter and not software accessible to the program. > If it is your intention for this to be accessible by your program > then you need a symbolic reference to it and it probably should not > be in a segment all on its own.We want to replace the __xen_guest string with a selection of ELF notes so these are for the use of the interpreter (i.e. the domain builder). I guess the flags is largely immaterial in this context but perhaps 0 would be a more sensible value, I''ll mention it upstream... BTW the reason for this is that the __xen_guest stuff was unpalatable for the upstream merge, plus the notes is a nicer interface anyway, IMHO... Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel