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