Changeset View
Changeset View
Standalone View
Standalone View
libexec/rtld-elf/rtld.h
Show First 20 Lines • Show All 161 Lines • ▼ Show 20 Lines | typedef struct Struct_Obj_Entry { | ||||
/* TLS information */ | /* TLS information */ | ||||
int tlsindex; /* Index in DTV for this module */ | int tlsindex; /* Index in DTV for this module */ | ||||
void *tlsinit; /* Base address of TLS init block */ | void *tlsinit; /* Base address of TLS init block */ | ||||
size_t tlsinitsize; /* Size of TLS init block for this module */ | size_t tlsinitsize; /* Size of TLS init block for this module */ | ||||
size_t tlssize; /* Size of TLS block for this module */ | size_t tlssize; /* Size of TLS block for this module */ | ||||
size_t tlsoffset; /* Offset of static TLS block for this module */ | size_t tlsoffset; /* Offset of static TLS block for this module */ | ||||
size_t tlsalign; /* Alignment of static TLS block */ | size_t tlsalign; /* Alignment of static TLS block */ | ||||
size_t tlspoffset; /* p_offset of the static TLS block */ | |||||
caddr_t relro_page; | caddr_t relro_page; | ||||
size_t relro_size; | size_t relro_size; | ||||
/* Items from the dynamic section. */ | /* Items from the dynamic section. */ | ||||
Elf_Addr *pltgot; /* PLT or GOT, depending on architecture */ | Elf_Addr *pltgot; /* PLT or GOT, depending on architecture */ | ||||
const Elf_Rel *rel; /* Relocation entries */ | const Elf_Rel *rel; /* Relocation entries */ | ||||
unsigned long relsize; /* Size in bytes of relocation info */ | unsigned long relsize; /* Size in bytes of relocation info */ | ||||
▲ Show 20 Lines • Show All 181 Lines • ▼ Show 20 Lines | |||||
void _rtld_error(const char *, ...) __printflike(1, 2) __exported; | void _rtld_error(const char *, ...) __printflike(1, 2) __exported; | ||||
void rtld_die(void) __dead2; | void rtld_die(void) __dead2; | ||||
const char *rtld_strerror(int); | const char *rtld_strerror(int); | ||||
Obj_Entry *map_object(int, const char *, const struct stat *); | Obj_Entry *map_object(int, const char *, const struct stat *); | ||||
void *xcalloc(size_t, size_t); | void *xcalloc(size_t, size_t); | ||||
void *xmalloc(size_t); | void *xmalloc(size_t); | ||||
char *xstrdup(const char *); | char *xstrdup(const char *); | ||||
void *malloc_aligned(size_t size, size_t align); | void *malloc_aligned(size_t size, size_t align, size_t offset); | ||||
void free_aligned(void *ptr); | void free_aligned(void *ptr); | ||||
extern Elf_Addr _GLOBAL_OFFSET_TABLE_[]; | extern Elf_Addr _GLOBAL_OFFSET_TABLE_[]; | ||||
extern Elf_Sym sym_zero; /* For resolving undefined weak refs. */ | extern Elf_Sym sym_zero; /* For resolving undefined weak refs. */ | ||||
extern bool ld_bind_not; | extern bool ld_bind_not; | ||||
void dump_relocations(Obj_Entry *); | void dump_relocations(Obj_Entry *); | ||||
void dump_obj_relocations(Obj_Entry *); | void dump_obj_relocations(Obj_Entry *); | ||||
void dump_Elf_Rel(Obj_Entry *, const Elf_Rel *, u_long); | void dump_Elf_Rel(Obj_Entry *, const Elf_Rel *, u_long); | ||||
▲ Show 20 Lines • Show All 48 Lines • Show Last 20 Lines |