X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Ffbsd-tdep.h;h=5dd8203299148aa81e9f02af7a1d050801a91f40;hb=refs%2Fheads%2Fconcurrent-displaced-stepping-2020-04-01;hp=700f23eb325a439f36df8152c4e3396d50338721;hpb=6f3b1098e820cef84709ef71c287c4b72e6c671b;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/fbsd-tdep.h b/gdb/fbsd-tdep.h index 700f23eb32..5dd8203299 100644 --- a/gdb/fbsd-tdep.h +++ b/gdb/fbsd-tdep.h @@ -1,6 +1,6 @@ /* Target-dependent code for FreeBSD, architecture independent. - Copyright (C) 2009-2018 Free Software Foundation, Inc. + Copyright (C) 2009-2020 Free Software Foundation, Inc. This file is part of GDB. @@ -60,4 +60,15 @@ extern void fbsd_info_proc_mappings_entry (int addr_bit, ULONGEST kve_start, int kve_flags, int kve_protection, const void *kve_path); +/* Helper function to fetch the address of a thread-local variable. + DTV_ADDR is the base address of the thread's dtv array. LM_ADDR is + the address of the link_map structure for the associated object + file. OFFSET is the offset of the variable in the object file's + thread-local variable block. */ + +extern CORE_ADDR fbsd_get_thread_local_address (struct gdbarch *gdbarch, + CORE_ADDR dtv_addr, + CORE_ADDR lm_addr, + CORE_ADDR offset); + #endif /* fbsd-tdep.h */