Home
last modified time | relevance | path

Searched refs:sect (Results 1 – 18 of 18) sorted by relevance

/xnu-11215/libkern/kxld/
H A Dkxld_sect.c175 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 Dkxld_sect.h74 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 Dkxld_seg.c144 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 Dkxld_object.c580 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 Dkxld_vtable.c67 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(&sect->relocs, in init_by_relocs()
213 reloc = kxld_array_get_item(&sect->relocs, reloc_index); in init_by_relocs()
222 reloc = kxld_array_get_item(&sect->relocs, reloc_index); in init_by_relocs()
234 reloc = kxld_array_get_item(&sect->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 Dkxld_reloc.c775 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 Dkxld_sym.c586 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 Dkxld_symtab.c655 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 Dkxld_sym.h185 const struct kxld_sect *sect)
244 void kxld_sym_relocate(KXLDSym *sym, const struct kxld_sect *sect)
H A Dkxld_kext.c1052 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 Dkxld_seg.h130 kern_return_t kxld_seg_add_section(KXLDSeg *seg, struct kxld_sect *sect)
H A Dkxld_reloc.h159 const KXLDReloc *reloc, const struct kxld_sect *sect)
H A Dkxld_object.h105 const struct kxld_sect *sect)
/xnu-11215/san/memory/
H A Dkasan.c188 void *sect; in kasan_load_kext() local
195 sect = getsectdatafromheader((void *)base, KASAN_GLOBAL_SEGNAME, KASAN_GLOBAL_SECTNAME, &sectsz); 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, &sectsz); 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 Dsection_keywords.h38 #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 Dfbt.c347 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 Dkalloc.c992 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 DOSKext.cpp1276 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()