* [PATCH]: cross-compiling x86_64 kernel on i386 user-space fails
@ 2014-11-22 9:51 Chris Clayton
2014-11-22 11:14 ` Borislav Petkov
2014-11-23 20:24 ` [tip:x86/urgent] x86: Use $(OBJDUMP) instead of plain objdump tip-bot for Chris Clayton
0 siblings, 2 replies; 8+ messages in thread
From: Chris Clayton @ 2014-11-22 9:51 UTC (permalink / raw)
To: LKML
Hi,
Commit e6023367d779060fddc9a52d1f474085b2b36298 broke building an x86_64 kernel in an i386. The change added a call to
objdump but neglected to cater for cross-compiling.
The patch below fixes the problem for me. I see the commit is now in 3.14 and 3.17 -stable, so the patch needs to go
there too.
CC: Junjie Mao <eternal.n08@gmail.com>
CC: Kees Cook <keescook@chromium.org>
CC: Thomas Gleixner <tglx@linutronix.de>
CC: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Chris Clayton <chris2553@googlemail.com>
---
--- linux/arch/x86/boot/compressed/Makefile~ 2014-11-22 08:56:50.359706324 +0000
+++ linux/arch/x86/boot/compressed/Makefile 2014-11-22 09:04:06.615693435 +0000
@@ -76,7 +76,7 @@ suffix-$(CONFIG_KERNEL_XZ) := xz
suffix-$(CONFIG_KERNEL_LZO) := lzo
suffix-$(CONFIG_KERNEL_LZ4) := lz4
-RUN_SIZE = $(shell objdump -h vmlinux | \
+RUN_SIZE = $(shell ${CROSS_COMPILE}objdump -h vmlinux | \
perl $(srctree)/arch/x86/tools/calc_run_size.pl)
quiet_cmd_mkpiggy = MKPIGGY $@
cmd_mkpiggy = $(obj)/mkpiggy $< $(RUN_SIZE) > $@ || ( rm -f $@ ; false )
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH]: cross-compiling x86_64 kernel on i386 user-space fails
2014-11-22 9:51 [PATCH]: cross-compiling x86_64 kernel on i386 user-space fails Chris Clayton
@ 2014-11-22 11:14 ` Borislav Petkov
2014-11-22 16:00 ` Kees Cook
2014-11-23 19:27 ` Thomas Gleixner
2014-11-23 20:24 ` [tip:x86/urgent] x86: Use $(OBJDUMP) instead of plain objdump tip-bot for Chris Clayton
1 sibling, 2 replies; 8+ messages in thread
From: Borislav Petkov @ 2014-11-22 11:14 UTC (permalink / raw)
To: Chris Clayton; +Cc: LKML, Junjie Mao, Kees Cook, x86-ml
On Sat, Nov 22, 2014 at 09:51:10AM +0000, Chris Clayton wrote:
> Hi,
Yeah, next time make sure you actually CC people :-)
I've added them to CC now.
> Commit e6023367d779060fddc9a52d1f474085b2b36298 broke building an x86_64 kernel in an i386. The change added a call to
> objdump but neglected to cater for cross-compiling.
>
> The patch below fixes the problem for me. I see the commit is now in 3.14 and 3.17 -stable, so the patch needs to go
> there too.
CC: stable@vger.kernel.org
in the commit message should help there.
> CC: Junjie Mao <eternal.n08@gmail.com>
> CC: Kees Cook <keescook@chromium.org>
> CC: Thomas Gleixner <tglx@linutronix.de>
> CC: Ingo Molnar <mingo@kernel.org>
> Signed-off-by: Chris Clayton <chris2553@googlemail.com>
Acked-by: Borislav Petkov <bp@suse.de>
> ---
> --- linux/arch/x86/boot/compressed/Makefile~ 2014-11-22 08:56:50.359706324 +0000
> +++ linux/arch/x86/boot/compressed/Makefile 2014-11-22 09:04:06.615693435 +0000
> @@ -76,7 +76,7 @@ suffix-$(CONFIG_KERNEL_XZ) := xz
> suffix-$(CONFIG_KERNEL_LZO) := lzo
> suffix-$(CONFIG_KERNEL_LZ4) := lz4
>
> -RUN_SIZE = $(shell objdump -h vmlinux | \
> +RUN_SIZE = $(shell ${CROSS_COMPILE}objdump -h vmlinux | \
> perl $(srctree)/arch/x86/tools/calc_run_size.pl)
> quiet_cmd_mkpiggy = MKPIGGY $@
> cmd_mkpiggy = $(obj)/mkpiggy $< $(RUN_SIZE) > $@ || ( rm -f $@ ; false )
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
Regards/Gruss,
Boris.
Sent from a fat crate under my desk. Formatting is fine.
--
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH]: cross-compiling x86_64 kernel on i386 user-space fails
2014-11-22 11:14 ` Borislav Petkov
@ 2014-11-22 16:00 ` Kees Cook
2014-11-23 19:27 ` Thomas Gleixner
1 sibling, 0 replies; 8+ messages in thread
From: Kees Cook @ 2014-11-22 16:00 UTC (permalink / raw)
To: Borislav Petkov; +Cc: Chris Clayton, LKML, Junjie Mao, x86-ml
On Sat, Nov 22, 2014 at 3:14 AM, Borislav Petkov <bp@alien8.de> wrote:
> On Sat, Nov 22, 2014 at 09:51:10AM +0000, Chris Clayton wrote:
>> Hi,
>
> Yeah, next time make sure you actually CC people :-)
>
> I've added them to CC now.
>
>> Commit e6023367d779060fddc9a52d1f474085b2b36298 broke building an x86_64 kernel in an i386. The change added a call to
>> objdump but neglected to cater for cross-compiling.
>>
>> The patch below fixes the problem for me. I see the commit is now in 3.14 and 3.17 -stable, so the patch needs to go
>> there too.
Good catch, thanks!
>
> CC: stable@vger.kernel.org
>
> in the commit message should help there.
>
>
>> CC: Junjie Mao <eternal.n08@gmail.com>
>> CC: Kees Cook <keescook@chromium.org>
>> CC: Thomas Gleixner <tglx@linutronix.de>
>> CC: Ingo Molnar <mingo@kernel.org>
>> Signed-off-by: Chris Clayton <chris2553@googlemail.com>
>
> Acked-by: Borislav Petkov <bp@suse.de>
Acked-by: Kees Cook <keescook@chromium.org>
-Kees
>
>> ---
>> --- linux/arch/x86/boot/compressed/Makefile~ 2014-11-22 08:56:50.359706324 +0000
>> +++ linux/arch/x86/boot/compressed/Makefile 2014-11-22 09:04:06.615693435 +0000
>> @@ -76,7 +76,7 @@ suffix-$(CONFIG_KERNEL_XZ) := xz
>> suffix-$(CONFIG_KERNEL_LZO) := lzo
>> suffix-$(CONFIG_KERNEL_LZ4) := lz4
>>
>> -RUN_SIZE = $(shell objdump -h vmlinux | \
>> +RUN_SIZE = $(shell ${CROSS_COMPILE}objdump -h vmlinux | \
>> perl $(srctree)/arch/x86/tools/calc_run_size.pl)
>> quiet_cmd_mkpiggy = MKPIGGY $@
>> cmd_mkpiggy = $(obj)/mkpiggy $< $(RUN_SIZE) > $@ || ( rm -f $@ ; false )
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at http://www.tux.org/lkml/
>>
>
> --
> Regards/Gruss,
> Boris.
>
> Sent from a fat crate under my desk. Formatting is fine.
> --
--
Kees Cook
Chrome OS Security
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH]: cross-compiling x86_64 kernel on i386 user-space fails
2014-11-22 11:14 ` Borislav Petkov
2014-11-22 16:00 ` Kees Cook
@ 2014-11-23 19:27 ` Thomas Gleixner
2014-11-23 19:57 ` Borislav Petkov
1 sibling, 1 reply; 8+ messages in thread
From: Thomas Gleixner @ 2014-11-23 19:27 UTC (permalink / raw)
To: Borislav Petkov; +Cc: Chris Clayton, LKML, Junjie Mao, Kees Cook, x86-ml
On Sat, 22 Nov 2014, Borislav Petkov wrote:
> On Sat, Nov 22, 2014 at 09:51:10AM +0000, Chris Clayton wrote:
> > Hi,
>
> Yeah, next time make sure you actually CC people :-)
>
> I've added them to CC now.
>
> > Commit e6023367d779060fddc9a52d1f474085b2b36298 broke building an x86_64 kernel in an i386. The change added a call to
> > objdump but neglected to cater for cross-compiling.
> >
> > The patch below fixes the problem for me. I see the commit is now in 3.14 and 3.17 -stable, so the patch needs to go
> > there too.
That's not a specific problem of building x86_64 on i386. The missing
cross compile prefix prevents any cross build of x86.
> CC: stable@vger.kernel.org
>
> in the commit message should help there.
>
>
> > CC: Junjie Mao <eternal.n08@gmail.com>
> > CC: Kees Cook <keescook@chromium.org>
> > CC: Thomas Gleixner <tglx@linutronix.de>
> > CC: Ingo Molnar <mingo@kernel.org>
> > Signed-off-by: Chris Clayton <chris2553@googlemail.com>
>
> Acked-by: Borislav Petkov <bp@suse.de>
>
> > ---
> > --- linux/arch/x86/boot/compressed/Makefile~ 2014-11-22 08:56:50.359706324 +0000
> > +++ linux/arch/x86/boot/compressed/Makefile 2014-11-22 09:04:06.615693435 +0000
> > @@ -76,7 +76,7 @@ suffix-$(CONFIG_KERNEL_XZ) := xz
> > suffix-$(CONFIG_KERNEL_LZO) := lzo
> > suffix-$(CONFIG_KERNEL_LZ4) := lz4
> >
> > -RUN_SIZE = $(shell objdump -h vmlinux | \
> > +RUN_SIZE = $(shell ${CROSS_COMPILE}objdump -h vmlinux | \
While that works, this wants to be:
+RUN_SIZE = $(shell $(OBJDUMP) -h vmlinux | \
I'll fix it up.
Thanks,
tglx
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH]: cross-compiling x86_64 kernel on i386 user-space fails
2014-11-23 19:27 ` Thomas Gleixner
@ 2014-11-23 19:57 ` Borislav Petkov
0 siblings, 0 replies; 8+ messages in thread
From: Borislav Petkov @ 2014-11-23 19:57 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: Chris Clayton, LKML, Junjie Mao, Kees Cook, x86-ml
On Sun, Nov 23, 2014 at 08:27:24PM +0100, Thomas Gleixner wrote:
> While that works, this wants to be:
>
> +RUN_SIZE = $(shell $(OBJDUMP) -h vmlinux | \
Ah, true:
$ git grep OBJDUMP Makefile
Makefile:363:OBJDUMP = $(CROSS_COMPILE)objdump
Makefile:420:export CPP AR NM STRIP OBJCOPY OBJDUMP
Makefile:1483: $(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \
Thanks.
--
Regards/Gruss,
Boris.
Sent from a fat crate under my desk. Formatting is fine.
--
^ permalink raw reply [flat|nested] 8+ messages in thread
* [tip:x86/urgent] x86: Use $(OBJDUMP) instead of plain objdump
2014-11-22 9:51 [PATCH]: cross-compiling x86_64 kernel on i386 user-space fails Chris Clayton
2014-11-22 11:14 ` Borislav Petkov
@ 2014-11-23 20:24 ` tip-bot for Chris Clayton
2014-12-01 20:48 ` Chris Clayton
1 sibling, 1 reply; 8+ messages in thread
From: tip-bot for Chris Clayton @ 2014-11-23 20:24 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, eternal.n08, keescook, hpa, hpa, chris2553, tglx,
mingo, bp
Commit-ID: e2e68ae688b0a3766cd75aedf4ed4e39be402009
Gitweb: http://git.kernel.org/tip/e2e68ae688b0a3766cd75aedf4ed4e39be402009
Author: Chris Clayton <chris2553@googlemail.com>
AuthorDate: Sat, 22 Nov 2014 09:51:10 +0000
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sun, 23 Nov 2014 21:21:53 +0100
x86: Use $(OBJDUMP) instead of plain objdump
commit e6023367d779 'x86, kaslr: Prevent .bss from overlaping initrd'
broke the cross compile of x86. It added a objdump invocation, which
invokes the host native objdump and ignores an active cross tool
chain.
Use $(OBJDUMP) instead which takes the CROSS_COMPILE prefix into
account.
[ tglx: Massage changelog and use $(OBJDUMP) ]
Fixes: e6023367d779 'x86, kaslr: Prevent .bss from overlaping initrd'
Signed-off-by: Chris Clayton <chris2553@googlemail.com>
Acked-by: Kees Cook <keescook@chromium.org>
Acked-by: Borislav Petkov <bp@suse.de>
Cc: Junjie Mao <eternal.n08@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: H. Peter Anvin <hpa@linux.intel.com>
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/54705C8E.1080400@googlemail.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
arch/x86/boot/compressed/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile
index be1e07d..45abc36 100644
--- a/arch/x86/boot/compressed/Makefile
+++ b/arch/x86/boot/compressed/Makefile
@@ -76,7 +76,7 @@ suffix-$(CONFIG_KERNEL_XZ) := xz
suffix-$(CONFIG_KERNEL_LZO) := lzo
suffix-$(CONFIG_KERNEL_LZ4) := lz4
-RUN_SIZE = $(shell objdump -h vmlinux | \
+RUN_SIZE = $(shell $(OBJDUMP) -h vmlinux | \
perl $(srctree)/arch/x86/tools/calc_run_size.pl)
quiet_cmd_mkpiggy = MKPIGGY $@
cmd_mkpiggy = $(obj)/mkpiggy $< $(RUN_SIZE) > $@ || ( rm -f $@ ; false )
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [tip:x86/urgent] x86: Use $(OBJDUMP) instead of plain objdump
2014-11-23 20:24 ` [tip:x86/urgent] x86: Use $(OBJDUMP) instead of plain objdump tip-bot for Chris Clayton
@ 2014-12-01 20:48 ` Chris Clayton
2014-12-01 21:13 ` Thomas Gleixner
0 siblings, 1 reply; 8+ messages in thread
From: Chris Clayton @ 2014-12-01 20:48 UTC (permalink / raw)
To: linux-kernel, eternal.n08, keescook, hpa, hpa, tglx, bp, mingo,
linux-tip-commits
Hi,
Is it planned to get this fix through in time for release of 3.18? It appears to have been in -next for a week.
Chris
On 11/23/14 20:24, tip-bot for Chris Clayton wrote:
> Commit-ID: e2e68ae688b0a3766cd75aedf4ed4e39be402009
> Gitweb: http://git.kernel.org/tip/e2e68ae688b0a3766cd75aedf4ed4e39be402009
> Author: Chris Clayton <chris2553@googlemail.com>
> AuthorDate: Sat, 22 Nov 2014 09:51:10 +0000
> Committer: Thomas Gleixner <tglx@linutronix.de>
> CommitDate: Sun, 23 Nov 2014 21:21:53 +0100
>
> x86: Use $(OBJDUMP) instead of plain objdump
>
> commit e6023367d779 'x86, kaslr: Prevent .bss from overlaping initrd'
> broke the cross compile of x86. It added a objdump invocation, which
> invokes the host native objdump and ignores an active cross tool
> chain.
>
> Use $(OBJDUMP) instead which takes the CROSS_COMPILE prefix into
> account.
>
> [ tglx: Massage changelog and use $(OBJDUMP) ]
>
> Fixes: e6023367d779 'x86, kaslr: Prevent .bss from overlaping initrd'
> Signed-off-by: Chris Clayton <chris2553@googlemail.com>
> Acked-by: Kees Cook <keescook@chromium.org>
> Acked-by: Borislav Petkov <bp@suse.de>
> Cc: Junjie Mao <eternal.n08@gmail.com>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: H. Peter Anvin <hpa@linux.intel.com>
> Cc: stable@vger.kernel.org
> Link: http://lkml.kernel.org/r/54705C8E.1080400@googlemail.com
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> ---
> arch/x86/boot/compressed/Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile
> index be1e07d..45abc36 100644
> --- a/arch/x86/boot/compressed/Makefile
> +++ b/arch/x86/boot/compressed/Makefile
> @@ -76,7 +76,7 @@ suffix-$(CONFIG_KERNEL_XZ) := xz
> suffix-$(CONFIG_KERNEL_LZO) := lzo
> suffix-$(CONFIG_KERNEL_LZ4) := lz4
>
> -RUN_SIZE = $(shell objdump -h vmlinux | \
> +RUN_SIZE = $(shell $(OBJDUMP) -h vmlinux | \
> perl $(srctree)/arch/x86/tools/calc_run_size.pl)
> quiet_cmd_mkpiggy = MKPIGGY $@
> cmd_mkpiggy = $(obj)/mkpiggy $< $(RUN_SIZE) > $@ || ( rm -f $@ ; false )
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [tip:x86/urgent] x86: Use $(OBJDUMP) instead of plain objdump
2014-12-01 20:48 ` Chris Clayton
@ 2014-12-01 21:13 ` Thomas Gleixner
0 siblings, 0 replies; 8+ messages in thread
From: Thomas Gleixner @ 2014-12-01 21:13 UTC (permalink / raw)
To: Chris Clayton
Cc: linux-kernel, eternal.n08, keescook, hpa, hpa, bp, mingo,
linux-tip-commits
On Mon, 1 Dec 2014, Chris Clayton wrote:
> Is it planned to get this fix through in time for release of 3.18?
> It appears to have been in -next for a week.
Yes. I missed it for rc7, but its scheduled for 3.18 final.
Thanks,
tglx
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-12-01 21:14 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-22 9:51 [PATCH]: cross-compiling x86_64 kernel on i386 user-space fails Chris Clayton
2014-11-22 11:14 ` Borislav Petkov
2014-11-22 16:00 ` Kees Cook
2014-11-23 19:27 ` Thomas Gleixner
2014-11-23 19:57 ` Borislav Petkov
2014-11-23 20:24 ` [tip:x86/urgent] x86: Use $(OBJDUMP) instead of plain objdump tip-bot for Chris Clayton
2014-12-01 20:48 ` Chris Clayton
2014-12-01 21:13 ` Thomas Gleixner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox