structs.def 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. /* List of types and symbols in libpthread examined by libthread_db.
  2. Copyright (C) 2003-2019 Free Software Foundation, Inc.
  3. This file is part of the GNU C Library.
  4. The GNU C Library is free software; you can redistribute it and/or
  5. modify it under the terms of the GNU Lesser General Public
  6. License as published by the Free Software Foundation; either
  7. version 2.1 of the License, or (at your option) any later version.
  8. The GNU C Library is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  11. Lesser General Public License for more details.
  12. You should have received a copy of the GNU Lesser General Public
  13. License along with the GNU C Library; if not, see
  14. <http://www.gnu.org/licenses/>. */
  15. #ifndef DB_STRUCT_ARRAY_FIELD
  16. # define DB_STRUCT_ARRAY_FIELD(type, field) DB_STRUCT_FIELD (type, field)
  17. # define DB_ARRAY_VARIABLE(name) DB_VARIABLE (name)
  18. # define STRUCTS_DEF_DEFAULTS 1
  19. #endif
  20. #ifndef DB_RTLD_VARIABLE
  21. # define DB_RTLD_VARIABLE(name) DB_VARIABLE (name)
  22. #endif
  23. #ifndef DB_MAIN_VARIABLE
  24. # define DB_MAIN_VARIABLE(name) DB_VARIABLE (name)
  25. #endif
  26. #ifndef DB_RTLD_GLOBAL_FIELD
  27. # if !IS_IN (libpthread)
  28. # define DB_RTLD_GLOBAL_FIELD(field) \
  29. DB_STRUCT_FIELD (rtld_global, _##field) \
  30. DB_MAIN_VARIABLE (_##field)
  31. # elif defined SHARED
  32. # define DB_RTLD_GLOBAL_FIELD(field) \
  33. DB_STRUCT_FIELD (rtld_global, _##field)
  34. # else
  35. # define DB_RTLD_GLOBAL_FIELD(field) \
  36. DB_MAIN_VARIABLE (_##field)
  37. # endif
  38. #endif /* DB_RTLD_GLOBAL_FIELD */
  39. DB_STRUCT (pthread)
  40. DB_STRUCT_FIELD (pthread, list)
  41. DB_STRUCT_FIELD (pthread, report_events)
  42. DB_STRUCT_FIELD (pthread, tid)
  43. DB_STRUCT_FIELD (pthread, start_routine)
  44. DB_STRUCT_FIELD (pthread, cancelhandling)
  45. DB_STRUCT_FIELD (pthread, schedpolicy)
  46. DB_STRUCT_FIELD (pthread, schedparam_sched_priority)
  47. DB_STRUCT_FIELD (pthread, specific)
  48. DB_STRUCT_FIELD (pthread, eventbuf)
  49. DB_STRUCT_FIELD (pthread, eventbuf_eventmask)
  50. DB_STRUCT_ARRAY_FIELD (pthread, eventbuf_eventmask_event_bits)
  51. DB_STRUCT_FIELD (pthread, nextevent)
  52. DB_STRUCT (list_t)
  53. DB_STRUCT_FIELD (list_t, next)
  54. DB_STRUCT_FIELD (list_t, prev)
  55. DB_STRUCT (td_thr_events_t)
  56. DB_STRUCT_ARRAY_FIELD (td_thr_events_t, event_bits)
  57. DB_STRUCT (td_eventbuf_t)
  58. DB_STRUCT_FIELD (td_eventbuf_t, eventnum)
  59. DB_STRUCT_FIELD (td_eventbuf_t, eventdata)
  60. DB_SYMBOL (stack_used)
  61. DB_SYMBOL (__stack_user)
  62. DB_SYMBOL (nptl_version)
  63. DB_FUNCTION (__nptl_create_event)
  64. DB_FUNCTION (__nptl_death_event)
  65. DB_SYMBOL (__nptl_threads_events)
  66. DB_VARIABLE (__nptl_nthreads)
  67. DB_VARIABLE (__nptl_last_event)
  68. DB_VARIABLE (__nptl_initial_report_events)
  69. DB_ARRAY_VARIABLE (__pthread_keys)
  70. DB_STRUCT (pthread_key_struct)
  71. DB_STRUCT_FIELD (pthread_key_struct, seq)
  72. DB_STRUCT_FIELD (pthread_key_struct, destr)
  73. DB_STRUCT (pthread_key_data)
  74. DB_STRUCT_FIELD (pthread_key_data, seq)
  75. DB_STRUCT_FIELD (pthread_key_data, data)
  76. DB_STRUCT (pthread_key_data_level2)
  77. DB_STRUCT_ARRAY_FIELD (pthread_key_data_level2, data)
  78. DB_STRUCT_FIELD (link_map, l_tls_modid)
  79. DB_STRUCT_FIELD (link_map, l_tls_offset)
  80. DB_STRUCT_ARRAY_FIELD (dtv, dtv)
  81. #define pointer_val pointer.val /* Field of anonymous struct in dtv_t. */
  82. DB_STRUCT_FIELD (dtv_t, pointer_val)
  83. DB_STRUCT_FIELD (dtv_t, counter)
  84. #if !IS_IN (libpthread) || TLS_TCB_AT_TP
  85. DB_STRUCT_FIELD (pthread, dtvp)
  86. #endif
  87. #if !(IS_IN (libpthread) && !defined SHARED)
  88. DB_STRUCT (rtld_global)
  89. DB_RTLD_VARIABLE (_rtld_global)
  90. #endif
  91. DB_RTLD_GLOBAL_FIELD (dl_tls_dtv_slotinfo_list)
  92. DB_STRUCT (dtv_slotinfo_list)
  93. DB_STRUCT_FIELD (dtv_slotinfo_list, len)
  94. DB_STRUCT_FIELD (dtv_slotinfo_list, next)
  95. DB_STRUCT_ARRAY_FIELD (dtv_slotinfo_list, slotinfo)
  96. DB_STRUCT (dtv_slotinfo)
  97. DB_STRUCT_FIELD (dtv_slotinfo, gen)
  98. DB_STRUCT_FIELD (dtv_slotinfo, map)
  99. #ifdef STRUCTS_DEF_DEFAULTS
  100. # undef DB_STRUCT_ARRAY_FIELD
  101. # undef DB_ARRAY_VARIABLE
  102. # undef STRUCTS_DEF_DEFAULTS
  103. #endif