diff options
author | Mark Kettenis <kettenis@gnu.org> | 2000-04-14 10:13:50 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@gnu.org> | 2000-04-14 10:13:50 +0000 |
commit | d84dd0c55ec2daf8bc3430098b22760478b4b68b (patch) | |
tree | 8d14c2e667b7aa60335f3e681fe2b337080f7d6a /gdb/lin-thread.c | |
parent | 0d8dfecfe98596d2999f2616d7f2b904260022cc (diff) | |
download | gdb-d84dd0c55ec2daf8bc3430098b22760478b4b68b.zip gdb-d84dd0c55ec2daf8bc3430098b22760478b4b68b.tar.gz gdb-d84dd0c55ec2daf8bc3430098b22760478b4b68b.tar.bz2 |
2000-04-13 Mark Kettenis <kettenis@gnu.org>
* acconfig.h (HAVE_PRGREGSET_T, HAVE_PRFPREGSET_T, HAVE_LWPID_T,
HAVE_PSADDR_T): Add them here instead of in config.in.
* acconfig.h (PRFPREGSET_T_BROKEN): New define.
* configure.in: Add check for broken prfpregset_t type.
* lin-thread.c (gdb_prfpregset): New typedef, depends on
definition of PRFPREGSET_T_BROKEN.
(ps_lgetfpregs, ps_lsetfpregs, p_td_thr_getfpregs,
p_td_thr_setfpregs, thread_db_fetch_registers,
thread_db_store_registers): Use gdb_prfpregset_t instead of
prfpregset_t.
* config.in: Regenerated.
* configure: Regenerated.
Diffstat (limited to 'gdb/lin-thread.c')
-rw-r--r-- | gdb/lin-thread.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/gdb/lin-thread.c b/gdb/lin-thread.c index de530f6..7f54e29 100644 --- a/gdb/lin-thread.c +++ b/gdb/lin-thread.c @@ -170,6 +170,16 @@ typedef const void *gdb_ps_write_buf_t; typedef size_t gdb_ps_size_t; #endif +/* Unfortunately glibc 2.1.3 was released with a broken prfpregset_t + type. We let configure check for this lossage, and make + appropriate typedefs here. */ + +#ifdef PRFPREGSET_T_BROKEN +typedef elf_fpregset_t gdb_prfpregset_t; +#else +typedef prfpregset_t gdb_prfpregset_t; +#endif + /* * proc_service callback functions, called by thread_db. */ @@ -392,7 +402,7 @@ ps_lsetregs (gdb_ps_prochandle_t ph, /* Set LWP general regs */ ps_err_e ps_lgetfpregs (gdb_ps_prochandle_t ph, /* Get LWP float regs */ lwpid_t lwpid, - prfpregset_t *fpregset) + gdb_prfpregset_t *fpregset) { struct cleanup *old_chain = save_inferior_pid (); @@ -406,7 +416,7 @@ ps_lgetfpregs (gdb_ps_prochandle_t ph, /* Get LWP float regs */ ps_err_e ps_lsetfpregs (gdb_ps_prochandle_t ph, /* Set LWP float regs */ lwpid_t lwpid, - const prfpregset_t *fpregset) + const gdb_prfpregset_t *fpregset) { struct cleanup *old_chain = save_inferior_pid (); @@ -508,10 +518,10 @@ static td_err_e (*p_td_thr_setgregs) (const td_thrhandle_t *th_p, const prgregset_t regset); static td_err_e (*p_td_thr_getfpregs) (const td_thrhandle_t *th_p, - prfpregset_t *fpregset); + gdb_prfpregset_t *fpregset); static td_err_e (*p_td_thr_setfpregs) (const td_thrhandle_t *th_p, - const prfpregset_t *fpregset); + const gdb_prfpregset_t *fpregset); static td_err_e (*p_td_ta_map_id2thr) (const td_thragent_t *ta_p, thread_t tid, @@ -1270,7 +1280,7 @@ thread_db_fetch_registers (regno) int regno; { td_thrhandle_t thandle; - prfpregset_t fpregset; + gdb_prfpregset_t fpregset; prgregset_t gregset; thread_t thread; td_err_e ret; @@ -1321,7 +1331,7 @@ thread_db_store_registers (regno) int regno; { td_thrhandle_t thandle; - prfpregset_t fpregset; + gdb_prfpregset_t fpregset; prgregset_t gregset; thread_t thread; td_err_e ret; |