Re: [PATCH v2 3/5] kbuild: Use relative path for $(objtree)

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

 



On 2014-06-04 11:43, Michal Marek wrote:
> On 2014-06-04 11:03, Richard Weinberger wrote:
>> On Fri, May 9, 2014 at 2:52 PM, Michal Marek <mmarek@xxxxxxx> wrote:
>>> The main Makefile sets its working directory to the object tree and
>>> never changes it again. Therefore, we can use '.' instead of the
>>> absolute path. The only case where we need the absolute path is when
>>> creating the 'build' symlink in /lib/modules.
>>>
>>> Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx>
>>> Signed-off-by: Michal Marek <mmarek@xxxxxxx>
>>> ---
>>> v1->v2: Fix the 'build' symlink
>>>
>>>  Makefile | 4 ++--
>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/Makefile b/Makefile
>>> index 60ccbfe..480503a 100644
>>> --- a/Makefile
>>> +++ b/Makefile
>>> @@ -154,7 +154,7 @@ _all: modules
>>>  endif
>>>
>>>  srctree                := $(if $(KBUILD_SRC),$(KBUILD_SRC),$(CURDIR))
>>> -objtree                := $(CURDIR)
>>> +objtree                := .
>>>  src            := $(srctree)
>>>  obj            := $(objtree)
>>>
>>> @@ -1057,7 +1057,7 @@ _modinst_:
>>>         @ln -s $(srctree) $(MODLIB)/source
>>>         @if [ ! $(objtree) -ef  $(MODLIB)/build ]; then \
>>>                 rm -f $(MODLIB)/build ; \
>>> -               ln -s $(objtree) $(MODLIB)/build ; \
>>> +               ln -s $(CURDIR) $(MODLIB)/build ; \
>>>         fi
>>>         @cp -f $(objtree)/modules.order $(MODLIB)/
>>>         @cp -f $(objtree)/modules.builtin $(MODLIB)/
>>
>> This commit breaks the of-of-tree build of UML.
>>
>>   CC      arch/x86/um/user-offsets.s
>> /home/rw/linux-next/arch/x86/um/user-offsets.c:21:29: fatal error:
>> asm/syscalls_64.h: No such file or directory
>> compilation terminated.
>> make[2]: *** [arch/x86/um/user-offsets.s] Error 1
>> make[1]: *** [arch/x86/um/user-offsets.s] Error 2
>> make: *** [sub-make] Error 2
>>
>> To reproduce run:
>> make defconfig ARCH=um O=/mnt/o && make linux ARCH=um O=/mnt/
>>
>> If there is anything in UML which needs fixing, please tell. :-)
> 
> I'll have a look, thanks for the report.

Findings so far: For some reason, syscalls_32.h is generated in the
source tree (which is wrong) and syscalls_64.h is not generated at all.
Looking further.

Also, it looks like make O=/dir bzImage on x86_64 non-um has been broken
even before this commit. 'make all' works fine. Not sure if it is related.

Michal
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux