On 9/25/19 10:11 PM, tim.b...@sony.com wrote:
I found a bug in kselftest KBUILD_OUTPUT handling.

The following works:
$ cd /home/tbird/work/linux
$ export KBUILD_OUTPUT=/home/tbird/work/kbuild
$ yes '' | make localmodconfig
$ make TARGETS=size kselftest

But this doesn't work:
$ cd /home/tbird/work/linux
$ export KBUILD_OUTPUT=../kbuild
$ yes '' | make localmodconfig
$ make TARGETS=size kselftest

I see the following:
make[1]: Entering directory '/home/tbird/work/kbuild'
  make --no-builtin-rules INSTALL_HDR_PATH=$BUILD/usr \
        ARCH=x86 -C ../../.. headers_install
    INSTALL ../kbuild/kselftest/usr/include
  gcc -static -ffreestanding -nostartfiles -s    get_size.c  -o 
../kbuild/kselftest/size/get_size
    /usr/bin/ld: cannot open output file ../kbuild/kselftest/size/get_size: No 
such file or directory
  collect2: error: ld returned 1 exit status
    ../lib.mk:138: recipe for target '../kbuild/kselftest/size/get_size' failed
  make[3]: *** [../kbuild/kselftest/size/get_size] Error 1
  Makefile:136: recipe for target 'all' failed
  make[2]: *** [all] Error 2
  /home/tbird/work/linux/Makefile:1240: recipe for target 'kselftest' failed
  make[1]: *** [kselftest] Error 2
  make[1]: Leaving directory '/home/tbird/work/kbuild'
  Makefile:179: recipe for target 'sub-make' failed
  make: *** [sub-make] Error 2

This is due to the relative path for KBUILD_OUTPUT being handled incorrectly (I 
believe)
in tools/testing/selftests/Makefile.


Thanks Tim! I will take a look as part of my work to simplify kselftest
use-cases.

thanks,
-- Shuah

Reply via email to