Date: Tue, 4 Oct 2005 22:40:36 GMT From: Olivier Houchard <cognet@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 84827 for review Message-ID: <200510042240.j94MeaFa072253@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=84827 Change 84827 by cognet@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, ++ ®, 4) != 4) { ++ warnx("kvm_read: %s", kvm_geterr(kvm)); ++ break; ++ } ++ supply_register(ARM_A1_REGNUM + 4 + i, (char *)®); ++ } ++ if (kvm_read(kvm, pcb.un_32.pcb32_sp + 4 * 4, ®, 4) != 4) ++ warnx("kvm_read :%s", kvm_geterr(kvm)); ++ else ++ supply_register(ARM_PC_REGNUM, (char *)®); ++ } ++} ++ ++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) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200510042240.j94MeaFa072253>