Lines Matching defs:Struct_Obj_Entry

148 typedef struct Struct_Obj_Entry {  struct
149 struct Struct_Obj_Entry *next; argument
150 char *path; /* Pathname of underlying file (%) */
151 int refcount;
152 int dl_refcount; /* Number of times loaded by dlopen */
155 caddr_t mapbase; /* Base address of mapped region */
156 size_t mapsize; /* Size of mapped region in bytes */
157 size_t textsize; /* Size of text segment in bytes */
158 Elf_Addr vaddrbase; /* Base address in shared object file */
159 caddr_t relocbase; /* Reloc const = mapbase - *vaddrbase */
160 Elf_Dyn *dynamic; /* Dynamic section */
161 caddr_t entry; /* Entry point */
162 const Elf_Phdr *phdr; /* Program header (may be xmalloc'ed) */
163 size_t phsize; /* Size of program header in bytes */
166 Elf_Addr *pltgot; /* PLTGOT table */
167 const Elf_Rel *rel; /* Relocation entries */
168 const Elf_Rel *rellim; /* Limit of Relocation entries */
169 const Elf_Rela *rela; /* Relocation entries */
170 const Elf_Rela *relalim; /* Limit of Relocation entries */
171 const Elf_Rel *pltrel; /* PLT relocation entries */
172 const Elf_Rel *pltrellim; /* Limit of PLT relocation entries */
173 const Elf_Rela *pltrela; /* PLT relocation entries */
174 const Elf_Rela *pltrelalim; /* Limit of PLT relocation entries */
175 const Elf_Sym *symtab; /* Symbol table */
176 const char *strtab; /* String table */
177 unsigned long strsize; /* Size in bytes of string table */
179 Elf_Word local_gotno; /* Number of local GOT entries */
180 Elf_Word symtabno; /* Number of dynamic symbols */
181 Elf_Word gotsym; /* First dynamic symbol in GOT */
185 const Elf_Symindx *buckets; /* Hash table buckets array */
186 unsigned long unused1; /* Used to be nbuckets */
187 const Elf_Symindx *chains; /* Hash table chain array */
188 unsigned long nchains; /* Number of chains */
190 Search_Path *rpaths; /* Search path specified in object */
191 Needed_Entry *needed; /* Shared objects needed by this (%) */
193 fptr_t init; /* Initialization function to call */
194 fptr_t fini; /* Termination function to call */
196 u_int32_t mainprog:1, /* True if this is the main program */
197 rtld:1, /* True if this is the dynamic linker */
198 textrel:1, /* True if there are relocations to
200 symbolic:1, /* True if generated with
202 printed:1, /* True if ldd has printed it */
203 isdynamic:1, /* True if this is a pure PIC object */
204 mainref:1, /* True if on _rtld_list_main */
205 globalref:1, /* True if on _rtld_list_global */
206 init_done:1, /* True if .init has been added */
207 init_called:1, /* True if .init function has been
209 fini_called:1, /* True if .fini function has been
211 z_now:1, /* True if object's symbols should be
213 z_nodelete:1, /* True if object should never be
215 z_initfirst:1, /* True if object's .init/.fini take
217 z_noopen:1, /* True if object should never be
219 phdr_loaded:1, /* Phdr is loaded and doesn't need to
222 tls_static:1, /* True if static TLS offset
224 tls_dynamic:1, /* True if any non-static DTV entry
227 ref_nodel:1, /* Refcount increased to prevent dlclose */
228 sysv_hash:1, /* SysV Hash available */
229 gnu_hash:1; /* GNU Hash available */
231 struct link_map linkmap; /* for the debugger */
234 const char *interp; /* Pathname of the interpreter, if any */
235 Objlist dldags; /* Object belongs to these dlopened DAGs (%) */
236 Objlist dagmembers; /* DAG has these members (%) */
237 dev_t dev; /* Object's filesystem's device */
238 ino_t ino; /* Object's inode number */
240 void *ehdr;
243 uint32_t nbuckets; /* Number of buckets */
244 uint32_t nbuckets_m; /* Precomputed for fast remainder */
245 uint8_t nbuckets_s1;
246 uint8_t nbuckets_s2;
249 const uint32_t *buckets_gnu; /* Hash table buckets array */
250 uint32_t nbuckets_gnu; /* Number of GNU hash buckets */
251 uint32_t nbuckets_m_gnu; /* Precomputed for fast remainder */
252 uint8_t nbuckets_s1_gnu;
253 uint8_t nbuckets_s2_gnu;
254 const uint32_t *chains_gnu; /* Hash table chain array */
256 const Elf_Addr *bloom_gnu;
257 uint32_t symndx_gnu; /* First accessible symbol on dynsym table */
258 uint32_t mask_bm_gnu; /* Bloom filter words - 1 (bitmask) */
259 uint32_t shift2_gnu; /* Bloom filter shift count */
261 size_t pathlen; /* Pathname length */
267 Elf_Addr glink; /* global linkage */
269 Elf_Addr *gotptr; /* GOT table (secure-plt only) */
275 size_t tlsindex; /* Index in DTV */
276 void *tlsinit; /* Base address of TLS init block */
277 size_t tlsinitsize; /* Size of TLS init block */
278 size_t tlssize; /* Size of TLS block */
279 size_t tlsoffset; /* Offset in the static TLS block */
280 size_t tlsalign; /* Needed alignment for static TLS */
285 void *relro_page;
286 size_t relro_size;
290 const Elf_Verneed *verneed; /* Required versions. */
291 Elf_Word verneednum; /* Number of entries in verneed table */
292 const Elf_Verdef *verdef; /* Provided versions. */
293 Elf_Word verdefnum; /* Number of entries in verdef table */
294 const Elf_Versym *versyms; /* Symbol versions table */
296 Ver_Entry *vertab; /* Versions required/defined by this
298 int vertabnum; /* Number of entries in vertab */
301 fptr_t *init_array; /* start of init array */
302 size_t init_arraysz; /* # of entries in it */
303 fptr_t *fini_array; /* start of fini array */
304 size_t fini_arraysz; /* # of entries in it */
306 size_t ifunc_remaining;
316 size_t ifunc_remaining_nonplt;
318 size_t cxa_refcount; /* For TLS destructors. */
320 void *exidx_start;
321 size_t exidx_sz;