Changeset View
Changeset View
Standalone View
Standalone View
libexec/rtld-elf/rtld.h
Show First 20 Lines • Show All 258 Lines • ▼ Show 20 Lines | #endif | ||||
bool static_tls : 1; /* Needs static TLS allocation */ | bool static_tls : 1; /* Needs static TLS allocation */ | ||||
bool static_tls_copied : 1; /* Needs static TLS copying */ | bool static_tls_copied : 1; /* Needs static TLS copying */ | ||||
bool ref_nodel : 1; /* Refcount increased to prevent dlclose */ | bool ref_nodel : 1; /* Refcount increased to prevent dlclose */ | ||||
bool init_scanned: 1; /* Object is already on init list. */ | bool init_scanned: 1; /* Object is already on init list. */ | ||||
bool on_fini_list: 1; /* Object is already on fini list. */ | bool on_fini_list: 1; /* Object is already on fini list. */ | ||||
bool dag_inited : 1; /* Object has its DAG initialized. */ | bool dag_inited : 1; /* Object has its DAG initialized. */ | ||||
bool filtees_loaded : 1; /* Filtees loaded */ | bool filtees_loaded : 1; /* Filtees loaded */ | ||||
bool irelative : 1; /* Object has R_MACHDEP_IRELATIVE relocs */ | bool irelative : 1; /* Object has R_MACHDEP_IRELATIVE relocs */ | ||||
bool irelative_nonplt : 1; /* Object has R_MACHDEP_IRELATIVE non-plt relocs */ | |||||
bool gnu_ifunc : 1; /* Object has references to STT_GNU_IFUNC */ | bool gnu_ifunc : 1; /* Object has references to STT_GNU_IFUNC */ | ||||
bool non_plt_gnu_ifunc : 1; /* Object has non-plt IFUNC references */ | bool non_plt_gnu_ifunc : 1; /* Object has non-plt IFUNC references */ | ||||
bool ifuncs_resolved : 1; /* Object ifuncs were already resolved */ | bool ifuncs_resolved : 1; /* Object ifuncs were already resolved */ | ||||
bool crt_no_init : 1; /* Object' crt does not call _init/_fini */ | bool crt_no_init : 1; /* Object' crt does not call _init/_fini */ | ||||
bool valid_hash_sysv : 1; /* A valid System V hash hash tag is available */ | bool valid_hash_sysv : 1; /* A valid System V hash hash tag is available */ | ||||
bool valid_hash_gnu : 1; /* A valid GNU hash tag is available */ | bool valid_hash_gnu : 1; /* A valid GNU hash tag is available */ | ||||
bool dlopened : 1; /* dlopen()-ed (vs. load statically) */ | bool dlopened : 1; /* dlopen()-ed (vs. load statically) */ | ||||
bool marker : 1; /* marker on the global obj list */ | bool marker : 1; /* marker on the global obj list */ | ||||
▲ Show 20 Lines • Show All 126 Lines • ▼ Show 20 Lines | |||||
* MD function declarations. | * MD function declarations. | ||||
*/ | */ | ||||
int do_copy_relocations(Obj_Entry *); | int do_copy_relocations(Obj_Entry *); | ||||
int reloc_non_plt(Obj_Entry *, Obj_Entry *, int flags, | int reloc_non_plt(Obj_Entry *, Obj_Entry *, int flags, | ||||
struct Struct_RtldLockState *); | struct Struct_RtldLockState *); | ||||
int reloc_plt(Obj_Entry *, int flags, struct Struct_RtldLockState *); | int reloc_plt(Obj_Entry *, int flags, struct Struct_RtldLockState *); | ||||
int reloc_jmpslots(Obj_Entry *, int flags, struct Struct_RtldLockState *); | int reloc_jmpslots(Obj_Entry *, int flags, struct Struct_RtldLockState *); | ||||
int reloc_iresolve(Obj_Entry *, struct Struct_RtldLockState *); | int reloc_iresolve(Obj_Entry *, struct Struct_RtldLockState *); | ||||
int reloc_iresolve_nonplt(Obj_Entry *, struct Struct_RtldLockState *); | |||||
int reloc_gnu_ifunc(Obj_Entry *, int flags, struct Struct_RtldLockState *); | int reloc_gnu_ifunc(Obj_Entry *, int flags, struct Struct_RtldLockState *); | ||||
void ifunc_init(Elf_Auxinfo[__min_size(AT_COUNT)]); | void ifunc_init(Elf_Auxinfo[__min_size(AT_COUNT)]); | ||||
void pre_init(void); | void pre_init(void); | ||||
void init_pltgot(Obj_Entry *); | void init_pltgot(Obj_Entry *); | ||||
void allocate_initial_tls(Obj_Entry *); | void allocate_initial_tls(Obj_Entry *); | ||||
void *__crt_calloc(size_t num, size_t size); | void *__crt_calloc(size_t num, size_t size); | ||||
void __crt_free(void *cp); | void __crt_free(void *cp); | ||||
void *__crt_malloc(size_t nbytes); | void *__crt_malloc(size_t nbytes); | ||||
void *__crt_realloc(void *cp, size_t nbytes); | void *__crt_realloc(void *cp, size_t nbytes); | ||||
#endif /* } */ | #endif /* } */ |