diff --git a/ndk/platforms/android-3/include/sys/prctl.h b/ndk/platforms/android-3/include/sys/prctl.h index ce85bf7e0..359d684f3 100644 --- a/ndk/platforms/android-3/include/sys/prctl.h +++ b/ndk/platforms/android-3/include/sys/prctl.h @@ -32,8 +32,13 @@ __BEGIN_DECLS -extern int prctl(int option, unsigned long arg2, unsigned long arg3 , unsigned - long arg4, unsigned long arg5); +/* IMPORTANT NOTE: This function is declared as taking a variable number + * of arguments to match the GLibc definition. However + * its declaration inside SYSCALLS.TXT *must* make it + * take 6 arguments to ensure consistency with the kernel + * implementation. + */ +extern int prctl(int option, ...); __END_DECLS diff --git a/ndk/platforms/android-3/include/unistd.h b/ndk/platforms/android-3/include/unistd.h index 25fc33484..53088d4b5 100644 --- a/ndk/platforms/android-3/include/unistd.h +++ b/ndk/platforms/android-3/include/unistd.h @@ -70,8 +70,9 @@ extern int execlp(const char *, const char *, ...); extern int execle(const char *, const char *, ...); extern int capget(cap_user_header_t hdrp, cap_user_data_t datap); extern int capset(cap_user_header_t hdrp, const cap_user_data_t datap); -extern int prctl(int option, unsigned long arg2, unsigned long arg3, - unsigned long arg4, unsigned long arg5); + +/* IMPORTANT: See comment under about this declaration */ +extern int prctl(int option, ...); extern int nice(int); @@ -121,7 +122,7 @@ extern int sync(void); extern int close(int); extern off_t lseek(int, off_t, int); -extern loff_t lseek64(int, loff_t, int); +extern off64_t lseek64(int, off64_t, int); extern ssize_t read(int, void *, size_t); extern ssize_t write(int, const void *, size_t); diff --git a/ndk/platforms/android-8/include/unistd.h b/ndk/platforms/android-8/include/unistd.h index 863d56da7..ab8aee278 100644 --- a/ndk/platforms/android-8/include/unistd.h +++ b/ndk/platforms/android-8/include/unistd.h @@ -70,8 +70,9 @@ extern int execlp(const char *, const char *, ...); extern int execle(const char *, const char *, ...); extern int capget(cap_user_header_t hdrp, cap_user_data_t datap); extern int capset(cap_user_header_t hdrp, const cap_user_data_t datap); -extern int prctl(int option, unsigned long arg2, unsigned long arg3, - unsigned long arg4, unsigned long arg5); + +/* IMPORTANT: See comment under about this declaration */ +extern int prctl(int option, ...); extern int nice(int); @@ -125,7 +126,7 @@ extern int sync(void); extern int close(int); extern off_t lseek(int, off_t, int); -extern loff_t lseek64(int, loff_t, int); +extern off64_t lseek64(int, off64_t, int); extern ssize_t read(int, void *, size_t); extern ssize_t write(int, const void *, size_t); diff --git a/ndk/platforms/android-9/include/unistd.h b/ndk/platforms/android-9/include/unistd.h index 21154ad62..f92ec108a 100644 --- a/ndk/platforms/android-9/include/unistd.h +++ b/ndk/platforms/android-9/include/unistd.h @@ -70,8 +70,9 @@ extern int execlp(const char *, const char *, ...); extern int execle(const char *, const char *, ...); extern int capget(cap_user_header_t hdrp, cap_user_data_t datap); extern int capset(cap_user_header_t hdrp, const cap_user_data_t datap); -extern int prctl(int option, unsigned long arg2, unsigned long arg3, - unsigned long arg4, unsigned long arg5); + +/* IMPORTANT: See comment under about this declaration */ +extern int prctl(int option, ...); extern int nice(int); @@ -128,7 +129,7 @@ extern int sync(void); extern int close(int); extern off_t lseek(int, off_t, int); -extern loff_t lseek64(int, loff_t, int); +extern off64_t lseek64(int, off64_t, int); extern ssize_t read(int, void *, size_t); extern ssize_t write(int, const void *, size_t);