--- _rtld_global_ro --- /* offset | size */ type = struct rtld_global_ro { /* 0 | 4 */ int _dl_debug_mask; /* 4 | 4 */ unsigned int _dl_osversion; /* 8 | 4 */ const char *_dl_platform; /* 12 | 4 */ size_t _dl_platformlen; /* 16 | 4 */ size_t _dl_pagesize; /* 20 | 4 */ size_t _dl_minsigstacksize; /* 24 | 4 */ int _dl_inhibit_cache; /* 28 | 8 */ struct r_scope_elem { /* 28 | 4 */ struct link_map **r_list; /* 32 | 4 */ unsigned int r_nlist; /* total size (bytes): 8 */ } _dl_initial_searchlist; /* 36 | 4 */ int _dl_clktck; /* 40 | 4 */ int _dl_verbose; /* 44 | 4 */ int _dl_debug_fd; /* 48 | 4 */ int _dl_lazy; /* 52 | 4 */ int _dl_bind_not; /* 56 | 4 */ int _dl_dynamic_weak; /* 60 | 2 */ fpu_control_t _dl_fpu_control; /* XXX 2-byte hole */ /* 64 | 4 */ int _dl_correct_cache_id; /* 68 | 8 */ uint64_t _dl_hwcap; /* 76 | 4 */ Elf32_auxv_t *_dl_auxv; /* 80 | 396 */ struct cpu_features { /* 80 | 20 */ struct cpu_features_basic { /* 80 | 4 */ enum cpu_features_kind kind; /* 84 | 4 */ int max_cpuid; /* 88 | 4 */ unsigned int family; /* 92 | 4 */ unsigned int model; /* 96 | 4 */ unsigned int stepping; /* total size (bytes): 20 */ } basic; /* 100 | 288 */ struct cpuid_feature_internal features[9]; /* 388 | 4 */ unsigned int preferred[1]; /* 392 | 4 */ unsigned int isa_1; /* 396 | 4 */ unsigned long xsave_state_size; /* 400 | 4 */ unsigned int xsave_state_full_size; /* 404 | 4 */ unsigned long data_cache_size; /* 408 | 4 */ unsigned long shared_cache_size; /* 412 | 4 */ unsigned long non_temporal_threshold; /* 416 | 4 */ unsigned long rep_movsb_threshold; /* 420 | 4 */ unsigned long rep_movsb_stop_threshold; /* 424 | 4 */ unsigned long rep_stosb_threshold; /* 428 | 4 */ unsigned long level1_icache_size; /* 432 | 4 */ unsigned long level1_icache_linesize; /* 436 | 4 */ unsigned long level1_dcache_size; /* 440 | 4 */ unsigned long level1_dcache_assoc; /* 444 | 4 */ unsigned long level1_dcache_linesize; /* 448 | 4 */ unsigned long level2_cache_size; /* 452 | 4 */ unsigned long level2_cache_assoc; /* 456 | 4 */ unsigned long level2_cache_linesize; /* 460 | 4 */ unsigned long level3_cache_size; /* 464 | 4 */ unsigned long level3_cache_assoc; /* 468 | 4 */ unsigned long level3_cache_linesize; /* 472 | 4 */ unsigned long level4_cache_size; /* total size (bytes): 396 */ } _dl_x86_cpu_features; /* 476 | 27 */ const char _dl_x86_hwcap_flags[3][9]; /* 503 | 36 */ const char _dl_x86_platforms[4][9]; /* 539 | 256 */ const char _dl_x86_cap_flags[32][8]; /* XXX 1-byte hole */ /* 796 | 4 */ const char *_dl_inhibit_rpath; /* 800 | 4 */ const char *_dl_origin_path; /* 804 | 4 */ Elf32_Addr _dl_use_load_bias; /* 808 | 4 */ size_t _dl_tls_static_size; /* 812 | 4 */ size_t _dl_tls_static_align; /* 816 | 4 */ size_t _dl_tls_static_surplus; /* 820 | 4 */ const char *_dl_profile; /* 824 | 4 */ const char *_dl_profile_output; /* 828 | 4 */ const char *_dl_trace_prelink; /* 832 | 4 */ struct link_map *_dl_trace_prelink_map; /* 836 | 4 */ struct r_search_path_elem *_dl_init_all_dirs; /* 840 | 4 */ uintptr_t _dl_sysinfo; /* 844 | 4 */ const Elf32_Ehdr *_dl_sysinfo_dso; /* 848 | 4 */ struct link_map *_dl_sysinfo_map; /* 852 | 4 */ int (*_dl_vdso_clock_gettime)(clockid_t, struct timespec *); /* 856 | 4 */ int (*_dl_vdso_clock_gettime64)(clockid_t, struct __timespec64 *); /* 860 | 4 */ int (*_dl_vdso_gettimeofday)(struct timeval *, void *); /* 864 | 4 */ time_t (*_dl_vdso_time)(time_t *); /* 868 | 4 */ int (*_dl_vdso_clock_getres)(clockid_t, struct timespec *); /* 872 | 8 */ uint64_t _dl_hwcap2; /* 880 | 4 */ enum dso_sort_algorithm _dl_dso_sort_algo; /* 884 | 4 */ void (*_dl_debug_printf)(const char *, ...); /* 888 | 4 */ void (*_dl_mcount)(Elf32_Addr, Elf32_Addr); /* 892 | 4 */ lookup_t (*_dl_lookup_symbol_x)(const char *, struct link_map *, const Elf32_Sym **, struct r_scope_elem **, const struct r_found_version *, int, int, struct link_map *); /* 896 | 4 */ void *(*_dl_open)(const char *, int, const void *, Lmid_t, int, char **, char **); /* 900 | 4 */ void (*_dl_close)(void *); /* 904 | 4 */ int (*_dl_catch_error)(const char **, const char **, _Bool *, void (*)(void *), void *); /* 908 | 4 */ void (*_dl_error_free)(void *); /* 912 | 4 */ void *(*_dl_tls_get_addr_soft)(struct link_map *); /* 916 | 4 */ int (*_dl_discover_osversion)(void); /* 920 | 4 */ const struct dlfcn_hook *_dl_dlfcn_hook; /* 924 | 4 */ struct audit_ifaces *_dl_audit; /* 928 | 4 */ unsigned int _dl_naudit; /* total size (bytes): 932 */ } --- _rtld_global --- /* offset | size */ type = struct rtld_global { /* 0 | 1344 */ struct link_namespaces _dl_ns[16]; /* 1344 | 4 */ size_t _dl_nns; /* 1348 | 24 */ __rtld_lock_recursive_t _dl_load_lock; /* 1372 | 24 */ __rtld_lock_recursive_t _dl_load_write_lock; /* 1396 | 24 */ __rtld_lock_recursive_t _dl_load_tls_lock; /* 1420 | 8 */ unsigned long long _dl_load_adds; /* 1428 | 4 */ struct link_map *_dl_initfirst; /* 1432 | 4 */ struct link_map *_dl_profile_map; /* 1436 | 4 */ unsigned long _dl_num_relocations; /* 1440 | 4 */ unsigned long _dl_num_cache_relocations; /* 1444 | 4 */ struct r_search_path_elem *_dl_all_dirs; /* 1448 | 620 */ struct link_map { /* 1448 | 4 */ Elf32_Addr l_addr; /* 1452 | 4 */ char *l_name; /* 1456 | 4 */ Elf32_Dyn *l_ld; /* 1460 | 4 */ struct link_map *l_next; /* 1464 | 4 */ struct link_map *l_prev; /* 1468 | 4 */ struct link_map *l_real; /* 1472 | 4 */ Lmid_t l_ns; /* 1476 | 4 */ struct libname_list *l_libname; /* 1480 | 308 */ Elf32_Dyn *l_info[77]; /* 1788 | 4 */ const Elf32_Phdr *l_phdr; /* 1792 | 4 */ Elf32_Addr l_entry; /* 1796 | 2 */ Elf32_Half l_phnum; /* 1798 | 2 */ Elf32_Half l_ldnum; /* 1800 | 8 */ struct r_scope_elem { /* 1800 | 4 */ struct link_map **r_list; /* 1804 | 4 */ unsigned int r_nlist; /* total size (bytes): 8 */ } l_searchlist; /* 1808 | 8 */ struct r_scope_elem { /* 1808 | 4 */ struct link_map **r_list; /* 1812 | 4 */ unsigned int r_nlist; /* total size (bytes): 8 */ } l_symbolic_searchlist; /* 1816 | 4 */ struct link_map *l_loader; /* 1820 | 4 */ struct r_found_version *l_versions; /* 1824 | 4 */ unsigned int l_nversions; /* 1828 | 4 */ Elf_Symndx l_nbuckets; /* 1832 | 4 */ Elf32_Word l_gnu_bitmask_idxbits; /* 1836 | 4 */ Elf32_Word l_gnu_shift; /* 1840 | 4 */ const Elf32_Addr *l_gnu_bitmask; /* 1844 | 4 */ union { /* 4 */ const Elf32_Word *l_gnu_buckets; /* 4 */ const Elf_Symndx *l_chain; /* total size (bytes): 4 */ }; /* 1848 | 4 */ union { /* 4 */ const Elf32_Word *l_gnu_chain_zero; /* 4 */ const Elf_Symndx *l_buckets; /* total size (bytes): 4 */ }; /* 1852 | 4 */ unsigned int l_direct_opencount; /* 1856: 0 | 4 */ enum {lt_executable, lt_library, lt_loaded} l_type : 2; /* 1856: 2 | 4 */ unsigned int l_relocated : 1; /* 1856: 3 | 4 */ unsigned int l_init_called : 1; /* 1856: 4 | 4 */ unsigned int l_global : 1; /* 1856: 5 | 4 */ unsigned int l_reserved : 2; /* 1856: 7 | 4 */ unsigned int l_main_map : 1; /* 1857: 0 | 4 */ unsigned int l_visited : 1; /* 1857: 1 | 4 */ unsigned int l_map_used : 1; /* 1857: 2 | 4 */ unsigned int l_map_done : 1; /* 1857: 3 | 4 */ unsigned int l_phdr_allocated : 1; /* 1857: 4 | 4 */ unsigned int l_soname_added : 1; /* 1857: 5 | 4 */ unsigned int l_faked : 1; /* 1857: 6 | 4 */ unsigned int l_need_tls_init : 1; /* 1857: 7 | 4 */ unsigned int l_auditing : 1; /* 1858: 0 | 4 */ unsigned int l_audit_any_plt : 1; /* 1858: 1 | 4 */ unsigned int l_removed : 1; /* 1858: 2 | 4 */ unsigned int l_contiguous : 1; /* 1858: 3 | 4 */ unsigned int l_symbolic_in_local_scope : 1; /* 1858: 4 | 4 */ unsigned int l_free_initfini : 1; /* 1858: 5 | 4 */ unsigned int l_ld_readonly : 1; /* 1858: 6 | 4 */ unsigned int l_tls_in_slotinfo : 1; /* 1858: 7 | 4 */ unsigned int l_find_object_processed : 1; /* 1859 | 1 */ _Bool l_nodelete_active; /* 1860 | 1 */ _Bool l_nodelete_pending; /* 1861: 0 | 4 */ enum {lc_property_unknown, lc_property_none, lc_property_valid} l_property : 2; /* XXX 6-bit hole */ /* XXX 2-byte hole */ /* 1864 | 4 */ unsigned int l_x86_feature_1_and; /* 1868 | 4 */ unsigned int l_x86_isa_1_needed; /* 1872 | 8 */ struct r_search_path_struct { /* 1872 | 4 */ struct r_search_path_elem **dirs; /* 1876 | 4 */ int malloced; /* total size (bytes): 8 */ } l_rpath_dirs; /* 1880 | 4 */ struct reloc_result *l_reloc_result; /* 1884 | 4 */ Elf32_Versym *l_versyms; /* 1888 | 4 */ const char *l_origin; /* 1892 | 4 */ Elf32_Addr l_map_start; /* 1896 | 4 */ Elf32_Addr l_map_end; /* 1900 | 4 */ Elf32_Addr l_text_end; /* 1904 | 16 */ struct r_scope_elem *l_scope_mem[4]; /* 1920 | 4 */ size_t l_scope_max; /* 1924 | 4 */ struct r_scope_elem **l_scope; /* 1928 | 8 */ struct r_scope_elem *l_local_scope[2]; /* 1936 | 16 */ struct r_file_id { /* 1936 | 8 */ dev_t dev; /* 1944 | 8 */ ino64_t ino; /* total size (bytes): 16 */ } l_file_id; /* 1952 | 8 */ struct r_search_path_struct { /* 1952 | 4 */ struct r_search_path_elem **dirs; /* 1956 | 4 */ int malloced; /* total size (bytes): 8 */ } l_runpath_dirs; /* 1960 | 4 */ struct link_map **l_initfini; /* 1964 | 4 */ struct link_map_reldeps *l_reldeps; /* 1968 | 4 */ unsigned int l_reldepsmax; /* 1972 | 4 */ unsigned int l_used; /* 1976 | 4 */ Elf32_Word l_feature_1; /* 1980 | 4 */ Elf32_Word l_flags_1; /* 1984 | 4 */ Elf32_Word l_flags; /* 1988 | 4 */ int l_idx; /* 1992 | 12 */ struct link_map_machine { /* 1992 | 4 */ Elf32_Addr plt; /* 1996 | 4 */ Elf32_Addr gotplt; /* 2000 | 4 */ void *tlsdesc_table; /* total size (bytes): 12 */ } l_mach; /* 2004 | 16 */ struct { /* 2004 | 4 */ const Elf32_Sym *sym; /* 2008 | 4 */ int type_class; /* 2012 | 4 */ struct link_map *value; /* 2016 | 4 */ const Elf32_Sym *ret; /* total size (bytes): 16 */ } l_lookup_cache; /* 2020 | 4 */ void *l_tls_initimage; /* 2024 | 4 */ size_t l_tls_initimage_size; /* 2028 | 4 */ size_t l_tls_blocksize; /* 2032 | 4 */ size_t l_tls_align; /* 2036 | 4 */ size_t l_tls_firstbyte_offset; /* 2040 | 4 */ ptrdiff_t l_tls_offset; /* 2044 | 4 */ size_t l_tls_modid; /* 2048 | 4 */ size_t l_tls_dtor_count; /* 2052 | 4 */ Elf32_Addr l_relro_addr; /* 2056 | 4 */ size_t l_relro_size; /* 2060 | 8 */ unsigned long long l_serial; /* total size (bytes): 620 */ } _dl_rtld_map; /* 2068 | 128 */ struct auditstate _dl_rtld_auditstate[16]; /* 2196 | 4 */ unsigned int _dl_x86_feature_1; /* 2200 | 4 */ struct dl_x86_feature_control { /* 2200: 0 | 4 */ enum dl_x86_cet_control ibt : 2; /* 2200: 2 | 4 */ enum dl_x86_cet_control shstk : 2; /* XXX 4-bit padding */ /* XXX 3-byte padding */ /* total size (bytes): 4 */ } _dl_x86_feature_control; /* 2204 | 4 */ Elf32_Word _dl_stack_flags; /* 2208 | 1 */ _Bool _dl_tls_dtv_gaps; /* XXX 3-byte hole */ /* 2212 | 4 */ size_t _dl_tls_max_dtv_idx; /* 2216 | 4 */ struct dtv_slotinfo_list *_dl_tls_dtv_slotinfo_list; /* 2220 | 4 */ size_t _dl_tls_static_nelem; /* 2224 | 4 */ size_t _dl_tls_static_used; /* 2228 | 4 */ size_t _dl_tls_static_optional; /* 2232 | 4 */ void *_dl_initial_dtv; /* 2236 | 4 */ size_t _dl_tls_generation; /* 2240 | 4 */ struct dl_scope_free_list *_dl_scope_free_list; /* 2244 | 8 */ list_t _dl_stack_used; /* 2252 | 8 */ list_t _dl_stack_user; /* 2260 | 8 */ list_t _dl_stack_cache; /* 2268 | 4 */ size_t _dl_stack_cache_actsize; /* 2272 | 4 */ uintptr_t _dl_in_flight_stack; /* 2276 | 4 */ int _dl_stack_cache_lock; /* total size (bytes): 2280 */ } --- struct link_map --- /* offset | size */ type = struct link_map { /* 0 | 4 */ Elf32_Addr l_addr; /* 4 | 4 */ char *l_name; /* 8 | 4 */ Elf32_Dyn *l_ld; /* 12 | 4 */ struct link_map *l_next; /* 16 | 4 */ struct link_map *l_prev; /* 20 | 4 */ struct link_map *l_real; /* 24 | 4 */ Lmid_t l_ns; /* 28 | 4 */ struct libname_list *l_libname; /* 32 | 308 */ Elf32_Dyn *l_info[77]; /* 340 | 4 */ const Elf32_Phdr *l_phdr; /* 344 | 4 */ Elf32_Addr l_entry; /* 348 | 2 */ Elf32_Half l_phnum; /* 350 | 2 */ Elf32_Half l_ldnum; /* 352 | 8 */ struct r_scope_elem { /* 352 | 4 */ struct link_map **r_list; /* 356 | 4 */ unsigned int r_nlist; /* total size (bytes): 8 */ } l_searchlist; /* 360 | 8 */ struct r_scope_elem { /* 360 | 4 */ struct link_map **r_list; /* 364 | 4 */ unsigned int r_nlist; /* total size (bytes): 8 */ } l_symbolic_searchlist; /* 368 | 4 */ struct link_map *l_loader; /* 372 | 4 */ struct r_found_version *l_versions; /* 376 | 4 */ unsigned int l_nversions; /* 380 | 4 */ Elf_Symndx l_nbuckets; /* 384 | 4 */ Elf32_Word l_gnu_bitmask_idxbits; /* 388 | 4 */ Elf32_Word l_gnu_shift; /* 392 | 4 */ const Elf32_Addr *l_gnu_bitmask; /* 396 | 4 */ union { /* 4 */ const Elf32_Word *l_gnu_buckets; /* 4 */ const Elf_Symndx *l_chain; /* total size (bytes): 4 */ }; /* 400 | 4 */ union { /* 4 */ const Elf32_Word *l_gnu_chain_zero; /* 4 */ const Elf_Symndx *l_buckets; /* total size (bytes): 4 */ }; /* 404 | 4 */ unsigned int l_direct_opencount; /* 408: 0 | 4 */ enum {lt_executable, lt_library, lt_loaded} l_type : 2; /* 408: 2 | 4 */ unsigned int l_relocated : 1; /* 408: 3 | 4 */ unsigned int l_init_called : 1; /* 408: 4 | 4 */ unsigned int l_global : 1; /* 408: 5 | 4 */ unsigned int l_reserved : 2; /* 408: 7 | 4 */ unsigned int l_main_map : 1; /* 409: 0 | 4 */ unsigned int l_visited : 1; /* 409: 1 | 4 */ unsigned int l_map_used : 1; /* 409: 2 | 4 */ unsigned int l_map_done : 1; /* 409: 3 | 4 */ unsigned int l_phdr_allocated : 1; /* 409: 4 | 4 */ unsigned int l_soname_added : 1; /* 409: 5 | 4 */ unsigned int l_faked : 1; /* 409: 6 | 4 */ unsigned int l_need_tls_init : 1; /* 409: 7 | 4 */ unsigned int l_auditing : 1; /* 410: 0 | 4 */ unsigned int l_audit_any_plt : 1; /* 410: 1 | 4 */ unsigned int l_removed : 1; /* 410: 2 | 4 */ unsigned int l_contiguous : 1; /* 410: 3 | 4 */ unsigned int l_symbolic_in_local_scope : 1; /* 410: 4 | 4 */ unsigned int l_free_initfini : 1; /* 410: 5 | 4 */ unsigned int l_ld_readonly : 1; /* 410: 6 | 4 */ unsigned int l_tls_in_slotinfo : 1; /* 410: 7 | 4 */ unsigned int l_find_object_processed : 1; /* 411 | 1 */ _Bool l_nodelete_active; /* 412 | 1 */ _Bool l_nodelete_pending; /* 413: 0 | 4 */ enum {lc_property_unknown, lc_property_none, lc_property_valid} l_property : 2; /* XXX 6-bit hole */ /* XXX 2-byte hole */ /* 416 | 4 */ unsigned int l_x86_feature_1_and; /* 420 | 4 */ unsigned int l_x86_isa_1_needed; /* 424 | 8 */ struct r_search_path_struct { /* 424 | 4 */ struct r_search_path_elem **dirs; /* 428 | 4 */ int malloced; /* total size (bytes): 8 */ } l_rpath_dirs; /* 432 | 4 */ struct reloc_result *l_reloc_result; /* 436 | 4 */ Elf32_Versym *l_versyms; /* 440 | 4 */ const char *l_origin; /* 444 | 4 */ Elf32_Addr l_map_start; /* 448 | 4 */ Elf32_Addr l_map_end; /* 452 | 4 */ Elf32_Addr l_text_end; /* 456 | 16 */ struct r_scope_elem *l_scope_mem[4]; /* 472 | 4 */ size_t l_scope_max; /* 476 | 4 */ struct r_scope_elem **l_scope; /* 480 | 8 */ struct r_scope_elem *l_local_scope[2]; /* 488 | 16 */ struct r_file_id { /* 488 | 8 */ dev_t dev; /* 496 | 8 */ ino64_t ino; /* total size (bytes): 16 */ } l_file_id; /* 504 | 8 */ struct r_search_path_struct { /* 504 | 4 */ struct r_search_path_elem **dirs; /* 508 | 4 */ int malloced; /* total size (bytes): 8 */ } l_runpath_dirs; /* 512 | 4 */ struct link_map **l_initfini; /* 516 | 4 */ struct link_map_reldeps *l_reldeps; /* 520 | 4 */ unsigned int l_reldepsmax; /* 524 | 4 */ unsigned int l_used; /* 528 | 4 */ Elf32_Word l_feature_1; /* 532 | 4 */ Elf32_Word l_flags_1; /* 536 | 4 */ Elf32_Word l_flags; /* 540 | 4 */ int l_idx; /* 544 | 12 */ struct link_map_machine { /* 544 | 4 */ Elf32_Addr plt; /* 548 | 4 */ Elf32_Addr gotplt; /* 552 | 4 */ void *tlsdesc_table; /* total size (bytes): 12 */ } l_mach; /* 556 | 16 */ struct { /* 556 | 4 */ const Elf32_Sym *sym; /* 560 | 4 */ int type_class; /* 564 | 4 */ struct link_map *value; /* 568 | 4 */ const Elf32_Sym *ret; /* total size (bytes): 16 */ } l_lookup_cache; /* 572 | 4 */ void *l_tls_initimage; /* 576 | 4 */ size_t l_tls_initimage_size; /* 580 | 4 */ size_t l_tls_blocksize; /* 584 | 4 */ size_t l_tls_align; /* 588 | 4 */ size_t l_tls_firstbyte_offset; /* 592 | 4 */ ptrdiff_t l_tls_offset; /* 596 | 4 */ size_t l_tls_modid; /* 600 | 4 */ size_t l_tls_dtor_count; /* 604 | 4 */ Elf32_Addr l_relro_addr; /* 608 | 4 */ size_t l_relro_size; /* 612 | 8 */ unsigned long long l_serial; /* total size (bytes): 620 */ } --- struct pthread --- /* offset | size */ type = struct pthread { /* 0 | 96 */ union { /* 56 */ tcbhead_t header; /* 96 */ void *__padding[24]; /* total size (bytes): 96 */ }; /* 96 | 8 */ list_t list; /* 104 | 4 */ pid_t tid; /* 108 | 4 */ pid_t pid_ununsed; /* 112 | 12 */ union { /* 4 */ __pthread_slist_t robust_list; /* 12 */ struct robust_list_head { /* 112 | 4 */ void *list; /* 116 | 4 */ long futex_offset; /* 120 | 4 */ void *list_op_pending; /* total size (bytes): 12 */ } robust_head; /* total size (bytes): 12 */ }; /* 124 | 4 */ struct _pthread_cleanup_buffer *cleanup; /* 128 | 4 */ struct pthread_unwind_buf *cleanup_jmp_buf; /* 132 | 4 */ int cancelhandling; /* 136 | 4 */ int flags; /* 140 | 256 */ struct pthread_key_data specific_1stblock[32]; /* 396 | 128 */ struct pthread_key_data *specific[32]; /* 524 | 1 */ _Bool specific_used; /* 525 | 1 */ _Bool report_events; /* 526 | 1 */ _Bool user_stack; /* 527 | 1 */ _Bool stopped_start; /* 528 | 4 */ int setup_failed; /* 532 | 4 */ int lock; /* 536 | 4 */ unsigned int setxid_futex; /* 540 | 8 */ hp_timing_t cpuclock_offset_ununsed; /* 548 | 4 */ struct pthread *joinid; /* 552 | 4 */ void *result; /* 556 | 4 */ struct sched_param { /* 556 | 4 */ int sched_priority; /* total size (bytes): 4 */ } schedparam; /* 560 | 4 */ int schedpolicy; /* 564 | 4 */ void *(*start_routine)(void *); /* 568 | 4 */ void *arg; /* 572 | 16 */ td_eventbuf_t eventbuf; /* 588 | 4 */ struct pthread *nextevent; /* 592 | 24 */ struct _Unwind_Exception { /* 592 | 24 */ union { /* 20 */ struct { /* 592 | 8 */ _Unwind_Exception_Class exception_class; /* 600 | 4 */ _Unwind_Exception_Cleanup_Fn exception_cleanup; /* 604 | 4 */ _Unwind_Word private_1; /* 608 | 4 */ _Unwind_Word private_2; /* total size (bytes): 20 */ }; /* 8 */ _Unwind_Word unwind_exception_align[2]; /* total size (bytes): 24 */ }; /* total size (bytes): 24 */ } exc; /* 616 | 4 */ void *stackblock; /* 620 | 4 */ size_t stackblock_size; /* 624 | 4 */ size_t guardsize; /* 628 | 4 */ size_t reported_guardsize; /* 632 | 4 */ struct priority_protection_data *tpp; /* 636 | 512 */ struct __res_state { /* 636 | 4 */ int retrans; /* 640 | 4 */ int retry; /* 644 | 4 */ unsigned long options; /* 648 | 4 */ int nscount; /* 652 | 48 */ struct sockaddr_in nsaddr_list[3]; /* 700 | 2 */ unsigned short id; /* XXX 2-byte hole */ /* 704 | 28 */ char *dnsrch[7]; /* 732 | 256 */ char defdname[256]; /* 988 | 4 */ unsigned long pfcode; /* 992: 0 | 4 */ unsigned int ndots : 4; /* 992: 4 | 4 */ unsigned int nsort : 4; /* 993: 0 | 4 */ unsigned int ipv6_unavail : 1; /* 993: 1 | 4 */ unsigned int unused : 23; /* 996 | 80 */ struct { /* 0 | 4 */ struct in_addr addr; /* 4 | 4 */ uint32_t mask; } sort_list[10]; /* 1076 | 4 */ void *__glibc_unused_qhook; /* 1080 | 4 */ void *__glibc_unused_rhook; /* 1084 | 4 */ int res_h_errno; /* 1088 | 4 */ int _vcsock; /* 1092 | 4 */ unsigned int _flags; /* 1096 | 52 */ union { /* 52 */ char pad[52]; /* 44 */ struct { /* 1096 | 2 */ uint16_t nscount; /* 1098 | 6 */ uint16_t nsmap[3]; /* 1104 | 12 */ int nssocks[3]; /* 1116 | 2 */ uint16_t nscount6; /* 1118 | 2 */ uint16_t nsinit; /* 1120 | 12 */ struct sockaddr_in6 *nsaddrs[3]; /* 1132 | 8 */ unsigned long long __glibc_extension_index; /* total size (bytes): 44 */ } _ext; /* total size (bytes): 52 */ } _u; /* total size (bytes): 512 */ } res; /* 1148 | 128 */ sigset_t sigmask; /* 1276 | 1 */ _Bool c11; /* 1277 | 1 */ _Bool exiting; /* XXX 2-byte hole */ /* 1280 | 4 */ int exit_lock; /* 1284 | 8 */ struct tls_internal_t { /* 1284 | 4 */ char *strsignal_buf; /* 1288 | 4 */ char *strerror_l_buf; /* total size (bytes): 8 */ } tls_state; /* XXX 20-byte hole */ /* 1312 | 32 */ union { /* 20 */ struct { /* 1312 | 4 */ uint32_t cpu_id_start; /* 1316 | 4 */ uint32_t cpu_id; /* 1320 | 8 */ uint64_t rseq_cs; /* 1328 | 4 */ uint32_t flags; /* total size (bytes): 20 */ }; /* 32 */ char pad[32]; /* total size (bytes): 32 */ } rseq_area; /* total size (bytes): 1344 */ }