| /xnu-10063.141.1/libkern/kxld/ |
| H A D | kxld_reloc.c | 126 static kern_return_t generic_process_reloc(const KXLDRelocator *relocator, 139 static kern_return_t x86_64_process_reloc(const KXLDRelocator *relocator, 154 static kern_return_t arm_process_reloc(const KXLDRelocator *relocator, 167 static kern_return_t arm64_process_reloc(const KXLDRelocator *relocator, 174 static kxld_addr_t get_pointer_at_addr_32(const KXLDRelocator *relocator, 179 static kxld_addr_t get_pointer_at_addr_64(const KXLDRelocator *relocator, 184 static u_int count_relocatable_relocs(const KXLDRelocator *relocator, 188 static kern_return_t calculate_targets(KXLDRelocator *relocator, 191 static kxld_addr_t align_raw_function_address(const KXLDRelocator *relocator, 198 const KXLDRelocator *relocator, u_long offset); [all …]
|
| H A D | kxld_reloc.h | 54 typedef kern_return_t (*ProcessReloc)(const KXLDRelocator *relocator, 90 kern_return_t kxld_relocator_init(KXLDRelocator *relocator, u_char *file, 96 const KXLDRelocator *relocator, const struct relocation_info *srcs, 99 void kxld_relocator_clear(KXLDRelocator *relocator) 106 boolean_t kxld_relocator_has_pair(const KXLDRelocator *relocator, u_int r_type) 109 u_int kxld_relocator_get_pair_type(const KXLDRelocator *relocator, 113 boolean_t kxld_relocator_has_got(const KXLDRelocator *relocator, u_int r_type) 116 kxld_addr_t kxld_relocator_get_pointer_at_addr(const KXLDRelocator *relocator, 120 struct kxld_sym * kxld_reloc_get_symbol(const KXLDRelocator *relocator, 140 kern_return_t kxld_reloc_export_macho(const KXLDRelocator *relocator, [all …]
|
| H A D | kxld_vtable.c | 67 const KXLDSect *sect, const KXLDRelocator *relocator); 70 const KXLDSym *vtable_sym, const KXLDRelocator *relocator, 74 const KXLDRelocator *relocator, const KXLDDict *defined_cxx_symbols); 84 const KXLDRelocator *relocator = NULL; in kxld_vtable_init() local 93 relocator = kxld_object_get_relocator(object); in kxld_vtable_init() 104 rval = init_by_entries(vtable, relocator, defined_cxx_symbols); in kxld_vtable_init() 120 relocator, extrelocs, defined_cxx_symbols); in kxld_vtable_init() 130 rval = init_by_relocs(vtable, vtable_sym, vtable_sect, relocator); in kxld_vtable_init() 171 const KXLDSect *sect, const KXLDRelocator *relocator) in init_by_relocs() argument 189 check(relocator); in init_by_relocs() [all …]
|
| H A D | kxld_sect.h | 75 u_long *sect_offset, u_int sectnum, const struct kxld_relocator *relocator) 84 u_long *sect_offset, u_int sectnum, const struct kxld_relocator *relocator) 138 const struct kxld_relocator *relocator, const struct kxld_symtab *symtab) 180 struct kxld_relocator *relocator)
|
| H A D | kxld_sect.c | 59 u_int sectnum, const KXLDRelocator *relocator) in kxld_sect_init_from_macho_32() argument 88 rval = kxld_reloc_create_macho(§->relocs, relocator, in kxld_sect_init_from_macho_32() 109 u_int sectnum, const KXLDRelocator *relocator) in kxld_sect_init_from_macho_64() argument 138 rval = kxld_reloc_create_macho(§->relocs, relocator, in kxld_sect_init_from_macho_64() 290 kxld_sect_get_ngots(const KXLDSect *sect, const KXLDRelocator *relocator, in kxld_sect_get_ngots() argument 301 if (relocator->reloc_has_got(reloc->reloc_type)) { in kxld_sect_get_ngots() 305 sym = kxld_reloc_get_symbol(relocator, reloc, sect->data, symtab); in kxld_sect_get_ngots() 702 kxld_sect_process_relocs(KXLDSect *sect, KXLDRelocator *relocator) in kxld_sect_process_relocs() argument 710 rval = kxld_relocator_process_sect_reloc(relocator, reloc, sect); in kxld_sect_process_relocs()
|
| H A D | kxld_object.c | 94 KXLDRelocator relocator; member 262 rval = kxld_relocator_init(&object->relocator, in kxld_object_init_from_macho() 736 rval = kxld_reloc_create_macho(&object->extrelocs, &object->relocator, in init_from_final_linked_image() 741 rval = kxld_reloc_create_macho(&object->locrelocs, &object->relocator, in init_from_final_linked_image() 787 sect, my_file, §_offset, secti, &object->relocator); in init_from_final_linked_image() 1121 sect, my_file, §_offset, i, &object->relocator); in init_from_object() 1340 return &object->relocator; in kxld_object_get_relocator() 1413 sym = kxld_reloc_get_symbol(&object->relocator, reloc, my_file); in kxld_object_get_symbol_of_reloc() 1415 sym = kxld_reloc_get_symbol(&object->relocator, reloc, sect->data); in kxld_object_get_symbol_of_reloc() 1590 ngots += kxld_sect_get_ngots(sect, &object->relocator, [all …]
|