PERFORCE change 84827 for review

Olivier Houchard cognet at FreeBSD.org
Tue Oct 4 15:40:46 PDT 2005


http://perforce.freebsd.org/chv.cgi?CH=84827

Change 84827 by cognet at cognet on 2005/10/04 22:39:38

	Grr apparently I managed to mess up with my local CVS repo and
	cvs wasn't diffing a lot of new files, so here are they again.
	Frame unwinding across traps now works.

Affected files ...

.. //depot/projects/arm/gnu-arm.diff#8 edit

Differences ...

==== //depot/projects/arm/gnu-arm.diff#8 (text+ko) ====

@@ -62,6 +62,58 @@
  NO_GDB=	# not yet
  .endif
  
+Index: gnu/usr.bin/binutils/as/arm-freebsd/targ-cpu.h
+===================================================================
+RCS file: gnu/usr.bin/binutils/as/arm-freebsd/targ-cpu.h
+diff -N gnu/usr.bin/binutils/as/arm-freebsd/targ-cpu.h
+--- /dev/null	1 Jan 1970 00:00:00 -0000
++++ gnu/usr.bin/binutils/as/arm-freebsd/targ-cpu.h	29 Aug 2005 12:39:27 -0000
+@@ -0,0 +1,3 @@
++/* $FreeBSD$ */
++
++#include "tc-arm.h"
+Index: gnu/usr.bin/binutils/libbfd/Makefile.arm
+===================================================================
+RCS file: gnu/usr.bin/binutils/libbfd/Makefile.arm
+diff -N gnu/usr.bin/binutils/libbfd/Makefile.arm
+--- /dev/null	1 Jan 1970 00:00:00 -0000
++++ gnu/usr.bin/binutils/libbfd/Makefile.arm	29 Aug 2005 12:39:27 -0000
+@@ -0,0 +1,24 @@
++# $FreeBSD$
++
++DEFAULT_VECTOR=	bfd_elf32_littlearm_vec
++
++SRCS+=	\
++	cpu-arm.c	\
++	elf32.c		\
++	elf32-gen.c	\
++	elflink.c	\
++	elfarm-nabi.c	\
++	elfarm-oabi.c	\
++	elf32-arm-fbsd.c \
++	elf32-target.h
++VECS+=	${DEFAULT_VECTOR}  \
++	bfd_elf32_bigarm_vec
++
++.if ${TARGET_ARCH} == "arm"
++CFLAGS+= -DDEFAULT_VECTOR=${DEFAULT_VECTOR}
++.endif
++
++CLEANFILES+=	elf32-arm-fbsd.c
++
++elf32-arm-fbsd.c: elfarm-nabi.c
++	cat ${.ALLSRC} | sed s/ELFOSABI_ARM/ELFOSABI_FREEBSD/g >${.TARGET}
+Index: gnu/usr.bin/binutils/libopcodes/Makefile.arm
+===================================================================
+RCS file: gnu/usr.bin/binutils/libopcodes/Makefile.arm
+diff -N gnu/usr.bin/binutils/libopcodes/Makefile.arm
+--- /dev/null	1 Jan 1970 00:00:00 -0000
++++ gnu/usr.bin/binutils/libopcodes/Makefile.arm	29 Aug 2005 12:39:27 -0000
+@@ -0,0 +1,4 @@
++# $FreeBSD$
++
++SRCS+=	arm-dis.c
++CFLAGS+= -DARCH_arm
 Index: gnu/usr.bin/cc/cc_tools/Makefile
 ===================================================================
 RCS file: /cognet/ncvs/src/gnu/usr.bin/cc/cc_tools/Makefile,v
@@ -107,3 +159,1025 @@
  /* The number of bytes in type long */
  # define SIZEOF_LONG SIZEOF_INT
  #elif defined(__alpha__) || defined(__sparc64__) || defined(__ia64__) || defined(__amd64__)
