Message ID | 1399639944-20551-4-git-send-email-mmarek@suse.cz (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, May 9, 2014 at 2:52 PM, Michal Marek <mmarek@suse.cz> 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@ravnborg.org> > Signed-off-by: Michal Marek <mmarek@suse.cz> > --- > 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. :-)
On 2014-06-04 11:03, Richard Weinberger wrote: > On Fri, May 9, 2014 at 2:52 PM, Michal Marek <mmarek@suse.cz> 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@ravnborg.org> >> Signed-off-by: Michal Marek <mmarek@suse.cz> >> --- >> 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. Michal -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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@suse.cz> 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@ravnborg.org> >>> Signed-off-by: Michal Marek <mmarek@suse.cz> >>> --- >>> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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)/