diff options
Diffstat (limited to 'nptl_db/structs.def')
-rw-r--r-- | nptl_db/structs.def | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/nptl_db/structs.def b/nptl_db/structs.def index 42e8b4df06..0d49a0ae5e 100644 --- a/nptl_db/structs.def +++ b/nptl_db/structs.def @@ -22,6 +22,28 @@ # define STRUCTS_DEF_DEFAULTS 1 #endif +#ifndef DB_RTLD_VARIABLE +# define DB_RTLD_VARIABLE(name) DB_VARIABLE (name) +#endif + +#ifndef DB_MAIN_VARIABLE +# define DB_MAIN_VARIABLE(name) DB_VARIABLE (name) +#endif + +#ifndef DB_RTLD_GLOBAL_FIELD +# if !IS_IN (libpthread) +# define DB_RTLD_GLOBAL_FIELD(field) \ + DB_STRUCT_FIELD (rtld_global, _##field) \ + DB_MAIN_VARIABLE (_##field) +# elif defined SHARED +# define DB_RTLD_GLOBAL_FIELD(field) \ + DB_STRUCT_FIELD (rtld_global, _##field) +# else +# define DB_RTLD_GLOBAL_FIELD(field) \ + DB_MAIN_VARIABLE (_##field) +# endif +#endif /* DB_RTLD_GLOBAL_FIELD */ + DB_STRUCT (pthread) DB_STRUCT_FIELD (pthread, list) DB_STRUCT_FIELD (pthread, report_events) @@ -70,14 +92,31 @@ DB_STRUCT (pthread_key_data_level2) DB_STRUCT_ARRAY_FIELD (pthread_key_data_level2, data) DB_STRUCT_FIELD (link_map, l_tls_modid) +DB_STRUCT_FIELD (link_map, l_tls_offset) DB_STRUCT_ARRAY_FIELD (dtv, dtv) #define pointer_val pointer.val /* Field of anonymous struct in dtv_t. */ DB_STRUCT_FIELD (dtv_t, pointer_val) +DB_STRUCT_FIELD (dtv_t, counter) #if !IS_IN (libpthread) || TLS_TCB_AT_TP DB_STRUCT_FIELD (pthread, dtvp) #endif +#if !(IS_IN (libpthread) && !defined SHARED) +DB_STRUCT (rtld_global) +DB_RTLD_VARIABLE (_rtld_global) +#endif +DB_RTLD_GLOBAL_FIELD (dl_tls_dtv_slotinfo_list) + +DB_STRUCT (dtv_slotinfo_list) +DB_STRUCT_FIELD (dtv_slotinfo_list, len) +DB_STRUCT_FIELD (dtv_slotinfo_list, next) +DB_STRUCT_ARRAY_FIELD (dtv_slotinfo_list, slotinfo) + +DB_STRUCT (dtv_slotinfo) +DB_STRUCT_FIELD (dtv_slotinfo, gen) +DB_STRUCT_FIELD (dtv_slotinfo, map) + #ifdef STRUCTS_DEF_DEFAULTS # undef DB_STRUCT_ARRAY_FIELD # undef DB_ARRAY_VARIABLE |