Messages in this thread | | | Subject | Re: [PATCH 2/4] selftests: Fix seccomp to support relocatable build (O=objdir) | From | Shuah Khan <> | Date | Wed, 4 Mar 2020 17:29:16 -0700 |
| |
On 3/4/20 5:22 PM, Michael Ellerman wrote: > Shuah Khan <skhan@linuxfoundation.org> writes: >> On 3/4/20 3:42 PM, Kees Cook wrote: >>> On Wed, Mar 04, 2020 at 03:13:33PM -0700, Shuah Khan wrote: >>>> Fix seccomp relocatable builds. This is a simple fix to use the >>>> right lib.mk variable TEST_GEN_PROGS for objects to leverage >>>> lib.mk common framework for relocatable builds. >>>> >>>> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org> >>>> --- >>>> tools/testing/selftests/seccomp/Makefile | 16 +++------------- >>>> 1 file changed, 3 insertions(+), 13 deletions(-) >>>> >>>> diff --git a/tools/testing/selftests/seccomp/Makefile b/tools/testing/selftests/seccomp/Makefile >>>> index 1760b3e39730..a8a9717fc1be 100644 >>>> --- a/tools/testing/selftests/seccomp/Makefile >>>> +++ b/tools/testing/selftests/seccomp/Makefile >>>> @@ -1,17 +1,7 @@ >>>> # SPDX-License-Identifier: GPL-2.0 >>>> -all: >>>> - >>>> -include ../lib.mk >>>> - >>>> -.PHONY: all clean >>>> - >>>> -BINARIES := seccomp_bpf seccomp_benchmark >>>> CFLAGS += -Wl,-no-as-needed -Wall >>>> +LDFLAGS += -lpthread >>>> >>>> -seccomp_bpf: seccomp_bpf.c ../kselftest_harness.h >>> >>> How is the ../kselftest_harness.h dependency detected in the resulting >>> build rules? >>> >>> Otherwise, looks good. >> >> Didn't see any problems. I will look into adding the dependency. > > Before: > > $ make --no-print-directory -C tools/testing/selftests/ TARGETS=seccomp > make --no-builtin-rules INSTALL_HDR_PATH=$BUILD/usr \ > ARCH=powerpc -C ../../.. headers_install > INSTALL /home/michael/build/adhoc/kselftest/usr/include > gcc -Wl,-no-as-needed -Wall seccomp_bpf.c -lpthread -o seccomp_bpf > gcc -Wl,-no-as-needed -Wall seccomp_benchmark.c -o seccomp_benchmark > > $ touch tools/testing/selftests/kselftest_harness.h > > $ make --no-print-directory -C tools/testing/selftests/ TARGETS=seccomp > make --no-builtin-rules INSTALL_HDR_PATH=$BUILD/usr \ > ARCH=powerpc -C ../../.. headers_install > INSTALL /home/michael/build/adhoc/kselftest/usr/include > gcc -Wl,-no-as-needed -Wall seccomp_bpf.c -lpthread -o seccomp_bpf > $ > > Note that touching the header causes it to rebuild seccomp_bpf. > > With this patch applied: > > $ make --no-print-directory -C tools/testing/selftests/ TARGETS=seccomp > make -s --no-builtin-rules INSTALL_HDR_PATH=$BUILD/usr \ > ARCH=powerpc -C ../../.. headers_install > gcc -Wl,-no-as-needed -Wall -lpthread seccomp_bpf.c -o /home/michael/build/adhoc/kselftest/seccomp/seccomp_bpf > gcc -Wl,-no-as-needed -Wall -lpthread seccomp_benchmark.c -o /home/michael/build/adhoc/kselftest/seccomp/seccomp_benchmark > > $ touch tools/testing/selftests/kselftest_harness.h > > $ make --no-print-directory -C tools/testing/selftests/ TARGETS=seccomp > make -s --no-builtin-rules INSTALL_HDR_PATH=$BUILD/usr \ > ARCH=powerpc -C ../../.. headers_install > make[1]: Nothing to be done for 'all'. > $ > >
Thanks. I realized I overlooked header dependency case.
> So yeah it still needs: > > seccomp_bpf: ../kselftest_harness.h > > Yes v2 coming up. It also has to handle OUTPUT relocation.
thanks, -- Shuah
| |