Skip to content

T23362 docker: add kselftest build dependencies to gcc-8 and clang-10#499

Merged
gctucker merged 2 commits into
kernelci:masterfrom
gctucker:T23362-kselftest-build-dependencies
Sep 21, 2020
Merged

T23362 docker: add kselftest build dependencies to gcc-8 and clang-10#499
gctucker merged 2 commits into
kernelci:masterfrom
gctucker:T23362-kselftest-build-dependencies

Conversation

@gctucker

@gctucker gctucker commented Sep 16, 2020

Copy link
Copy Markdown
Collaborator

Add build dependencies for x86, arm and arm64 to the gcc-8 and
clang-10 Docker images. This causes some duplication, but there is no
easy way around it at the moment.

@gctucker gctucker requested a review from a team September 16, 2020 16:17
@gctucker gctucker force-pushed the T23362-kselftest-build-dependencies branch from 0d6a446 to 214d7fc Compare September 16, 2020 16:20
@gctucker

Copy link
Copy Markdown
Collaborator Author

Diff of tests being built without and with this PR, with gcc-8 on arm64 defconfig+kselftest:

@@ -13496,71 +12583,71 @@
 	echo "cd \$ROOT" >> /root/build/_kselftest_/run_kselftest.sh; \
 done;
 Emit Tests for android
-Skipping non-existent dir: arm64
+Emit Tests for arm64
 Skipping non-existent dir: bpf
-Skipping non-existent dir: breakpoints
-Skipping non-existent dir: capabilities
-Skipping non-existent dir: cgroup
-Skipping non-existent dir: clone3
-Skipping non-existent dir: core
+Emit Tests for breakpoints
+Emit Tests for capabilities
+Emit Tests for cgroup
+Emit Tests for clone3
+Emit Tests for core
 Emit Tests for cpufreq
 Emit Tests for cpu-hotplug
-Skipping non-existent dir: drivers/dma-buf
-Skipping non-existent dir: efivarfs
+Emit Tests for drivers/dma-buf
+Emit Tests for efivarfs
 Skipping non-existent dir: exec
-Skipping non-existent dir: filesystems
+Emit Tests for filesystems
 Skipping non-existent dir: filesystems/binderfs
-Skipping non-existent dir: filesystems/epoll
-Skipping non-existent dir: firmware
-Skipping non-existent dir: fpu
+Emit Tests for filesystems/epoll
+Emit Tests for firmware
+Emit Tests for fpu
 Emit Tests for ftrace
 Emit Tests for futex
 Emit Tests for intel_pstate
-Skipping non-existent dir: ipc
-Skipping non-existent dir: ir
-Skipping non-existent dir: kcmp
+Emit Tests for ipc
+Emit Tests for ir
+Emit Tests for kcmp
 Skipping non-existent dir: kexec
 Skipping non-existent dir: kvm
 Emit Tests for lib
 Emit Tests for livepatch
 Emit Tests for lkdtm
-Skipping non-existent dir: membarrier
-Skipping non-existent dir: memfd
+Emit Tests for membarrier
+Emit Tests for memfd
 Emit Tests for memory-hotplug
-Skipping non-existent dir: mincore
-Skipping non-existent dir: mount
-Skipping non-existent dir: mqueue
+Emit Tests for mincore
+Emit Tests for mount
+Emit Tests for mqueue
 Emit Tests for net
 Emit Tests for net/forwarding
-Skipping non-existent dir: net/mptcp
-Skipping non-existent dir: netfilter
-Skipping non-existent dir: nsfs
+Emit Tests for net/mptcp
+Emit Tests for netfilter
+Emit Tests for nsfs
 Skipping non-existent dir: pidfd
-Skipping non-existent dir: pid_namespace
+Emit Tests for pid_namespace
 Skipping non-existent dir: powerpc
-Skipping non-existent dir: proc
+Emit Tests for proc
 Emit Tests for pstore
-Skipping non-existent dir: ptrace
-Skipping non-existent dir: openat2
-Skipping non-existent dir: rseq
-Skipping non-existent dir: rtc
-Skipping non-existent dir: seccomp
-Skipping non-existent dir: sigaltstack
-Skipping non-existent dir: size
+Emit Tests for ptrace
+Emit Tests for openat2
+Emit Tests for rseq
+Emit Tests for rtc
+Emit Tests for seccomp
+Emit Tests for sigaltstack
+Emit Tests for size
 Skipping non-existent dir: sparc64
-Skipping non-existent dir: splice
+Emit Tests for splice
 Emit Tests for static_keys
-Skipping non-existent dir: sync
+Emit Tests for sync
 Emit Tests for sysctl
 Skipping non-existent dir: tc-testing
-Skipping non-existent dir: timens
-Skipping non-existent dir: timers
-Skipping non-existent dir: tmpfs
+Emit Tests for timens
+Emit Tests for timers
+Emit Tests for tmpfs
 Emit Tests for tpm2
 Emit Tests for user
 Skipping non-existent dir: vm
 Skipping non-existent dir: x86
 Emit Tests for zram
 chmod u+x /root/build/_kselftest_/run_kselftest.sh
-Created /root/build/_kselftest_/kselftest-packages/kselftest.tar.gz
+Created /root/build/_kselftest_/kselftest-packages/kselftest.tar.xz
 make: Leaving directory '/scratch/linux/tools/testing/selftests'

Also worth noting, the list of remaining directories being skipped with this PR (I guess non-arm64 directories are expected since this is an arm64 build, and bpf requires clang):

Skipping non-existent dir: bpf
Skipping non-existent dir: exec
Skipping non-existent dir: filesystems/binderfs
Skipping non-existent dir: kexec
Skipping non-existent dir: kvm
Skipping non-existent dir: pidfd
Skipping non-existent dir: powerpc
Skipping non-existent dir: sparc64
Skipping non-existent dir: tc-testing
Skipping non-existent dir: vm
Skipping non-existent dir: x86

So the list of extra directories that we might also be able to build with gcc are:

Skipping non-existent dir: exec
Skipping non-existent dir: filesystems/binderfs
Skipping non-existent dir: kexec
Skipping non-existent dir: kvm
Skipping non-existent dir: pidfd
Skipping non-existent dir: tc-testing
Skipping non-existent dir: vm

@gctucker

Copy link
Copy Markdown
Collaborator Author

@alexandrasp alexandrasp left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small changes, but big impact. :)

Add build dependencies for x86, arm and arm64 to the gcc-8 Docker
images.  This causes some duplication, but there is no easy way around
it at the moment.

Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
Add build dependencies for kselftest on x86, arm and adm64 to the
clang-10 image.

The clang-9 one is due to be removed as clang 10.0.1 is the minimal
requirement for linux-next now, so leave it unchanged to avoid
conflicts.

Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
@gctucker gctucker force-pushed the T23362-kselftest-build-dependencies branch from 214d7fc to fe85549 Compare September 21, 2020 13:43
@gctucker gctucker mentioned this pull request Sep 21, 2020
5 tasks
@gctucker gctucker merged commit 90c0b19 into kernelci:master Sep 21, 2020
@gctucker gctucker deleted the T23362-kselftest-build-dependencies branch September 21, 2020 15:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants