cdf436294f
This patch is to teach both GDB and GDBServer to detect 64-bit inferior correctly. We find a problem that GDBServer is unable to detect on a e5500 core processor. Current GDBServer assumes that MSR is a 64-bit register, but MSR is a 32-bit register in Book III-E. This patch is to fix this problem by checking the right bit in MSR, in order to handle both Book III-S and Book III-E. In order to detect Book III-S and Book III-E, we check the PPC_FEATURE_BOOKE from the host's HWCAP (by getauxval on glibc >= 2.16. If getauxval doesn't exist, we implement the fallback by parsing /proc/self/auxv), because it should an invariant on the same machine cross different processes. In order to share code, I add nat/ppc-linux.c for both GDB and GDBserver side. gdb: 2015-01-14 Yao Qi <yao@codesourcery.com> * Makefile.in (ppc-linux.o): New rule. * config/powerpc/ppc64-linux.mh (NATDEPFILES): Add ppc-linux.o. * configure.ac: AC_CHECK_FUNCS(getauxval). * config.in: Re-generated. * configure: Re-generated. * nat/ppc-linux.h [__powerpc64__] (ppc64_64bit_inferior_p): Declare. * nat/ppc-linux.c: New file. * ppc-linux-nat.c (ppc_linux_target_wordsize) [__powerpc64__]: Call ppc64_64bit_inferior_p. gdb/gdbserver: 2015-01-14 Yao Qi <yao@codesourcery.com> * Makefile.in (SFILES): Add nat/ppc-linux.c. (ppc-linux.o): New rule. * configure.srv (powerpc*-*-linux*): Add ppc-linux.o. * configure.ac: AC_CHECK_FUNCS(getauxval). * config.in: Re-generated. * configure: Re-generated. * linux-ppc-low.c (ppc_arch_setup) [__powerpc64__]: Call ppc64_64bit_inferior_p
317 lines
8.5 KiB
Text
317 lines
8.5 KiB
Text
/* config.in. Generated from configure.ac by autoheader. */
|
|
|
|
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
|
|
systems. This function is required for `alloca.c' support on those systems.
|
|
*/
|
|
#undef CRAY_STACKSEG_END
|
|
|
|
/* Define to 1 if using `alloca.c'. */
|
|
#undef C_ALLOCA
|
|
|
|
/* Define to 1 if you have `alloca', as a function or macro. */
|
|
#undef HAVE_ALLOCA
|
|
|
|
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
|
|
*/
|
|
#undef HAVE_ALLOCA_H
|
|
|
|
/* Define to 1 if you have the <arpa/inet.h> header file. */
|
|
#undef HAVE_ARPA_INET_H
|
|
|
|
/* Define to 1 if you have the declaration of `ADDR_NO_RANDOMIZE', and to 0 if
|
|
you don't. */
|
|
#undef HAVE_DECL_ADDR_NO_RANDOMIZE
|
|
|
|
/* Define to 1 if you have the declaration of `perror', and to 0 if you don't.
|
|
*/
|
|
#undef HAVE_DECL_PERROR
|
|
|
|
/* Define to 1 if you have the declaration of `strerror', and to 0 if you
|
|
don't. */
|
|
#undef HAVE_DECL_STRERROR
|
|
|
|
/* Define to 1 if you have the declaration of `strstr', and to 0 if you don't.
|
|
*/
|
|
#undef HAVE_DECL_STRSTR
|
|
|
|
/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you
|
|
don't. */
|
|
#undef HAVE_DECL_VASPRINTF
|
|
|
|
/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you
|
|
don't. */
|
|
#undef HAVE_DECL_VSNPRINTF
|
|
|
|
/* Define to 1 if you have the `dladdr' function. */
|
|
#undef HAVE_DLADDR
|
|
|
|
/* Define to 1 if the system has the type `Elf32_auxv_t'. */
|
|
#undef HAVE_ELF32_AUXV_T
|
|
|
|
/* Define to 1 if the system has the type `Elf64_auxv_t'. */
|
|
#undef HAVE_ELF64_AUXV_T
|
|
|
|
/* Define if <sys/procfs.h> has elf_fpregset_t. */
|
|
#undef HAVE_ELF_FPREGSET_T
|
|
|
|
/* Define to 1 if you have the <fcntl.h> header file. */
|
|
#undef HAVE_FCNTL_H
|
|
|
|
/* Define to 1 if you have the `fdwalk' function. */
|
|
#undef HAVE_FDWALK
|
|
|
|
/* Define to 1 if you have the `getauxval' function. */
|
|
#undef HAVE_GETAUXVAL
|
|
|
|
/* Define to 1 if you have the `getrlimit' function. */
|
|
#undef HAVE_GETRLIMIT
|
|
|
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
|
#undef HAVE_INTTYPES_H
|
|
|
|
/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
|
|
#undef HAVE_LANGINFO_CODESET
|
|
|
|
/* Define to 1 if you have the `dl' library (-ldl). */
|
|
#undef HAVE_LIBDL
|
|
|
|
/* Define to 1 if you have the `mcheck' library (-lmcheck). */
|
|
#undef HAVE_LIBMCHECK
|
|
|
|
/* Define if the target supports branch tracing. */
|
|
#undef HAVE_LINUX_BTRACE
|
|
|
|
/* Define to 1 if you have the <linux/elf.h> header file. */
|
|
#undef HAVE_LINUX_ELF_H
|
|
|
|
/* Define to 1 if you have the <linux/perf_event.h> header file. */
|
|
#undef HAVE_LINUX_PERF_EVENT_H
|
|
|
|
/* Define if the target supports register sets. */
|
|
#undef HAVE_LINUX_REGSETS
|
|
|
|
/* Define if the target supports PTRACE_PEEKUSR for register access. */
|
|
#undef HAVE_LINUX_USRREGS
|
|
|
|
/* Define to 1 if you have the <locale.h> header file. */
|
|
#undef HAVE_LOCALE_H
|
|
|
|
/* Define if <thread_db.h> has lwpid_t. */
|
|
#undef HAVE_LWPID_T
|
|
|
|
/* Define to 1 if you have the <memory.h> header file. */
|
|
#undef HAVE_MEMORY_H
|
|
|
|
/* Define to 1 if you have the <netdb.h> header file. */
|
|
#undef HAVE_NETDB_H
|
|
|
|
/* Define to 1 if you have the <netinet/in.h> header file. */
|
|
#undef HAVE_NETINET_IN_H
|
|
|
|
/* Define to 1 if you have the <netinet/tcp.h> header file. */
|
|
#undef HAVE_NETINET_TCP_H
|
|
|
|
/* Define if you support the personality syscall. */
|
|
#undef HAVE_PERSONALITY
|
|
|
|
/* Define to 1 if you have the `pipe' function. */
|
|
#undef HAVE_PIPE
|
|
|
|
/* Define to 1 if you have the `pipe2' function. */
|
|
#undef HAVE_PIPE2
|
|
|
|
/* Define to 1 if you have the `pread' function. */
|
|
#undef HAVE_PREAD
|
|
|
|
/* Define to 1 if you have the `pread64' function. */
|
|
#undef HAVE_PREAD64
|
|
|
|
/* Define if <sys/procfs.h> has prgregset_t. */
|
|
#undef HAVE_PRGREGSET_T
|
|
|
|
/* Define to 1 if you have the <proc_service.h> header file. */
|
|
#undef HAVE_PROC_SERVICE_H
|
|
|
|
/* Define if <thread_db.h> has psaddr_t. */
|
|
#undef HAVE_PSADDR_T
|
|
|
|
/* Define if the target supports PTRACE_GETFPXREGS for extended register
|
|
access. */
|
|
#undef HAVE_PTRACE_GETFPXREGS
|
|
|
|
/* Define if the target supports PTRACE_GETREGS for register access. */
|
|
#undef HAVE_PTRACE_GETREGS
|
|
|
|
/* Define to 1 if you have the `pwrite' function. */
|
|
#undef HAVE_PWRITE
|
|
|
|
/* Define to 1 if you have the <sgtty.h> header file. */
|
|
#undef HAVE_SGTTY_H
|
|
|
|
/* Define to 1 if you have the <signal.h> header file. */
|
|
#undef HAVE_SIGNAL_H
|
|
|
|
/* Define if sigsetjmp is available. */
|
|
#undef HAVE_SIGSETJMP
|
|
|
|
/* Define to 1 if you have the `socketpair' function. */
|
|
#undef HAVE_SOCKETPAIR
|
|
|
|
/* Define to 1 if the system has the type `socklen_t'. */
|
|
#undef HAVE_SOCKLEN_T
|
|
|
|
/* Define to 1 if you have the <stdint.h> header file. */
|
|
#undef HAVE_STDINT_H
|
|
|
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
|
#undef HAVE_STDLIB_H
|
|
|
|
/* Define to 1 if you have the <strings.h> header file. */
|
|
#undef HAVE_STRINGS_H
|
|
|
|
/* Define to 1 if you have the <string.h> header file. */
|
|
#undef HAVE_STRING_H
|
|
|
|
/* Define to 1 if the target supports __sync_*_compare_and_swap */
|
|
#undef HAVE_SYNC_BUILTINS
|
|
|
|
/* Define to 1 if you have the <sys/file.h> header file. */
|
|
#undef HAVE_SYS_FILE_H
|
|
|
|
/* Define to 1 if you have the <sys/ioctl.h> header file. */
|
|
#undef HAVE_SYS_IOCTL_H
|
|
|
|
/* Define to 1 if you have the <sys/procfs.h> header file. */
|
|
#undef HAVE_SYS_PROCFS_H
|
|
|
|
/* Define to 1 if you have the <sys/reg.h> header file. */
|
|
#undef HAVE_SYS_REG_H
|
|
|
|
/* Define to 1 if you have the <sys/resource.h> header file. */
|
|
#undef HAVE_SYS_RESOURCE_H
|
|
|
|
/* Define to 1 if you have the <sys/socket.h> header file. */
|
|
#undef HAVE_SYS_SOCKET_H
|
|
|
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
|
#undef HAVE_SYS_STAT_H
|
|
|
|
/* Define to 1 if you have the <sys/syscall.h> header file. */
|
|
#undef HAVE_SYS_SYSCALL_H
|
|
|
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
|
#undef HAVE_SYS_TYPES_H
|
|
|
|
/* Define to 1 if you have the <sys/un.h> header file. */
|
|
#undef HAVE_SYS_UN_H
|
|
|
|
/* Define to 1 if you have the <sys/wait.h> header file. */
|
|
#undef HAVE_SYS_WAIT_H
|
|
|
|
/* Define if TD_VERSION is available. */
|
|
#undef HAVE_TD_VERSION
|
|
|
|
/* Define to 1 if you have the <termios.h> header file. */
|
|
#undef HAVE_TERMIOS_H
|
|
|
|
/* Define to 1 if you have the <termio.h> header file. */
|
|
#undef HAVE_TERMIO_H
|
|
|
|
/* Define to 1 if you have the <thread_db.h> header file. */
|
|
#undef HAVE_THREAD_DB_H
|
|
|
|
/* Define to 1 if you have the <unistd.h> header file. */
|
|
#undef HAVE_UNISTD_H
|
|
|
|
/* Define if UST is available */
|
|
#undef HAVE_UST
|
|
|
|
/* Define to 1 if you have the <wait.h> header file. */
|
|
#undef HAVE_WAIT_H
|
|
|
|
/* Define to the address where bug reports for this package should be sent. */
|
|
#undef PACKAGE_BUGREPORT
|
|
|
|
/* Define to the full name of this package. */
|
|
#undef PACKAGE_NAME
|
|
|
|
/* Define to the full name and version of this package. */
|
|
#undef PACKAGE_STRING
|
|
|
|
/* Define to the one symbol short name of this package. */
|
|
#undef PACKAGE_TARNAME
|
|
|
|
/* Define to the home page for this package. */
|
|
#undef PACKAGE_URL
|
|
|
|
/* Define to the version of this package. */
|
|
#undef PACKAGE_VERSION
|
|
|
|
/* Additional package description */
|
|
#undef PKGVERSION
|
|
|
|
/* Bug reporting address */
|
|
#undef REPORT_BUGS_TO
|
|
|
|
/* If using the C implementation of alloca, define if you know the
|
|
direction of stack growth for your system; otherwise it will be
|
|
automatically deduced at runtime.
|
|
STACK_DIRECTION > 0 => grows toward higher addresses
|
|
STACK_DIRECTION < 0 => grows toward lower addresses
|
|
STACK_DIRECTION = 0 => direction of growth unknown */
|
|
#undef STACK_DIRECTION
|
|
|
|
/* Define to 1 if you have the ANSI C header files. */
|
|
#undef STDC_HEADERS
|
|
|
|
/* Define if we should use libthread_db directly. */
|
|
#undef USE_LIBTHREAD_DB_DIRECTLY
|
|
|
|
/* Enable extensions on AIX 3, Interix. */
|
|
#ifndef _ALL_SOURCE
|
|
# undef _ALL_SOURCE
|
|
#endif
|
|
/* Enable GNU extensions on systems that have them. */
|
|
#ifndef _GNU_SOURCE
|
|
# undef _GNU_SOURCE
|
|
#endif
|
|
/* Enable threading extensions on Solaris. */
|
|
#ifndef _POSIX_PTHREAD_SEMANTICS
|
|
# undef _POSIX_PTHREAD_SEMANTICS
|
|
#endif
|
|
/* Enable extensions on HP NonStop. */
|
|
#ifndef _TANDEM_SOURCE
|
|
# undef _TANDEM_SOURCE
|
|
#endif
|
|
/* Enable general extensions on Solaris. */
|
|
#ifndef __EXTENSIONS__
|
|
# undef __EXTENSIONS__
|
|
#endif
|
|
|
|
|
|
/* Define if we should use libthread_db. */
|
|
#undef USE_THREAD_DB
|
|
|
|
/* Define if we should use the Windows API, instead of the POSIX API. On
|
|
Windows, we use the Windows API when building for MinGW, but the POSIX API
|
|
when building for Cygwin. */
|
|
#undef USE_WIN32API
|
|
|
|
/* Define if an XML target description is available. */
|
|
#undef USE_XML
|
|
|
|
/* Number of bits in a file offset, on hosts where this is settable. */
|
|
#undef _FILE_OFFSET_BITS
|
|
|
|
/* Define for large files, on AIX-style hosts. */
|
|
#undef _LARGE_FILES
|
|
|
|
/* Define to 1 if on MINIX. */
|
|
#undef _MINIX
|
|
|
|
/* Define to 2 if the system does not provide POSIX.1 features except with
|
|
this defined. */
|
|
#undef _POSIX_1_SOURCE
|
|
|
|
/* Define to 1 if you need to in order for `stat' and other things to work. */
|
|
#undef _POSIX_SOURCE
|