diff options
Diffstat (limited to 'Android.patch')
-rw-r--r-- | Android.patch | 176 |
1 files changed, 124 insertions, 52 deletions
diff --git a/Android.patch b/Android.patch index d30d616a..e4848eb6 100644 --- a/Android.patch +++ b/Android.patch @@ -1,6 +1,6 @@ -diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/bjm.c ./bjm.c ---- /Users/jeffbrown/Downloads/strace-4.6/bjm.c 2009-11-06 09:27:46.000000000 -0800 -+++ ./bjm.c 2012-03-02 15:17:11.000000000 -0800 +diff -r -u -d /tmp/strace-4.6/bjm.c ./bjm.c +--- /tmp/strace-4.6/bjm.c 2009-11-06 09:27:46.000000000 -0800 ++++ ./bjm.c 2013-01-04 12:26:34.977221825 -0800 @@ -39,7 +39,9 @@ #include <sys/wait.h> #include <sys/resource.h> @@ -11,10 +11,24 @@ diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/bjm.c ./bjm.c #include <sys/syscall.h> #include <signal.h> -diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/file.c ./file.c ---- /Users/jeffbrown/Downloads/strace-4.6/file.c 2011-03-03 18:08:02.000000000 -0800 -+++ ./file.c 2012-03-02 15:11:14.000000000 -0800 -@@ -45,6 +45,41 @@ +diff -r -u -d /tmp/strace-4.6/defs.h ./defs.h +--- /tmp/strace-4.6/defs.h 2011-03-15 10:19:09.000000000 -0700 ++++ ./defs.h 2013-01-04 12:26:34.977221825 -0800 +@@ -33,10 +33,6 @@ + #include "config.h" + #endif + +-#ifdef MIPS +-#include <sgidefs.h> +-#endif +- + #ifdef linux + #include <features.h> + #endif +diff -r -u -d /tmp/strace-4.6/file.c ./file.c +--- /tmp/strace-4.6/file.c 2011-03-03 18:08:02.000000000 -0800 ++++ ./file.c 2013-01-04 12:26:34.977221825 -0800 +@@ -45,6 +45,60 @@ # define kernel_dirent dirent #endif @@ -33,6 +47,7 @@ diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/file.c ./file.c + +// ANDROID: From kernel_headers/asm/statfs.h + ++#if !defined(MIPS) +/* + * With EABI there is 4 bytes of padding added to this structure. + * Let's pack it so the padding goes away to simplify dual ABI support. @@ -51,14 +66,72 @@ diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/file.c ./file.c + __u32 f_frsize; + __u32 f_spare[5]; +} __attribute__ ((packed,aligned(4))); ++#else ++struct statfs64 { ++ __u32 f_type; ++ __u32 f_bsize; ++ __u32 f_frsize; ++ __u32 __pad; ++ __u64 f_blocks; ++ __u64 f_bfree; ++ __u64 f_files; ++ __u64 f_ffree; ++ __u64 f_bavail; ++ __kernel_fsid_t f_fsid; ++ __u32 f_namelen; ++ __u32 f_spare[6]; ++}; ++#endif ++ ++ +#endif /* HAVE_ANDROID_OS */ + #ifdef LINUX # ifdef LINUXSPARC struct stat { -diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/ioctl.c ./ioctl.c ---- /Users/jeffbrown/Downloads/strace-4.6/ioctl.c 2011-01-15 12:15:31.000000000 -0800 -+++ ./ioctl.c 2012-03-02 15:53:36.000000000 -0800 +@@ -1732,11 +1786,19 @@ + (unsigned long)statbuf.f_bsize, + (unsigned long)statbuf.f_blocks, + (unsigned long)statbuf.f_bfree); ++#ifdef MIPS ++ tprintf("f_bavail=%lu, f_files=%lu, f_ffree=%lu, f_fsid={%ld, %ld}", ++ (unsigned long)statbuf.f_bavail, ++ (unsigned long)statbuf.f_files, ++ (unsigned long)statbuf.f_ffree, ++ statbuf.f_fsid.val[0], statbuf.f_fsid.val[1]); ++#else + tprintf("f_bavail=%lu, f_files=%lu, f_ffree=%lu, f_fsid={%d, %d}", + (unsigned long)statbuf.f_bavail, + (unsigned long)statbuf.f_files, + (unsigned long)statbuf.f_ffree, + statbuf.f_fsid.__val[0], statbuf.f_fsid.__val[1]); ++#endif + #ifdef LINUX + tprintf(", f_namelen=%lu", (unsigned long)statbuf.f_namelen); + #endif /* LINUX */ +@@ -1790,11 +1852,19 @@ + (unsigned long long)statbuf.f_bsize, + (unsigned long long)statbuf.f_blocks, + (unsigned long long)statbuf.f_bfree); ++#ifdef MIPS ++ tprintf("f_bavail=%llu, f_files=%llu, f_ffree=%llu, f_fsid={%ld, %ld}", ++ (unsigned long long)statbuf.f_bavail, ++ (unsigned long long)statbuf.f_files, ++ (unsigned long long)statbuf.f_ffree, ++ statbuf.f_fsid.val[0], statbuf.f_fsid.val[1]); ++#else + tprintf("f_bavail=%llu, f_files=%llu, f_ffree=%llu, f_fsid={%d, %d}", + (unsigned long long)statbuf.f_bavail, + (unsigned long long)statbuf.f_files, + (unsigned long long)statbuf.f_ffree, + statbuf.f_fsid.__val[0], statbuf.f_fsid.__val[1]); ++#endif + tprintf(", f_namelen=%lu", (unsigned long)statbuf.f_namelen); + #ifdef _STATFS_F_FRSIZE + tprintf(", f_frsize=%llu", (unsigned long long)statbuf.f_frsize); +diff -r -u -d /tmp/strace-4.6/ioctl.c ./ioctl.c +--- /tmp/strace-4.6/ioctl.c 2011-01-15 12:15:31.000000000 -0800 ++++ ./ioctl.c 2013-01-04 12:26:34.977221825 -0800 @@ -155,9 +155,11 @@ case 0x03: case 0x12: @@ -71,9 +144,9 @@ diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/ioctl.c ./ioctl.c default: break; } -diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/ipc.c ./ipc.c ---- /Users/jeffbrown/Downloads/strace-4.6/ipc.c 2010-03-31 15:22:01.000000000 -0700 -+++ ./ipc.c 2012-03-02 16:12:52.000000000 -0800 +diff -r -u -d /tmp/strace-4.6/ipc.c ./ipc.c +--- /tmp/strace-4.6/ipc.c 2010-03-31 15:22:01.000000000 -0700 ++++ ./ipc.c 2013-01-04 12:26:34.977221825 -0800 @@ -40,9 +40,15 @@ #include <fcntl.h> @@ -90,9 +163,9 @@ diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/ipc.c ./ipc.c #ifndef MSG_STAT #define MSG_STAT 11 -diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/process.c ./process.c ---- /Users/jeffbrown/Downloads/strace-4.6/process.c 2011-03-14 14:58:59.000000000 -0700 -+++ ./process.c 2012-03-02 15:16:28.000000000 -0800 +diff -r -u -d /tmp/strace-4.6/process.c ./process.c +--- /tmp/strace-4.6/process.c 2011-03-14 14:58:59.000000000 -0700 ++++ ./process.c 2013-01-04 12:26:34.987221830 -0800 @@ -45,7 +45,11 @@ #include <sys/wait.h> #include <sys/resource.h> @@ -116,9 +189,9 @@ diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/process.c ./process.c #if defined(LINUX) && defined(IA64) # include <asm/ptrace_offsets.h> # include <asm/rse.h> -diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/signal.c ./signal.c ---- /Users/jeffbrown/Downloads/strace-4.6/signal.c 2011-03-10 15:14:47.000000000 -0800 -+++ ./signal.c 2012-03-02 15:22:07.000000000 -0800 +diff -r -u -d /tmp/strace-4.6/signal.c ./signal.c +--- /tmp/strace-4.6/signal.c 2011-03-10 15:14:47.000000000 -0800 ++++ ./signal.c 2013-01-04 12:26:34.987221830 -0800 @@ -37,9 +37,17 @@ #include <stdint.h> @@ -146,10 +219,18 @@ diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/signal.c ./signal.c /* Type for data associated with a signal. */ typedef union sigval { -diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/syscall.c ./syscall.c ---- /Users/jeffbrown/Downloads/strace-4.6/syscall.c 2011-02-18 16:02:27.000000000 -0800 -+++ ./syscall.c 2012-03-02 15:00:35.000000000 -0800 -@@ -38,10 +38,16 @@ +@@ -1492,6 +1500,7 @@ + tcp->u_arg[0] = 0; + sp = regs.regs[29]; + if (umove(tcp, sp, &si) < 0) ++ return 0; + tcp->u_arg[0] = 1; + tcp->u_arg[1] = si.si_mask; + } else { +diff -r -u -d /tmp/strace-4.6/syscall.c ./syscall.c +--- /tmp/strace-4.6/syscall.c 2011-02-18 16:02:27.000000000 -0800 ++++ ./syscall.c 2013-03-21 17:57:17.999238040 -0700 +@@ -38,7 +38,9 @@ #include <signal.h> #include <time.h> #include <errno.h> @@ -159,14 +240,7 @@ diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/syscall.c ./syscall.c #include <sys/syscall.h> #include <sys/param.h> -+#ifdef HAVE_ANDROID_OS -+#include "syscall-android.h" -+#endif -+ - #ifdef HAVE_SYS_REG_H - #include <sys/reg.h> - #ifndef PTRACE_PEEKUSR -@@ -2600,6 +2606,7 @@ +@@ -2600,6 +2602,7 @@ } switch (known_scno(tcp)) { @@ -174,7 +248,7 @@ diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/syscall.c ./syscall.c #ifdef SYS_socket_subcall case SYS_socketcall: decode_subcall(tcp, SYS_socket_subcall, -@@ -2612,6 +2619,7 @@ +@@ -2612,6 +2615,7 @@ SYS_ipc_nsubcalls, shift_style); break; #endif @@ -182,9 +256,9 @@ diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/syscall.c ./syscall.c #ifdef SVR4 #ifdef SYS_pgrpsys_subcall case SYS_pgrpsys: -diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/system.c ./system.c ---- /Users/jeffbrown/Downloads/strace-4.6/system.c 2011-02-22 02:22:13.000000000 -0800 -+++ ./system.c 2012-03-02 15:50:24.000000000 -0800 +diff -r -u -d /tmp/strace-4.6/system.c ./system.c +--- /tmp/strace-4.6/system.c 2011-02-22 02:22:13.000000000 -0800 ++++ ./system.c 2013-03-21 17:27:34.050083824 -0700 @@ -32,6 +32,11 @@ #include "defs.h" @@ -197,9 +271,18 @@ diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/system.c ./system.c #ifdef LINUX #define _LINUX_SOCKET_H #define _LINUX_FS_H -diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/time.c ./time.c ---- /Users/jeffbrown/Downloads/strace-4.6/time.c 2011-03-03 18:08:02.000000000 -0800 -+++ ./time.c 2012-03-02 15:23:05.000000000 -0800 +@@ -83,7 +88,7 @@ + #include <linux/utsname.h> + #endif + +-#ifdef HAVE_ASM_SYSMIPS_H ++#ifdef MIPS + #include <asm/sysmips.h> + #endif + +diff -r -u -d /tmp/strace-4.6/time.c ./time.c +--- /tmp/strace-4.6/time.c 2011-03-03 18:08:02.000000000 -0800 ++++ ./time.c 2013-01-04 12:26:34.987221830 -0800 @@ -33,7 +33,11 @@ #ifdef LINUX @@ -212,9 +295,9 @@ diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/time.c ./time.c #include <linux/ioctl.h> #include <linux/rtc.h> -diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/util.c ./util.c ---- /Users/jeffbrown/Downloads/strace-4.6/util.c 2011-03-03 18:08:02.000000000 -0800 -+++ ./util.c 2012-03-02 15:01:45.000000000 -0800 +diff -r -u -d /tmp/strace-4.6/util.c ./util.c +--- /tmp/strace-4.6/util.c 2011-03-03 18:08:02.000000000 -0800 ++++ ./util.c 2013-03-21 17:57:25.519150107 -0700 @@ -37,7 +37,9 @@ #include <signal.h> @@ -225,14 +308,3 @@ diff -r -u -d /Users/jeffbrown/Downloads/strace-4.6/util.c ./util.c #include <sys/param.h> #include <fcntl.h> #if HAVE_SYS_UIO_H -@@ -49,6 +51,10 @@ - #include <link.h> - #endif /* SUNOS4 */ - -+#ifdef HAVE_ANDROID_OS -+#include "syscall-android.h" -+#endif -+ - #if defined(linux) && (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 1)) - #include <linux/ptrace.h> - #endif |