| /xnu-11215/libkern/kxld/ |
| H A D | kxld_sect.c | 175 sect->data = kxld_alloc((u_long) sect->size); in kxld_sect_init_got() 216 kxld_free(sect->data, (u_long) sect->size); in kxld_sect_clear() 220 bzero(sect->sectname, sizeof(sect->sectname)); in kxld_sect_clear() 221 bzero(sect->segname, sizeof(sect->segname)); in kxld_sect_clear() 241 kxld_free(sect->data, (u_long) sect->size); in kxld_sect_deinit() 245 bzero(sect, sizeof(*sect)); in kxld_sect_deinit() 425 sect->segname, sect->sectname, __func__); in export_macho() 435 sect->segname, sect->sectname); in export_macho() 588 sect->sectname[0] ? sect->sectname : "none", in sect_export_macho_header_64() 594 sect->sectname[0] ? sect->sectname : "none", in sect_export_macho_header_64() [all …]
|
| H A D | kxld_sect.h | 74 kern_return_t kxld_sect_init_from_macho_32(KXLDSect *sect, u_char *macho, 83 kern_return_t kxld_sect_init_from_macho_64(KXLDSect *sect, u_char *macho, 92 kern_return_t kxld_sect_init_got(KXLDSect *sect, u_int ngots) 98 void kxld_sect_init_zerofill(KXLDSect *sect, const char *segname, 104 void kxld_sect_clear(KXLDSect *sect) 108 void kxld_sect_deinit(KXLDSect *sect) 116 u_int kxld_sect_get_num_relocs(const KXLDSect *sect) 130 u_long kxld_sect_get_macho_data_size(const KXLDSect *sect) 137 u_int kxld_sect_get_ngots(const KXLDSect *sect, 160 void kxld_sect_relocate(KXLDSect *sect, kxld_addr_t link_addr) [all …]
|
| H A D | kxld_seg.c | 144 KXLDSect *sect = NULL; in kxld_seg_create_seg_from_sections() local 169 *sectp = sect; in kxld_seg_create_seg_from_sections() 210 sect->link_addr = kxld_sect_align_address(sect, sect_offset); in kxld_seg_finalize_object_segment() 211 sect_offset = (u_long) (sect->link_addr + sect->size); in kxld_seg_finalize_object_segment() 322 if (!streq_safe(segname, sect->segname, sizeof(sect->segname))) { in reorder_sections() 350 sect = NULL; in reorder_sections() 354 if (!sect) { in reorder_sections() 363 sect = NULL; in reorder_sections() 366 if (sect) { in reorder_sections() 788 check(sect); in kxld_seg_add_section() [all …]
|
| H A D | kxld_object.c | 580 KXLDSect *sect = NULL; in init_from_final_linked_image() local 824 KXLDSect *sect = NULL; in init_from_execute() local 1355 if (streq_safe(segname, sect->segname, sizeof(sect->segname)) && in kxld_object_get_sect_by_name() 1356 streq_safe(sectname, sect->sectname, sizeof(sect->sectname))) { in kxld_object_get_sect_by_name() 1360 sect = NULL; in kxld_object_get_sect_by_name() 1363 return sect; in kxld_object_get_sect_by_name() 1433 return sect; in kxld_object_get_section_by_index() 1526 if (sect) { in resolve_common_symbols() 1527 base_addr = sect->base_addr + sect->size; in resolve_common_symbols() 2409 if (!sect || !(sect->flags & S_NON_LAZY_SYMBOL_POINTERS)) { [all …]
|
| H A D | kxld_vtable.c | 67 const KXLDSect *sect, const KXLDRelocator *relocator); 171 const KXLDSect *sect, const KXLDRelocator *relocator) in init_by_relocs() argument 188 check(sect); in init_by_relocs() 196 vtable_base_offset = kxld_sym_get_section_offset(vtable_sym, sect) + in init_by_relocs() 201 rval = kxld_reloc_get_reloc_index_by_offset(§->relocs, in init_by_relocs() 213 reloc = kxld_array_get_item(§->relocs, reloc_index); in init_by_relocs() 222 reloc = kxld_array_get_item(§->relocs, reloc_index); in init_by_relocs() 234 reloc = kxld_array_get_item(§->relocs, base_reloc_index - i); in init_by_relocs() 243 sym = kxld_reloc_get_symbol(relocator, reloc, sect->data); in init_by_relocs()
|
| H A D | kxld_reloc.c | 775 check(sect); in kxld_relocator_process_sect_reloc() 779 instruction = sect->data + reloc->address; in kxld_relocator_process_sect_reloc() 787 link_pc = base_pc + sect->link_addr; in kxld_relocator_process_sect_reloc() 788 link_disp = sect->link_addr - sect->base_addr; in kxld_relocator_process_sect_reloc() 883 const KXLDSect *sect = NULL; in calculate_targets() local 926 target = sect->link_addr - sect->base_addr; in calculate_targets() 1004 const KXLDSect *sect = NULL; in get_target_by_address_lookup() local 1015 start = sect->base_addr; in get_target_by_address_lookup() 1016 end = start + sect->size; in get_target_by_address_lookup() 1022 sect = NULL; in get_target_by_address_lookup() [all …]
|
| H A D | kxld_sym.c | 586 kxld_sym_get_section_offset(const KXLDSym *sym, const KXLDSect *sect) in kxld_sym_get_section_offset() argument 590 return (u_int) (sym->base_addr - sect->base_addr); in kxld_sym_get_section_offset() 845 kxld_sym_relocate(KXLDSym *sym, const KXLDSect *sect) in kxld_sym_relocate() argument 848 sym->link_addr = sym->base_addr - sect->base_addr + sect->link_addr; in kxld_sym_relocate() 849 sym->relocated_sectnum = sect->sectnum; in kxld_sym_relocate()
|
| H A D | kxld_symtab.c | 655 const KXLDSect *sect = NULL; in kxld_symtab_relocate() local 663 sect = kxld_array_get_item(sectarray, sym->sectnum); in kxld_symtab_relocate() 664 require_action(sect, finish, rval = KERN_FAILURE); in kxld_symtab_relocate() 665 kxld_sym_relocate(sym, sect); in kxld_symtab_relocate()
|
| H A D | kxld_sym.h | 185 const struct kxld_sect *sect) 244 void kxld_sym_relocate(KXLDSym *sym, const struct kxld_sect *sect)
|
| H A D | kxld_kext.c | 1052 const KXLDSect *sect = NULL; in get_metaclass_symbol_from_super_meta_class_pointer_symbol() local 1064 sect = kxld_object_get_section_by_index(kext->kext, in get_metaclass_symbol_from_super_meta_class_pointer_symbol() 1066 require_action(sect, finish, rval = KERN_FAILURE); in get_metaclass_symbol_from_super_meta_class_pointer_symbol() 1069 metaclass = kxld_object_get_symbol_of_reloc(kext->kext, reloc, sect); in get_metaclass_symbol_from_super_meta_class_pointer_symbol()
|
| H A D | kxld_seg.h | 130 kern_return_t kxld_seg_add_section(KXLDSeg *seg, struct kxld_sect *sect)
|
| H A D | kxld_reloc.h | 159 const KXLDReloc *reloc, const struct kxld_sect *sect)
|
| H A D | kxld_object.h | 105 const struct kxld_sect *sect)
|
| /xnu-11215/san/memory/ |
| H A D | kasan.c | 188 void *sect; in kasan_load_kext() local 195 sect = getsectdatafromheader((void *)base, KASAN_GLOBAL_SEGNAME, KASAN_GLOBAL_SECTNAME, §sz); in kasan_load_kext() 196 if (sect) { in kasan_load_kext() 197 kasan_init_globals((vm_address_t)sect, (vm_size_t)sectsz); in kasan_load_kext() 206 void *sect; in kasan_unload_kext() local 209 sect = getsectdatafromheader((void *)base, KASAN_GLOBAL_SEGNAME, KASAN_GLOBAL_SECTNAME, §sz); in kasan_unload_kext() 210 if (sect) { in kasan_unload_kext() 239 const char *sect = KASAN_GLOBAL_SECTNAME; in kasan_init_xnu_globals() local 251 globals = (vm_offset_t)getsectdatafromheader(header, seg, sect, &_size); in kasan_init_xnu_globals() 253 printf("KASan: failed to find segment %s section %s\n", seg, sect); in kasan_init_xnu_globals() [all …]
|
| /xnu-11215/libkern/libkern/ |
| H A D | section_keywords.h | 38 #define __SECTION_START_SYM(seg, sect) asm("section$start$" seg "$" sect) argument 39 #define __SECTION_END_SYM(seg, sect) asm("section$end$" seg "$" sect) argument
|
| /xnu-11215/bsd/dev/dtrace/ |
| H A D | fbt.c | 347 fbt_provide_kernel_section(struct modctl *ctl, kernel_section_t *sect, kernel_nlist_t *sym, uint32_… in fbt_provide_kernel_section() argument 349 uintptr_t sect_start = (uintptr_t)sect->addr; in fbt_provide_kernel_section() 350 uintptr_t sect_end = (uintptr_t)sect->size + sect->addr; in fbt_provide_kernel_section() 353 if ((sect->flags & S_ATTR_PURE_INSTRUCTIONS) != S_ATTR_PURE_INSTRUCTIONS) { in fbt_provide_kernel_section() 454 kernel_section_t *sect = firstsect(seg); in fbt_provide_module_kernel_syms() local 460 for (sect = firstsect(seg); sect != NULL; sect = nextsect(seg, sect)) { in fbt_provide_module_kernel_syms() 461 fbt_provide_kernel_section(ctl, sect, sorted_syms, symtab->nsyms, strings); in fbt_provide_module_kernel_syms()
|
| /xnu-11215/osfmk/kern/ |
| H A D | kalloc.c | 992 kernel_section_t *sect = (kernel_section_t *)getsectbynamefromheader( in kalloc_type_view_parse() local 994 if (sect != NULL) { in kalloc_type_view_parse() 1001 kalloc_type_view_copy(type, sect->addr, sect->addr + sect->size, in kalloc_type_view_parse()
|
| /xnu-11215/libkern/c++/ |
| H A D | OSKext.cpp | 1276 kernel_section_t * sect; in removeKextBootstrap() local 1277 sect = getsectbyname("__PRELINK", "__symtab"); in removeKextBootstrap() 1278 if (sect && sect->addr && sect->size) { in removeKextBootstrap() 1279 ml_static_mfree(sect->addr, sect->size); in removeKextBootstrap()
|