This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [rfa] gdb_thread_db.h: #errror if no uintptr_t
- From: Michael Elizabeth Chastain <mec at shout dot net>
- To: drow at mvista dot com
- Cc: gdb-patches at sources dot redhat dot com
- Date: Wed, 26 Feb 2003 11:19:37 -0600
- Subject: Re: [rfa] gdb_thread_db.h: #errror if no uintptr_t
Version #2. This updates the error message to Daniel J's wording.
Re-tested.
I am committing this now.
Michael C
2003-02-26 Michael Chastain <mec at shout dot net>
Close PR build/660.
PROBLEMS (i[3456]86-*-linux*): Note explicit error message
for old libc5/glibc.
gdb_thread_db.h: Die if not HAVE_UINTPTR_T.
Index: PROBLEMS
===================================================================
RCS file: /cvs/src/src/gdb/PROBLEMS,v
retrieving revision 1.13
diff -u -r1.13 PROBLEMS
--- PROBLEMS 25 Feb 2003 21:58:20 -0000 1.13
+++ PROBLEMS 26 Feb 2003 17:16:20 -0000
@@ -69,9 +69,9 @@
i[3456]86-*-linux*
------------------
-gdb/660: gdb does not build with linux libc5. The symptom is a parse
-error before `uintptr_t'. Upgrade to glibc 2.1.3 or later, which
-defines uintptr_t.
+gdb/660: gdb does not build with GNU/Linux libc5. The symptom is a
+parse error before `uintptr_t' or an error message about `uintptr_t'.
+Upgrade to glibc 2.1.3 or later, which defines uintptr_t.
gdb/1030: GNU binutils 2.12.1 and earlier versions do not work properly
with gdb. If you use GNU binutils, upgrade to version 2.13 or later.
Index: gdb_thread_db.h
===================================================================
RCS file: /cvs/src/src/gdb/gdb_thread_db.h,v
retrieving revision 1.4
diff -u -r1.4 gdb_thread_db.h
--- gdb_thread_db.h 12 Nov 2002 02:39:40 -0000 1.4
+++ gdb_thread_db.h 26 Feb 2003 17:16:21 -0000
@@ -198,6 +198,16 @@
int syscallno; /* Number of system call used. */
} u;
} td_notify_t;
+
+/* Some people still have libc5 or old glibc with no uintptr_t.
+ They lose. glibc 2.1.3 was released on 2000-02-25, and it has
+ uintptr_t, so it's reasonable to force these people to upgrade. */
+
+#ifndef HAVE_UINTPTR_T
+#error No uintptr_t available; your C library is too old.
+/* Inhibit further compilation errors after this error. */
+#define uintptr_t void *
+#endif
/* Structure used to report event. */
typedef struct td_event_msg