diff --git a/Android.mk b/Android.mk
index 349c9e9..f57a039 100644
--- a/Android.mk
+++ b/Android.mk
@@ -15,14 +15,19 @@
 
 LOCAL_SRC_FILES:= $(strace_SOURCES)
 
-LOCAL_SHARED_LIBRARIES := \
+LOCAL_SHARED_LIBRARIES :=
 
 LOCAL_C_INCLUDES := \
 	$(KERNEL_HEADERS) \
-	$(LOCAL_PATH)/linux
+	$(LOCAL_PATH)/linux \
+	$(LOCAL_PATH)/android/arch/$(TARGET_ARCH)
 
 LOCAL_CFLAGS := -DHAVE_CONFIG_H -Dd_fileno=d_ino -D_LFS64_LARGEFILE=1
 
+ifeq ($(TARGET_ARCH),x86)
+LOCAL_CFLAGS += -Ulinux
+endif
+
 LOCAL_MODULE := strace
 
 LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
diff --git a/config.h b/android/arch/arm/config.h
similarity index 100%
rename from config.h
rename to android/arch/arm/config.h
diff --git a/android/arch/x86/config.h b/android/arch/x86/config.h
new file mode 100644
index 0000000..2bdaa17
--- /dev/null
+++ b/android/arch/x86/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. */
+#define I386 1
+
+/* 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. */
+/* #undef SH */
+
+/* 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 */
