WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH 10/11] move various bits into .init.* sections

>>> On 09.03.11 at 17:19, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
> On Wed, 2011-03-09 at 14:09 +0000, Jan Beulich wrote:
>> >>> On 09.03.11 at 14:30, Tim Deegan <Tim.Deegan@xxxxxxxxxx> wrote:
>> > At 12:30 +0000 on 09 Mar (1299673837), Jan Beulich wrote:
>> >> --- 2011-03-09.orig/xen/arch/x86/Makefile
>> >> +++ 2011-03-09/xen/arch/x86/Makefile
>> >> @@ -16,10 +16,10 @@ obj-y += copy_page.o
>> >>  obj-y += compat.o
>> >>  obj-y += debug.o
>> >>  obj-y += delay.o
>> >> -obj-y += dmi_scan.o
>> >> +obj-bin-y += dmi_scan.init.o
>> >>  obj-y += domctl.o
>> >>  obj-y += domain.o
>> >> -obj-y += domain_build.o
>> >> +obj-bin-y += domain_build.init.o
>> >>  obj-y += e820.o
>> >>  obj-y += extable.o
>> >>  obj-y += flushtlb.o
>> > 
>> > I don't understand this - have you some reason for needing those objects
>> > to be built as binaries?  Also I don't see a rule that makes %.init.o
>> > from %.c but I may just have missed some Makefile-fu. 
>> 
>> The (new) rule constructs %.init.o from %.o, prefixing .init to
>> various (data) sections.
> 
> So it's equivalent to adding __init everywhere in those files?

No - it requires __init/__initdata to be used everywhere in that file
(really just a safeguard against accidental additions of non-init stuff),
and will then turn compiler generated sections (like the .rodata.*
ones to place strings) into .init.* ones.

The equivalent (or actually superset) of adding __init/__initdata
everywhere in a file is done exclusively in xen/common/libelf/ so
far.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel