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

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


 


Rackspace

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