aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-06-27 07:33:37 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-06-27 07:33:37 +0000
commit17400d871dfb00cf45c4f011d26a766f607032e0 (patch)
treec4b2d8cca1ab09c477196ca70806ba80409e4e46
parente457034ba13672e493ec274489757b06d5c6b285 (diff)
parente130afe4bf8f4201a3c6b76ec6fb4f49a9f8402b (diff)
downloadlinux-kselftest-oreo-mr1-s1-release.tar.gz
release-request-6db00e04-e62d-4e43-807a-a9cc1185dcbb-for-git_oc-mr1-release-4136929 snap-temp-L91700000077883673android-wear-8.1.0_r1android-security-8.1.0_r93android-security-8.1.0_r92android-security-8.1.0_r91android-security-8.1.0_r90android-security-8.1.0_r89android-security-8.1.0_r88android-security-8.1.0_r87android-security-8.1.0_r86android-security-8.1.0_r85android-security-8.1.0_r84android-security-8.1.0_r83android-security-8.1.0_r82android-cts-8.1_r9android-cts-8.1_r8android-cts-8.1_r7android-cts-8.1_r6android-cts-8.1_r5android-cts-8.1_r4android-cts-8.1_r3android-cts-8.1_r25android-cts-8.1_r24android-cts-8.1_r23android-cts-8.1_r22android-cts-8.1_r21android-cts-8.1_r20android-cts-8.1_r2android-cts-8.1_r19android-cts-8.1_r18android-cts-8.1_r17android-cts-8.1_r16android-cts-8.1_r15android-cts-8.1_r14android-cts-8.1_r13android-cts-8.1_r12android-cts-8.1_r11android-cts-8.1_r10android-cts-8.1_r1android-8.1.0_r9android-8.1.0_r81android-8.1.0_r80android-8.1.0_r8android-8.1.0_r79android-8.1.0_r78android-8.1.0_r77android-8.1.0_r76android-8.1.0_r75android-8.1.0_r74android-8.1.0_r73android-8.1.0_r72android-8.1.0_r71android-8.1.0_r70android-8.1.0_r7android-8.1.0_r69android-8.1.0_r68android-8.1.0_r67android-8.1.0_r66android-8.1.0_r65android-8.1.0_r64android-8.1.0_r63android-8.1.0_r62android-8.1.0_r61android-8.1.0_r60android-8.1.0_r6android-8.1.0_r53android-8.1.0_r52android-8.1.0_r51android-8.1.0_r50android-8.1.0_r5android-8.1.0_r48android-8.1.0_r47android-8.1.0_r46android-8.1.0_r45android-8.1.0_r43android-8.1.0_r42android-8.1.0_r41android-8.1.0_r40android-8.1.0_r4android-8.1.0_r39android-8.1.0_r38android-8.1.0_r37android-8.1.0_r36android-8.1.0_r35android-8.1.0_r33android-8.1.0_r32android-8.1.0_r31android-8.1.0_r30android-8.1.0_r3android-8.1.0_r29android-8.1.0_r28android-8.1.0_r27android-8.1.0_r26android-8.1.0_r25android-8.1.0_r23android-8.1.0_r22android-8.1.0_r21android-8.1.0_r20android-8.1.0_r2android-8.1.0_r19android-8.1.0_r18android-8.1.0_r17android-8.1.0_r16android-8.1.0_r15android-8.1.0_r14android-8.1.0_r13android-8.1.0_r12android-8.1.0_r11android-8.1.0_r10android-8.1.0_r1security-oc-mr1-releaseoreo-mr1-wear-releaseoreo-mr1-security-releaseoreo-mr1-s1-releaseoreo-mr1-releaseoreo-mr1-cuttlefish-testingoreo-mr1-cts-releaseoreo-m8-releaseoreo-m7-releaseoreo-m6-s4-releaseoreo-m6-s3-releaseoreo-m6-s2-releaseoreo-m5-releaseoreo-m4-s9-releaseoreo-m4-s8-releaseoreo-m4-s7-releaseoreo-m4-s6-releaseoreo-m4-s5-releaseoreo-m4-s4-releaseoreo-m4-s3-releaseoreo-m4-s2-releaseoreo-m4-s12-releaseoreo-m4-s11-releaseoreo-m4-s10-releaseoreo-m4-s1-releaseoreo-m3-releaseoreo-m2-s5-releaseoreo-m2-s4-releaseoreo-m2-s3-releaseoreo-m2-s2-releaseoreo-m2-s1-releaseoreo-m2-release
Change-Id: I1000b9513f189bd2c85a1b0aeab9a0b602cf9838
-rw-r--r--android/patches/0001-Removes-unsupported-testcases-for-ftrace-compiles-me.patch346
-rw-r--r--android/patches/0002-Compile-breakpoints-and-x86-tests.patch221
-rw-r--r--android/patches/0003-psock-tpacket-warning-fix.patch14
-rw-r--r--android/patches/README17
4 files changed, 598 insertions, 0 deletions
diff --git a/android/patches/0001-Removes-unsupported-testcases-for-ftrace-compiles-me.patch b/android/patches/0001-Removes-unsupported-testcases-for-ftrace-compiles-me.patch
new file mode 100644
index 000000000000..a7c0e0fa2fbf
--- /dev/null
+++ b/android/patches/0001-Removes-unsupported-testcases-for-ftrace-compiles-me.patch
@@ -0,0 +1,346 @@
+From cd038753c3543ee6919469a4472cdf86ea0121c8 Mon Sep 17 00:00:00 2001
+From: Tri Vo <trong@google.com>
+Date: Sun, 28 Aug 2016 16:55:24 -0700
+Subject: [PATCH] Removes unsupported testcases for ftrace, compiles
+ membarrier, net/psock_tpacket, timers/valid-adjtimex. Added a list of
+ testfiles that could potentially be compiled in Android.kselftest.mk.
+
+Change-Id: I5162512d4166a523ef8f23c23b59cb1275b29748
+---
+ Android.mk | 3 +-
+ android/Android.kselftest.mk | 95 ++++-------------
+ kselftest_test_list.txt | 131 ++++++++++++++++++++++++
+ tools/testing/selftests/net/psock_tpacket.c | 2 +
+ tools/testing/selftests/timers/valid-adjtimex.c | 5 +-
+ 5 files changed, 157 insertions(+), 79 deletions(-)
+ create mode 100644 kselftest_test_list.txt
+
+diff --git a/Android.mk b/Android.mk
+index 5f54f0b8f6d4..5fcd095f97bf 100644
+--- a/Android.mk
++++ b/Android.mk
+@@ -54,7 +54,8 @@ kselftest_cflags := \
+ -Wno-switch \
+ -Wno-absolute-value \
+ -Wno-non-literal-null-conversion \
+- -Wall \
++ -Wno-unused-variable \
++ -Wno-unused-parameter \
+ -Werror \
+
+ build_kselftest_test := $(kselftest_root)/android/Android.test.mk
+diff --git a/android/Android.kselftest.mk b/android/Android.kselftest.mk
+index 932374afde02..19f16bd25785 100644
+--- a/android/Android.kselftest.mk
++++ b/android/Android.kselftest.mk
+@@ -50,58 +50,6 @@ module_prebuilt := ftrace/ftracetest
+ module_src_files := ftrace/ftracetest
+ include $(build_kselftest_prebuilt)
+
+-module_prebuilt := ftrace/test.d/trigger/trigger-hist
+-module_src_files := ftrace/test.d/trigger/trigger-hist.tc
+-include $(build_kselftest_prebuilt)
+-
+-module_prebuilt := ftrace/test.d/trigger/trigger-traceonoff
+-module_src_files := ftrace/test.d/trigger/trigger-traceonoff.tc
+-include $(build_kselftest_prebuilt)
+-
+-module_prebuilt := ftrace/test.d/trigger/trigger-hist-mod
+-module_src_files := ftrace/test.d/trigger/trigger-hist-mod.tc
+-include $(build_kselftest_prebuilt)
+-
+-module_prebuilt := ftrace/test.d/trigger/trigger-stacktrace
+-module_src_files := ftrace/test.d/trigger/trigger-stacktrace.tc
+-include $(build_kselftest_prebuilt)
+-
+-module_prebuilt := ftrace/test.d/trigger/trigger-multihist
+-module_src_files := ftrace/test.d/trigger/trigger-multihist.tc
+-include $(build_kselftest_prebuilt)
+-
+-module_prebuilt := ftrace/test.d/trigger/trigger-filter
+-module_src_files := ftrace/test.d/trigger/trigger-filter.tc
+-include $(build_kselftest_prebuilt)
+-
+-module_prebuilt := ftrace/test.d/trigger/trigger-snapshot
+-module_src_files := ftrace/test.d/trigger/trigger-snapshot.tc
+-include $(build_kselftest_prebuilt)
+-
+-module_prebuilt := ftrace/test.d/trigger/trigger-eventonoff
+-module_src_files := ftrace/test.d/trigger/trigger-eventonoff.tc
+-include $(build_kselftest_prebuilt)
+-
+-module_prebuilt := ftrace/test.d/kprobe/busy_check
+-module_src_files := ftrace/test.d/kprobe/busy_check.tc
+-include $(build_kselftest_prebuilt)
+-
+-module_prebuilt := ftrace/test.d/kprobe/kretprobe_args
+-module_src_files := ftrace/test.d/kprobe/kretprobe_args.tc
+-include $(build_kselftest_prebuilt)
+-
+-module_prebuilt := ftrace/test.d/kprobe/kprobe_ftrace
+-module_src_files := ftrace/test.d/kprobe/kprobe_ftrace.tc
+-include $(build_kselftest_prebuilt)
+-
+-module_prebuilt := ftrace/test.d/kprobe/add_and_remove
+-module_src_files := ftrace/test.d/kprobe/add_and_remove.tc
+-include $(build_kselftest_prebuilt)
+-
+-module_prebuilt := ftrace/test.d/kprobe/kprobe_args
+-module_src_files := ftrace/test.d/kprobe/kprobe_args.tc
+-include $(build_kselftest_prebuilt)
+-
+ module_prebuilt := ftrace/test.d/functions
+ module_src_files := ftrace/test.d/functions
+ include $(build_kselftest_prebuilt)
+@@ -126,22 +74,6 @@ module_prebuilt := ftrace/test.d/template
+ module_src_files := ftrace/test.d/template
+ include $(build_kselftest_prebuilt)
+
+-module_prebuilt := ftrace/test.d/event/event-pid
+-module_src_files := ftrace/test.d/event/event-pid.tc
+-include $(build_kselftest_prebuilt)
+-
+-module_prebuilt := ftrace/test.d/event/subsystem-enable
+-module_src_files := ftrace/test.d/event/subsystem-enable.tc
+-include $(build_kselftest_prebuilt)
+-
+-module_prebuilt := ftrace/test.d/event/event-enable
+-module_src_files := ftrace/test.d/event/event-enable.tc
+-include $(build_kselftest_prebuilt)
+-
+-module_prebuilt := ftrace/test.d/event/toplevel-enable
+-module_src_files := ftrace/test.d/event/toplevel-enable.tc
+-include $(build_kselftest_prebuilt)
+-
+ module_prebuilt := ftrace/test.d/instances/instance
+ module_src_files := ftrace/test.d/instances/instance.tc
+ include $(build_kselftest_prebuilt)
+@@ -150,14 +82,6 @@ module_prebuilt := ftrace/test.d/instances/instance-event
+ module_src_files := ftrace/test.d/instances/instance-event.tc
+ include $(build_kselftest_prebuilt)
+
+-module_prebuilt := ftrace/test.d/ftrace/func_profiler
+-module_src_files := ftrace/test.d/ftrace/func_profiler.tc
+-include $(build_kselftest_prebuilt)
+-
+-module_prebuilt := ftrace/test.d/ftrace/fgraph-filter-stack
+-module_src_files := ftrace/test.d/ftrace/fgraph-filter-stack.tc
+-include $(build_kselftest_prebuilt)
+-
+ # Futex test
+ module_testname := futex/functional/futex_wait_timeout
+ module_src_files := futex/functional/futex_wait_timeout.c
+@@ -205,6 +129,13 @@ module_prebuilt := lib/bitmap
+ module_src_files := lib/bitmap.sh
+ include $(build_kselftest_prebuilt)
+
++# Membarrier test
++module_testname := membarrier/membarrier_test
++module_src_files := membarrier/membarrier_test.c
++module_cflags :=
++module_c_includes :=
++include $(build_kselftest_test)
++
+ # Memory-hotplug test
+ module_prebuilt := memory-hotplug/mem-on-off-test
+ module_src_files := memory-hotplug/mem-on-off-test.sh
+@@ -234,6 +165,12 @@ module_cflags := -Wall -O2 -g
+ module_c_includes :=
+ include $(build_kselftest_test)
+
++module_testname := net/psock_tpacket
++module_src_files := net/psock_tpacket.c
++module_cflags := -Wall -O2 -g
++module_c_includes :=
++include $(build_kselftest_test)
++
+ module_testname := net/reuseport_dualstack
+ module_src_files := net/reuseport_dualstack.c
+ module_cflags := -Wall -O2 -g
+@@ -337,6 +274,12 @@ module_cflags := -O3 -Wl,-no-as-needed -Wall -DKTEST -lrt -lpthread
+ module_c_includes :=
+ include $(build_kselftest_test)
+
++module_testname := timers/valid-adjtimex
++module_src_files := timers/valid-adjtimex.c
++module_cflags := -O3 -Wl,-no-as-needed -Wall -DKTEST -lrt -lpthread
++module_c_includes :=
++include $(build_kselftest_test)
++
+ module_testname := timers/adjtick
+ module_src_files := timers/adjtick.c
+ module_cflags := -O3 -Wl,-no-as-needed -Wall -DKTEST -lrt -lpthread
+diff --git a/kselftest_test_list.txt b/kselftest_test_list.txt
+new file mode 100644
+index 000000000000..2e98b336fcc8
+--- /dev/null
++++ b/kselftest_test_list.txt
+@@ -0,0 +1,131 @@
++# This is a list of test files that are already compiled by Android.kselftest.mk
++# or could potentially be added there.
++
++breakpoints/breakpoint_test.c
++breakpoints/step_after_suspend_test.c
++capabilities/test_execve.c
++capabilities/validate_cap.c
++cpu-hotplug/cpu-on-off-test.sh
++efivarfs/create-read.c
++efivarfs/efivarfs.sh
++efivarfs/open-unlink.c
++exec/execveat.c
++firmware/fw_filesystem.sh
++firmware/fw_userhelper.sh
++ftrace/ftracetest
++ftrace/test.d/00basic
++ftrace/test.d/00basic/basic1.tc
++ftrace/test.d/00basic/basic2.tc
++ftrace/test.d/00basic/basic3.tc
++ftrace/test.d/00basic/basic4.tc
++ftrace/test.d/event/event-enable.tc
++ftrace/test.d/event/event-pid.tc
++ftrace/test.d/event/subsystem-enable.tc
++ftrace/test.d/event/toplevel-enable.tc
++ftrace/test.d/ftrace/fgraph-filter-stack.tc
++ftrace/test.d/ftrace/fgraph-filter.tc
++ftrace/test.d/ftrace/func_profiler.tc
++ftrace/test.d/functions
++ftrace/test.d/instances/instance-event.tc
++ftrace/test.d/instances/instance.tc
++ftrace/test.d/kprobe/add_and_remove.tc
++ftrace/test.d/kprobe/busy_check.tc
++ftrace/test.d/kprobe/kprobe_args.tc
++ftrace/test.d/kprobe/kprobe_ftrace.tc
++ftrace/test.d/kprobe/kretprobe_args.tc
++ftrace/test.d/template
++ftrace/test.d/trigger/trigger-eventonoff.tc
++ftrace/test.d/trigger/trigger-filter.tc
++ftrace/test.d/trigger/trigger-hist-mod.tc
++ftrace/test.d/trigger/trigger-hist.tc
++ftrace/test.d/trigger/trigger-multihist.tc
++ftrace/test.d/trigger/trigger-snapshot.tc
++ftrace/test.d/trigger/trigger-stacktrace.tc
++ftrace/test.d/trigger/trigger-traceonoff.tc
++futex/functional/futex_requeue_pi.c
++futex/functional/futex_requeue_pi_mismatched_ops.c
++futex/functional/futex_requeue_pi_signal_restart.c
++futex/functional/futex_wait_private_mapped_file.c
++futex/functional/futex_wait_timeout.c
++futex/functional/futex_wait_uninitialized_heap.c
++futex/functional/futex_wait_wouldblock.c
++intel_pstate/aperf.c
++intel_pstate/msr.c
++intel_pstate/run.sh
++ipc/msgque.c
++kcmp/kcmp_test.c
++lib/bitmap.sh
++lib/printf.sh
++lib.mk
++media_tests/bind_unbind_sample.sh
++media_tests/media_device_open.c
++media_tests/media_device_test.c
++media_tests/open_loop_test.sh
++media_tests/regression_test.txt
++media_tests/video_device_test.c
++membarrier/membarrier_test.c
++memfd/fuse_mnt.c
++memfd/fuse_test.c
++memfd/memfd_test.c
++memfd/run_fuse_test.sh
++memory-hotplug/mem-on-off-test.sh
++mount/unprivileged-remount-test.c
++mqueue/mq_open_tests.c
++mqueue/mq_perf_tests.c
++net/psock_fanout.c
++net/psock_tpacket.c
++net/reuseport_bpf.c
++net/reuseport_bpf_cpu.c
++net/reuseport_dualstack.c
++net/run_afpackettests
++net/run_netsocktests
++net/socket.c
++net/test_bpf.sh
++ntb/ntb_test.sh
++pstore/common_tests
++pstore/pstore_crash_test
++pstore/pstore_post_reboot_tests
++pstore/pstore_tests
++ptrace/peeksiginfo.c
++seccomp/seccomp_bpf.c
++sigaltstack/sas.c
++size/get_size.c
++static_keys/test_static_keys.sh
++sysctl/common_tests
++sysctl/run_numerictests
++sysctl/run_stringtests
++timers/adjtick.c
++timers/alarmtimer-suspend.c
++timers/change_skew.c
++timers/clocksource-switch.c
++timers/inconsistency-check.c
++timers/leap-a-day.c
++timers/leapcrash.c
++timers/mqueue-lat.c
++timers/nanosleep.c
++timers/nsleep-lat.c
++timers/posix_timers.c
++timers/raw_skew.c
++timers/rtctest.c
++timers/set-2038.c
++timers/set-tai.c
++timers/set-timer-lat.c
++timers/set-tz.c
++timers/skew_consistency.c
++timers/threadtest.c
++timers/valid-adjtimex.c
++user/test_user_copy.sh
++vm/compaction_test.c
++vm/hugepage-mmap.c
++vm/hugepage-shm.c
++vm/map_hugetlb.c
++vm/mlock2-tests.c
++vm/on-fault-limit.c
++vm/run_vmtests
++vm/thuge-gen.c
++vm/transhuge-stress.c
++vm/userfaultfd.c
++zram/zram01.sh
++zram/zram02.sh
++zram/zram_lib.sh
++zram/zram.sh
+diff --git a/tools/testing/selftests/net/psock_tpacket.c b/tools/testing/selftests/net/psock_tpacket.c
+index 24adf709bd9d..7a1bb6f8c2a2 100644
+--- a/tools/testing/selftests/net/psock_tpacket.c
++++ b/tools/testing/selftests/net/psock_tpacket.c
+@@ -47,7 +47,9 @@
+ #include <ctype.h>
+ #include <fcntl.h>
+ #include <unistd.h>
++#ifndef __ANDROID__
+ #include <bits/wordsize.h>
++#endif
+ #include <net/ethernet.h>
+ #include <netinet/ip.h>
+ #include <arpa/inet.h>
+diff --git a/tools/testing/selftests/timers/valid-adjtimex.c b/tools/testing/selftests/timers/valid-adjtimex.c
+index 60fe3c569bd9..aeade9f975ea 100644
+--- a/tools/testing/selftests/timers/valid-adjtimex.c
++++ b/tools/testing/selftests/timers/valid-adjtimex.c
+@@ -50,12 +50,13 @@ static inline int ksft_exit_fail(void)
+
+ #define ADJ_SETOFFSET 0x0100
+
++#ifndef __ANDROID__
+ #include <sys/syscall.h>
+ static int clock_adjtime(clockid_t id, struct timex *tx)
+ {
+- return syscall(__NR_clock_adjtime, id, tx);
++ return syscall(__NR_clock_adjtime, id, tx);
+ }
+-
++#endif
+
+ /* clear NTP time_status & time_state */
+ int clear_time_state(void)
+--
+2.13.1.518.g3df882009-goog
+
diff --git a/android/patches/0002-Compile-breakpoints-and-x86-tests.patch b/android/patches/0002-Compile-breakpoints-and-x86-tests.patch
new file mode 100644
index 000000000000..bb9fb16ae05c
--- /dev/null
+++ b/android/patches/0002-Compile-breakpoints-and-x86-tests.patch
@@ -0,0 +1,221 @@
+From 0fd3eaf312c6284450f758e3a49c5cfd855e4847 Mon Sep 17 00:00:00 2001
+From: Tri Vo <trong@google.com>
+Date: Wed, 21 Sep 2016 15:10:38 -0700
+Subject: [PATCH] Compile breakpoints and x86 tests. Test: make vts
+
+Change-Id: I0c5dd63b3386adb22f3370a8b736d190c781bd4f
+---
+ android/Android.kselftest.mk | 121 ++++++++++++++++++++++++++++++
+ android/Android.test.mk | 2 +-
+ tools/testing/selftests/x86/test_FISTTP.c | 18 +++++
+ 3 files changed, 140 insertions(+), 1 deletion(-)
+
+diff --git a/android/Android.kselftest.mk b/android/Android.kselftest.mk
+index 57e727d66bb6..cabc1f6a10b4 100644
+--- a/android/Android.kselftest.mk
++++ b/android/Android.kselftest.mk
+@@ -14,6 +14,21 @@
+ # limitations under the License.
+ #
+
++# breakpoints test
++module_testname := breakpoints/breakpoint_test
++module_src_files := breakpoints/breakpoint_test.c
++module_cflags :=
++module_c_includes :=
++module_supported_arch := x86 x86_64
++include $(build_kselftest_test)
++
++module_testname := breakpoints/step_after_suspend_test
++module_src_files := breakpoints/step_after_suspend_test.c
++module_cflags :=
++module_c_includes :=
++module_supported_arch := x86 x86_64
++include $(build_kselftest_test)
++
+ # Cpu-hotplug test
+ module_prebuilt := cpu-hotplug/cpu-on-off-test
+ module_src_files := cpu-hotplug/cpu-on-off-test.sh
+@@ -477,6 +492,112 @@ module_c_includes :=
+ module_supported_arch := arm arm64 x86 x86_64
+ include $(build_kselftest_test)
+
++# x86 test
++module_testname := x86/single_step_syscall
++module_src_files := x86/single_step_syscall.c
++module_cflags := -O2 -g -std=gnu99 -pthread -Wall -lrt -ldl -lm
++module_c_includes :=
++module_supported_arch := x86 x86_64
++include $(build_kselftest_test)
++
++module_testname := x86/sysret_ss_attrs
++module_src_files := x86/sysret_ss_attrs.c
++module_cflags := -O2 -g -std=gnu99 -pthread -Wall -lrt -ldl -lm
++module_c_includes :=
++module_supported_arch := x86
++include $(build_kselftest_test)
++
++module_testname := x86/syscall_nt
++module_src_files := x86/syscall_nt.c
++module_cflags := -O2 -g -std=gnu99 -pthread -Wall -lrt -ldl -lm
++module_c_includes :=
++module_supported_arch := x86 x86_64
++include $(build_kselftest_test)
++
++module_testname := x86/ptrace_syscall
++module_src_files := x86/ptrace_syscall.c x86/raw_syscall_helper_32.S
++module_cflags := -O2 -g -std=gnu99 -pthread -Wall -lrt -ldl -lm
++module_c_includes :=
++module_supported_arch := x86 x86_64
++include $(build_kselftest_test)
++
++module_testname := x86/test_mremap_vdso
++module_src_files := x86/test_mremap_vdso.c
++module_cflags := -O2 -g -std=gnu99 -pthread -Wall -lrt -ldl -lm
++module_c_includes :=
++module_supported_arch := x86 x86_64
++include $(build_kselftest_test)
++
++module_testname := x86/check_initial_reg_state
++module_src_files := x86/check_initial_reg_state.c
++module_cflags := -O2 -g -std=gnu99 -pthread -Wall -Wl,-ereal_start -static -lrt -ldl -lm
++module_c_includes :=
++module_supported_arch := x86 x86_64
++include $(build_kselftest_test)
++
++module_testname := x86/ldt_gdt
++module_src_files := x86/ldt_gdt.c
++module_cflags := -O2 -g -std=gnu99 -pthread -Wall -lrt -ldl -lm
++module_c_includes :=
++module_supported_arch := x86 x86_64
++include $(build_kselftest_test)
++
++module_testname := x86/entry_from_vm86
++module_src_files := x86/entry_from_vm86.c
++module_cflags := -O2 -g -std=gnu99 -pthread -Wall -lrt -ldl -lm
++module_c_includes :=
++module_supported_arch := x86
++#include $(build_kselftest_test)
++
++module_testname := x86/syscall_arg_fault
++module_src_files := x86/syscall_arg_fault.c
++module_cflags := -O2 -g -std=gnu99 -pthread -lrt -ldl -lm
++module_c_includes :=
++module_supported_arch := x86
++include $(build_kselftest_test)
++
++module_testname := x86/test_syscall_vdso
++module_src_files := x86/test_syscall_vdso.c x86/thunks_32.S
++module_cflags := -O2 -g -std=gnu99 -pthread -Wall -lrt -ldl -lm
++module_c_includes :=
++module_supported_arch := x86
++include $(build_kselftest_test)
++
++module_testname := x86/unwind_vdso
++module_src_files := x86/unwind_vdso.c
++module_cflags := -O2 -g -std=gnu99 -pthread -Wall -lrt -ldl -lm
++module_c_includes :=
++module_supported_arch := x86
++include $(build_kselftest_test)
++
++module_testname := x86/test_FCMOV
++module_src_files := x86/test_FCMOV.c
++module_cflags := -O2 -g -std=gnu99 -pthread -Wall -lrt -ldl -lm
++module_c_includes :=
++module_supported_arch := x86
++include $(build_kselftest_test)
++
++module_testname := x86/test_FCOMI
++module_src_files := x86/test_FCOMI.c
++module_cflags := -O2 -g -std=gnu99 -pthread -Wall -lrt -ldl -lm
++module_c_includes :=
++module_supported_arch := x86
++include $(build_kselftest_test)
++
++module_testname := x86/test_FISTTP
++module_src_files := x86/test_FISTTP.c
++module_cflags := -O2 -g -std=gnu99 -pthread -Wall -lrt -ldl -lm
++module_c_includes :=
++module_supported_arch := x86
++include $(build_kselftest_test)
++
++module_testname := x86/vdso_restorer
++module_src_files := x86/vdso_restorer.c
++module_cflags := -O2 -g -std=gnu99 -pthread -Wall -lrt -ldl -lm
++module_c_includes :=
++module_supported_arch := x86
++include $(build_kselftest_test)
++
+ # zram tests
+ module_prebuilt := zram/zram.sh
+ module_src_files := zram/zram.sh
+diff --git a/android/Android.test.mk b/android/Android.test.mk
+index efafc2708bc9..d72775118063 100644
+--- a/android/Android.test.mk
++++ b/android/Android.test.mk
+@@ -21,7 +21,7 @@ ifneq (,$(findstring $(kselftest_target_arch), $(module_supported_arch)))
+
+ module_name := kselftest_$(subst /,_,$(module_testname))
+ module_stem := $(notdir $(module_testname))
+-module_path := $(dir $(module_src_files))
++module_path := $(dir $(module_testname))
+
+ LOCAL_MODULE := $(module_name)
+ LOCAL_MODULE_STEM_32 := $(module_stem)
+diff --git a/tools/testing/selftests/x86/test_FISTTP.c b/tools/testing/selftests/x86/test_FISTTP.c
+index b8e61a047f6b..6cae2d45b246 100644
+--- a/tools/testing/selftests/x86/test_FISTTP.c
++++ b/tools/testing/selftests/x86/test_FISTTP.c
+@@ -24,7 +24,11 @@ int test(void)
+ feclearexcept(FE_DIVBYZERO|FE_INEXACT|FE_INVALID|FE_OVERFLOW|FE_UNDERFLOW);
+ asm volatile ("\n"
+ " fld1""\n"
++#ifdef __clang__
++ " fisttps res16""\n"
++#else
+ " fisttp res16""\n"
++#endif
+ " fld1""\n"
+ " fisttpl res32""\n"
+ " fld1""\n"
+@@ -44,7 +48,11 @@ int test(void)
+ feclearexcept(FE_DIVBYZERO|FE_INEXACT|FE_INVALID|FE_OVERFLOW|FE_UNDERFLOW);
+ asm volatile ("\n"
+ " fldpi""\n"
++#ifdef __clang__
++ " fisttps res16""\n"
++#else
+ " fisttp res16""\n"
++#endif
+ " fldpi""\n"
+ " fisttpl res32""\n"
+ " fldpi""\n"
+@@ -65,7 +73,13 @@ int test(void)
+ asm volatile ("\n"
+ " fldpi""\n"
+ " fchs""\n"
++#ifdef __clang__
++ " fisttps res16""\n"
++#else
++ // clang will complain: ambiguous instructions require an explicit suffix
++ // (could be 'fisttps', or 'fisttpl')
+ " fisttp res16""\n"
++#endif
+ " fldpi""\n"
+ " fchs""\n"
+ " fisttpl res32""\n"
+@@ -87,7 +101,11 @@ int test(void)
+ feclearexcept(FE_DIVBYZERO|FE_INEXACT|FE_INVALID|FE_OVERFLOW|FE_UNDERFLOW);
+ asm volatile ("\n"
+ " fldln2""\n"
++#ifdef __clang__
++ " fisttps res16""\n"
++#else
+ " fisttp res16""\n"
++#endif
+ " fldln2""\n"
+ " fisttpl res32""\n"
+ " fldln2""\n"
+--
+2.13.1.518.g3df882009-goog
+
diff --git a/android/patches/0003-psock-tpacket-warning-fix.patch b/android/patches/0003-psock-tpacket-warning-fix.patch
new file mode 100644
index 000000000000..86b1650f9bcb
--- /dev/null
+++ b/android/patches/0003-psock-tpacket-warning-fix.patch
@@ -0,0 +1,14 @@
+Fix compilation warning.
+
+diff --git a/tools/testing/selftests/net/psock_tpacket.c b/tools/testing/selftests/net/psock_tpacket.c
+index 8cb5127c42af..e795a41c4771 100644
+--- a/tools/testing/selftests/net/psock_tpacket.c
++++ b/tools/testing/selftests/net/psock_tpacket.c
+@@ -377,6 +377,7 @@ static inline void *get_next_frame(struct ring *ring, int n)
+ return f0 + (n * ring->req3.tp_frame_size);
+ default:
+ bug_on(1);
++ return NULL;
+ }
+ }
+
diff --git a/android/patches/README b/android/patches/README
new file mode 100644
index 000000000000..0cb2c0f6a26e
--- /dev/null
+++ b/android/patches/README
@@ -0,0 +1,17 @@
+Some changes to kselftest are required to compile it for Android. Those which
+have been made but not yet submitted upstream and merged back to this
+repository are kept here to make future merges easier.
+
+In cases where a commit touched both kselftest files and Android-specific
+files, the full commit is reproduced here. In rebasing these commits during a
+merge only the changes in the kselftest files should be re-applied.
+
+Upstream Merge Procedure:
+- Do a git merge of the upstream tag with the "ours" policy, dropping all
+ upstream changes. Do not commit yet.
+- Delete tools/testing/selftests and replace it with a copy from the upstream
+ kernel at the same tag as used above.
+- Apply the patches from this directory, making changes as required.
+- Test on all supported kernel versions, ensuring that any tests currently
+ enabled in VTS do not generate new failures.
+- Commit the merge.