|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|