+Index: gnu/usr.bin/gdb/arch/arm/Makefile
+===================================================================
+RCS file: gnu/usr.bin/gdb/arch/arm/Makefile
+diff -N gnu/usr.bin/gdb/arch/arm/Makefile
+--- /dev/null	1 Jan 1970 00:00:00 -0000
++++ gnu/usr.bin/gdb/arch/arm/Makefile	29 Aug 2005 12:39:27 -0000
+@@ -0,0 +1,16 @@
++# $FreeBSD$
++
++GENSRCS+= xm.h
++.if !defined(GDB_CROSS_DEBUGGER)
++LIBSRCS+= armfbsd-nat.c
++.endif
++LIBSRCS+= arm-tdep.c armfbsd-tdep.c solib.c solib-svr4.c
++
++nm.h:
++	echo '#include "arm/nm-fbsd.h"' > ${.TARGET}
++
++tm.h:
++	echo '#include "arm/tm-fbsd.h"' > ${.TARGET}
++
++xm.h:
++	echo '#include "arm/xm-fbsd.h"' > ${.TARGET}
+Index: gnu/usr.bin/gdb/arch/arm/config.h
+===================================================================
+RCS file: gnu/usr.bin/gdb/arch/arm/config.h
+diff -N gnu/usr.bin/gdb/arch/arm/config.h
+--- /dev/null	1 Jan 1970 00:00:00 -0000
++++ gnu/usr.bin/gdb/arch/arm/config.h	29 Aug 2005 12:39:27 -0000
+@@ -0,0 +1,553 @@
++/* $FreeBSD$ */
++
++/* config.h.  Generated automatically by configure.  */
++/* config.in.  Generated automatically from configure.in by autoheader.  */
++
++/* Define if on AIX 3.
++   System headers sometimes define this.
++   We just want to avoid a redefinition error message.  */
++#ifndef _ALL_SOURCE
++/* #undef _ALL_SOURCE */
++#endif
++
++/* Define if using alloca.c.  */
++/* #undef C_ALLOCA */
++
++/* Define to empty if the keyword does not work.  */
++/* #undef const */
++
++/* 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 if you have alloca, as a function or macro.  */
++#define HAVE_ALLOCA 1
++
++/* Define if you have <alloca.h> and it should be used (not on Ultrix).  */
++/* #undef HAVE_ALLOCA_H */
++
++/* Define if the `long double' type works.  */
++#define HAVE_LONG_DOUBLE 1
++
++/* Define if you have a working `mmap' system call.  */
++#define HAVE_MMAP 1
++
++/* Define if you have <vfork.h>.  */
++/* #undef HAVE_VFORK_H */
++
++/* Define as __inline if that's what the C compiler calls it.  */
++/* #undef inline */
++
++/* Define to `long' if <sys/types.h> doesn't define.  */
++/* #undef off_t */
++
++/* Define to `int' if <sys/types.h> doesn't define.  */
++/* #undef pid_t */
++
++/* Define if you need to in order for stat and other things to work.  */
++/* #undef _POSIX_SOURCE */
++
++/* Define as the return type of signal handlers (int or void).  */
++#define RETSIGTYPE void
++
++/* Define if the `setpgrp' function takes no argument.  */
++/* #undef SETPGRP_VOID */
++
++/* Define to `unsigned' if <sys/types.h> doesn't define.  */
++/* #undef size_t */
++
++/* 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 run-time.
++ 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 if the `S_IS*' macros in <sys/stat.h> do not work properly.  */
++/* #undef STAT_MACROS_BROKEN */
++
++/* Define if you have the ANSI C header files.  */
++#define STDC_HEADERS 1
++
++/* Define vfork as fork if vfork does not work.  */
++/* #undef vfork */
++
++/* Enable GNU extensions on systems that have them.  */
++#ifndef _GNU_SOURCE
++# define _GNU_SOURCE 1
++#endif
++
++/* Define if your struct reg has r_fs.  */
++/* #define HAVE_STRUCT_REG_R_FS 1 */
++
++/* Define if your struct stat has st_blocks.  */
++#define HAVE_STRUCT_STAT_ST_BLOCKS 1
++
++/* Define if your struct reg has r_gs.  */
++/* #define HAVE_STRUCT_REG_R_GS 1 */
++
++/* Define if <link.h> exists and defines struct link_map which has
++   members with an ``l_'' prefix.  (For Solaris, SVR4, and
++   SVR4-like systems.) */
++#define HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS 1
++
++/* Define if <link.h> exists and defines struct link_map which has
++  members with an ``lm_'' prefix.  (For SunOS.)  */
++/* #undef HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS */
++
++/* Define if <link.h> exists and defines a struct so_map which has
++  members with an ``som_'' prefix.  (Found on older *BSD systems.)  */
++/* #undef HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS */
++
++/* Define if <sys/link.h> has struct link_map32 */
++/* #undef HAVE_STRUCT_LINK_MAP32 */
++
++/* Define if <sys/link.h> has link_map32 (solaris sparc-64 target) */
++/* #undef _SYSCALL32 */
++
++/* Define if the prfpregset_t type is broken. */
++/* #undef PRFPREGSET_T_BROKEN */
++
++/* Define if you want to use new multi-fd /proc interface
++   (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros). */
++/* #undef NEW_PROC_API */
++
++/* Define if ioctl argument PIOCSET is available. */
++/* #undef HAVE_PROCFS_PIOCSET */
++
++/* Define if the `long long' type works.  */
++#define CC_HAS_LONG_LONG 1
++
++/* Define if the "ll" format works to print long long ints. */
++#define PRINTF_HAS_LONG_LONG 1
++
++/* Define if the "%Lg" format works to print long doubles. */
++#define PRINTF_HAS_LONG_DOUBLE 1
++
++/* Define if the "%Lg" format works to scan long doubles. */
++#define SCANF_HAS_LONG_DOUBLE 1
++
++/* Define if using Solaris thread debugging.  */
++/* #undef HAVE_THREAD_DB_LIB */
++
++/* Define on a GNU/Linux system to work around problems in sys/procfs.h.  */
++/* #undef START_INFERIOR_TRAPS_EXPECTED */
++/* #undef sys_quotactl */
++
++/* Define if you have HPUX threads */
++/* #undef HAVE_HPUX_THREAD_SUPPORT */
++
++/* Define if <proc_service.h> on solaris uses int instead of
++   size_t, and assorted other type changes. */
++/* #undef PROC_SERVICE_IS_OLD */
++
++/* Define if the simulator is being linked in.  */
++#define WITH_SIM 1
++
++/* Set to true if the save_state_t structure is present */
++/* #undef HAVE_STRUCT_SAVE_STATE_T */
++
++/* Set to true if the save_state_t structure has the ss_wide member */
++/* #undef HAVE_STRUCT_MEMBER_SS_WIDE */
++
++/* Define if <sys/ptrace.h> defines the PTRACE_GETREGS request.  */
++/* #undef HAVE_PTRACE_GETREGS */
++
++/* Define if <sys/ptrace.h> defines the PTRACE_GETFPXREGS request.  */
++/* #undef HAVE_PTRACE_GETFPXREGS */
++
++/* Define if <sys/ptrace.h> defines the PT_GETDBREGS request.  */
++#define HAVE_PT_GETDBREGS 1
++
++/* Define if <sys/ptrace.h> defines the PT_GETXMMREGS request.  */
++/* #undef HAVE_PT_GETXMMREGS */
++
++/* Define if libunwind library is being used.  */
++/* #undef HAVE_LIBUNWIND */
++
++/* hostfile */
++#define GDB_XM_FILE config/arm/xm-nbsd.h
++
++/* targetfile */
++#define GDB_TM_FILE config/arm/tm-fbsd.h
++
++/* nativefile */
++#ifndef CROSS_DEBUGGER
++#define GDB_NM_FILE config/arm/nm-fbsd.h
++#endif
++
++/* Define to 1 so <sys/proc.h> gets a definition of anon_hdl.  Works
++   around a <sys/proc.h> problem on IRIX 5.  */
++#ifndef _KMEMUSER
++/* #undef _KMEMUSER */
++#endif
++
++/* Define if you have the __argz_count function.  */
++/* #undef HAVE___ARGZ_COUNT */
++
++/* Define if you have the __argz_next function.  */
++/* #undef HAVE___ARGZ_NEXT */
++
++/* Define if you have the __argz_stringify function.  */
++/* #undef HAVE___ARGZ_STRINGIFY */
++
++/* Define if you have the _mcleanup function.  */
++#define HAVE__MCLEANUP 1
++
++/* Define if you have the canonicalize_file_name function.  */
++/* #undef HAVE_CANONICALIZE_FILE_NAME */
++
++/* Define if you have the dcgettext function.  */
++/* #undef HAVE_DCGETTEXT */
++
++/* Define if you have the getcwd function.  */
++#define HAVE_GETCWD 1
++
++/* Define if you have the getpagesize function.  */
++#define HAVE_GETPAGESIZE 1
++
++/* Define if you have the monstartup function.  */
++#define HAVE_MONSTARTUP 1
++
++/* Define if you have the munmap function.  */
++#define HAVE_MUNMAP 1
++
++/* Define if you have the poll function.  */
++#define HAVE_POLL 1
++
++/* Define if you have the pread64 function.  */
++/* #undef HAVE_PREAD64 */
++
++/* Define if you have the putenv function.  */
++#define HAVE_PUTENV 1
++
++/* Define if you have the realpath function.  */
++#define HAVE_REALPATH 1
++
++/* Define if you have the sbrk function.  */
++#define HAVE_SBRK 1
++
++/* Define if you have the setenv function.  */
++#define HAVE_SETENV 1
++
++/* Define if you have the setlocale function.  */
++#define HAVE_SETLOCALE 1
++
++/* Define if you have the setpgid function.  */
++#define HAVE_SETPGID 1
++
++/* Define if you have the setpgrp function.  */
++#define HAVE_SETPGRP 1
++
++/* Define if you have the sigaction function.  */
++#define HAVE_SIGACTION 1
++
++/* Define if you have the sigprocmask function.  */
++#define HAVE_SIGPROCMASK 1
++
++/* Define if you have the sigsetmask function.  */
++#define HAVE_SIGSETMASK 1
++
++/* Define if you have the socketpair function.  */
++#define HAVE_SOCKETPAIR 1
++
++/* Define if you have the stpcpy function.  */
++#define HAVE_STPCPY 1
++
++/* Define if you have the strcasecmp function.  */
++#define HAVE_STRCASECMP 1
++
++/* Define if you have the strchr function.  */
++#define HAVE_STRCHR 1
++
++/* Define if you have the syscall function.  */
++#define HAVE_SYSCALL 1
++
++/* Define if you have the <argz.h> header file.  */
++/* #undef HAVE_ARGZ_H */
++
++/* Define if you have the <ctype.h> header file.  */
++#define HAVE_CTYPE_H 1
++
++/* Define if you have the <curses.h> header file.  */
++#define HAVE_CURSES_H 1
++
++/* Define if you have the <dirent.h> header file.  */
++#define HAVE_DIRENT_H 1
++
++/* Define if you have the <libunwind-ia64.h> header file.  */
++/* #undef HAVE_LIBUNWIND_IA64_H */
++
++/* Define if you have the <libunwind.h> header file.  */
++/* #undef HAVE_LIBUNWIND_H */
++
++/* Define if you have the <limits.h> header file.  */
++#define HAVE_LIMITS_H 1
++
++/* Define if you have the <link.h> header file.  */
++#define HAVE_LINK_H 1
++
++/* Define if you have the <locale.h> header file.  */
++#define HAVE_LOCALE_H 1
++
++/* Define if you have the <machine/reg.h> header file.  */
++#define HAVE_MACHINE_REG_H 1
++
++/* Define if you have the <malloc.h> header file.  */
++/* #undef HAVE_MALLOC_H */
++
++/* Define if you have the <memory.h> header file.  */
++#define HAVE_MEMORY_H 1
++
++/* Define if you have the <ncurses.h> header file.  */
++#define HAVE_NCURSES_H 1
++
++/* Define if you have the <ndir.h> header file.  */
++/* #undef HAVE_NDIR_H */
++
++/* Define if you have the <nl_types.h> header file.  */
++#define HAVE_NL_TYPES_H 1
++
++/* Define if you have the <nlist.h> header file.  */
++#define HAVE_NLIST_H 1
++
++/* Define if you have the <poll.h> header file.  */
++#define HAVE_POLL_H 1
++
++/* Define if you have the <proc_service.h> header file.  */
++/* #undef HAVE_PROC_SERVICE_H */
++
++/* Define if you have the <ptrace.h> header file.  */
++/* #undef HAVE_PTRACE_H */
++
++/* Define if you have the <sgtty.h> header file.  */
++#define HAVE_SGTTY_H 1
++
++/* Define if you have the <stddef.h> header file.  */
++#define HAVE_STDDEF_H 1
++
++/* Define if you have the <stdint.h> header file.  */
++#define HAVE_STDINT_H 1
++
++/* Define if you have the <stdlib.h> header file.  */
++#define HAVE_STDLIB_H 1
++
++/* Define if you have the <string.h> header file.  */
++#define HAVE_STRING_H 1
++
++/* Define if you have the <strings.h> header file.  */
++#define HAVE_STRINGS_H 1
++
++/* Define if you have the <sys/debugreg.h> header file.  */
++/* #undef HAVE_SYS_DEBUGREG_H */
++
++/* Define if you have the <sys/dir.h> header file.  */
++/* #undef HAVE_SYS_DIR_H */
++
++/* Define if you have the <sys/fault.h> header file.  */
++/* #undef HAVE_SYS_FAULT_H */
++
++/* Define if you have the <sys/file.h> header file.  */
++#define HAVE_SYS_FILE_H 1
++
++/* Define if you have the <sys/filio.h> header file.  */
++#define HAVE_SYS_FILIO_H 1
++
++/* Define if you have the <sys/ioctl.h> header file.  */
++#define HAVE_SYS_IOCTL_H 1
++
++/* Define if you have the <sys/ndir.h> header file.  */
++/* #undef HAVE_SYS_NDIR_H */
++
++/* Define if you have the <sys/param.h> header file.  */
++#define HAVE_SYS_PARAM_H 1
++
++/* Define if you have the <sys/poll.h> header file.  */
++#define HAVE_SYS_POLL_H 1
++
++/* Define if you have the <sys/proc.h> header file.  */
++#define HAVE_SYS_PROC_H 1
++
++/* Define if you have the <sys/procfs.h> header file.  */
++#define HAVE_SYS_PROCFS_H 1
++
++/* Define if you have the <sys/ptrace.h> header file.  */
++#define HAVE_SYS_PTRACE_H 1
++
++/* Define if you have the <sys/reg.h> header file.  */
++/* #undef HAVE_SYS_REG_H */
++
++/* Define if you have the <sys/select.h> header file.  */
++#define HAVE_SYS_SELECT_H 1
++
++/* Define if you have the <sys/syscall.h> header file.  */
++#define HAVE_SYS_SYSCALL_H 1
++
++/* Define if you have the <sys/user.h> header file.  */
++#define HAVE_SYS_USER_H 1
++
++/* Define if you have the <sys/wait.h> header file.  */
++#define HAVE_SYS_WAIT_H 1
++
++/* Define if you have the <term.h> header file.  */
++#define HAVE_TERM_H 1
++
++/* Define if you have the <termio.h> header file.  */
++/* #undef HAVE_TERMIO_H */
++
++/* Define if you have the <termios.h> header file.  */
++#define HAVE_TERMIOS_H 1
++
++/* Define if you have the <thread_db.h> header file.  */
++/* #undef HAVE_THREAD_DB_H */
++
++/* Define if you have the <time.h> header file.  */
++#define HAVE_TIME_H 1
++
++/* Define if you have the <unistd.h> header file.  */
++#define HAVE_UNISTD_H 1
++
++/* Define if you have the <values.h> header file.  */
++/* #undef HAVE_VALUES_H */
++
++/* Define if you have the <wait.h> header file.  */
++/* #undef HAVE_WAIT_H */
++
++/* Define if you have the dl library (-ldl).  */
++/* #undef HAVE_LIBDL */
++
++/* Define if you have the m library (-lm).  */
++#define HAVE_LIBM 1
++
++/* Define if you have the w library (-lw).  */
++/* #undef HAVE_LIBW */
++
++/* Define if you have the stpcpy function */
++#define HAVE_STPCPY 1
++
++/* Define if your locale.h file contains LC_MESSAGES. */
++#define HAVE_LC_MESSAGES 1
++
++/* Define to 1 if NLS is requested */
++/* #undef ENABLE_NLS */
++
++/* Define as 1 if you have gettext and don't want to use GNU gettext. */
++/* #undef HAVE_GETTEXT */
++
++/* Name of this package.  */
++#define PACKAGE "gdb"
++
++/* Global directory for separate debug files.  */
++#define DEBUGDIR "/usr/local/lib/debug"
++
++/* Define to BFD's default architecture.  */
++#define DEFAULT_BFD_ARCH bfd_arm_arch
++
++/* Define to BFD's default target vector.  */
++#define DEFAULT_BFD_VEC bfd_elf32_littlearm_vec
++
++/* Define to 1 if your system has the _etext variable.  */
++#define HAVE__ETEXT 1
++
++/* Define to 1 to avoid a clash between <widec.h> and <wchar.h> on
++   Solaris 2.[78] when using GCC.  */
++/* #undef _MSE_INT_H */
++
++/* Define to 1 if we found this declaration otherwise define to 0. */
++#define HAVE_DECL_GETOPT 0
++
++/* Define if sigsetjmp is available.  */
++#define HAVE_SIGSETJMP 1
++
++/* Define to 1 if the regex included in libiberty should be used. */
++#define USE_INCLUDED_REGEX 1
++
++/* Define to 1 if your system has struct reg in <machine/reg.h>. */
++#define HAVE_STRUCT_REG 1
++
++/* Define if <stdint.h> provides the uintptr_t type. */
++#define HAVE_UINTPTR_T 1
++
++/* Define if malloc is not declared in system header files. */
++/* #undef NEED_DECLARATION_MALLOC */
++
++/* Define if realloc is not declared in system header files. */
++/* #undef NEED_DECLARATION_REALLOC */
++
++/* Define if free is not declared in system header files. */
++/* #undef NEED_DECLARATION_FREE */
++
++/* Define if strerror is not declared in system header files. */
++/* #undef NEED_DECLARATION_STRERROR */
++
++/* Define if strdup is not declared in system header files. */
++/* #undef NEED_DECLARATION_STRDUP */
++
++/* Define if strstr is not declared in system header files. */
++/* #undef NEED_DECLARATION_STRSTR */
++
++/* Define if canonicalize_file_name is not declared in system header files. */
++#define NEED_DECLARATION_CANONICALIZE_FILE_NAME 1
++
++/* Define if <sys/procfs.h> has pstatus_t. */
++/* #undef HAVE_PSTATUS_T */
++
++/* Define if <sys/procfs.h> has prrun_t. */
++/* #undef HAVE_PRRUN_T */
++
++/* Define if <sys/procfs.h> has gregset_t. */
++#define HAVE_GREGSET_T 1
++
++/* Define if <sys/procfs.h> has fpregset_t. */
++#define HAVE_FPREGSET_T 1
++
++/* Define if <sys/procfs.h> has prgregset_t. */
++#define HAVE_PRGREGSET_T 1
++
++/* Define if <sys/procfs.h> has prfpregset_t. */
++#define HAVE_PRFPREGSET_T 1
++
++/* Define if <sys/procfs.h> has prgregset32_t. */
++/* #undef HAVE_PRGREGSET32_T */
++
++/* Define if <sys/procfs.h> has prfpregset32_t. */
++/* #undef HAVE_PRFPREGSET32_T */
++
++/* Define if <sys/procfs.h> has lwpid_t. */
++#define HAVE_LWPID_T 1
++
++/* Define if <sys/procfs.h> has psaddr_t. */
++#define HAVE_PSADDR_T 1
++
++/* Define if <sys/procfs.h> has prsysent_t. */
++/* #undef HAVE_PRSYSENT_T */
++
++/* Define if <sys/procfs.h> has pr_sigset_t. */
++/* #undef HAVE_PR_SIGSET_T */
++
++/* Define if <sys/procfs.h> has pr_sigaction64_t. */
++/* #undef HAVE_PR_SIGACTION64_T */
++
++/* Define if <sys/procfs.h> has pr_siginfo64_t. */
++/* #undef HAVE_PR_SIGINFO64_T */
++
++/* Define if <thread_db.h> has the TD_NOTALLOC error code. */
++/* #undef THREAD_DB_HAS_TD_NOTALLOC */
++
++/* Define if we can use the tkill syscall. */
++/* #undef HAVE_TKILL_SYSCALL */
++
++/* Define to the default OS ABI for this configuration. */
++/* #undef GDB_OSABI_DEFAULT */
++
++/* Define to be a string naming the default host character set. */
++#define GDB_DEFAULT_HOST_CHARSET "ISO-8859-1"
++
++/* Define if you have the iconv() function. */
++/* #undef HAVE_ICONV */
++
++/* Define as const if the declaration of iconv() needs const. */
++/* #undef ICONV_CONST */
++
+Index: gnu/usr.bin/gdb/arch/arm/init.c
+===================================================================
+RCS file: gnu/usr.bin/gdb/arch/arm/init.c
+diff -N gnu/usr.bin/gdb/arch/arm/init.c
+--- /dev/null	1 Jan 1970 00:00:00 -0000
++++ gnu/usr.bin/gdb/arch/arm/init.c	29 Aug 2005 12:39:27 -0000
+@@ -0,0 +1,226 @@
++/* $FreeBSD$ */
++
++/* Do not modify this file.  */
++/* It is created automatically by the Makefile.  */
++#include "defs.h"      /* For initialize_file_ftype.  */
++#include "call-cmds.h" /* For initialize_all_files.  */
++extern initialize_file_ftype _initialize_gdbtypes;
++extern initialize_file_ftype _initialize_arm_tdep;
++extern initialize_file_ftype _initialize_armfbsd_tdep;
++extern initialize_file_ftype _initialize_corelow;
++extern initialize_file_ftype _initialize_solib;
++extern initialize_file_ftype _initialize_svr4_solib;
++extern initialize_file_ftype _initialize_ser_hardwire;
++extern initialize_file_ftype _initialize_ser_pipe;
++extern initialize_file_ftype _initialize_ser_tcp;
++#ifndef CROSS_DEBUGGER
++extern initialize_file_ftype _initialize_kernel_u_addr;
++extern initialize_file_ftype _initialize_infptrace;
++extern initialize_file_ftype _initialize_inftarg;
++extern initialize_file_ftype _initialize_arm_fbsdnat;
++#endif
++extern initialize_file_ftype _initialize_remote;
++extern initialize_file_ftype _initialize_dcache;
++extern initialize_file_ftype _initialize_sr_support;
++extern initialize_file_ftype _initialize_tracepoint;
++extern initialize_file_ftype _initialize_ax_gdb;
++extern initialize_file_ftype _initialize_annotate;
++extern initialize_file_ftype _initialize_auxv;
++extern initialize_file_ftype _initialize_breakpoint;
++extern initialize_file_ftype _initialize_regcache;
++extern initialize_file_ftype _initialize_charset;
++extern initialize_file_ftype _initialize_dummy_frame;
++extern initialize_file_ftype _initialize_source;
++extern initialize_file_ftype _initialize_values;
++extern initialize_file_ftype _initialize_valops;
++extern initialize_file_ftype _initialize_valarith;
++extern initialize_file_ftype _initialize_valprint;
++extern initialize_file_ftype _initialize_printcmd;
++extern initialize_file_ftype _initialize_symtab;
++extern initialize_file_ftype _initialize_symfile;
++extern initialize_file_ftype _initialize_symmisc;
++extern initialize_file_ftype _initialize_infcall;
++extern initialize_file_ftype _initialize_infcmd;
++extern initialize_file_ftype _initialize_infrun;
++extern initialize_file_ftype _initialize_stack;
++extern initialize_file_ftype _initialize_thread;
++extern initialize_file_ftype _initialize_interpreter;
++extern initialize_file_ftype _initialize_macrocmd;
++extern initialize_file_ftype _initialize_gdbarch;
++extern initialize_file_ftype _initialize_gdbarch_utils;
++extern initialize_file_ftype _initialize_gdb_osabi;
++extern initialize_file_ftype _initialize_copying;
++extern initialize_file_ftype _initialize_mem;
++extern initialize_file_ftype _initialize_parse;
++extern initialize_file_ftype _initialize_language;
++extern initialize_file_ftype _initialize_frame_reg;
++extern initialize_file_ftype _initialize_signals;
++extern initialize_file_ftype _initialize_kod;
++extern initialize_file_ftype _initialize_gdb_events;
++extern initialize_file_ftype _initialize_exec;
++extern initialize_file_ftype _initialize_maint_cmds;
++extern initialize_file_ftype _initialize_demangler;
++extern initialize_file_ftype _initialize_dbxread;
++extern initialize_file_ftype _initialize_coffread;
++extern initialize_file_ftype _initialize_elfread;
++extern initialize_file_ftype _initialize_mipsread;
++extern initialize_file_ftype _initialize_stabsread;
++extern initialize_file_ftype _initialize_core;
++extern initialize_file_ftype _initialize_dwarf2_frame;
++extern initialize_file_ftype _initialize_c_language;
++extern initialize_file_ftype _initialize_f_language;
++extern initialize_file_ftype _initialize_objc_language;
++extern initialize_file_ftype _initialize_ui_out;
++extern initialize_file_ftype _initialize_cli_out;
++extern initialize_file_ftype _initialize_varobj;
++extern initialize_file_ftype _initialize_java_language;
++extern initialize_file_ftype _initialize_m2_language;
++extern initialize_file_ftype _initialize_pascal_language;
++extern initialize_file_ftype _initialize_pascal_valprint;
++extern initialize_file_ftype _initialize_scheme_language;
++extern initialize_file_ftype _initialize_complaints;
++extern initialize_file_ftype _initialize_typeprint;
++extern initialize_file_ftype _initialize_cp_valprint;
++extern initialize_file_ftype _initialize_f_valprint;
++extern initialize_file_ftype _initialize_nlmread;
++extern initialize_file_ftype _initialize_serial;
++extern initialize_file_ftype _initialize_mdebugread;
++extern initialize_file_ftype _initialize_user_regs;
++extern initialize_file_ftype _initialize_frame;
++extern initialize_file_ftype _initialize_frame_unwind;
++extern initialize_file_ftype _initialize_frame_base;
++extern initialize_file_ftype _initialize_gnu_v2_abi;
++extern initialize_file_ftype _initialize_gnu_v3_abi;
++extern initialize_file_ftype _initialize_hpacc_abi;
++extern initialize_file_ftype _initialize_cp_abi;
++extern initialize_file_ftype _initialize_cp_support;
++extern initialize_file_ftype _initialize_cp_namespace;
++extern initialize_file_ftype _initialize_reggroup;
++extern initialize_file_ftype _initialize_inflow;
++extern initialize_file_ftype _initialize_cli_dump;
++extern initialize_file_ftype _initialize_cli_logging;
++extern initialize_file_ftype _initialize_cli_interp;
++extern initialize_file_ftype _initialize_mi_out;
++extern initialize_file_ftype _initialize_mi_cmds;
++extern initialize_file_ftype _initialize_mi_cmd_env;
++extern initialize_file_ftype _initialize_mi_interp;
++extern initialize_file_ftype _initialize_mi_main;
++extern initialize_file_ftype _initialize_tui_hooks;
++extern initialize_file_ftype _initialize_tui_interp;
++extern initialize_file_ftype _initialize_tui_layout;
++extern initialize_file_ftype _initialize_tui_out;
++extern initialize_file_ftype _initialize_tui_regs;
++extern initialize_file_ftype _initialize_tui_stack;
++extern initialize_file_ftype _initialize_tui_win;
++void
++initialize_all_files (void)
++{
++  _initialize_gdbtypes ();
++  _initialize_arm_tdep ();
++  _initialize_armfbsd_tdep ();
++  _initialize_corelow ();
++  _initialize_solib ();
++  _initialize_svr4_solib ();
++  _initialize_ser_hardwire ();
++  _initialize_ser_pipe ();
++  _initialize_ser_tcp ();
++#ifndef CROSS_DEBUGGER
++  _initialize_kernel_u_addr ();
++  _initialize_infptrace ();
++  _initialize_inftarg ();
++  _initialize_arm_fbsdnat ();
++#endif
++  _initialize_remote ();
++  _initialize_dcache ();
++  _initialize_sr_support ();
++  _initialize_tracepoint ();
++  _initialize_ax_gdb ();
++  _initialize_annotate ();
++  _initialize_auxv ();
++  _initialize_breakpoint ();
++  _initialize_regcache ();
++  _initialize_charset ();
++  _initialize_dummy_frame ();
++  _initialize_source ();
++  _initialize_values ();
++  _initialize_valops ();
++  _initialize_valarith ();
++  _initialize_valprint ();
++  _initialize_printcmd ();
++  _initialize_symtab ();
++  _initialize_symfile ();
++  _initialize_symmisc ();
++  _initialize_infcall ();
++  _initialize_infcmd ();
++  _initialize_infrun ();
++  _initialize_stack ();
++  _initialize_thread ();
++  _initialize_interpreter ();
++  _initialize_macrocmd ();
++  _initialize_gdbarch ();
++  _initialize_gdbarch_utils ();
++  _initialize_gdb_osabi ();
++  _initialize_copying ();
++  _initialize_mem ();
++  _initialize_parse ();
++  _initialize_language ();
++  _initialize_frame_reg ();
++  _initialize_signals ();
++  _initialize_kod ();
++  _initialize_gdb_events ();
++  _initialize_exec ();
++  _initialize_maint_cmds ();
++  _initialize_demangler ();
++  _initialize_dbxread ();
++  _initialize_coffread ();
++  _initialize_elfread ();
++  _initialize_mipsread ();
++  _initialize_stabsread ();
++  _initialize_core ();
++  _initialize_dwarf2_frame ();
++  _initialize_c_language ();
++  _initialize_f_language ();
++  _initialize_objc_language ();
++  _initialize_ui_out ();
++  _initialize_cli_out ();
++  _initialize_varobj ();
++  _initialize_java_language ();
++  _initialize_m2_language ();
++  _initialize_pascal_language ();
++  _initialize_pascal_valprint ();
++  _initialize_scheme_language ();
++  _initialize_complaints ();
++  _initialize_typeprint ();
++  _initialize_cp_valprint ();
++  _initialize_f_valprint ();
++  _initialize_nlmread ();
++  _initialize_serial ();
++  _initialize_mdebugread ();
++  _initialize_user_regs ();
++  _initialize_frame ();
++  _initialize_frame_unwind ();
++  _initialize_frame_base ();
++  _initialize_gnu_v2_abi ();
++  _initialize_gnu_v3_abi ();
++  _initialize_hpacc_abi ();
++  _initialize_cp_abi ();
++  _initialize_cp_support ();
++  _initialize_cp_namespace ();
++  _initialize_reggroup ();
++  _initialize_inflow ();
++  _initialize_cli_dump ();
++  _initialize_cli_logging ();
++  _initialize_cli_interp ();
++  _initialize_mi_out ();
++  _initialize_mi_cmds ();
++  _initialize_mi_cmd_env ();
++  _initialize_mi_interp ();
++  _initialize_mi_main ();
++  _initialize_tui_hooks ();
++  _initialize_tui_interp ();
++  _initialize_tui_layout ();
++  _initialize_tui_out ();
++  _initialize_tui_regs ();
++  _initialize_tui_stack ();
++  _initialize_tui_win ();
++}
+Index: gnu/usr.bin/gdb/kgdb/trgt_arm.c
+===================================================================
+RCS file: gnu/usr.bin/gdb/kgdb/trgt_arm.c
+diff -N gnu/usr.bin/gdb/kgdb/trgt_arm.c
+--- /dev/null	1 Jan 1970 00:00:00 -0000
++++ gnu/usr.bin/gdb/kgdb/trgt_arm.c	4 Oct 2005 22:28:59 -0000
+@@ -0,0 +1,199 @@
++/*
++ * Copyright (c) 2004 Marcel Moolenaar
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in the
++ *    documentation and/or other materials provided with the distribution.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
++ * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ */
++
++#include <sys/cdefs.h>
++__FBSDID("$FreeBSD$");
++
++#include <sys/types.h>
++#include <machine/pcb.h>
++#include <machine/frame.h>
++#include <err.h>
++#include <kvm.h>
++#include <string.h>
++
++#include <defs.h>
++#include <target.h>
++#include <gdbthread.h>
++#include <inferior.h>
++#include <regcache.h>
++#include <frame-unwind.h>
++#include <arm-tdep.h>
++
++#include "kgdb.h"
++
++void
++kgdb_trgt_fetch_registers(int regno __unused)
++{
++	struct kthr *kt;
++	struct pcb pcb;
++	int i, reg;
++	
++	kt = kgdb_thr_lookup_tid(ptid_get_tid(inferior_ptid));
++	if (kt == NULL)
++		return;
++	if (kvm_read(kvm, kt->pcb, &pcb, sizeof(pcb)) != sizeof(pcb)) {
++		warnx("kvm_read: %s", kvm_geterr(kvm));
++		memset(&pcb, 0, sizeof(pcb));
++	}
++	for (i = ARM_A1_REGNUM + 8; i <= ARM_SP_REGNUM; i++) {
++		supply_register(i, (char *)&pcb.un_32.pcb32_r8 + 
++		    (i - (ARM_A1_REGNUM + 8 )) * 4);
++	}
++	if (pcb.un_32.pcb32_sp != 0) {
++		for (i = 0; i < 4; i++) {
++			if (kvm_read(kvm, pcb.un_32.pcb32_sp + (i) * 4,
++			    &reg, 4) != 4) {
++				warnx("kvm_read: %s", kvm_geterr(kvm));
++				break;
++			}
++			supply_register(ARM_A1_REGNUM + 4 + i, (char *)&reg);
++		}
++		if (kvm_read(kvm, pcb.un_32.pcb32_sp + 4 * 4, &reg, 4) != 4)
++			warnx("kvm_read :%s", kvm_geterr(kvm));
++		else
++			supply_register(ARM_PC_REGNUM, (char *)&reg);
++	}
++}
++
++void
++kgdb_trgt_store_registers(int regno __unused)
++{
++	fprintf_unfiltered(gdb_stderr, "XXX: %s\n", __func__);
++}
++
++struct kgdb_frame_cache {
++	CORE_ADDR	fp;
++	CORE_ADDR	sp;
++};
++
++static int kgdb_trgt_frame_offset[26] = {
++	offsetof(struct trapframe, tf_r0),
++	offsetof(struct trapframe, tf_r1),
++	offsetof(struct trapframe, tf_r2),
++	offsetof(struct trapframe, tf_r3),
++	offsetof(struct trapframe, tf_r4),
++	offsetof(struct trapframe, tf_r5),
++	offsetof(struct trapframe, tf_r6),
++	offsetof(struct trapframe, tf_r7),

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list