Changeset View
Changeset View
Standalone View
Standalone View
head/libexec/rtld-elf/powerpc64/rtld_machdep.h
Show First 20 Lines • Show All 47 Lines • ▼ Show 20 Lines | #define make_function_pointer(def, defobj) \ | ||||
((defobj)->relocbase + (def)->st_value) | ((defobj)->relocbase + (def)->st_value) | ||||
#define call_initfini_pointer(obj, target) \ | #define call_initfini_pointer(obj, target) \ | ||||
(((InitFunc)(target))()) | (((InitFunc)(target))()) | ||||
#define call_init_pointer(obj, target) \ | #define call_init_pointer(obj, target) \ | ||||
(((InitArrFunc)(target))(main_argc, main_argv, environ)) | (((InitArrFunc)(target))(main_argc, main_argv, environ)) | ||||
extern u_long cpu_features; /* r3 */ | |||||
extern u_long cpu_features2; /* r4 */ | |||||
/* r5-r10: ifunc resolver parameters reserved for future assignment. */ | |||||
#define call_ifunc_resolver(ptr) \ | #define call_ifunc_resolver(ptr) \ | ||||
(((Elf_Addr (*)(void))ptr)()) | (((Elf_Addr (*)(uint32_t, uint32_t, uint64_t, uint64_t, uint64_t, \ | ||||
uint64_t, uint64_t, uint64_t))ptr)((uint32_t)cpu_features, \ | |||||
(uint32_t)cpu_features2, 0, 0, 0, 0, 0, 0)) | |||||
/* | /* | ||||
* TLS | * TLS | ||||
*/ | */ | ||||
#define TLS_TP_OFFSET 0x7000 | #define TLS_TP_OFFSET 0x7000 | ||||
#define TLS_DTV_OFFSET 0x8000 | #define TLS_DTV_OFFSET 0x8000 | ||||
#define TLS_TCB_SIZE 16 | #define TLS_TCB_SIZE 16 | ||||
Show All 12 Lines | typedef struct { | ||||
unsigned long ti_offset; | unsigned long ti_offset; | ||||
} tls_index; | } tls_index; | ||||
extern void *__tls_get_addr(tls_index* ti); | extern void *__tls_get_addr(tls_index* ti); | ||||
#define RTLD_DEFAULT_STACK_PF_EXEC PF_X | #define RTLD_DEFAULT_STACK_PF_EXEC PF_X | ||||
#define RTLD_DEFAULT_STACK_EXEC PROT_EXEC | #define RTLD_DEFAULT_STACK_EXEC PROT_EXEC | ||||
#define md_abi_variant_hook(x) | extern void powerpc64_abi_variant_hook(Elf_Auxinfo **); | ||||
#define md_abi_variant_hook(x) powerpc64_abi_variant_hook(x) | |||||
#endif | #endif |