diff --git a/Android.mk b/Android.mk
index 3f0b779..36319c1 100644
--- a/Android.mk
+++ b/Android.mk
@@ -24,11 +24,13 @@
 # ARM (e.g. 4.5.1.8), but that would mean having to reapply all Android-specific
 # changes. Sigh.
 ifeq ($(TARGET_ARCH),arm)
-	STRACE_ARM_HEADERS := $(LOCAL_PATH)/strace/linux/sh
+	STRACE_ARCH_HEADERS := $(LOCAL_PATH)/strace/linux/sh
+else
+	STRACE_ARCH_HEADERS := $(LOCAL_PATH)/strace/linux/$(TARGET_ARCH)
 endif
 
 LOCAL_C_INCLUDES := \
-	$(STRACE_ARM_HEADERS) \
+	$(STRACE_ARCH_HEADERS) \
 	$(KERNEL_HEADERS) \
 	$(LOCAL_PATH)/linux \
 	$(LOCAL_PATH)/android/arch/$(TARGET_ARCH)
diff --git a/android/arch/sh/config.h b/android/arch/sh/config.h
new file mode 100644
index 0000000..c151eaf
--- /dev/null
+++ b/android/arch/sh/config.h
@@ -0,0 +1,423 @@
+/* config.h.  Generated by configure.  */
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* Define for the Alpha architecture. */
+/* #undef ALPHA */
+
+/* Define for the ARM architecture. */
+/* #undef ARM */
+
+/* Define for the FreeBSD operating system. */
+/* #undef FREEBSD */
+
+/* Define to the type of elements in the array set by `getgroups'. Usually
+   this is either `int' or `gid_t'. */
+#define GETGROUPS_T gid_t
+
+/* Define to 1 if you have the <asm/reg.h> header file. */
+/* #undef HAVE_ASM_REG_H */
+
+/* Define to 1 if you have the <asm/sigcontext.h> header file. */
+#define HAVE_ASM_SIGCONTEXT_H 1
+
+/* Define to 1 if you have the <asm/sysmips.h> header file. */
+/* #undef HAVE_ASM_SYSMIPS_H */
+
+/* Define to 1 if you have the declaration of `sys_errlist', and to 0 if you
+   don't. */
+#define HAVE_DECL_SYS_ERRLIST 1
+
+/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you
+   don't. */
+#define HAVE_DECL_SYS_SIGLIST 1
+
+/* Define to 1 if you have the declaration of `_sys_siglist', and to 0 if you
+   don't. */
+//ANDROID
+//#define HAVE_DECL__SYS_SIGLIST 1
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#define HAVE_DIRENT_H 1
+
+/* Define to 1 if you have the `getdents' function. */
+/* #undef HAVE_GETDENTS */
+
+/* Define to 1 if you have the `if_indextoname' function. */
+#define HAVE_IF_INDEXTONAME 1
+
+/* Define to 1 if you have the `inet_ntop' function. */
+#define HAVE_INET_NTOP 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <ioctls.h> header file. */
+/* #undef HAVE_IOCTLS_H */
+
+/* Define to 1 if you have the <libaio.h> header file. */
+/* #undef HAVE_LIBAIO_H */
+
+/* Define to 1 if you have the `nsl' library (-lnsl). */
+/* #undef HAVE_LIBNSL */
+
+/* Define to 1 if you have the <linux/icmp.h> header file. */
+#define HAVE_LINUX_ICMP_H 1
+
+/* Define to 1 if you have the <linux/if_packet.h> header file. */
+#define HAVE_LINUX_IF_PACKET_H 1
+
+/* Define to 1 if you have the <linux/in6.h> header file. */
+#define HAVE_LINUX_IN6_H 1
+
+/* Define to 1 if you have the <linux/netlink.h> header file. */
+#define HAVE_LINUX_NETLINK_H 1
+
+/* Define to 1 if you have the <linux/ptrace.h> header file. */
+//ANDROID
+//#define HAVE_LINUX_PTRACE_H 1
+
+/* Define to 1 if you have the <linux/utsname.h> header file. */
+#define HAVE_LINUX_UTSNAME_H 1
+
+/* Define if long long is little-endian. */
+#define HAVE_LITTLE_ENDIAN_LONG_LONG 1
+
+/* Define to 1 if the system has the type `long long'. */
+#define HAVE_LONG_LONG 1
+
+/* Define if off_t is a long long. */
+/* #undef HAVE_LONG_LONG_OFF_T */
+
+/* Define if rlim_t is a long long. */
+/* #undef HAVE_LONG_LONG_RLIM_T */
+
+/* Define to 1 if you have the `mctl' function. */
+/* #undef HAVE_MCTL */
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define if you have a SVR4 MP type procfs. I.E. /dev/xxx/ctl,
+   /dev/xxx/status. Also implies that you have the pr_lwp member in prstatus.
+   */
+/* #undef HAVE_MP_PROCFS */
+
+/* Define to 1 if you have the <mqueue.h> header file. */
+//ANDROID
+//#define HAVE_MQUEUE_H 1
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+/* #undef HAVE_NDIR_H */
+
+/* Define to 1 if you have the <netinet/tcp.h> header file. */
+#define HAVE_NETINET_TCP_H 1
+
+/* Define to 1 if you have the <netinet/udp.h> header file. */
+#define HAVE_NETINET_UDP_H 1
+
+/* Define if you have SVR4 and the poll system call works on /proc files. */
+/* #undef HAVE_POLLABLE_PROCFS */
+
+/* Define to 1 if you have the <poll.h> header file. */
+#define HAVE_POLL_H 1
+
+/* Define to 1 if you have the `prctl' function. */
+#define HAVE_PRCTL 1
+
+/* Define to 1 if you have the `pread' function. */
+#define HAVE_PREAD 1
+
+/* Define if the prstatus structure in sys/procfs.h has a pr_syscall member.
+   */
+/* #undef HAVE_PR_SYSCALL */
+
+/* Define to 1 if you have the `sendmsg' function. */
+#define HAVE_SENDMSG 1
+
+/* Define to 1 if you have the `sigaction' function. */
+#define HAVE_SIGACTION 1
+
+/* Define to 1 if the system has the type `siginfo_t'. */
+#define HAVE_SIGINFO_T 1
+
+/* Define to 1 if the system has the type `sig_atomic_t'. */
+#define HAVE_SIG_ATOMIC_T 1
+
+/* Define if stat64 is available in asm/stat.h. */
+#define HAVE_STAT64 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `strerror' function. */
+#define HAVE_STRERROR 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <stropts.h> header file. */
+//ANDROID
+//#define HAVE_STROPTS_H 1
+
+/* Define to 1 if you have the `strsignal' function. */
+//ANDROID
+#include <sys/cdefs.h>
+#ifdef __BIONIC__
+#define HAVE_STRSIGNAL 1
+#endif
+
+/* Define to 1 if the system has the type `struct ia64_fpreg'. */
+/* #undef HAVE_STRUCT_IA64_FPREG */
+
+/* Define to 1 if `msg_control' is member of `struct msghdr'. */
+#define HAVE_STRUCT_MSGHDR_MSG_CONTROL 1
+
+/* Define to 1 if the system has the type `struct opthdr'. */
+/* #undef HAVE_STRUCT_OPTHDR */
+
+/* Define to 1 if the system has the type `struct pt_all_user_regs'. */
+/* #undef HAVE_STRUCT_PT_ALL_USER_REGS */
+
+/* Define to 1 if `sin6_scope_id' is member of `struct sockaddr_in6'. */
+#define HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID 1
+
+/* Define to 1 if `st_aclcnt' is member of `struct stat'. */
+/* #undef HAVE_STRUCT_STAT_ST_ACLCNT */
+
+/* Define to 1 if `st_blksize' is member of `struct stat'. */
+#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
+
+/* Define to 1 if `st_blocks' is member of `struct stat'. */
+#define HAVE_STRUCT_STAT_ST_BLOCKS 1
+
+/* Define to 1 if `st_flags' is member of `struct stat'. */
+/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
+
+/* Define to 1 if `st_fstype' is member of `struct stat'. */
+/* #undef HAVE_STRUCT_STAT_ST_FSTYPE */
+
+/* Define to 1 if `st_gen' is member of `struct stat'. */
+/* #undef HAVE_STRUCT_STAT_ST_GEN */
+
+/* Define to 1 if `st_level' is member of `struct stat'. */
+/* #undef HAVE_STRUCT_STAT_ST_LEVEL */
+
+/* Define to 1 if `st_rdev' is member of `struct stat'. */
+#define HAVE_STRUCT_STAT_ST_RDEV 1
+
+/* Define to 1 if `ACCEPTOR_id' is member of `struct T_conn_res'. */
+/* #undef HAVE_STRUCT_T_CONN_RES_ACCEPTOR_ID */
+
+/* Define to 1 if `QUEUE_ptr' is member of `struct T_conn_res'. */
+/* #undef HAVE_STRUCT_T_CONN_RES_QUEUE_PTR */
+
+/* Define to 1 if the system has the type `struct t_opthdr'. */
+/* #undef HAVE_STRUCT_T_OPTHDR */
+
+/* Define to 1 if the system has the type `struct user_desc'. */
+#define HAVE_STRUCT_USER_DESC 1
+
+/* Define to 1 if the system has the type `struct __old_kernel_stat'. */
+#define HAVE_STRUCT___OLD_KERNEL_STAT 1
+
+/* Define to 1 if you have the <sys/acl.h> header file. */
+/* #undef HAVE_SYS_ACL_H */
+
+/* Define to 1 if you have the <sys/aio.h> header file. */
+/* #undef HAVE_SYS_AIO_H */
+
+/* Define to 1 if you have the <sys/asynch.h> header file. */
+/* #undef HAVE_SYS_ASYNCH_H */
+
+/* Define to 1 if you have the <sys/conf.h> header file. */
+/* #undef HAVE_SYS_CONF_H */
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define to 1 if you have the <sys/door.h> header file. */
+/* #undef HAVE_SYS_DOOR_H */
+
+/* Define to 1 if you have the <sys/epoll.h> header file. */
+#define HAVE_SYS_EPOLL_H 1
+
+/* Define to 1 if you have the <sys/filio.h> header file. */
+/* #undef HAVE_SYS_FILIO_H */
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#define HAVE_SYS_IOCTL_H 1
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define to 1 if you have the <sys/nscsys.h> header file. */
+/* #undef HAVE_SYS_NSCSYS_H */
+
+/* Define to 1 if you have the <sys/poll.h> header file. */
+#define HAVE_SYS_POLL_H 1
+
+/* Define to 1 if you have the <sys/ptrace.h> header file. */
+#define HAVE_SYS_PTRACE_H 1
+
+/* Define to 1 if you have the <sys/reg.h> header file. */
+//ANDROID
+//#define HAVE_SYS_REG_H 1
+
+/* Define to 1 if you have the `sys_siglist' function. */
+#define HAVE_SYS_SIGLIST 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/stream.h> header file. */
+/* #undef HAVE_SYS_STREAM_H */
+
+/* Define to 1 if you have the <sys/sysconfig.h> header file. */
+/* #undef HAVE_SYS_SYSCONFIG_H */
+
+/* Define to 1 if you have the <sys/tihdr.h> header file. */
+/* #undef HAVE_SYS_TIHDR_H */
+
+/* Define to 1 if you have the <sys/tiuser.h> header file. */
+/* #undef HAVE_SYS_TIUSER_H */
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <sys/uio.h> header file. */
+#define HAVE_SYS_UIO_H 1
+
+/* Define to 1 if you have the <sys/vfs.h> header file. */
+#define HAVE_SYS_VFS_H 1
+
+/* Define to 1 if you have the <termio.h> header file. */
+#define HAVE_TERMIO_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the `_sys_siglist' function. */
+//ANDROID
+//#define HAVE__SYS_SIGLIST 1
+
+/* Define for the HPPA architecture. */
+/* #undef HPPA */
+
+/* Define for the i386 architecture. */
+/* #undef I386 */
+
+/* Define for the IA64 architecture. */
+/* #undef IA64 */
+
+/* Define for the Linux operating system. */
+#define LINUX 1
+
+/* Define for the m68k architecture. */
+/* #undef M68K */
+
+/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
+   */
+/* #undef MAJOR_IN_MKDEV */
+
+/* Define to 1 if `major', `minor', and `makedev' are declared in
+   <sysmacros.h>. */
+/* #undef MAJOR_IN_SYSMACROS */
+
+/* Define for the MIPS architecture. */
+/* #undef MIPS */
+
+/* Name of package */
+#define PACKAGE "strace"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT ""
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "strace"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "strace 4.5.12"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "strace"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "4.5.12"
+
+/* Define for the PowerPC architecture. */
+/* #undef POWERPC */
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#define RETSIGTYPE void
+
+/* Define for the S390 architecture. */
+/* #undef S390 */
+
+/* Define for the S390x architecture. */
+/* #undef S390X */
+
+/* Define for the SH architecture. */
+#define SH 1
+
+/* Define for the SH64 architecture. */
+/* #undef SH64 */
+
+/* Define for the SPARC architecture. */
+/* #undef SPARC */
+
+/* Define for the SPARC64 architecture. */
+/* #undef SPARC64 */
+
+/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
+/* #undef STAT_MACROS_BROKEN */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define for the SunOS 4.x operating system. */
+/* #undef SUNOS4 */
+
+/* Define if you are have a SPARC with SUNOS4 and your want a version of
+   strace that will work on sun4, sun4c and sun4m kernel architectures. Only
+   useful if you have a symbolic link from machine to /usr/include/sun4 in the
+   compilation directory. */
+/* #undef SUNOS4_KERNEL_ARCH_KLUDGE */
+
+/* Define for the System V release 4 operating system or a derivative like
+   Solaris 2.x or Irix 5.x. */
+/* #undef SVR4 */
+
+/* Define for UnixWare systems. */
+/* #undef UNIXWARE */
+
+/* Version number of package */
+#define VERSION "4.5.12"
+
+/* Define for the AMD x86-64 architecture. */
+/* #undef X86_64 */
+
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+/* #undef gid_t */
+
+/* Define to `int' if <sys/types.h> does not define. */
+/* #undef mode_t */
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+/* #undef uid_t */
