forked from Imagelibrary/binutils-gdb
* acinclude.m4 (SRV_CHECK_TLS_GET_ADDR): New.
* configure.ac: Use it. Define HAVE_TD_THR_TLS_GET_ADDR. * config.in, configure: Regenerated. * inferiors.c (gdb_id_to_thread): New function. (gdb_id_to_thread_id): Use it. * linux-low.c (linux_target_ops): Use thread_db_get_tls_address. * linux-low.h (struct process_info): Add th member. (thread_db_get_tls_address): New prototype. * remote-utils.c (decode_address): Make non-static. * server.c (handle_query): Handle qGetTLSAddr. * server.h (gdb_id_to_thread, decode_address): New prototypes. * target.h (struct target_ops): Add get_tls_address. * thread-db.c (maybe_attach_thread): Save the thread handle. (thread_db_get_tls_address): New.
This commit is contained in:
@@ -163,6 +163,15 @@ struct target_ops
|
||||
time. */
|
||||
|
||||
int (*read_offsets) (CORE_ADDR *text, CORE_ADDR *data);
|
||||
|
||||
/* Fetch the address associated with a specific thread local storage
|
||||
area, determined by the specified THREAD, OFFSET, and LOAD_MODULE.
|
||||
Stores it in *ADDRESS and returns zero on success; otherwise returns
|
||||
an error code. A return value of -1 means this system does not
|
||||
support the operation. */
|
||||
|
||||
int (*get_tls_address) (struct thread_info *thread, CORE_ADDR offset,
|
||||
CORE_ADDR load_module, CORE_ADDR *address);
|
||||
};
|
||||
|
||||
extern struct target_ops *the_target;
|
||||
|
||||
Reference in New Issue
Block a user