SuperH: add configuration to strace

Change-Id: I7a8986a7e3e0e07ae22cb21c5713f4e06c2790a9
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 */