From cb7a551e99aeb7c68abe9eae8893c327db966ef6 Mon Sep 17 00:00:00 2001 From: Leonid Plyushch Date: Wed, 13 Feb 2019 16:48:00 +0200 Subject: [PATCH] BUILD.md: add some notes about Android 8+ problems to "Common Porting Problems" section --- docs/BUILD.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/BUILD.md b/docs/BUILD.md index 06c8661ef..a2cbda8e8 100644 --- a/docs/BUILD.md +++ b/docs/BUILD.md @@ -120,6 +120,12 @@ Follow the instructions until you get a working build. If a build succeeds after - SYSV semaphores is not supported by the kernel. Use unnamed POSIX semaphores instead (named semaphores are unimplemented). +- Starting from Android 8, a [Seccomp](https://android-developers.googleblog.com/2017/07/seccomp-filter-in-android-o.html) was enabled for applications. Seccomp forbids usage of some system calls which results in crash with `Bad system call` errors. + +- Starting from Android 8, programs cannot use `tcsetattr()` with `TCSAFLUSH` parameter due to SELinux. Use `TCSANOW` instead. + +- Starting from Android 9, [Seccomp](https://android-developers.googleblog.com/2017/07/seccomp-filter-in-android-o.html) began to block `setuid()`-related system calls. Since Termux is primarily for single-user non-root usage, setuid/setgid functionality is discouraged anyway. + ### dlopen() and RTLD_* flags <dlfcn.h> declares