Subject: Re: [tip:core/objtool] objtool: Add CONFIG_STACK_VALIDATION option

On 2016-02-29 03:01:35 [-0800], tip-bot for Josh Poimboeuf wrote:
> Gitweb: http://git.kernel.org/tip/b9ab5ebb14ec389bd80f66613f1fe3f8f65f2521
> Author: Josh Poimboeuf <[email protected]>
> objtool: Add CONFIG_STACK_VALIDATION option
>
> Add a CONFIG_STACK_VALIDATION option which will run "objtool check" for
> each .o file to ensure the validity of its stack metadata.

|./mk-x86-64.sh -j1
|make[1]: Entering directory '/home/bigeasy/linux-tip/build/linux-x8664'
| CHK include/config/kernel.release
| Using /home/bigeasy/linux-tip as source for kernel
| GEN ./Makefile
| CHK include/generated/uapi/linux/version.h
| CHK include/generated/utsrelease.h
| CHK include/generated/bounds.h
| CHK include/generated/timeconst.h
| CHK include/generated/asm-offsets.h
| CALL /home/bigeasy/linux-tip/scripts/checksyscalls.sh
|scripts/Makefile.include:3: *** O=build/linux-x8664 does not exist. Stop.
|/home/bigeasy/linux-tip/Makefile:1518: recipe for target 'tools/objtool' failed
|make[1]: *** [tools/objtool] Error 2
|make[1]: Leaving directory '/home/bigeasy/linux-tip/build/linux-x8664'
|Makefile:146: recipe for target 'sub-make' failed
|make: *** [sub-make] Error 2

with
|$ cat mk-x86-64.sh
|#!/bin/sh
|export PATH=/usr/lib/ccache/:$PATH
|exec make O=build/linux-x8664 -j 8 $*

Is this know? I tried the TIP tree as of now. It works with
CONFIG_STACK_VALIDATION=n

Sebastian


2016-03-03 14:57:00

by Josh Poimboeuf

[permalink] [raw]
Subject: Re: [tip:core/objtool] objtool: Add CONFIG_STACK_VALIDATION option

On Thu, Mar 03, 2016 at 03:12:01PM +0100, Sebastian Andrzej Siewior wrote:
> On 2016-02-29 03:01:35 [-0800], tip-bot for Josh Poimboeuf wrote:
> > Gitweb: http://git.kernel.org/tip/b9ab5ebb14ec389bd80f66613f1fe3f8f65f2521
> > Author: Josh Poimboeuf <[email protected]>
> > objtool: Add CONFIG_STACK_VALIDATION option
> >
> > Add a CONFIG_STACK_VALIDATION option which will run "objtool check" for
> > each .o file to ensure the validity of its stack metadata.
>
> |./mk-x86-64.sh -j1
> |make[1]: Entering directory '/home/bigeasy/linux-tip/build/linux-x8664'
> | CHK include/config/kernel.release
> | Using /home/bigeasy/linux-tip as source for kernel
> | GEN ./Makefile
> | CHK include/generated/uapi/linux/version.h
> | CHK include/generated/utsrelease.h
> | CHK include/generated/bounds.h
> | CHK include/generated/timeconst.h
> | CHK include/generated/asm-offsets.h
> | CALL /home/bigeasy/linux-tip/scripts/checksyscalls.sh
> |scripts/Makefile.include:3: *** O=build/linux-x8664 does not exist. Stop.
> |/home/bigeasy/linux-tip/Makefile:1518: recipe for target 'tools/objtool' failed
> |make[1]: *** [tools/objtool] Error 2
> |make[1]: Leaving directory '/home/bigeasy/linux-tip/build/linux-x8664'
> |Makefile:146: recipe for target 'sub-make' failed
> |make: *** [sub-make] Error 2
>
> with
> |$ cat mk-x86-64.sh
> |#!/bin/sh
> |export PATH=/usr/lib/ccache/:$PATH
> |exec make O=build/linux-x8664 -j 8 $*
>
> Is this know? I tried the TIP tree as of now. It works with
> CONFIG_STACK_VALIDATION=n
>
> Sebastian

Hi Sebastian,

This bug happens when using a relative path for 'O=' with
CONFIG_STACK_VALIDATION. I posted a patch to fix it:

https://lkml.kernel.org/r/94a078c6c998fac9f01a14f574008bf7dff40191.1457016803.git.jpoimboe@redhat.com

--
Josh