PERFORCE change 72073 for review

Olivier Houchard cognet at FreeBSD.org
Sun Feb 27 22:24:41 GMT 2005


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

Change 72073 by cognet at cognet on 2005/02/27 22:24:28

	Get more love from gdb, and teach him how to deal with shared
	libraries.

Affected files ...

.. //depot/projects/arm/contrib-arm.diff#2 edit
.. //depot/projects/arm/gnu-arm.diff#2 edit

Differences ...

==== //depot/projects/arm/contrib-arm.diff#2 (text+ko) ====

@@ -614,8 +614,8 @@
 RCS file: contrib/gdb/gdb/armfbsd-tdep.c
 diff -N contrib/gdb/gdb/armfbsd-tdep.c
 --- /dev/null	1 Jan 1970 00:00:00 -0000
-+++ contrib/gdb/gdb/armfbsd-tdep.c	15 Aug 2004 00:51:46 -0000
-@@ -0,0 +1,59 @@
++++ contrib/gdb/gdb/armfbsd-tdep.c	27 Feb 2005 20:44:28 -0000
+@@ -0,0 +1,67 @@
 +/* Target-specific functions for ARM running under NetBSD.
 +   Copyright 2002, 2003 Free Software Foundation, Inc.
 +
@@ -639,7 +639,9 @@
 +#include "defs.h"
 +#include "osabi.h"
 +
++#include "arch-utils.h"
 +#include "arm-tdep.h"
++#include "solib-svr4.h"
 +
 +/* Description of the longjmp buffer.  */
 +#define ARM_FBSD_JB_PC 24
@@ -665,6 +667,12 @@
 +
 +  arm_freebsd_init_abi_common (info, gdbarch);
 +
++  /* FreeBSD ELF uses SVR4-style shared libraries.  */
++  set_gdbarch_in_solib_call_trampoline
++    (gdbarch, generic_in_solib_call_trampoline);
++  set_solib_svr4_fetch_link_map_offsets
++    (gdbarch, svr4_ilp32_fetch_link_map_offsets);
++
 +  tdep->fp_model = ARM_FLOAT_SOFT_VFP;
 +}
 +

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

@@ -1,10 +1,10 @@
 Index: gnu/lib/libgcc/Makefile
 ===================================================================
 RCS file: /home/ncvs/src/gnu/lib/libgcc/Makefile,v
-retrieving revision 1.53
-diff -u -p -r1.53 Makefile
---- gnu/lib/libgcc/Makefile	24 Oct 2004 15:32:24 -0000	1.53
-+++ gnu/lib/libgcc/Makefile	7 Nov 2004 17:22:29 -0000
+retrieving revision 1.54
+diff -u -p -r1.54 Makefile
+--- gnu/lib/libgcc/Makefile	21 Dec 2004 09:33:45 -0000	1.54
++++ gnu/lib/libgcc/Makefile	27 Feb 2005 21:18:24 -0000
 @@ -97,8 +97,11 @@ LIB2FUNCS_EXTRA = qrnnd.asm
  #	from config/arm/t-strongarm-elf
  CFLAGS+=	-Dinhibit_libc -fno-inline
@@ -31,11 +31,11 @@
 Index: gnu/lib/libstdc++/Makefile
 ===================================================================
 RCS file: /home/ncvs/src/gnu/lib/libstdc++/Makefile,v
-retrieving revision 1.52
-diff -u -p -r1.52 Makefile
---- gnu/lib/libstdc++/Makefile	1 Sep 2004 08:17:20 -0000	1.52
-+++ gnu/lib/libstdc++/Makefile	21 Oct 2004 21:30:12 -0000
-@@ -172,6 +172,10 @@ TARGETHDRSNAME_c_locale.h= c++locale.h
+retrieving revision 1.54
+diff -u -p -r1.54 Makefile
+--- gnu/lib/libstdc++/Makefile	26 Jan 2005 13:56:27 -0000	1.54
++++ gnu/lib/libstdc++/Makefile	27 Feb 2005 21:18:25 -0000
+@@ -174,6 +174,10 @@ TARGETHDRSNAME_c_locale.h= c++locale.h
  TARGETHDRSNAME_new_allocator_base.h= c++allocator.h
  TARGETHDRSDIR=	${CXXINCLUDEDIR}/bits
  
@@ -46,6 +46,22 @@
  MARCHHDRS=	atomic_word.h
  .for h in ${MARCHHDRS}
  .if exists(${SRCDIR}/config/cpu/${MARCHDIR}/${h})
+Index: gnu/usr.bin/Makefile
+===================================================================
+RCS file: /home/ncvs/src/gnu/usr.bin/Makefile,v
+retrieving revision 1.83
+diff -u -p -r1.83 Makefile
+--- gnu/usr.bin/Makefile	24 Oct 2004 15:32:25 -0000	1.83
++++ gnu/usr.bin/Makefile	27 Feb 2005 20:53:55 -0000
+@@ -23,7 +23,7 @@ SUBDIR= bc \
+ 	tar \
+ 	texinfo
+  
+-.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "powerpc"
++.if ${MACHINE_ARCH} == "powerpc"
+ 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
@@ -80,8 +96,8 @@
 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	21 Oct 2004 21:30:12 -0000
-@@ -0,0 +1,19 @@
++++ gnu/usr.bin/binutils/libbfd/Makefile.arm	18 Jan 2005 12:04:26 -0000
+@@ -0,0 +1,20 @@
 +# $FreeBSD$
 +
 +DEFAULT_VECTOR=	bfd_elf32_littlearm_vec
@@ -94,7 +110,8 @@
 +	elfarm-nabi.c	\
 +	elfarm-oabi.c	\
 +	elf32-target.h
-+VECS+=	${DEFAULT_VECTOR} 
++VECS+=	${DEFAULT_VECTOR}  \
++	bfd_elf32_bigarm_vec
 +
 +.if ${TARGET_ARCH} == "arm"
 +CFLAGS+= -DDEFAULT_VECTOR=${DEFAULT_VECTOR}
@@ -182,8 +199,8 @@
 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	28 Nov 2004 14:27:46 -0000
-@@ -0,0 +1,551 @@
++++ gnu/usr.bin/gdb/arch/arm/config.h	15 Jan 2005 15:50:12 -0000
+@@ -0,0 +1,553 @@
 +/* $FreeBSD$ */
 +
 +/* config.h.  Generated automatically by configure.  */
@@ -266,13 +283,13 @@
 +#endif
 +
 +/* Define if your struct reg has r_fs.  */
-+#define HAVE_STRUCT_REG_R_FS 1
++/* #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 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
@@ -360,7 +377,9 @@
 +#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.  */


More information about the p4-projects mailing list