When code is compiled within the Android tree, the resulting binaries are intended to run either on the "host" (the machine doing the building) or the "target" (the machine running the Android operating system). "ANDROID" is defined if the code is being compiled for the host or the target, whereas "__ANDROID__" is only defined for code being compiled for the target. (yes, I agree, this is not obvious). gettid() is only declared in the target environment, not the host environment, so adjust the #ifdef to properly emit the gettid() definition for binaries targeting the host. Signed-off-by: Nick Kralevich <nnk@xxxxxxxxxx> --- libselinux/src/procattr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libselinux/src/procattr.c b/libselinux/src/procattr.c index 7efcd7e..8cd59af 100644 --- a/libselinux/src/procattr.c +++ b/libselinux/src/procattr.c @@ -22,7 +22,7 @@ static pthread_key_t destructor_key; static int destructor_key_initialized = 0; static __thread char destructor_initialized; -#ifndef ANDROID +#ifndef __ANDROID__ /* Android declares this in unistd.h and has a definition for it */ static pid_t gettid(void) { -- 2.8.0.rc3.226.g39d4020 _______________________________________________ Selinux mailing list Selinux@xxxxxxxxxxxxx To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx. To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.