Lines Matching defs:Struct_Obj_Entry

132 typedef struct Struct_Obj_Entry {  struct
140 TAILQ_ENTRY(Struct_Obj_Entry) next; argument
141 char *path; /* Pathname of underlying file (%) */
142 char *origin_path; /* Directory path of origin file */
143 int refcount; /* DAG references */
144 int holdcount; /* Count of transient references */
145 int dl_refcount; /* Number of times loaded by dlopen */
148 caddr_t mapbase; /* Base address of mapped region */
149 size_t mapsize; /* Size of mapped region in bytes */
150 Elf_Addr vaddrbase; /* Base address in shared object file */
151 caddr_t relocbase; /* Relocation constant = mapbase - vaddrbase */
152 const Elf_Dyn *dynamic; /* Dynamic section */
153 caddr_t entry; /* Entry point */
154 const Elf_Phdr *phdr; /* Program header if it is mapped, else NULL */
155 size_t phsize; /* Size of program header in bytes */
156 const char *interp; /* Pathname of the interpreter, if any */
157 Elf_Word stack_flags;
160 int tlsindex; /* Index in DTV for this module */
161 void *tlsinit; /* Base address of TLS init block */
162 size_t tlsinitsize; /* Size of TLS init block for this module */
163 size_t tlssize; /* Size of TLS block for this module */
164 size_t tlsoffset; /* Offset of static TLS block for this module */
165 size_t tlsalign; /* Alignment of static TLS block */
166 size_t tlspoffset; /* p_offset of the static TLS block */
169 Elf_Addr *pltgot; /* PLT or GOT, depending on architecture */
170 const Elf_Rel *rel; /* Relocation entries */
171 unsigned long relsize; /* Size in bytes of relocation info */
172 const Elf_Rela *rela; /* Relocation entries with addend */
173 unsigned long relasize; /* Size in bytes of addend relocation info */
174 const Elf_Relr *relr; /* RELR relocation entries */
175 unsigned long relrsize; /* Size in bytes of RELR relocations */
176 const Elf_Rel *pltrel; /* PLT relocation entries */
177 unsigned long pltrelsize; /* Size in bytes of PLT relocation info */
178 const Elf_Rela *pltrela; /* PLT relocation entries with addend */
179 unsigned long pltrelasize; /* Size in bytes of PLT addend reloc info */
180 const Elf_Sym *symtab; /* Symbol table */
181 const char *strtab; /* String table */
182 unsigned long strsize; /* Size in bytes of string table */
184 const Elf_Verneed *verneed; /* Required versions. */
185 Elf_Word verneednum; /* Number of entries in verneed table */
186 const Elf_Verdef *verdef; /* Provided versions. */
187 Elf_Word verdefnum; /* Number of entries in verdef table */
188 const Elf_Versym *versyms; /* Symbol versions table */
190 const Elf_Hashelt *buckets; /* Hash table buckets array */
191 unsigned long nbuckets; /* Number of buckets */
192 const Elf_Hashelt *chains; /* Hash table chain array */
193 unsigned long nchains; /* Number of entries in chain array */
195 Elf32_Word nbuckets_gnu; /* Number of GNU hash buckets*/
196 Elf32_Word symndx_gnu; /* 1st accessible symbol on dynsym table */
197 Elf32_Word maskwords_bm_gnu; /* Bloom filter words - 1 (bitmask) */
198 Elf32_Word shift2_gnu; /* Bloom filter shift count */
199 Elf32_Word dynsymcount; /* Total entries in dynsym table */
200 const Elf_Addr *bloom_gnu; /* Bloom filter used by GNU hash func */
201 const Elf_Hashelt *buckets_gnu; /* GNU hash table bucket array */
202 const Elf_Hashelt *chain_zero_gnu; /* GNU hash table value array (Zeroed) */
204 const char *rpath; /* Search path specified in object */
205 const char *runpath; /* Search path with different priority */
206 Needed_Entry *needed; /* Shared objects needed by this one (%) */
207 Needed_Entry *needed_filtees;
208 Needed_Entry *needed_aux_filtees;
212 Ver_Entry *vertab; /* Versions required /defined by this object */
213 int vernum; /* Number of entries in vertab */
215 Elf_Addr init; /* Initialization function to call */
216 Elf_Addr fini; /* Termination function to call */
217 Elf_Addr preinit_array; /* Pre-initialization array of functions */
218 Elf_Addr init_array; /* Initialization array of functions */
219 Elf_Addr fini_array; /* Termination array of functions */
220 int preinit_array_num; /* Number of entries in preinit_array */
221 int init_array_num; /* Number of entries in init_array */
222 int fini_array_num; /* Number of entries in fini_array */
224 int32_t osrel; /* OSREL note value */
225 uint32_t fctl0; /* FEATURE_CONTROL note desc[0] value */
227 bool mainprog : 1; /* True if this is the main program */
228 bool rtld : 1; /* True if this is the dynamic linker */
229 bool relocated : 1; /* True if processed by relocate_objects() */
230 bool ver_checked : 1; /* True if processed by rtld_verify_object_versions */
231 bool textrel : 1; /* True if there are relocations to text seg */
232 bool symbolic : 1; /* True if generated with "-Bsymbolic" */
233 bool deepbind : 1; /* True if loaded with RTLD_DEEPBIND" */
234 bool bind_now : 1; /* True if all relocations should be made first */
235 bool traced : 1; /* Already printed in ldd trace output */
236 bool jmpslots_done : 1; /* Already have relocated the jump slots */
237 bool init_done : 1; /* Already have added object to init list */
238 bool tls_static : 1; /* Already allocated offset for static TLS */
239 bool tls_dynamic : 1; /* A non-static DTV entry has been allocated */
240 bool phdr_alloc : 1; /* Phdr is allocated and needs to be freed. */
241 bool z_origin : 1; /* Process rpath and soname tokens */
242 bool z_nodelete : 1; /* Do not unload the object and dependencies */
243 bool z_noopen : 1; /* Do not load on dlopen */
244 bool z_loadfltr : 1; /* Immediately load filtees */
245 bool z_interpose : 1; /* Interpose all objects but main */
246 bool z_nodeflib : 1; /* Don't search default library path */
247 bool z_global : 1; /* Make the object global */
248 bool z_pie : 1; /* Object proclaimed itself PIE executable */
249 bool static_tls : 1; /* Needs static TLS allocation */
250 bool static_tls_copied : 1; /* Needs static TLS copying */
251 bool ref_nodel : 1; /* Refcount increased to prevent dlclose */
252 bool init_scanned: 1; /* Object is already on init list. */
253 bool on_fini_list: 1; /* Object is already on fini list. */
254 bool dag_inited : 1; /* Object has its DAG initialized. */
255 bool filtees_loaded : 1; /* Filtees loaded */
256 bool filtees_loading : 1; /* In process of filtees loading */
257 bool irelative : 1; /* Object has R_MACHDEP_IRELATIVE relocs */
258 bool irelative_nonplt : 1; /* Object has R_MACHDEP_IRELATIVE non-plt relocs */
259 bool gnu_ifunc : 1; /* Object has references to STT_GNU_IFUNC */
283 TAILQ_HEAD(obj_entry_q, Struct_Obj_Entry); argument