This is the mail archive of the gdb-patches@sourceware.cygnus.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[PATCH] Linux/i386 testresults & gdb_proc_service.h patch


The following are results for:

i586-pc-linux-gnu

# of expected passes            6363
# of unexpected failures        12
# of expected failures          200

Looks like we're in pretty good shape :-)

The pthreads.c test case didn't compile, just like on NetBSD as Andrew
noted.  Seems like there is something wrong with dejagnu script.

The relevant data on my system:

gcc 2.8.1,
glibc 2.1.3 (recent CVS version that includes a libthread_db)
linux 2.2.14

The GDB was built using the patches I already sent to gdb-patches.  I
also had to fix `gdb_proc_service.h' because this file redefines
lwpid_t, psaddr_t, prgregset_t and prfpregset_t, that are already
defined by <sys/procfs.h> in glibc 2.1.3.  I added configure tests for
these types, see the patch below.  I also had to fix the definition of
prgregset_t and prfpregset_t in the glibc header file.  These should
be:

typedef elf_gregset_t prgregset_t;
typedef elf_fpregset_t prfpregset_t;

Without this change GDB crashes when debugging a multithreaded app.
I already mentioned this to Ulrich Drepper, who has promised to look
into the matter.  This should be resolved in the official glibc 2.1.3
release.


Mark


2000-02-09  Mark Kettenis  <kettenis@gnu.org>

	* configure.in: Check for lwpid_t, psaddr_t, prgregset_t and
	fpgregset_t in <sys/procfs.h>.c
	* config.in: Add HAVE_LWPID_T, HAVE_PSADDR_T, HAVE_PRGREGSET_T,
	HAVE_PRFPREGSET_T.
	* gdb_proc_service.h: Only provide typedefs for lwpid_t, psaddr_t,
	prgregset_t and prfpregset_t if they are not already present.


Index: gdb/configure.in
===================================================================
RCS file: /cvs/src/src/gdb/configure.in,v
retrieving revision 1.2
diff -u -r1.2 configure.in
--- gdb/configure.in	2000/02/08 16:25:08	1.2
+++ gdb/configure.in	2000/02/09 15:13:30
@@ -170,6 +170,10 @@
   BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
   BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
   BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
+  BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
+  BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
+  BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
+  BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
 
   dnl Check for PIOCSET ioctl entry 
 
Index: gdb/config.in
===================================================================
RCS file: /cvs/src/src/gdb/config.in,v
retrieving revision 1.1.1.12
diff -u -r1.1.1.12 config.in
--- gdb/config.in	2000/01/06 03:06:36	1.1.1.12
+++ gdb/config.in	2000/02/09 15:13:30
@@ -354,3 +354,14 @@
 /* Define if <sys/procfs.h> has fpregset_t. */
 #undef HAVE_FPREGSET_T
 
+/* Define if <sys/procfs.h> has prgregset_t.  */
+#undef HAVE_PRGREGSET_T
+
+/* Define if <sys/procfs.h> has prfpregset_t.  */
+#undef HAVE_PRFPREGSET_T
+
+/* Define if <sys/procfs.h> has lwpid_t.  */
+#undef HAVE_LWPID_T
+
+/* Define if <sys/procfs.h> has psaddr_t.  */
+#undef HAVE_PSADDR_T
Index: gdb/gdb_proc_service.h
===================================================================
RCS file: /cvs/src/src/gdb/gdb_proc_service.h,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 gdb_proc_service.h
--- gdb/gdb_proc_service.h	1999/12/22 21:45:05	1.1.1.1
+++ gdb/gdb_proc_service.h	2000/02/09 15:13:30
@@ -12,13 +12,22 @@
    */
 }       ps_err_e;
 
+#ifndef HAVE_LWPID_T
 typedef unsigned int  lwpid_t;
+#endif
+
 typedef unsigned long paddr_t;
-typedef unsigned long psaddr_t;
 
+#ifndef HAVE_PSADDR_T
+typedef unsigned long psaddr_t;
+#endif
 
+#ifndef HAVE_PRGREGSET_T
 typedef gregset_t  prgregset_t;		/* BOGUS BOGUS BOGUS */
-typedef fpregset_t prfpregset_t;	/* BOGUS BOGUS BOGUS */
+#endif
 
+#ifndef HAVE_PRFPREGSET_T
+typedef fpregset_t prfpregset_t;	/* BOGUS BOGUS BOGUS */
+#endif
 
 struct ps_prochandle;		/* user defined. */

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]