Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged

Conversation

gctucker
Copy link
Contributor

@gctucker gctucker commented Sep 16, 2020

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 added this to In Progress in KernelCI project board via automation Sep 16, 2020
@gctucker gctucker force-pushed the T23362-kselftest-build-dependencies branch from 0d6a446 to 214d7fc Compare September 16, 2020 16:20
@gctucker
Copy link
Contributor 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
Contributor Author

Copy link
Contributor

@alexandrasp alexandrasp left a comment

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
KernelCI project board automation moved this from In Progress to Done 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
Development

Successfully merging this pull request may close these issues.

None yet

3 participants