lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Sat, 12 Aug 2017 18:49:49 +0800
From:   Cao jin <caoj.fnst@...fujitsu.com>
To:     Masahiro Yamada <yamada.masahiro@...ionext.com>
CC:     Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>,
        Michal Marek <mmarek@...e.com>
Subject: Re: [PATCH] fixdep: trivial: typo fix and correction



On 08/12/2017 07:31 AM, Masahiro Yamada wrote:
> Hi.
> 
> 2017-08-10 22:50 GMT+09:00 Cao jin <caoj.fnst@...fujitsu.com>:
>> Hi Masahiro-san
>>
>> On 08/10/2017 12:05 AM, Masahiro Yamada wrote:
>>> 2017-08-08 22:20 GMT+09:00 Cao jin <caoj.fnst@...fujitsu.com>:
>>>> Signed-off-by: Cao jin <caoj.fnst@...fujitsu.com>
>>>
>>> Applied to linux-kbuild/fixes.  Thanks!
>>>
>>
>> I want to ask a question via this thread.
>>
>> I am tracing how each kernel source file compiled, and I met mounts-y in
>> init/Makefile, I have trouble in finding the rule which compile
>> $(mounts-y), but I clearly see the files in $(mounts-y) are compiled in
>> the output of `make -n vmlinux`, but the files listed in mounts-y are
>> not listed in obj-y. I think I must miss something, could you give some
>> hint?
>>
> 
> 
> The magic is the following line:
> 
> scripts/Makefile.lib  line 55
> 
> # if $(foo-objs) exists, foo.o is a composite object
> multi-used-y := $(sort $(foreach m,$(obj-y), $(if $(strip
> $($(m:.o=-objs)) $($(m:.o=-y))), $(m))))
> 
> 
> If foo.o is added to obj-y and foo-objs or foo-y exist,
> they are also expanded.
> 
> 
> 
> 
> 
> If you see init/Makefile, mounts.o is added to obj-y.
> 
> obj-y                          := main.o version.o mounts.o
> 
> 

Finally figured out how $(mounts-y) is compiled and how init/mounts.o is
linked, it is a bit complex than I expected, your hint really helps:)
Thanks you very much, Masahiro-san.

-- 
Sincerely,
Cao jin


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