aboutsummaryrefslogtreecommitdiff
path: root/gdb/config/i386
diff options
context:
space:
mode:
authorKevin Buettner <kevinb@redhat.com>2001-05-15 00:03:38 +0000
committerKevin Buettner <kevinb@redhat.com>2001-05-15 00:03:38 +0000
commitca6724c16a360b6297d7827cfd0173441ccd95c2 (patch)
tree3e1e58042a222bbe8532507bb67f404be5c9e80f /gdb/config/i386
parent67a659f60e569d0938cb8ce51489514bcf0d4cca (diff)
downloadgdb-ca6724c16a360b6297d7827cfd0173441ccd95c2.zip
gdb-ca6724c16a360b6297d7827cfd0173441ccd95c2.tar.gz
gdb-ca6724c16a360b6297d7827cfd0173441ccd95c2.tar.bz2
Redefine ptid_t to be a struct rather than an int.
Diffstat (limited to 'gdb/config/i386')
-rw-r--r--gdb/config/i386/tm-i386sol2.h8
-rw-r--r--gdb/config/i386/tm-i386v42mp.h32
2 files changed, 30 insertions, 10 deletions
diff --git a/gdb/config/i386/tm-i386sol2.h b/gdb/config/i386/tm-i386sol2.h
index f3ebcd9..bc2a5f8 100644
--- a/gdb/config/i386/tm-i386sol2.h
+++ b/gdb/config/i386/tm-i386sol2.h
@@ -51,12 +51,4 @@ extern char *sunpro_static_transform_name (char *);
#define FAULTED_USE_SIGINFO
-/* Macros to extract process id and thread id from a composite pid/tid.
- Allocate lower 16 bits for process id, next 15 bits for thread id, and
- one bit for a flag to indicate a user thread vs. a kernel thread. */
-#define PIDGET0(PID) (((PID) & 0xffff))
-#define PIDGET(PID) ((PIDGET0 (PID) == 0xffff) ? -1 : PIDGET0 (PID))
-#define TIDGET(PID) (((PID) & 0x7fffffff) >> 16)
-#define MERGEPID(PID, TID) (((PID) & 0xffff) | ((TID) << 16))
-
#endif /* ifndef TM_I386SOL2_H */
diff --git a/gdb/config/i386/tm-i386v42mp.h b/gdb/config/i386/tm-i386v42mp.h
index e70bc4d..5671e42 100644
--- a/gdb/config/i386/tm-i386v42mp.h
+++ b/gdb/config/i386/tm-i386v42mp.h
@@ -30,6 +30,7 @@
#define UNIXWARE
+#if 0
/* The following macros extract process and lwp/thread ids from a
composite id.
@@ -43,8 +44,7 @@
#define PIDBITS 16
/* Return the process id stored in composite PID. */
-#define PIDGET0(PID) (((PID) & ((1 << PIDBITS) - 1)))
-#define PIDGET(PID) ((PIDGET0 (PID) == ((1 << PIDBITS) -1)) ? -1 : PIDGET0 (PID))
+#define PIDGET(PID) (((PID) & ((1 << PIDBITS) - 1)))
/* Return the thread or lwp id stored in composite PID. */
#define TIDGET(PID) (((PID) & 0x3fffffff) >> PIDBITS)
@@ -61,5 +61,33 @@
/* Return whether PID contains a user-space thread id. */
#define ISTID(PID) ((PID) & 0x40000000)
+#endif
+
+/* New definitions of the ptid stuff. Due to the way the
+ code is structured in uw-thread.c, I'm overloading the thread id
+ and lwp id onto the lwp field. The tid field is used to indicate
+ whether the lwp is a tid or not.
+
+ FIXME: Check that core file support is not broken. (See original
+ #if 0'd comments above.)
+ FIXME: Restructure uw-thread.c so that the struct ptid fields
+ can be used as intended. */
+
+/* Return the process id stored in composite PID. */
+#define PIDGET(PID) (ptid_get_pid (PID))
+
+/* Return the thread or lwp id stored in composite PID. */
+#define TIDGET(PID) (ptid_get_lwp (PID))
+#define LIDGET(PID) TIDGET(PID)
+
+#define MERGEPID(PID, LID) (ptid_build ((PID), (LID), 0))
+#define MKLID(PID, LID) (ptid_build ((PID), (LID), 0))
+
+/* Construct a composite id from thread TID and the process portion of
+ composite PID. */
+#define MKTID(PID, TID) (ptid_build ((PID), (TID), 1))
+
+/* Return whether PID contains a user-space thread id. */
+#define ISTID(PID) (ptid_get_tid (PID))
#endif /* ifndef TM_I386V42MP_H */