mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-26 09:08:59 +00:00
gdb/gdbserver/
* Makefile.in (clean): Remove reg-mips64.c. (reg-mips64.c, reg-mips64.o): New rules. * configure.srv: Handle mips64. Include regset support for mips. * linux-mips-low.c (union mips_register): New. (mips_get_pc, mips_set_pc, mips_reinsert_addr): Use it. (mips_breakpoint, mips_breakpoint_at): Use int. (mips_collect_register, mips_supply_register) (mips_collect_register_32bit, mips_supply_register_32bit) (mips_fill_gregset, mips_store_gregset, mips_fill_fpregset) (mips_store_fpregset, target_regsets): New. * thread-db.c (thread_db_get_tls_address): Use uintptr_t. gdb/ * regformats/reg-mips64.dat: New file.
This commit is contained in:
@@ -33,6 +33,8 @@ extern int debug_threads;
|
||||
|
||||
#include "gdb_proc_service.h"
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/* Structure that identifies the child process for the
|
||||
<proc_service.h> interface. */
|
||||
static struct ps_prochandle proc_handle;
|
||||
@@ -333,11 +335,14 @@ thread_db_get_tls_address (struct thread_info *thread, CORE_ADDR offset,
|
||||
if (!process->thread_known)
|
||||
return TD_NOTHR;
|
||||
|
||||
err = td_thr_tls_get_addr (&process->th, (psaddr_t) load_module, offset,
|
||||
&addr);
|
||||
/* Note the cast through uintptr_t: this interface only works if
|
||||
a target address fits in a psaddr_t, which is a host pointer.
|
||||
So a 32-bit debugger can not access 64-bit TLS through this. */
|
||||
err = td_thr_tls_get_addr (&process->th, (psaddr_t) (uintptr_t) load_module,
|
||||
offset, &addr);
|
||||
if (err == TD_OK)
|
||||
{
|
||||
*address = (CORE_ADDR) addr;
|
||||
*address = (CORE_ADDR) (uintptr_t) addr;
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user