diff --git a/Makefile b/Makefile index e82b96d7b..481eea646 100644 --- a/Makefile +++ b/Makefile @@ -126,7 +126,6 @@ include third_party/zlib/zlib.mk # │ include third_party/double-conversion/dc.mk # │ include libc/elf/elf.mk # │ include ape/ape.mk # │ -include libc/aarch64/aarch64.mk # │ include libc/fmt/fmt.mk # │ include libc/vga/vga.mk #─┘ include libc/calls/calls.mk #─┐ diff --git a/ape/ape.S b/ape/ape.S index faa5427bd..14c09445f 100644 --- a/ape/ape.S +++ b/ape/ape.S @@ -51,7 +51,7 @@ .previous .section .rodata,"a",@progbits .balign __SIZEOF_POINTER__ -__ro: .endobj __ro,globl,hidden # ←for gdb readability +__ro: .endobj __ro,globl,hidden // ←for gdb readability .previous .section .data,"aw",@progbits .balign __SIZEOF_POINTER__ @@ -60,7 +60,7 @@ __ro: .endobj __ro,globl,hidden # ←for gdb readability .balign __SIZEOF_POINTER__ .previous .section .rodata.str1.1,"a",@progbits -cstr: .endobj cstr,globl,hidden # ←for gdb readability +cstr: .endobj cstr,globl,hidden // ←for gdb readability .previous .section .head,"ax",@progbits @@ -115,7 +115,7 @@ cstr: .endobj cstr,globl,hidden # ←for gdb readability // @noreturn ape_mz: #if SupportsWindows() || SupportsMetal() - .asciz "MZqFpD='\n" # Mark 'Zibo' Joseph Zbikowski + .asciz "MZqFpD='\n" // Mark 'Zibo' Joseph Zbikowski // # in real mode // dec %bp // pop %dx @@ -135,27 +135,27 @@ ape_mz: // jo 0x4a #else // Avoid virus scanner reputation damage when targeting System Five. - .asciz "jartsr='\n" # Justine Alexandra Roberts Tunney + .asciz "jartsr='\n" // Justine Alexandra Roberts Tunney // push $0x61 // jb 0x78 // jae 0x78 #endif - .short 0x1000 # MZ: lowers upper bound load / 16 - .short 0xf800 # MZ: roll greed on bss - .short 0 # MZ: lower bound on stack segment - .short 0 # MZ: initialize stack pointer - .short 0 # MZ: ∑bₙ checksum don't bother - .short 0x0100 # MZ: initial ip value - .short 0x0800 # MZ: increases cs load lower bound - .short 0x0040 # MZ: reloc table offset - .short 0 # MZ: overlay number - .org 0x24 # MZ: bytes reserved for you - .ascii "JT" # MZ: OEM identifier - .short 0 # MZ: OEM information + .short 0x1000 // MZ: lowers upper bound load / 16 + .short 0xf800 // MZ: roll greed on bss + .short 0 // MZ: lower bound on stack segment + .short 0 // MZ: initialize stack pointer + .short 0 // MZ: ∑bₙ checksum don't bother + .short 0x0100 // MZ: initial ip value + .short 0x0800 // MZ: increases cs load lower bound + .short 0x0040 // MZ: reloc table offset + .short 0 // MZ: overlay number + .org 0x24 // MZ: bytes reserved for you + .ascii "JT" // MZ: OEM identifier + .short 0 // MZ: OEM information .ascii "' <<'@'\n" - .org 0x40-4 # MZ: bytes reserved for you + .org 0x40-4 // MZ: bytes reserved for you #if SupportsWindows() || SupportsMetal() - .long RVA(ape_pe) # PE: the new technology + .long RVA(ape_pe) // PE: the new technology #else .long 0 .org 0x78 @@ -173,26 +173,34 @@ ape_mz: // // @param dl is drive number // @noreturn - .ascii "\177ELF" # 0x0: ⌂ELF - .byte ELFCLASS64 # 4: long mode - .byte ELFDATA2LSB # 5: little endian - .byte 1 # 6: elf v1.o - .byte ELFOSABI_FREEBSD # 7: FreeBSD - .byte 0 # 8: os/abi ver. - .balign 8,0 # 9: padding - .short ET_EXEC # 10: εxεcµταblε - .short EM_NEXGEN32E # 12: NexGen32e - .long 1 # 14: elf v1.o - .quad ape_elf_entry # 18: e_entry - .quad ape_elf_phoff # 20: e_phoff - .quad ape_elf_shoff # 28: e_shoff - .long 0 # 30: e_flags - .short 64 # 34: e_ehsize - .short 56 # 36: e_phentsize - .short ape_elf_phnum # 38: e_phnum - .short 0 # 3a: e_shentsize - .short ape_elf_shnum # 3c: e_shnum - .short ape_elf_shstrndx # 3e: e_shstrndx + .ascii "\177ELF" // 0x0: ⌂ELF + .byte ELFCLASS64 // 4: long mode + .byte ELFDATA2LSB // 5: little endian + .byte 1 // 6: elf v1.o + .byte ELFOSABI_FREEBSD // 7: FreeBSD + .byte 0 // 8: os/abi ver. + .balign 8,0 // 9: padding + .short ET_EXEC // 10: εxεcµταblε +#ifdef __x86_64__ + .short EM_NEXGEN32E // 12: amd +#elif __aarch64__ + .short EM_AARCH64 // 12: arm +#elif __powerpc64__ + .short EM_PPC64 // 12: open power +#elif __riscv + .short EM_RISCV // 12: risc five +#endif + .long 1 // 14: elf v1.o + .quad ape_elf_entry // 18: e_entry + .quad ape_elf_phoff // 20: e_phoff + .quad ape_elf_shoff // 28: e_shoff + .long 0 // 30: e_flags + .short 64 // 34: e_ehsize + .short 56 // 36: e_phentsize + .short ape_elf_phnum // 38: e_phnum + .short 0 // 3a: e_shentsize + .short ape_elf_shnum // 3c: e_shnum + .short ape_elf_shstrndx // 3e: e_shstrndx #endif /* SupportsWindows() || SupportsMetal() || SupportsXnu() */ @@ -202,18 +210,18 @@ ape_mz: // // @param dl is drive number // @noreturn - .org 0x40 # mz/elf header length -stub: mov $0x40,%dl # *literally* dos - jmp 1f # good bios skips here -1: jmp pc # thus avoiding heroics - nop # system five bootpoint - .org 0x48,0x90 # note ⌂ELF means JG 47 - jmp 3f # MZ also means pop r10 -2: sub $8,%rsp # a.k.a. dec %ax sub %sp - xor %edx,%edx # MZ ate BIOS drive code -3: .byte 0xbd,0,0 # a.k.a. mov imm,%bp - jmp pc # real mode, is real - jmp _start # surprise it's unix + .org 0x40 // mz/elf header length +stub: mov $0x40,%dl // *literally* dos + jmp 1f // good bios skips here +1: jmp pc // thus avoiding heroics + nop // system five bootpoint + .org 0x48,0x90 // note ⌂ELF means JG 47 + jmp 3f // MZ also means pop r10 +2: sub $8,%rsp // a.k.a. dec %ax sub %sp + xor %edx,%edx // MZ ate BIOS drive code +3: .byte 0xbd,0,0 // a.k.a. mov imm,%bp + jmp pc // real mode, is real + jmp _start // surprise it's unix .endfn stub /*─────────────────────────────────────────────────────────────────────────────╗ @@ -241,33 +249,33 @@ stub: mov $0x40,%dl # *literally* dos pc: cld .code16 #if USE_SYMBOL_HACK - .byte 0x0f,0x1f,0207 # nop rdi binbase + .byte 0x0f,0x1f,0207 // nop rdi binbase .short (0x7c00-IMAGE_BASE_VIRTUAL)/512 #endif - mov $0x70000>>4,%di # we need a stack - xor %cx,%cx # 0x7f000-0x80000 + mov $0x70000>>4,%di // we need a stack + xor %cx,%cx // 0x7f000-0x80000 mov %cx,%es rlstack %di,%cx - push %cs # determine load address - pop %ds # and relocate this code - call 1f # to a way lower address -1: pop %si # and we'll make cs zero + push %cs // determine load address + pop %ds // and relocate this code + call 1f // to a way lower address +1: pop %si // and we'll make cs zero sub $RVA(1b),%si mov $IMAGE_BASE_REAL>>4,%ax - push %ax # save IMAGE_BASE_REAL>>4 + push %ax // save IMAGE_BASE_REAL>>4 push %ax pop %es xor %di,%di mov $512,%cx rep movsb #if USE_SYMBOL_HACK - .byte 0x0f,0x1f,0207 # nop rdi binbase + .byte 0x0f,0x1f,0207 // nop rdi binbase .short (IMAGE_BASE_REAL-0x7c00)/512 #endif ljmp $0,$REAL(1f) 1: mov %cx,%ds - .set mm,0x0500 # struct mman - mov $IMAGE_BASE_REAL-mm,%cx # clears bss + .set mm,0x0500 // struct mman + mov $IMAGE_BASE_REAL-mm,%cx // clears bss mov $mm>>4,%ax mov %ax,%es xor %ax,%ax @@ -276,13 +284,13 @@ pc: cld cmp $0x40,%dl je 6f call dsknfo - pop %es # restore IMAGE_BASE_REAL>>4 - mov $1,%al # current sector - xor %cx,%cx # current cylinder - xor %dh,%dh # current head - mov $v_ape_realsectors,%di # total sectors + pop %es // restore IMAGE_BASE_REAL>>4 + mov $1,%al // current sector + xor %cx,%cx // current cylinder + xor %dh,%dh // current head + mov $v_ape_realsectors,%di // total sectors 3: call pcread - mov %es,%si # addr += 512 + mov %es,%si // addr += 512 add $512>>4,%si mov %si,%es dec %di @@ -335,21 +343,21 @@ pc: cld // @since IBM Personal Computer XT dsknfo: push %bx 1: push %dx - mov $0x16,%ah # make sure there is disk in drive, - int $0x13 # by querying change-line status + mov $0x16,%ah // make sure there is disk in drive, + int $0x13 // by querying change-line status jnc 2f - xor %ax,%ax # if error or change line active, - int $0x13 # do a reset... + xor %ax,%ax // if error or change line active, + int $0x13 // do a reset... jc 9f - mov $0x0201,%ax # ...then do a read, to confirm that - mov $0x0001,%cx # there is disk in drive - mov $0,%dh # (verify (%ah = 4) does not work - mov $IMAGE_BASE_REAL>>4,%bx # under QEMU, which always returns - mov %bx,%es # success) + mov $0x0201,%ax // ...then do a read, to confirm that + mov $0x0001,%cx // there is disk in drive + mov $0,%dh // (verify (%ah = 4) does not work + mov $IMAGE_BASE_REAL>>4,%bx // under QEMU, which always returns + mov %bx,%es // success) xor %bx,%bx int $0x13 jc 9f -2: mov $0x08,%ah # get disk params +2: mov $0x08,%ah // get disk params int $0x13 jc 9f mov %cl,%bh @@ -358,34 +366,34 @@ dsknfo: push %bx rol %cl rol %cl xchg %cl,%ch - push %ds # disk base table in es:di + push %ds // disk base table in es:di movpp %es,%ds xor %si,%si mov %si,%es mov $mm+"struct mman::pc_drive_base_table",%si xchg %si,%di - movsw #→ headunloadtime, headloadtime - movsw #→ shutofftime, bytespersector - movsw #→ sectorspertrack, sectorgap - movsw #→ datalength, formatgap - movsw #→ formatfill, settletime - movsb #→ startuptime + movsw //→ headunloadtime, headloadtime + movsw //→ shutofftime, bytespersector + movsw //→ sectorspertrack, sectorgap + movsw //→ datalength, formatgap + movsw //→ formatfill, settletime + movsb //→ startuptime pop %ds xchg %bx,%ax - stosw #→ pc_drive_type, pc_drive_last_sector + stosw //→ pc_drive_type, pc_drive_last_sector scasb xchg %cx,%ax - stosw #→ pc_drive_last_cylinder + stosw //→ pc_drive_last_cylinder xchg %dx,%ax - stosw #→ pc_drives_attached, pc_drive_last_head + stosw //→ pc_drives_attached, pc_drive_last_head pop %ax - stosb #→ pc_drive + stosb //→ pc_drive xchg %ax,%dx pop %bx ret 9: pop %dx -8: xor $0x80,%dl # try cycling drive a/c - xor %ax,%ax # reset disk +8: xor $0x80,%dl // try cycling drive a/c + xor %ax,%ax // reset disk int $0x13 jc 8b jmp 1b @@ -405,25 +413,25 @@ pcread: push %ax ror %cl ror %cl or %al,%cl - xor %bx,%bx # es:bx is destination addr - mov $1,%al # read only one disk sector - mov $2,%ah # read disk sectors ordinal + xor %bx,%bx // es:bx is destination addr + mov $1,%al // read only one disk sector + mov $2,%ah // read disk sectors ordinal int $0x13 pop %cx pop %ax jc 9f - inc %al # ++sector + inc %al // ++sector cmp mm+"struct mman::pc_drive_last_sector",%al jbe 2f mov $1,%al - inc %dh # ++head + inc %dh // ++head cmp mm+"struct mman::pc_drive_last_head",%dh jbe 2f xor %dh,%dh - inc %cx # ++cylinder + inc %cx // ++cylinder 2: ret 9: push %ax - xor %ax,%ax # try disk reset on error + xor %ax,%ax // try disk reset on error int $0x13 pop %ax jmp pcread @@ -438,9 +446,9 @@ rvputs: mov %di,%si 0: lodsb test %al,%al je 1f - mov $7,%bx # normal mda/cga style page zero - mov $0x0e,%ah # teletype output al cp437 - int $0x10 # vidya service + mov $7,%bx // normal mda/cga style page zero + mov $0x0e,%ah // teletype output al cp437 + int $0x10 // vidya service jmp 0b 1: ret .endfn rvputs @@ -463,7 +471,7 @@ rldie: push %di // Initializes present PC serial lines. sinit4: mov $4,%cx - mov $0x400,%si # BDA.COM1 + mov $0x400,%si // BDA.COM1 0: lodsw test %ax,%ax jz 1f @@ -517,7 +525,7 @@ ape_disk: .stub ape.diskid,quad .org 0x1be,0x00 .macro .partn x:req sta h0 s0 c0 fs h9 s9 c9 lba0 nsec - .stub ape.part\x\().status,byte,\sta # 0=non-boot / 0x80=active + .stub ape.part\x\().status,byte,\sta // 0=non-boot / 0x80=active .stub ape.part\x\().first.head,byte,\h0 .stub ape.part\x\().first.sector,byte,\s0 # in low 6 bits .stub ape.part\x\().first.cylinder,byte,\c0 @@ -525,7 +533,7 @@ ape_disk: .stub ape.part\x\().last.head,byte,\h9 .stub ape.part\x\().last.sector,byte,\s9 .stub ape.part\x\().last.cylinder,byte,\c9 - .stub ape.part\x\().lba,long,\lba0 # c₀*Cₙ + h₀*Hₙ + s₀*Sₙ + .stub ape.part\x\().lba,long,\lba0 // c₀*Cₙ + h₀*Hₙ + s₀*Sₙ .stub ape.part\x\().sector.count,long,\nsec # sectors are 512 bytes .endm .partn 1,0x80,0,1,0,0x7f,0xff,0xff,0xff,0,0xffffffff @@ -580,7 +588,7 @@ ape_disk: the bourne executable & linkable format */ #if SupportsWindows() || SupportsMetal() || SupportsXnu() -apesh: .ascii "\n@\n#'\"\n" # sixth edition shebang +apesh: .ascii "\n@\n#'\"\n" // sixth edition shebang .ascii "m=\"$(uname -m)\"\n" .ascii "if [ \"$m\" = x86_64 ] || [ \"$m\" = amd64 ]; then\n" @@ -643,27 +651,27 @@ apesh: .ascii "\n@\n#'\"\n" # sixth edition shebang #endif /* APE_NO_MODIFY_SELF */ .ascii "exec 7<> \"$o\" || exit 121\n" .ascii "printf '" - .ascii "\\177ELF" # 0x0: ⌂ELF - .ascii "\\2" # 4: long mode - .ascii "\\1" # 5: little endian - .ascii "\\1" # 6: elf v1.o - .ascii "\\011" # 7: FreeBSD - .ascii "\\0" # 8: os/abi ver. - .ascii "\\0\\0\\0" # 9: padding 3/7 - .ascii "\\0\\0\\0\\0" # padding 4/7 - .ascii "\\2\\0" # 10: εxεcµταblε - .ascii "\\076\\0" # 12: NexGen32e - .ascii "\\1\\0\\0\\0" # 14: elf v1.o - .shstub ape_elf_entry,8 # 18: e_entry - .shstub ape_elf_phoff,8 # 20: e_phoff - .shstub ape_elf_shoff,8 # 28: e_shoff - .ascii "\\0\\0\\0\\0" # 30: e_flags - .ascii "\\100\\0" # 34: e_ehsize - .ascii "\\070\\0" # 36: e_phentsize - .shstub ape_elf_phnum,2 # 38: e_phnum - .ascii "\\0\\0" # 3a: e_shentsize - .shstub ape_elf_shnum,2 # 3c: e_shnum - .shstub ape_elf_shstrndx,2 # 3e: e_shstrndx + .ascii "\\177ELF" // 0x0: ⌂ELF + .ascii "\\2" // 4: long mode + .ascii "\\1" // 5: little endian + .ascii "\\1" // 6: elf v1.o + .ascii "\\011" // 7: FreeBSD + .ascii "\\0" // 8: os/abi ver. + .ascii "\\0\\0\\0" // 9: padding 3/7 + .ascii "\\0\\0\\0\\0" // padding 4/7 + .ascii "\\2\\0" // 10: εxεcµταblε + .ascii "\\076\\0" // 12: NexGen32e + .ascii "\\1\\0\\0\\0" // 14: elf v1.o + .shstub ape_elf_entry,8 // 18: e_entry + .shstub ape_elf_phoff,8 // 20: e_phoff + .shstub ape_elf_shoff,8 // 28: e_shoff + .ascii "\\0\\0\\0\\0" // 30: e_flags + .ascii "\\100\\0" // 34: e_ehsize + .ascii "\\070\\0" // 36: e_phentsize + .shstub ape_elf_phnum,2 // 38: e_phnum + .ascii "\\0\\0" // 3a: e_shentsize + .shstub ape_elf_shnum,2 // 3c: e_shnum + .shstub ape_elf_shstrndx,2 // 3e: e_shstrndx .ascii "' >&7\n" .ascii "exec 7<&-\n" #if SupportsXnu() @@ -679,7 +687,7 @@ apesh: .ascii "\n@\n#'\"\n" # sixth edition shebang #endif /* XNU */ .ascii "[ x\"$1\" = x--assimilate ] && exit 0\n" #ifndef APE_NO_MODIFY_SELF - .ascii "exec \"$0\" \"$@\"\n" # try to preserve argv[0] + .ascii "exec \"$0\" \"$@\"\n" // try to preserve argv[0] #else .ascii "}\n" .ascii "o=\"$t\"\n" @@ -830,13 +838,13 @@ ape_loader_end: // // @see ape.lds for defaults .long PT_GNU_STACK - .stub ape_stack_pf,long # override w/ PF_X for execstack - .stub ape_stack_offset,quad # ignored - .stub ape_stack_vaddr,quad # is mmap()'d with MAP_FIXED - .stub ape_stack_paddr,quad # ignored - .stub ape_stack_filesz,quad # ignored - .stub ape_stack_memsz,quad # is mmap(size) argument - .stub ape_stack_align,quad # must be 16+ + .stub ape_stack_pf,long // override w/ PF_X for execstack + .stub ape_stack_offset,quad // ignored + .stub ape_stack_vaddr,quad // is mmap()'d with MAP_FIXED + .stub ape_stack_paddr,quad // ignored + .stub ape_stack_filesz,quad // ignored + .stub ape_stack_memsz,quad // is mmap(size) argument + .stub ape_stack_align,quad // must be 16+ #if SupportsOpenbsd() || SupportsNetbsd() .long PT_NOTE @@ -919,14 +927,14 @@ ape_macho: .long MAC_CPU_NEXGEN32E .long MAC_CPU_NEXGEN32E_ALL .long MAC_EXECUTE - .long 5 # number of load commands - .long 60f-10f # size of all load commands - .long MAC_NOUNDEFS # flags - .long 0 # reserved + .long 5 // number of load commands + .long 60f-10f // size of all load commands + .long MAC_NOUNDEFS // flags + .long 0 // reserved 10: .long MAC_LC_SEGMENT_64 - .long 20f-10b # unmaps first page dir - .ascin "__PAGEZERO",16 # consistent with linux - .quad 0,0x200000,0,0 # which forbids mem <2m + .long 20f-10b // unmaps first page dir + .ascin "__PAGEZERO",16 // consistent with linux + .quad 0,0x200000,0,0 // which forbids mem <2m .long 0,0,0,0 20: .long MAC_LC_SEGMENT_64 .long 30f-20b @@ -935,20 +943,20 @@ ape_macho: .stub ape_rom_memsz,quad .stub ape_rom_offset,quad .stub ape_rom_filesz,quad - .long PROT_EXEC|PROT_READ|PROT_WRITE # maxprot - .long PROT_EXEC|PROT_READ # initprot - .long 1 # segment section count - .long 0 # flags -210: .ascin "__text",16 # section name (.text) + .long PROT_EXEC|PROT_READ|PROT_WRITE // maxprot + .long PROT_EXEC|PROT_READ // initprot + .long 1 // segment section count + .long 0 // flags +210: .ascin "__text",16 // section name (.text) .ascin "__TEXT",16 .stub ape_text_vaddr,quad .stub ape_text_memsz,quad .stub ape_text_offset,long - .long 12 # align 2**12 = 4096 - .long 0 # reloc table offset - .long 0 # relocation count - .long MAC_S_ATTR_SOME_INSTRUCTIONS # section type & attributes - .long 0,0,0 # reserved + .long 12 // align 2**12 = 4096 + .long 0 // reloc table offset + .long 0 // relocation count + .long MAC_S_ATTR_SOME_INSTRUCTIONS // section type & attributes + .long 0,0,0 // reserved 30: .long MAC_LC_SEGMENT_64 .long 40f-30b .ascin "__DATA",16 @@ -956,59 +964,59 @@ ape_macho: .stub ape_ram_memsz,quad .stub ape_ram_offset,quad .stub ape_ram_filesz,quad - .long PROT_EXEC|PROT_READ|PROT_WRITE # maxprot - .long PROT_READ|PROT_WRITE # initprot - .long 2 # segment section count - .long 0 # flags -310: .ascin "__data",16 # section name (.data) + .long PROT_EXEC|PROT_READ|PROT_WRITE // maxprot + .long PROT_READ|PROT_WRITE // initprot + .long 2 // segment section count + .long 0 // flags +310: .ascin "__data",16 // section name (.data) .ascin "__DATA",16 .stub ape_data_vaddr,quad .stub ape_data_memsz,quad .stub ape_data_offset,long - .long 12 # align 2**12 = 4096 - .long 0 # reloc table offset - .long 0 # relocation count - .long 0 # section type & attributes - .long 0,0,0 # reserved -320: .ascin "__bss",16 # section name (.bss) + .long 12 // align 2**12 = 4096 + .long 0 // reloc table offset + .long 0 // relocation count + .long 0 // section type & attributes + .long 0,0,0 // reserved +320: .ascin "__bss",16 // section name (.bss) .ascin "__DATA",16 - .stub ape_bss_vaddr,quad # virtual address - .stub ape_bss_memsz,quad # memory size - .long 0 # file offset - .long 12 # align 2**12 = 4096 - .long 0 # reloc table offset - .long 0 # relocation count - .long MAC_S_ZEROFILL # section type & attributes - .long 0,0,0 # reserved + .stub ape_bss_vaddr,quad // virtual address + .stub ape_bss_memsz,quad // memory size + .long 0 // file offset + .long 12 // align 2**12 = 4096 + .long 0 // reloc table offset + .long 0 // relocation count + .long MAC_S_ZEROFILL // section type & attributes + .long 0,0,0 // reserved 40: .long MAC_LC_UUID .long 50f-40b .stub ape_uuid1,quad .stub ape_uuid2,quad 50: .long MAC_LC_UNIXTHREAD - .long 60f-50b # cmdsize - .long MAC_THREAD_NEXGEN32E # flavaflav - .long (520f-510f)/4 # count -510: .quad 0 # rax - .quad IMAGE_BASE_VIRTUAL # rbx - .quad _HOSTXNU # rcx - .quad 0 # rdx - .quad 0 # rdi - .quad 0 # rsi - .quad 0 # rbp - .quad 0 # rsp - .quad 0 # r8 - .quad 0 # r9 - .quad 0 # r10 - .quad 0 # r11 - .quad 0 # r12 - .quad 0 # r13 - .quad 0 # r14 - .quad 0 # r15 - .quad _start # rip - .quad 0 # rflags - .quad 0 # cs - .quad 0 # fs - .quad 0 # gs + .long 60f-50b // cmdsize + .long MAC_THREAD_NEXGEN32E // flavaflav + .long (520f-510f)/4 // count +510: .quad 0 // rax + .quad IMAGE_BASE_VIRTUAL // rbx + .quad _HOSTXNU // rcx + .quad 0 // rdx + .quad 0 // rdi + .quad 0 // rsi + .quad 0 // rbp + .quad 0 // rsp + .quad 0 // r8 + .quad 0 // r9 + .quad 0 // r10 + .quad 0 // r11 + .quad 0 // r12 + .quad 0 // r13 + .quad 0 // r14 + .quad 0 // r15 + .quad _start // rip + .quad 0 // rflags + .quad 0 // cs + .quad 0 // fs + .quad 0 // gs 520: 60: @@ -1098,86 +1106,86 @@ PEIMPS = 0b11000000000000000000000001000000 .balign __SIZEOF_POINTER__ ape_pe: .ascin "PE",4 .short kNtImageFileMachineNexgen32e - .stub ape_pe_shnum,short # NumberOfSections - .long 0x5c64126b # TimeDateStamp - .long 0 # PointerToSymbolTable - .long 0 # NumberOfSymbols - .stub ape_pe_optsz,short # SizeOfOptionalHeader - .short PEEXE # Characteristics - .short kNtPe64bit # Optional Header Magic - .byte 14 # MajorLinkerVersion - .byte 15 # MinorLinkerVersion - .long 0 # SizeOfCode - .long 0 # SizeOfInitializedData - .long 0 # SizeOfUninitializedData - .long RVA(ape_pe_entry) # EntryPoint - .long 0 # BaseOfCode - .quad ape_pe_base # ImageBase - .long 4096 # SectionAlignment - .long 4096 # FileAlignment - .short v_ntversion # MajorOperatingSystemVersion - .short 0 # MinorOperatingSystemVersion - .short 0 # MajorImageVersion - .short 0 # MinorImageVersion - .short v_ntsubversion # MajorSubsystemVersion - .short 0 # MinorSubsystemVersion - .long 0 # Win32VersionValue - .long RVA(_end) # SizeOfImage - .long RVA(_ehead) # SizeOfHeaders - .long 0 # Checksum - .short v_ntsubsystem # Subsystem: 0=Neutral,2=GUI,3=Console - .stub v_ntdllchar,short # DllCharacteristics - .quad 0x0000000000100000 # StackReserve - .quad 0x00000000000fc000 # StackCommit - .quad 0 # HeapReserve - .quad 0 # HeapCommit - .long 0 # LoaderFlags - .long 16 # NumberOfDirectoryEntries - .long 0,0 # ExportsDirectory - .stub ape_idata,long # ImportsDirectory - .stub ape_idata_idtsize,long # ImportsDirectorySize - .long 0,0 # ResourcesDirectory - .long 0,0 # ExceptionsDirectory - .long 0,0 # SecurityDirectory - .long 0,0 # BaseRelocationTable - .long 0,0 # DebugDirectory - .long 0,0 # DescriptionString - .long 0,0 # MachineSpecific - .long 0,0 # ThreadLocalStorage - .long 0,0 # LoadConfigurationDirectory - .long 0,0 # BoundImportDirectory - .stub ape_idata,long # ImportAddressDirectory - .stub ape_idata_iatsize,long # ImportAddressDirectorySize - .long 0,0 # DelayImportDescriptor - .long 0,0 # ComPlusRuntimeHeader - .long 0,0 # Reserved + .stub ape_pe_shnum,short // NumberOfSections + .long 0x5c64126b // TimeDateStamp + .long 0 // PointerToSymbolTable + .long 0 // NumberOfSymbols + .stub ape_pe_optsz,short // SizeOfOptionalHeader + .short PEEXE // Characteristics + .short kNtPe64bit // Optional Header Magic + .byte 14 // MajorLinkerVersion + .byte 15 // MinorLinkerVersion + .long 0 // SizeOfCode + .long 0 // SizeOfInitializedData + .long 0 // SizeOfUninitializedData + .long RVA(ape_pe_entry) // EntryPoint + .long 0 // BaseOfCode + .quad ape_pe_base // ImageBase + .long 4096 // SectionAlignment + .long 4096 // FileAlignment + .short v_ntversion // MajorOperatingSystemVersion + .short 0 // MinorOperatingSystemVersion + .short 0 // MajorImageVersion + .short 0 // MinorImageVersion + .short v_ntsubversion // MajorSubsystemVersion + .short 0 // MinorSubsystemVersion + .long 0 // Win32VersionValue + .long RVA(_end) // SizeOfImage + .long RVA(_ehead) // SizeOfHeaders + .long 0 // Checksum + .short v_ntsubsystem // Subsystem: 0=Neutral,2=GUI,3=Console + .stub v_ntdllchar,short // DllCharacteristics + .quad 0x0000000000100000 // StackReserve + .quad 0x00000000000fc000 // StackCommit + .quad 0 // HeapReserve + .quad 0 // HeapCommit + .long 0 // LoaderFlags + .long 16 // NumberOfDirectoryEntries + .long 0,0 // ExportsDirectory + .stub ape_idata,long // ImportsDirectory + .stub ape_idata_idtsize,long // ImportsDirectorySize + .long 0,0 // ResourcesDirectory + .long 0,0 // ExceptionsDirectory + .long 0,0 // SecurityDirectory + .long 0,0 // BaseRelocationTable + .long 0,0 // DebugDirectory + .long 0,0 // DescriptionString + .long 0,0 // MachineSpecific + .long 0,0 // ThreadLocalStorage + .long 0,0 // LoadConfigurationDirectory + .long 0,0 // BoundImportDirectory + .stub ape_idata,long // ImportAddressDirectory + .stub ape_idata_iatsize,long // ImportAddressDirectorySize + .long 0,0 // DelayImportDescriptor + .long 0,0 // ComPlusRuntimeHeader + .long 0,0 // Reserved .endobj ape_pe,globl .previous .section .pe.sections,"a",@progbits - .ascin ".text",8 # Section Name - .stub ape_text_memsz,long # Virtual Size or Physical Address - .stub ape_text_rva,long # Relative Virtual Address - .stub ape_text_filesz,long # Physical Size - .stub ape_text_offset,long # Physical Offset - .long 0 # Relocation Table Offset - .long 0 # Line Number Table Offset - .short 0 # Relocation Count - .short 0 # Line Number Count - .long PETEXT # Flags + .ascin ".text",8 // Section Name + .stub ape_text_memsz,long // Virtual Size or Physical Address + .stub ape_text_rva,long // Relative Virtual Address + .stub ape_text_filesz,long // Physical Size + .stub ape_text_offset,long // Physical Offset + .long 0 // Relocation Table Offset + .long 0 // Line Number Table Offset + .short 0 // Relocation Count + .short 0 // Line Number Count + .long PETEXT // Flags .previous .section .pe.sections,"a",@progbits - .ascin ".data",8 # Section Name - .stub ape_ram_memsz,long # Virtual Size or Physical Address - .stub ape_ram_rva,long # Relative Virtual Address - .stub ape_ram_filesz,long # Physical Size - .stub ape_ram_offset,long # Physical Offset - .long 0 # Relocation Table Offset - .long 0 # Line Number Table Offset - .short 0 # Relocation Count - .short 0 # Line Number Count - .long PEDATA # Flags + .ascin ".data",8 // Section Name + .stub ape_ram_memsz,long // Virtual Size or Physical Address + .stub ape_ram_rva,long // Relative Virtual Address + .stub ape_ram_filesz,long // Physical Size + .stub ape_ram_offset,long // Physical Offset + .long 0 // Relocation Table Offset + .long 0 // Line Number Table Offset + .short 0 // Relocation Count + .short 0 // Line Number Count + .long PEDATA // Flags .previous #endif /* SupportsWindows() || SupportsMetal() */ @@ -1221,14 +1229,14 @@ _gdt: // 6666555555555544444444443333333333222222222211111111110000000000 // 3210987654321098765432109876543210987654321098765432109876543210 // │ ││││││ ││││││││││ ││ │ -.quad 0b0000000000000000000000000000000000000000000000000000000000000000 # 0 -.quad 0b0000000000001111100110100000000000000000000000001111111111111111 # 8 -.quad 0b0000000000001111100100100000000000000000000000001111111111111111 #16 -.quad 0b0000000011001111100110100000000000000000000000001111111111111111 #24 -.quad 0b0000000011001111100100100000000000000000000000001111111111111111 #32 -.quad 0b0000000010101111100110110000000000000000000000001111111111111111 #40 -.quad 0b0000000010101111100100110000000000000000000000001111111111111111 #48 -.tssdescstub _tss #56,64 +.quad 0b0000000000000000000000000000000000000000000000000000000000000000 // 0 +.quad 0b0000000000001111100110100000000000000000000000001111111111111111 // 8 +.quad 0b0000000000001111100100100000000000000000000000001111111111111111 //16 +.quad 0b0000000011001111100110100000000000000000000000001111111111111111 //24 +.quad 0b0000000011001111100100100000000000000000000000001111111111111111 //32 +.quad 0b0000000010101111100110110000000000000000000000001111111111111111 //40 +.quad 0b0000000010101111100100110000000000000000000000001111111111111111 //48 +.tssdescstub _tss //56,64 _gdt_end: .endobj _gdt,global,hidden .previous @@ -1291,12 +1299,12 @@ sconf: .short 1843200/*hz*/ / 16/*wut*/ / 9600/*baud*/ // Global Descriptor Table .balign 8 _gdtrlo: - .short 2f-_gdtlo-1 # table byte length - .long REAL(_gdtlo) # table address (base memory space) + .short 2f-_gdtlo-1 // table byte length + .long REAL(_gdtlo) // table address (base memory space) .endobj _gdtrlo,global,hidden _gdtr: - .short _gdt_end-_gdt-1 # table byte length - .quad _gdt # table address (final virtual space) + .short _gdt_end-_gdt-1 // table byte length + .quad _gdt // table address (final virtual space) .endobj _gdtr,global,hidden .balign 8 // Partial GDT with descriptors for switching to unreal mode or long mode. @@ -1332,11 +1340,11 @@ lhinit: cmp $0x40,%dl pushpop 0,%es mov $mm+"struct mman::pc_drive_next_sector",%di cld - stosb #→ pc_drive_next_sector + stosb //→ pc_drive_next_sector xchg %ax,%cx - stosw #→ pc_drive_next_cylinder + stosw //→ pc_drive_next_cylinder mov %dh,%al - stosb #→ pc_drive_next_head + stosb //→ pc_drive_next_head 9: ret .section .sort.text.real.init.1,"ax",@progbits @@ -1406,12 +1414,12 @@ longmodeloader: .endfn longmodeloader // Long Mode Hardware Check -lcheck: pushf # checks for i8086 / i8088 / i80186 - pop %ax # see intel manual volume 1 §20.1.2 +lcheck: pushf // checks for i8086 / i8088 / i80186 + pop %ax // see intel manual volume 1 §20.1.2 test $0x80,%ah - jnz 10f # we now assume 32 bit is supported - pushfl # now check for i386, or early i486 - pop %eax # tests ability to change cpuid bit + jnz 10f // we now assume 32 bit is supported + pushfl // now check for i386, or early i486 + pop %eax // tests ability to change cpuid bit mov %eax,%ecx mov $1<<21,%ebx xor %ebx,%eax @@ -1420,20 +1428,20 @@ lcheck: pushf # checks for i8086 / i8088 / i80186 pushfl pop %eax cmp %eax,%ecx - je 10f # we assume cpuid inst is available - or %ebx,%eax # puts cpuid bit in the on position + je 10f // we assume cpuid inst is available + or %ebx,%eax // puts cpuid bit in the on position push %eax popfl - mov $0x80000000,%edi # get amd64 ext cpuid thingy length + mov $0x80000000,%edi // get amd64 ext cpuid thingy length mov %edi,%eax inc %edi - cpuid # leaf 0x80000000, clob ax/bx/cx/dx + cpuid // leaf 0x80000000, clob ax/bx/cx/dx cmp %edi,%eax jl 10f mov %edi,%eax - cpuid # leaf 0x80000001, clob ax/bx/cx/dx - mov $1<<29|1<<20,%edi # 29 = LM (long), 20 = NX (no exec) - and %edi,%edx # we need to both, or we won't work + cpuid // leaf 0x80000001, clob ax/bx/cx/dx + mov $1<<29|1<<20,%edi // 29 = LM (long), 20 = NX (no exec) + and %edi,%edx // we need to both, or we won't work cmp %edi,%edx jne 10f xor %ax,%ax @@ -1443,35 +1451,35 @@ lcheck: pushf # checks for i8086 / i8088 / i80186 .endfn lcheck // Gets memory map from BIOS. -e820: xor %ebx,%ebx # %ebx is an api state tracker +e820: xor %ebx,%ebx // %ebx is an api state tracker mov %bx,%es mov $mm+"struct mman::e820",%di # es:di is destination buffer -1: mov $0xE820,%eax # magic - mov $8+8+4+4,%ecx # sizeof(struct SmapEntry) - mov $0x534d4150,%edx # magic number +1: mov $0xE820,%eax // magic + mov $8+8+4+4,%ecx // sizeof(struct SmapEntry) + mov $0x534d4150,%edx // magic number movl $1,8+8+4/*SmapEntry::acpi3*/(%di) # prefill ACPI attributes; - # apparently some buggy BIOSes say - # that they return this field, yet - # do not fill it correctly - int $0x15 # ax,bx,cx,dx,di → ax,bx,cx - jc 9f # cf = unsupported or abuse - cmp %edx,%eax # more magic means success + // apparently some buggy BIOSes say + // that they return this field, yet + // do not fill it correctly + int $0x15 // ax,bx,cx,dx,di → ax,bx,cx + jc 9f // cf = unsupported or abuse + cmp %edx,%eax // more magic means success jne 9f - test %cx,%cx # discard empty results + test %cx,%cx // discard empty results jz 5f mov 8/*LODWORD(SmapEntry::size)*/(%di),%eax or 8+4/*HIDWORD(SmapEntry::size)*/(%di),%eax jz 5f - cmp $8+8+4+1,%cx # discard if ignore flag + cmp $8+8+4+1,%cx // discard if ignore flag jb 4f testb $1/*don't ignore*/,8+8+4/*SmapEntry::acpi3*/(%di) jz 5f -4: add $8+8+4+4,%di # keep entry -5: test %ebx,%ebx # last entry? +4: add $8+8+4+4,%di // keep entry +5: test %ebx,%ebx // last entry? jz 8f cmp $mm+"struct mman::e820_end"-(8+8+4+4),%di jb 1b -8: xor %ax,%ax # add a blank sentinel entry +8: xor %ax,%ax // add a blank sentinel entry mov $(8+8)/2,%cx cld rep stosw @@ -1590,14 +1598,14 @@ loadhi: mov $v_ape_highsectors,%bp jz 9f mov $mm+"struct mman::pc_drive",%si cld - lodsb #← pc_drive + lodsb //← pc_drive xchg %ax,%dx lodsw - lodsb #← pc_drive_next_sector + lodsb //← pc_drive_next_sector test %al,%al jz 9f xchg %ax,%cx - lodsw #← pc_drive_next_cylinder + lodsw //← pc_drive_next_cylinder xchg %ax,%cx mov (%si),%dh #← pc_drive_next_head push %es @@ -1633,20 +1641,20 @@ pinit: push %ds mov $(0x7f000-SEG)/2,%cx cld rep stosw - movl $0x7d000+PAGE_V+PAGE_RW,0x7e000-SEG # PDPT←PML4T (+) - movl $0x7c000+PAGE_V+PAGE_RW,0x7e800-SEG # PDPT←PML4T (-) - movl $0x7b000+PAGE_V+PAGE_RW,0x7d000-SEG # PDT←PDPT (+) - movl $0x7a000+PAGE_V+PAGE_RW,0x7c000-SEG # PDT←PDPT (-) - movl $0x79000+PAGE_V+PAGE_RW,0x7b000-SEG # PD←PDT (+) - movl $0x79000+PAGE_V+PAGE_RW,0x7a000-SEG # PD←PDT (-) - mov $512,%cx # PD±2MB + movl $0x7d000+PAGE_V+PAGE_RW,0x7e000-SEG // PDPT←PML4T (+) + movl $0x7c000+PAGE_V+PAGE_RW,0x7e800-SEG // PDPT←PML4T (-) + movl $0x7b000+PAGE_V+PAGE_RW,0x7d000-SEG // PDT←PDPT (+) + movl $0x7a000+PAGE_V+PAGE_RW,0x7c000-SEG // PDT←PDPT (-) + movl $0x79000+PAGE_V+PAGE_RW,0x7b000-SEG // PD←PDT (+) + movl $0x79000+PAGE_V+PAGE_RW,0x7a000-SEG // PD←PDT (-) + mov $512,%cx // PD±2MB mov $PAGE_V+PAGE_RSRV+PAGE_RW,%eax xor %di,%di 0: stosl add $0x1000,%eax - scasl # di += 4 + scasl // di += 4 loop 0b - mov $0x7e000,%eax # PML4T←CR3 + mov $0x7e000,%eax // PML4T←CR3 mov %eax,%cr3 pop %es pop %ds @@ -1698,8 +1706,8 @@ long: movabs $BANE+PHYSICAL(0f),%rax call __map_phdrs push $0x037f fldcw (%rsp) - lgdt _gdtr # reload GDTR for - # virtual memory space + lgdt _gdtr // reload GDTR for + // virtual memory space movabs $kernel,%rax jmp *%rax .endfn long @@ -1717,14 +1725,14 @@ long: movabs $BANE+PHYSICAL(0f),%rax // Grub Header. .balign 4 ape_grub: - .long GRUB_MAGIC # Magic - .long GRUB_AOUT # Flags - .long GRUB_CHECKSUM(GRUB_AOUT) # Checksum - .long RVA(ape_grub) # HeaderPhysicalAddress - .long IMAGE_BASE_PHYSICAL # TextPhysicalAddress - .long PHYSICAL(_edata) # LoadEndPhysicalAddress - .long PHYSICAL(_end) # BssEndPhysicalAddress - .long RVA(ape_grub_entry) # EntryPhysicalAddress + .long GRUB_MAGIC // Magic + .long GRUB_AOUT // Flags + .long GRUB_CHECKSUM(GRUB_AOUT) // Checksum + .long RVA(ape_grub) // HeaderPhysicalAddress + .long IMAGE_BASE_PHYSICAL // TextPhysicalAddress + .long PHYSICAL(_edata) // LoadEndPhysicalAddress + .long PHYSICAL(_end) // BssEndPhysicalAddress + .long RVA(ape_grub_entry) // EntryPhysicalAddress .endobj ape_grub,globl // Grub Entrypoint. @@ -1775,31 +1783,31 @@ ape_grub_entry: ╚────────────────────────────────────────────────────────────────────────────│*/ kernel: movabs $ape_stack_vaddr,%rsp add $ape_stack_memsz,%rsp - movl $0,0x7b000 # unmap null 2mb + movl $0,0x7b000 // unmap null 2mb #if USE_SYMBOL_HACK - .byte 0x0f,0x1f,0207 # nop rdi binbase + .byte 0x0f,0x1f,0207 // nop rdi binbase .long (IMAGE_BASE_VIRTUAL-IMAGE_BASE_REAL)/512 #endif movabs $BANE+mm,%rdi mov $0x79000,%esi mov $0x7f000,%edx call __reclaim_boot_pages - push $_HOSTMETAL # sets __hostos in crt.S + push $_HOSTMETAL // sets __hostos in crt.S pop %rcx - pushq .Lenv0(%rip) # envp[0][0] + pushq .Lenv0(%rip) // envp[0][0] mov %rsp,%rbp - pushq .Largv0+8(%rip) # argv[0][8] - pushq .Largv0(%rip) # argv[0][0] + pushq .Largv0+8(%rip) // argv[0][8] + pushq .Largv0(%rip) // argv[0][0] mov %rsp,%rax - push $0 # auxv[1][1] - push $0 # auxv[1][0] - push %rax # auxv[0][1] - push $31 # auxv[0][0] AT_EXECFN - push $0 # envp[1] - push %rbp # envp[0] - push $0 # argv[1] - push %rax # argv[0] - push $1 # argc + push $0 // auxv[1][1] + push $0 // auxv[1][0] + push %rax // auxv[0][1] + push $31 // auxv[0][0] AT_EXECFN + push $0 // envp[1] + push %rbp // envp[0] + push $0 // argv[1] + push %rax // argv[0] + push $1 // argc xor %ebp,%ebp xor %eax,%eax xor %edx,%edx diff --git a/ape/ape.mk b/ape/ape.mk index 4a3abc3ce..2890e135b 100644 --- a/ape/ape.mk +++ b/ape/ape.mk @@ -19,11 +19,21 @@ APE_FILES := $(wildcard ape/*.*) APE_HDRS = $(filter %.h,$(APE_FILES)) APE_INCS = $(filter %.inc,$(APE_FILES)) -ifneq ($(MODE), aarch64) - APE = o/$(MODE)/ape/ape.o \ o/$(MODE)/ape/ape.lds +ifeq ($(MODE), aarch64) + +APE_SRCS = ape/ape.S +APE_OBJS = o/$(MODE)/ape/ape.o +APE_NO_MODIFY_SELF = $(APE) +APE_COPY_SELF = $(APE) + +.PHONY: o/$(MODE)/ape +o/$(MODE)/ape: $(APE) + +else + APE_NO_MODIFY_SELF = \ o/$(MODE)/ape/ape.lds \ o/$(MODE)/ape/ape-no-modify-self.o @@ -61,22 +71,6 @@ APE_SRCS = $(APE_SRCS_C) $(APE_SRCS_S) APE_OBJS = $(APE_SRCS_S:%.S=o/$(MODE)/%.o) APE_CHECKS = $(APE_HDRS:%=o/%.ok) -o/$(MODE)/ape/ape.lds: \ - ape/ape.lds \ - ape/macros.internal.h \ - ape/relocations.h \ - libc/intrin/bits.h \ - libc/thread/tls.h \ - libc/calls/struct/timespec.h \ - libc/thread/thread.h \ - libc/dce.h \ - libc/elf/def.h \ - libc/elf/pf2prot.internal.h \ - libc/macros.internal.h \ - libc/nt/pedef.internal.h \ - libc/str/str.h \ - libc/zip.h - o/$(MODE)/ape/public/ape.lds: OVERRIDE_CPPFLAGS += -UCOSMO o/$(MODE)/ape/public/ape.lds: \ ape/public/ape.lds \ @@ -99,10 +93,6 @@ o/ape/idata.inc: \ ape/idata.internal.h \ ape/relocations.h -o/$(MODE)/ape/ape.o: \ - ape/blink-aarch64.gz \ - ape/blink-darwin-arm64.gz - o/$(MODE)/ape/ape-no-modify-self.o: \ ape/ape.S \ ape/macros.internal.h \ @@ -199,3 +189,27 @@ o/$(MODE)/ape: $(APE_CHECKS) \ o/$(MODE)/ape/ape-no-modify-self.o endif + +# these assembly files are safe to build on aarch64 +o/$(MODE)/ape/ape.o: ape/ape.S + @$(COMPILE) -AOBJECTIFY.S $(OBJECTIFY.S) $(OUTPUT_OPTION) -c $< + +o/$(MODE)/ape/ape.o: \ + ape/blink-aarch64.gz \ + ape/blink-darwin-arm64.gz + +o/$(MODE)/ape/ape.lds: \ + ape/ape.lds \ + ape/macros.internal.h \ + ape/relocations.h \ + libc/intrin/bits.h \ + libc/thread/tls.h \ + libc/calls/struct/timespec.h \ + libc/thread/thread.h \ + libc/dce.h \ + libc/elf/def.h \ + libc/elf/pf2prot.internal.h \ + libc/macros.internal.h \ + libc/nt/pedef.internal.h \ + libc/str/str.h \ + libc/zip.h diff --git a/ape/idata.internal.h b/ape/idata.internal.h index 04feab0e2..9e649c915 100644 --- a/ape/idata.internal.h +++ b/ape/idata.internal.h @@ -63,13 +63,10 @@ .size "\dll\().\actual",.-"\dll\().\actual" .previous #else - .section ".text.nt.\actual","ax",@progbits - .globl "\actual" -"\actual": - ret .section ".data.nt.\actual","aw",@progbits .globl "\fn" .balign 8 + .weak "\actual" "\fn": .quad "\actual" #endif .endm diff --git a/libc/aarch64/aarch64.mk b/libc/aarch64/aarch64.mk deleted file mode 100644 index dc04c52ca..000000000 --- a/libc/aarch64/aarch64.mk +++ /dev/null @@ -1,13 +0,0 @@ -#-*-mode:makefile-gmake;indent-tabs-mode:t;tab-width:8;coding:utf-8-*-┐ -#───vi: set et ft=make ts=8 tw=8 fenc=utf-8 :vi───────────────────────┘ - -o/$(MODE)/libc/aarch64/%.o: libc/aarch64/%.S - @$(COMPILE) -AOBJECTIFY.S $(OBJECTIFY.S) $(OUTPUT_OPTION) -c $< - -o/$(MODE)/libc/aarch64/start.o: \ - libc/aarch64/start.c \ - libc/runtime/runtime.h - -o/$(MODE)/libc/aarch64: \ - o/$(MODE)/libc/aarch64/crt.o \ - o/$(MODE)/libc/aarch64/start.o diff --git a/libc/calls/__clock_gettime.c b/libc/calls/__clock_gettime.c new file mode 100644 index 000000000..c3b46a6e5 --- /dev/null +++ b/libc/calls/__clock_gettime.c @@ -0,0 +1,21 @@ +/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:2;tab-width:8;coding:utf-8 -*-│ +│vi: set net ft=c ts=2 sts=2 sw=2 fenc=utf-8 :vi│ +╞══════════════════════════════════════════════════════════════════════════════╡ +│ Copyright 2023 Justine Alexandra Roberts Tunney │ +│ │ +│ Permission to use, copy, modify, and/or distribute this software for │ +│ any purpose with or without fee is hereby granted, provided that the │ +│ above copyright notice and this permission notice appear in all copies. │ +│ │ +│ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL │ +│ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED │ +│ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE │ +│ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL │ +│ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR │ +│ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER │ +│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ +│ PERFORMANCE OF THIS SOFTWARE. │ +╚─────────────────────────────────────────────────────────────────────────────*/ +#include "libc/calls/clock_gettime.internal.h" + +clock_gettime_f *__clock_gettime = __clock_gettime_init; diff --git a/libc/calls/calls.mk b/libc/calls/calls.mk index 51d5fb2e7..2473ca709 100644 --- a/libc/calls/calls.mk +++ b/libc/calls/calls.mk @@ -51,7 +51,8 @@ LIBC_CALLS_A_DIRECTDEPS = \ LIBC_STR \ LIBC_STUBS \ LIBC_SYSV_CALLS \ - LIBC_SYSV + LIBC_SYSV \ + THIRD_PARTY_COMPILER_RT LIBC_CALLS_A_DEPS := \ $(call uniq,$(foreach x,$(LIBC_CALLS_A_DIRECTDEPS),$($(x)))) diff --git a/libc/calls/createpipename.c b/libc/calls/createpipename.c index 5c3464e5d..48eb48b72 100644 --- a/libc/calls/createpipename.c +++ b/libc/calls/createpipename.c @@ -17,7 +17,6 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/calls/calls.h" -#include "libc/intrin/lockxadd.h" #include "libc/nt/process.h" static textwindows char16_t *UintToChar16Array(char16_t p[21], uint64_t x) { @@ -44,7 +43,7 @@ textwindows char16_t *CreatePipeName(char16_t *a) { while (*q) *p++ = *q++; p = UintToChar16Array(p, GetCurrentProcessId()); *p++ = '-'; - p = UintToChar16Array(p, _lockxadd(&x, 1)); + p = UintToChar16Array(p, (x += 1)); *p = 0; return a; } diff --git a/libc/calls/getpriority.c b/libc/calls/getpriority.c index 71b94a4e8..913bb61cb 100644 --- a/libc/calls/getpriority.c +++ b/libc/calls/getpriority.c @@ -18,6 +18,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/calls/calls.h" #include "libc/calls/syscall-nt.internal.h" +#include "libc/calls/syscall-sysv.internal.h" #include "libc/dce.h" #include "libc/errno.h" #include "libc/intrin/asmflag.h" @@ -74,21 +75,10 @@ privileged int getpriority(int which, unsigned who) { } else { rc = sys_getpriority_nt(which, who); } -#elif defined(__aarch64__) - register long r0 asm("x0") = (long)which; - register long r1 asm("x1") = (long)who; - register long res_x0 asm("x0"); - asm volatile("mov\tx8,%1\n\t" - "svc\t0" - : "=r"(res_x0) - : "i"(141), "r"(r0), "r"(r1) - : "x8", "memory"); - rc = res_x0; - if (rc >= 0) { +#else + rc = sys_getpriority(which, who); + if (rc != -1) { rc = NZERO - rc; - } else { - errno = -rc; - rc = -1; } #endif STRACE("getpriority(%s, %u) → %d% m", DescribeWhichPrio(which), who, rc); diff --git a/libc/calls/gettimeofday.c b/libc/calls/gettimeofday.c index e834f8a96..dba3074ac 100644 --- a/libc/calls/gettimeofday.c +++ b/libc/calls/gettimeofday.c @@ -31,8 +31,8 @@ #include "libc/time/struct/timezone.h" typedef axdx_t gettimeofday_f(struct timeval *, struct timezone *, void *); - -extern gettimeofday_f *__gettimeofday; +static gettimeofday_f __gettimeofday_init; +static gettimeofday_f *__gettimeofday = __gettimeofday_init; /** * Returns system wall time in microseconds, e.g. @@ -97,8 +97,10 @@ gettimeofday_f *__gettimeofday_get(bool *opt_out_isfast) { return res; } -_Hide int __gettimeofday_init(struct timeval *tv, struct timezone *tz) { +static axdx_t __gettimeofday_init(struct timeval *tv, // + struct timezone *tz, // + void *arg) { gettimeofday_f *gettime; __gettimeofday = gettime = __gettimeofday_get(0); - return gettime(tv, tz, 0).ax; + return gettime(tv, tz, 0); } diff --git a/libc/calls/mremap-sysv.greg.c b/libc/calls/mremap-sysv.greg.c index ffbb8b50a..dad5eed3d 100644 --- a/libc/calls/mremap-sysv.greg.c +++ b/libc/calls/mremap-sysv.greg.c @@ -65,19 +65,8 @@ privileged void *sys_mremap(void *p, size_t n, size_t m, int f, void *q) { res = enosys(); } #elif defined(__aarch64__) - long res; - register long r0 asm("x0") = (long)p; - register long r1 asm("x1") = (long)n; - register long r2 asm("x2") = (long)m; - register long r3 asm("x3") = (long)f; - register long r4 asm("x4") = (long)q; - register long res_x0 asm("x0"); - asm volatile("mov\tx8,%1\n\t" - "svc\t0" - : "=r"(res_x0) - : "i"(216), "r"(r0), "r"(r1), "r"(r2), "r"(r3), "r"(r4) - : "x8", "memory"); - res = _sysret64(res_x0); + void *res; + res = __sys_mremap(p, n, m, f, q); #else #error "arch unsupported" #endif diff --git a/libc/calls/now.c b/libc/calls/now.c index eff7f9984..f56c865a6 100644 --- a/libc/calls/now.c +++ b/libc/calls/now.c @@ -112,3 +112,5 @@ long double nowl_setup(void) { } return nowl(); } + +long double (*nowl)(void) = nowl_setup; diff --git a/libc/calls/onntconsoleevent.c b/libc/calls/onntconsoleevent.c index d2f2283cd..e6ef7b650 100644 --- a/libc/calls/onntconsoleevent.c +++ b/libc/calls/onntconsoleevent.c @@ -28,6 +28,8 @@ #include "libc/thread/tls.h" #include "libc/thread/tls2.h" +#ifdef __x86_64__ + textwindows bool32 __onntconsoleevent(uint32_t dwCtrlType) { struct CosmoTib tib; struct StackFrame *fr; @@ -60,3 +62,5 @@ textwindows bool32 __onntconsoleevent(uint32_t dwCtrlType) { return false; } } + +#endif /* __x86_64__ */ diff --git a/libc/calls/openat-metal.c b/libc/calls/openat-metal.c index ed74b3e7c..686f5c597 100644 --- a/libc/calls/openat-metal.c +++ b/libc/calls/openat-metal.c @@ -35,6 +35,8 @@ #include "libc/sysv/errfuns.h" #include "libc/zipos/zipos.internal.h" +#ifdef __x86_64__ + int sys_openat_metal(int dirfd, const char *file, int flags, unsigned mode) { int fd; struct MetalFile *state; @@ -61,3 +63,5 @@ int sys_openat_metal(int dirfd, const char *file, int flags, unsigned mode) { g_fds.p[fd].handle = (intptr_t)state; return fd; } + +#endif /* __x86_64__ */ diff --git a/libc/calls/parsepromises.c b/libc/calls/parsepromises.c index 3929d63d5..02936a19d 100644 --- a/libc/calls/parsepromises.c +++ b/libc/calls/parsepromises.c @@ -20,6 +20,8 @@ #include "libc/macros.internal.h" #include "libc/str/str.h" +#ifdef __x86_64__ + static int FindPromise(const char *name) { int i; for (i = 0; i < ARRAYLEN(kPledge); ++i) { @@ -64,3 +66,5 @@ int ParsePromises(const char *promises, unsigned long *out) { } return rc; } + +#endif /* __x86_64__ */ diff --git a/libc/calls/pledge.c b/libc/calls/pledge.c index 21b7ce4f7..245734dea 100644 --- a/libc/calls/pledge.c +++ b/libc/calls/pledge.c @@ -28,6 +28,8 @@ #include "libc/runtime/runtime.h" #include "libc/sysv/errfuns.h" +#ifdef __x86_64__ + /** * Permits system operations, e.g. * @@ -276,3 +278,5 @@ int pledge(const char *promises, const char *execpromises) { STRACE("pledge(%#s, %#s) → %d% m", promises, execpromises, rc); return rc; } + +#endif /* __x86_64__ */ diff --git a/libc/calls/poll-nt.c b/libc/calls/poll-nt.c index b906b796c..feb4d7b74 100644 --- a/libc/calls/poll-nt.c +++ b/libc/calls/poll-nt.c @@ -41,6 +41,8 @@ #include "libc/sysv/consts/sig.h" #include "libc/sysv/errfuns.h" +#ifdef __x86_64__ + /* * Polls on the New Technology. * @@ -218,3 +220,5 @@ ReturnPath: } return rc; } + +#endif /* __x86_64__ */ diff --git a/libc/calls/prctl.c b/libc/calls/prctl.c index 9e8182b43..c8f90d67e 100644 --- a/libc/calls/prctl.c +++ b/libc/calls/prctl.c @@ -66,7 +66,7 @@ privileged int prctl(int operation, ...) { : "=r"(res_x0) : "i"(167), "r"(r0), "r"(r1), "r"(r2), "r"(r3), "r"(r4) : "x8", "memory"); - rc = _sysret32(res_x0); + rc = _sysret(res_x0); #else #error "arch unsupported" #endif diff --git a/libc/calls/program_invocation_short_name.S b/libc/calls/program_invocation_short_name.S deleted file mode 100644 index cae430d67..000000000 --- a/libc/calls/program_invocation_short_name.S +++ /dev/null @@ -1,50 +0,0 @@ -/*-*- mode:unix-assembly; indent-tabs-mode:t; tab-width:8; coding:utf-8 -*-│ -│vi: set et ft=asm ts=8 sw=8 fenc=utf-8 :vi│ -╞══════════════════════════════════════════════════════════════════════════════╡ -│ Copyright 2020 Justine Alexandra Roberts Tunney │ -│ │ -│ Permission to use, copy, modify, and/or distribute this software for │ -│ any purpose with or without fee is hereby granted, provided that the │ -│ above copyright notice and this permission notice appear in all copies. │ -│ │ -│ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL │ -│ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED │ -│ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE │ -│ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL │ -│ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR │ -│ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER │ -│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ -│ PERFORMANCE OF THIS SOFTWARE. │ -╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/macros.internal.h" - - .initbss 400,_init_program_invocation_short_name -// Supplies basename(argv[0]) The GNU Way. -// -// If argv[0] isn't supplied, this value will be null. -// -// @see GetProgramExecutableName() -// @see program_invocation_name -program_invocation_short_name: - .quad 0 - .endobj program_invocation_short_name,globl - .previous - - .init.start 400,_init_program_invocation_short_name - push %rsi - xor %eax,%eax - test %r12d,%r12d # argc - jz 2f - mov (%r13),%rsi # argv[0] - mov %rsi,%rcx -1: lodsb - cmp $'/',%al - cmoveq %rsi,%rcx - cmp $'\\',%al - cmoveq %rsi,%rcx - test %al,%al - jnz 1b - xchg %rcx,%rax - pop %rsi -2: stosq - .init.end 400,_init_program_invocation_short_name diff --git a/libc/aarch64/crt.S b/libc/calls/program_invocation_short_name.c similarity index 71% rename from libc/aarch64/crt.S rename to libc/calls/program_invocation_short_name.c index 57cfa23e0..f88d0228a 100644 --- a/libc/aarch64/crt.S +++ b/libc/calls/program_invocation_short_name.c @@ -1,5 +1,5 @@ -/*-*- mode:unix-assembly; indent-tabs-mode:t; tab-width:8; coding:utf-8 -*-│ -│vi: set et ft=asm ts=8 tw=8 fenc=utf-8 :vi│ +/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:2;tab-width:8;coding:utf-8 -*-│ +│vi: set net ft=c ts=2 sts=2 sw=2 fenc=utf-8 :vi│ ╞══════════════════════════════════════════════════════════════════════════════╡ │ Copyright 2023 Justine Alexandra Roberts Tunney │ │ │ @@ -16,38 +16,19 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ +#include "libc/runtime/runtime.h" +#include "libc/str/str.h" - .globl _start - .type _start,%function -_start: mov x29,#0 - mov x30,#0 - mov x0,sp - and sp,x0,#-16 - b _start_c - .size _start,.-_start +char *program_invocation_short_name; - .section .initprologue - .global _init - .type _init,%function -_init: stp x29,x30,[sp,-16]! - mov x29,sp - .previous/* - ... - decentralized content - ... - */.section .initepilogue - ldp x29,x30,[sp],#16 - ret - - .section .finiprologue - .global _fini - .type _fini,%function -_fini: stp x29,x30,[sp,-16]! - mov x29,sp - .previous/* - ... - decentralized content - ... - */.section .finiepilogue - ldp x29,x30,[sp],#16 - ret +__attribute__((__constructor__)) static void // +program_invocation_short_name_init(void) { + char *p, *r; + if (!__argc) return; + if ((p = strrchr(__argv[0], '/'))) { + r = p + 1; + } else { + r = __argv[0]; + } + program_invocation_short_name = r; +} diff --git a/libc/calls/readv-metal.c b/libc/calls/readv-metal.c index d7476f9bb..8d813deff 100644 --- a/libc/calls/readv-metal.c +++ b/libc/calls/readv-metal.c @@ -26,6 +26,8 @@ #include "libc/sysv/errfuns.h" #include "libc/vga/vga.internal.h" +#ifdef __x86_64__ + ssize_t sys_readv_metal(struct Fd *fd, const struct iovec *iov, int iovlen) { int i; size_t got, toto; @@ -56,3 +58,5 @@ ssize_t sys_readv_metal(struct Fd *fd, const struct iovec *iov, int iovlen) { return ebadf(); } } + +#endif /* __x86_64__ */ diff --git a/libc/calls/seccomp.c b/libc/calls/seccomp.c index 4b27a722b..5b845be35 100644 --- a/libc/calls/seccomp.c +++ b/libc/calls/seccomp.c @@ -74,7 +74,7 @@ privileged int seccomp(unsigned operation, unsigned flags, void *args) { : "=r"(res_x0) : "i"(211), "r"(r0), "r"(r1), "r"(r2) : "x8", "memory"); - rc = _sysret32(res_x0); + rc = _sysret(res_x0); #else #error "arch unsupported" #endif diff --git a/libc/calls/setitimer-nt.c b/libc/calls/setitimer-nt.c index 4e39963cf..15620e889 100644 --- a/libc/calls/setitimer-nt.c +++ b/libc/calls/setitimer-nt.c @@ -41,6 +41,8 @@ #include "libc/sysv/errfuns.h" #include "libc/time/time.h" +#ifdef __x86_64__ + /** * @fileoverview Heartbreaking polyfill for SIGALRM on NT. * @@ -130,3 +132,5 @@ textwindows int sys_setitimer_nt(int which, const struct itimerval *newvalue, return 0; } + +#endif /* __x86_64__ */ diff --git a/libc/calls/sigaction.c b/libc/calls/sigaction.c index db1f5575c..9f3ae0272 100644 --- a/libc/calls/sigaction.c +++ b/libc/calls/sigaction.c @@ -255,7 +255,9 @@ static int __sigaction(int sig, const struct sigaction *act, if (act) { __sighandrvas[sig] = rva; __sighandflags[sig] = act->sa_flags; - __sig_check_ignore(sig, rva); + if (IsWindows()) { + __sig_check_ignore(sig, rva); + } } } return rc; diff --git a/libc/calls/sigchld-nt.c b/libc/calls/sigchld-nt.c index c149690e4..06f5eedbb 100644 --- a/libc/calls/sigchld-nt.c +++ b/libc/calls/sigchld-nt.c @@ -32,6 +32,8 @@ #include "libc/sysv/consts/sicode.h" #include "libc/sysv/consts/sig.h" +#ifdef __x86_64__ + /** * Checks to see if SIGCHLD should be raised on Windows. * @return true if a signal was raised @@ -67,3 +69,5 @@ void _check_sigchld(void) { __fds_unlock(); __sig_add(0, SIGCHLD, CLD_EXITED); } + +#endif /* __x86_64__ */ diff --git a/libc/calls/sigwinch-nt.c b/libc/calls/sigwinch-nt.c index 4b3382861..dc4330d96 100644 --- a/libc/calls/sigwinch-nt.c +++ b/libc/calls/sigwinch-nt.c @@ -32,6 +32,8 @@ #include "libc/sysv/consts/sig.h" #include "libc/thread/tls.h" +#ifdef __x86_64__ + static struct winsize __ws; textwindows void _check_sigwinch(struct Fd *fd) { @@ -58,3 +60,5 @@ textwindows void _check_sigwinch(struct Fd *fd) { } errno = e; } + +#endif /* __x86_64__ */ diff --git a/libc/calls/syscall-sysv.internal.h b/libc/calls/syscall-sysv.internal.h index d06edbd93..f9ee8c8c4 100644 --- a/libc/calls/syscall-sysv.internal.h +++ b/libc/calls/syscall-sysv.internal.h @@ -10,9 +10,6 @@ COSMOPOLITAN_C_START_ │ cosmopolitan § syscalls » system five » structless synthetic jump slots ─╬─│┼ ╚────────────────────────────────────────────────────────────────────────────│*/ -int _sysret32(long) asm("_sysret"); -long _sysret64(long) asm("_sysret"); - axdx_t __sys_fork(void) _Hide; axdx_t __sys_pipe(i32[hasatleast 2], i32) _Hide; axdx_t sys_getpid(void) _Hide; @@ -65,6 +62,7 @@ i32 sys_getresgid(u32 *, u32 *, u32 *) _Hide; i32 sys_getresuid(u32 *, u32 *, u32 *) _Hide; i32 sys_getsid(i32) _Hide; i32 sys_gettid(void) _Hide; +i32 sys_ioctl(i32, u64, ...) _Hide; i32 sys_ioctl_cp(i32, u64, ...) _Hide; i32 sys_issetugid(void) _Hide; i32 sys_kill(i32, i32, i32) _Hide; @@ -133,54 +131,18 @@ i64 sys_readlink(const char *, char *, u64) _Hide; i64 sys_readlinkat(i32, const char *, char *, u64) _Hide; i64 sys_sendfile(i32, i32, i64 *, u64) _Hide; i64 sys_splice(i32, i64 *, i32, i64 *, u64, u32) _Hide; +i64 sys_write(i32, const void *, u64) _Hide; u32 sys_getegid(void) _Hide; u32 sys_geteuid(void) _Hide; u32 sys_getgid(void) _Hide; u32 sys_getuid(void) _Hide; u32 sys_umask(u32) _Hide; +unsigned long _sysret(unsigned long) _Hide; void *__sys_mmap(void *, u64, u32, u32, i64, i64, i64) _Hide; +void *__sys_mremap(void *, u64, u64, i32, void *) _Hide; void *sys_mremap(void *, u64, u64, i32, void *) _Hide; void sys_exit(i32) _Hide; -#ifdef __x86_64__ -i64 sys_write(i32, const void *, u64) _Hide; -#elif defined(__aarch64__) -static inline ssize_t sys_write(int f, const void *b, size_t c) { - register long r0 asm("x0") = (long)f; - register long r1 asm("x1") = (long)b; - register long r2 asm("x2") = (long)c; - register long res_x0 asm("x0"); - asm volatile("mov\tx8,%1\n\t" - "svc\t0" - : "=r"(res_x0) - : "i"(64), "r"(r0), "r"(r1), "r"(r2) - : "x8", "memory"); - return _sysret64(res_x0); -} -#endif - -#ifdef __x86_64__ -i32 sys_ioctl(i32, u64, ...) _Hide; -#elif defined(__aarch64__) -static inline int sys_ioctl(int d, int r, ...) { - void *a; - va_list va; - va_start(va, r); - a = va_arg(va, void *); - va_end(va); - register long r0 asm("x0") = (long)d; - register long r1 asm("x1") = (long)r; - register long r2 asm("x2") = (long)a; - register long res_x0 asm("x0"); - asm volatile("mov\tx8,%1\n\t" - "svc\t0" - : "=r"(res_x0) - : "i"(29), "r"(r0), "r"(r1), "r"(r2) - : "x8", "memory"); - return _sysret32(res_x0); -} -#endif - #undef i32 #undef i64 #undef u32 diff --git a/libc/calls/unveil.c b/libc/calls/unveil.c index f5f7cd01d..05817da7b 100644 --- a/libc/calls/unveil.c +++ b/libc/calls/unveil.c @@ -48,6 +48,8 @@ #include "libc/sysv/errfuns.h" #include "libc/thread/tls.h" +#ifdef __x86_64__ + #define OFF(f) offsetof(struct seccomp_data, f) #define UNVEIL_READ \ @@ -400,3 +402,5 @@ int unveil(const char *path, const char *permissions) { STRACE("unveil(%#s, %#s) → %d% m", path, permissions, rc); return rc; } + +#endif /* __x86_64__ */ diff --git a/libc/calls/nowl.S b/libc/calls/virtualmax2.c similarity index 80% rename from libc/calls/nowl.S rename to libc/calls/virtualmax2.c index d83b1f59d..50799be05 100644 --- a/libc/calls/nowl.S +++ b/libc/calls/virtualmax2.c @@ -1,7 +1,7 @@ -/*-*- mode:unix-assembly; indent-tabs-mode:t; tab-width:8; coding:utf-8 -*-│ -│vi: set et ft=asm ts=8 tw=8 fenc=utf-8 :vi│ +/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:2;tab-width:8;coding:utf-8 -*-│ +│vi: set net ft=c ts=2 sts=2 sw=2 fenc=utf-8 :vi│ ╞══════════════════════════════════════════════════════════════════════════════╡ -│ Copyright 2022 Justine Alexandra Roberts Tunney │ +│ Copyright 2023 Justine Alexandra Roberts Tunney │ │ │ │ Permission to use, copy, modify, and/or distribute this software for │ │ any purpose with or without fee is hereby granted, provided that the │ @@ -16,14 +16,9 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/macros.internal.h" +#include "libc/runtime/runtime.h" +#ifndef __x86_64__ - .initbss 201,_init_nowl -nowl: .quad 0 - .endobj nowl,globl - .previous +size_t __virtualmax = -1; - .init.start 201,_init_nowl - ezlea nowl_setup,ax - stosq - .init.end 201,_init_nowl +#endif /* __x86_64__ */ diff --git a/libc/calls/wait4-nt.c b/libc/calls/wait4-nt.c index 643f52a20..9d81af9cc 100644 --- a/libc/calls/wait4-nt.c +++ b/libc/calls/wait4-nt.c @@ -45,6 +45,8 @@ #include "libc/sysv/consts/w.h" #include "libc/sysv/errfuns.h" +#ifdef __x86_64__ + static textwindows int sys_wait4_nt_impl(int pid, int *opt_out_wstatus, int options, struct rusage *opt_out_rusage) { @@ -156,3 +158,5 @@ textwindows int sys_wait4_nt(int pid, int *opt_out_wstatus, int options, __sig_mask(SIG_SETMASK, &oldmask, 0); return rc; } + +#endif /* __x86_64__ */ diff --git a/libc/calls/wincrash.c b/libc/calls/wincrash.c index cf6e45ca0..33247766c 100644 --- a/libc/calls/wincrash.c +++ b/libc/calls/wincrash.c @@ -34,6 +34,8 @@ #include "libc/thread/tls.h" #include "libc/thread/tls2.h" +#ifdef __x86_64__ + privileged unsigned __wincrash(struct NtExceptionPointers *ep) { int64_t rip; int sig, code; @@ -147,3 +149,5 @@ privileged unsigned __wincrash(struct NtExceptionPointers *ep) { return kNtExceptionContinueExecution; } + +#endif /* __x86_64__ */ diff --git a/libc/calls/writev-metal.c b/libc/calls/writev-metal.c index 9b2b6a509..d0db5d784 100644 --- a/libc/calls/writev-metal.c +++ b/libc/calls/writev-metal.c @@ -23,6 +23,8 @@ #include "libc/sysv/errfuns.h" #include "libc/vga/vga.internal.h" +#ifdef __x86_64__ + ssize_t sys_writev_metal(struct Fd *fd, const struct iovec *iov, int iovlen) { switch (fd->kind) { case kFdConsole: @@ -34,3 +36,5 @@ ssize_t sys_writev_metal(struct Fd *fd, const struct iovec *iov, int iovlen) { return ebadf(); } } + +#endif /* __x86_64__ */ diff --git a/libc/crt/crt.S b/libc/crt/crt.S index 6b79877b0..949dbc267 100644 --- a/libc/crt/crt.S +++ b/libc/crt/crt.S @@ -30,6 +30,7 @@ // @note ape.S and ape-loader both set RCX to XNU on Darwin // @noreturn _start: +#ifdef __x86_64__ #if SupportsXnu() // Hack for detecting M1 Rosetta environment. @@ -63,9 +64,9 @@ _start: mov %edx,4(%rbx) // translates arguments from old stack abi - mov (%rsp),%ebx # argc - lea 8(%rsp),%rsi # argv - lea 16(%rsp,%rbx,8),%rdx # envp + mov (%rsp),%ebx // argc + lea 8(%rsp),%rsi // argv + lea 16(%rsp,%rbx,8),%rdx // envp mov %rsp,__oldstack(%rip) and $-16,%rsp xor %ebp,%ebp @@ -87,19 +88,33 @@ _start: or $-1,%ecx mov %rdx,%rdi repnz scasq - mov %rdi,%rcx # auxv + mov %rdi,%rcx // auxv #if SupportsXnu() // xnu doesn't have auxiliary values testb IsXnu() - jz 1f # polyfill xnu auxv - push $0 # auxv[1][1]=0 - push $0 # auxv[1][0]=0 - mov %rsp,%rcx # auxv + jz 1f // polyfill xnu auxv + push $0 // auxv[1][1]=0 + push $0 // auxv[1][0]=0 + mov %rsp,%rcx // auxv #endif // enter cosmopolitan runtime 1: mov %ebx,%edi call cosmo 9: .unreachable + +//////////////////////////////////////////////////////////////////////////////// +#elif defined(__aarch64__) + + mov x29,#0 + mov x30,#0 + mov x0,sp + and sp,x0,#-16 + b cosmo + +//////////////////////////////////////////////////////////////////////////////// +#else +#error "architecture unsupported" +#endif /* __x86_64__ */ .endfn _start,weak,hidden diff --git a/libc/crt/crt.mk b/libc/crt/crt.mk index 38abea4e0..b154e8066 100644 --- a/libc/crt/crt.mk +++ b/libc/crt/crt.mk @@ -26,5 +26,9 @@ CRT_SRCS = libc/crt/crt.S CRT_OBJS = o/$(MODE)/libc/crt/crt.o $(CRT_OBJS): $(BUILD_FILES) libc/crt/crt.mk +# these assembly files are safe to build on aarch64 +o/$(MODE)/libc/crt/crt.o: libc/crt/crt.S + @$(COMPILE) -AOBJECTIFY.S $(OBJECTIFY.S) $(OUTPUT_OPTION) -c $< + .PHONY: o/$(MODE)/libc/crt o/$(MODE)/libc/crt: $(CRT) diff --git a/libc/dce.h b/libc/dce.h index c2abdf365..e7d97fcf5 100644 --- a/libc/dce.h +++ b/libc/dce.h @@ -5,11 +5,15 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #ifndef SUPPORT_VECTOR +#ifdef __x86_64__ /** * Supported Platforms Tuning Knob (Runtime & Compile-Time) * Tuning this bitmask will remove platform polyfills at compile-time. */ #define SUPPORT_VECTOR 255 +#else +#define SUPPORT_VECTOR _HOSTLINUX +#endif #endif #define _HOSTLINUX 1 diff --git a/libc/elf/def.h b/libc/elf/def.h index 311618ee7..e323dab81 100644 --- a/libc/elf/def.h +++ b/libc/elf/def.h @@ -68,6 +68,7 @@ #define EM_NONE 0 #define EM_M32 1 #define EM_386 3 +#define EM_PPC64 21 #define EM_S390 22 #define EM_ARM 40 #define EM_NEXGEN32E 62 diff --git a/libc/intrin/describeclockname.c b/libc/intrin/describeclockname.c index 7f93bfa1f..817c5d92f 100644 --- a/libc/intrin/describeclockname.c +++ b/libc/intrin/describeclockname.c @@ -19,13 +19,9 @@ #include "libc/fmt/magnumstrs.internal.h" #include "libc/intrin/describeflags.internal.h" -#ifdef DescribeClockName -#undef DescribeClockName -#endif - /** * Describes clock_gettime() clock argument. */ -const char *DescribeClockName(char buf[32], int x) { +const char *(DescribeClockName)(char buf[32], int x) { return DescribeMagnum(buf, kClockNames, "CLOCK_", x); } diff --git a/libc/intrin/describednotify.c b/libc/intrin/describednotify.c index 9579b21f3..1b09369d6 100644 --- a/libc/intrin/describednotify.c +++ b/libc/intrin/describednotify.c @@ -21,10 +21,6 @@ #include "libc/nt/enum/processaccess.h" #include "libc/sysv/consts/dn.h" -#ifdef DescribeDnotifyFlags -#undef DescribeDnotifyFlags -#endif - static const struct DescribeFlags kDnotifyFlags[] = { {DN_ACCESS, "ACCESS"}, // {DN_MODIFY, "MODIFY"}, // @@ -35,7 +31,7 @@ static const struct DescribeFlags kDnotifyFlags[] = { {DN_MULTISHOT, "MULTISHOT"}, // }; -const char *DescribeDnotifyFlags(char buf[80], int x) { +const char *(DescribeDnotifyFlags)(char buf[80], int x) { return DescribeFlags(buf, 80, kDnotifyFlags, ARRAYLEN(kDnotifyFlags), "DN_", x); } diff --git a/libc/intrin/describeerrnoresult.c b/libc/intrin/describeerrnoresult.c index 35ce01e6e..d5663eeeb 100644 --- a/libc/intrin/describeerrnoresult.c +++ b/libc/intrin/describeerrnoresult.c @@ -20,11 +20,7 @@ #include "libc/intrin/describeflags.internal.h" #include "libc/str/str.h" -#ifdef DescribeErrno -#undef DescribeErrno -#endif - -const char *DescribeErrno(char buf[20], int ax) { +const char *(DescribeErrno)(char buf[20], int ax) { char *p = buf; const char *s; if (ax < 0) { diff --git a/libc/intrin/describeflocktype.c b/libc/intrin/describeflocktype.c index 9d58fbba0..e42d4f1b8 100644 --- a/libc/intrin/describeflocktype.c +++ b/libc/intrin/describeflocktype.c @@ -19,11 +19,7 @@ #include "libc/fmt/itoa.h" #include "libc/sysv/consts/f.h" -#ifdef DescribeFlockType -#undef DescribeFlockType -#endif - -const char *DescribeFlockType(char buf[12], int x) { +const char *(DescribeFlockType)(char buf[12], int x) { if (x == F_RDLCK) return "F_RDLCK"; if (x == F_WRLCK) return "F_WRLCK"; if (x == F_UNLCK) return "F_UNLCK"; diff --git a/libc/intrin/describefutexop.c b/libc/intrin/describefutexop.c index 157bcdd19..80993d8d7 100644 --- a/libc/intrin/describefutexop.c +++ b/libc/intrin/describefutexop.c @@ -21,11 +21,7 @@ #include "libc/str/str.h" #include "libc/sysv/consts/futex.h" -#ifdef DescribeFutexOp -#undef DescribeFutexOp -#endif - -const char *DescribeFutexOp(char buf[64], int x) { +const char *(DescribeFutexOp)(char buf[64], int x) { bool priv = false; if (x & FUTEX_PRIVATE_FLAG) { diff --git a/libc/intrin/describemapflags.c b/libc/intrin/describemapflags.c index 15e02f567..fedbf81ca 100644 --- a/libc/intrin/describemapflags.c +++ b/libc/intrin/describemapflags.c @@ -22,11 +22,7 @@ #include "libc/sysv/consts/map.h" #include "libc/sysv/consts/prot.h" -#ifdef DescribeMapFlags -#undef DescribeMapFlags -#endif - -const char *DescribeMapFlags(char buf[64], int x) { +const char *(DescribeMapFlags)(char buf[64], int x) { const struct DescribeFlags kMapFlags[] = { {MAP_STACK, "STACK"}, // order matters {MAP_PRIVATE, "PRIVATE"}, // diff --git a/libc/intrin/describentfileaccessflags.c b/libc/intrin/describentfileaccessflags.c index 4d8c1f02e..a29c17066 100644 --- a/libc/intrin/describentfileaccessflags.c +++ b/libc/intrin/describentfileaccessflags.c @@ -21,10 +21,6 @@ #include "libc/nt/enum/accessmask.h" #include "libc/nt/enum/filesharemode.h" -#ifdef DescribeNtFileAccessFlags -#undef DescribeNtFileAccessFlags -#endif - static const struct DescribeFlags kFileAccessflags[] = { {kNtFileAllAccess, "FileAllAccess"}, // order matters {kNtFileGenericRead, "FileGenericRead"}, // order matters @@ -67,7 +63,7 @@ static const struct DescribeFlags kFileAccessflags[] = { {kNtTokenAdjustSessionid, "TokenAdjustSessionid"}, // }; -const char *DescribeNtFileAccessFlags(char buf[512], uint32_t x) { +const char *(DescribeNtFileAccessFlags)(char buf[512], uint32_t x) { return DescribeFlags(buf, 512, kFileAccessflags, ARRAYLEN(kFileAccessflags), "kNt", x); } diff --git a/libc/intrin/describentpipemodeflags.c b/libc/intrin/describentpipemodeflags.c index 0e015c063..56d095078 100644 --- a/libc/intrin/describentpipemodeflags.c +++ b/libc/intrin/describentpipemodeflags.c @@ -21,10 +21,6 @@ #include "libc/nt/enum/filemapflags.h" #include "libc/nt/ipc.h" -#ifdef DescribeNtPipeModeFlags -#undef DescribeNtPipeModeFlags -#endif - static const struct DescribeFlags kPipeModeFlags[] = { {kNtPipeNowait, "Nowait"}, // 0x0000000001 {kNtPipeReadmodeMessage, "ReadmodeMessage"}, // 0x0000000002 @@ -36,7 +32,7 @@ static const struct DescribeFlags kPipeModeFlags[] = { //{kNtPipeTypeByte, "TypeByte"}, // 0x00000000 }; -const char *DescribeNtPipeModeFlags(char buf[64], uint32_t x) { +const char *(DescribeNtPipeModeFlags)(char buf[64], uint32_t x) { return DescribeFlags(buf, 64, kPipeModeFlags, ARRAYLEN(kPipeModeFlags), "kNtPipe", x); } diff --git a/libc/intrin/describeopenflags.c b/libc/intrin/describeopenflags.c index 78cc7cdac..5e80c1069 100644 --- a/libc/intrin/describeopenflags.c +++ b/libc/intrin/describeopenflags.c @@ -23,16 +23,12 @@ #include "libc/macros.internal.h" #include "libc/sysv/consts/sol.h" -#ifdef DescribeOpenFlags -#undef DescribeOpenFlags -#endif - #define N (PAGESIZE / 2 / sizeof(struct DescribeFlags)) /** * Describes clock_gettime() clock argument. */ -const char *DescribeOpenFlags(char buf[128], int x) { +const char *(DescribeOpenFlags)(char buf[128], int x) { char *s; int i, n; struct DescribeFlags d[N]; diff --git a/libc/intrin/describeschedparam.c b/libc/intrin/describeschedparam.c index ebdcc384e..bb453a29b 100644 --- a/libc/intrin/describeschedparam.c +++ b/libc/intrin/describeschedparam.c @@ -21,14 +21,10 @@ #include "libc/intrin/describeflags.internal.h" #include "libc/str/str.h" -#ifdef DescribeSchedParam -#undef DescribeSchedParam -#endif - /** * Describes clock_gettime() clock argument. */ -const char *DescribeSchedParam(char buf[32], const struct sched_param *x) { +const char *(DescribeSchedParam)(char buf[32], const struct sched_param *x) { char *p; if (!x) return "0"; p = buf; diff --git a/libc/intrin/describesiginfo.c b/libc/intrin/describesiginfo.c index fd09101e2..15ae49f13 100644 --- a/libc/intrin/describesiginfo.c +++ b/libc/intrin/describesiginfo.c @@ -26,15 +26,11 @@ #include "libc/str/str.h" #include "libc/sysv/consts/sig.h" -#ifdef DescribeSiginfo -#undef DescribeSiginfo -#endif - #define N 300 #define append(...) i += ksnprintf(buf + i, N - i, __VA_ARGS__) -const char *DescribeSiginfo(char buf[N], int rc, const siginfo_t *si) { +const char *(DescribeSiginfo)(char buf[N], int rc, const siginfo_t *si) { int i = 0; if (rc == -1) return "n/a"; diff --git a/libc/intrin/describesigset.c b/libc/intrin/describesigset.c index 233e8ee01..87e0ea04f 100644 --- a/libc/intrin/describesigset.c +++ b/libc/intrin/describesigset.c @@ -26,15 +26,11 @@ #include "libc/sysv/consts/limits.h" #include "libc/sysv/consts/sig.h" -#ifdef DescribeSigset -#undef DescribeSigset -#endif - #define N 128 #define append(...) o += ksnprintf(buf + o, N - o, __VA_ARGS__) -const char *DescribeSigset(char buf[N], int rc, const sigset_t *ss) { +const char *(DescribeSigset)(char buf[N], int rc, const sigset_t *ss) { bool gotsome; const char *s; int sig, o = 0; diff --git a/libc/intrin/describesleepflags.c b/libc/intrin/describesleepflags.c index 3788635c2..9bdd12f4b 100644 --- a/libc/intrin/describesleepflags.c +++ b/libc/intrin/describesleepflags.c @@ -21,14 +21,10 @@ #include "libc/intrin/describeflags.internal.h" #include "libc/sysv/consts/timer.h" -#ifdef DescribeSleepFlags -#undef DescribeSleepFlags -#endif - /** * Describes clock_nanosleep() flags argument. */ -const char *DescribeSleepFlags(char buf[16], int x) { +const char *(DescribeSleepFlags)(char buf[16], int x) { switch (x) { case 0: return "0"; diff --git a/libc/intrin/describestat.c b/libc/intrin/describestat.c index 2f2eb16d1..c844f2247 100644 --- a/libc/intrin/describestat.c +++ b/libc/intrin/describestat.c @@ -22,15 +22,11 @@ #include "libc/intrin/asan.internal.h" #include "libc/intrin/kprintf.h" -#ifdef DescribeStat -#undef DescribeStat -#endif - #define N 300 #define append(...) o += ksnprintf(buf + o, N - o, __VA_ARGS__) -const char *DescribeStat(char buf[N], int rc, const struct stat *st) { +const char *(DescribeStat)(char buf[N], int rc, const struct stat *st) { int o = 0; if (rc == -1) return "n/a"; diff --git a/libc/intrin/describewhence.c b/libc/intrin/describewhence.c index a0f665641..2b105a622 100644 --- a/libc/intrin/describewhence.c +++ b/libc/intrin/describewhence.c @@ -20,11 +20,7 @@ #include "libc/fmt/itoa.h" #include "libc/intrin/describeflags.internal.h" -#ifdef DescribeWhence -#undef DescribeWhence -#endif - -const char *DescribeWhence(char buf[12], int whence) { +const char *(DescribeWhence)(char buf[12], int whence) { if (whence == SEEK_SET) return "SEEK_SET"; if (whence == SEEK_CUR) return "SEEK_CUR"; if (whence == SEEK_END) return "SEEK_END"; diff --git a/libc/intrin/describewhichprio.c b/libc/intrin/describewhichprio.c index f61711902..a29eacd91 100644 --- a/libc/intrin/describewhichprio.c +++ b/libc/intrin/describewhichprio.c @@ -20,11 +20,7 @@ #include "libc/intrin/describeflags.internal.h" #include "libc/sysv/consts/prio.h" -#ifdef DescribeWhichPrio -#undef DescribeWhichPrio -#endif - -const char *DescribeWhichPrio(char buf[12], int x) { +const char *(DescribeWhichPrio)(char buf[12], int x) { if (x == PRIO_PROCESS) return "PRIO_PROCESS"; if (x == PRIO_PGRP) return "PRIO_PGRP"; if (x == PRIO_USER) return "PRIO_USER"; diff --git a/libc/intrin/memset.c b/libc/intrin/memset.c index 73ac112f3..b11a48786 100644 --- a/libc/intrin/memset.c +++ b/libc/intrin/memset.c @@ -157,7 +157,7 @@ void *memset(void *p, int c, size_t n) { } while (n); } return b; -#ifdef __x86_64__ +#ifdef __x86__ } else if (IsTiny()) { asm("rep stosb" : "+D"(b), "+c"(n), "=m"(*(char(*)[n])b) : "0"(p), "a"(c)); return p; diff --git a/libc/intrin/psradv.c b/libc/intrin/psradv.c index 1b2b6ff1e..8506a4ffa 100644 --- a/libc/intrin/psradv.c +++ b/libc/intrin/psradv.c @@ -18,17 +18,13 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/intrin/psrad.h" -#ifdef psradv -#undef psradv -#endif - /** * Divides shorts by two powers. * * @note arithmetic shift right will sign extend negatives * @mayalias */ -void psradv(int32_t a[4], const int32_t b[4], const uint64_t c[2]) { +void(psradv)(int32_t a[4], const int32_t b[4], const uint64_t c[2]) { unsigned i; unsigned char k; k = c[0] > 31 ? 31 : c[0]; diff --git a/libc/intrin/psubusb.c b/libc/intrin/psubusb.c index 6f1649ce9..817f75c5b 100644 --- a/libc/intrin/psubusb.c +++ b/libc/intrin/psubusb.c @@ -21,10 +21,6 @@ #include "libc/macros.internal.h" #include "libc/str/str.h" -#ifdef psubusb -#undef psubusb -#endif - /** * Subtracts unsigned 8-bit integers w/ saturation. * @@ -33,7 +29,7 @@ * @param 𝑐 [r/o] supplies second input vector * @mayalias */ -void psubusb(uint8_t a[16], const uint8_t b[16], const uint8_t c[16]) { +void(psubusb)(uint8_t a[16], const uint8_t b[16], const uint8_t c[16]) { unsigned i; uint8_t r[16]; for (i = 0; i < 16; ++i) { diff --git a/libc/intrin/pthread_cleanup_pop.c b/libc/intrin/pthread_cleanup_pop.c index 6babb3ed4..a6c9bb255 100644 --- a/libc/intrin/pthread_cleanup_pop.c +++ b/libc/intrin/pthread_cleanup_pop.c @@ -21,11 +21,7 @@ #include "libc/thread/thread.h" #include "libc/thread/tls.h" -#ifdef pthread_cleanup_pop -#undef pthread_cleanup_pop -#endif - -void pthread_cleanup_pop(struct _pthread_cleanup_buffer *cb, int execute) { +void(pthread_cleanup_pop)(struct _pthread_cleanup_buffer *cb, int execute) { struct PosixThread *pt; if (__tls_enabled && (pt = (struct PosixThread *)__get_tls()->tib_pthread)) { _unassert(cb == pt->cleanup); diff --git a/libc/intrin/pthread_cleanup_push.c b/libc/intrin/pthread_cleanup_push.c index 4e5774e8e..b294c6d21 100644 --- a/libc/intrin/pthread_cleanup_push.c +++ b/libc/intrin/pthread_cleanup_push.c @@ -20,12 +20,8 @@ #include "libc/thread/thread.h" #include "libc/thread/tls.h" -#ifdef pthread_cleanup_push -#undef pthread_cleanup_push -#endif - -void pthread_cleanup_push(struct _pthread_cleanup_buffer *cb, - void (*routine)(void *), void *arg) { +void(pthread_cleanup_push)(struct _pthread_cleanup_buffer *cb, + void (*routine)(void *), void *arg) { struct PosixThread *pt; cb->__routine = routine; cb->__arg = arg; diff --git a/libc/intrin/pthread_spin_init.c b/libc/intrin/pthread_spin_init.c index 8aa821a73..5ddf68548 100644 --- a/libc/intrin/pthread_spin_init.c +++ b/libc/intrin/pthread_spin_init.c @@ -19,10 +19,6 @@ #include "libc/intrin/atomic.h" #include "libc/thread/thread.h" -#ifdef pthread_spin_init -#undef pthread_spin_init -#endif - /** * Initializes spin lock. * @@ -32,7 +28,7 @@ * @see pthread_spin_destroy * @see pthread_spin_lock */ -errno_t pthread_spin_init(pthread_spinlock_t *spin, int pshared) { +errno_t(pthread_spin_init)(pthread_spinlock_t *spin, int pshared) { atomic_store_explicit(&spin->_lock, 0, memory_order_relaxed); return 0; } diff --git a/libc/intrin/pthread_spin_lock.c b/libc/intrin/pthread_spin_lock.c index 45ac3ea52..1fce825df 100644 --- a/libc/intrin/pthread_spin_lock.c +++ b/libc/intrin/pthread_spin_lock.c @@ -21,10 +21,6 @@ #include "libc/intrin/strace.internal.h" #include "libc/thread/thread.h" -#ifdef pthread_spin_lock -#undef pthread_spin_lock -#endif - /** * Acquires spin lock, e.g. * @@ -43,7 +39,7 @@ * @see pthread_spin_unlock * @see pthread_spin_init */ -errno_t pthread_spin_lock(pthread_spinlock_t *spin) { +errno_t(pthread_spin_lock)(pthread_spinlock_t *spin) { int x; #if defined(SYSDEBUG) && _LOCKTRACE for (;;) { diff --git a/libc/macros.internal.h b/libc/macros.internal.h index ee893441f..de9c871ea 100644 --- a/libc/macros.internal.h +++ b/libc/macros.internal.h @@ -164,6 +164,17 @@ .previous .endm +// Documents unreachable assembly code. +.macro .unreachable +#if !defined(NDEBUG) && defined(__x86_64__) + ud2 // crash if contract is broken +#elif !defined(NDEBUG) && defined(__aarch64__) + brk #1000 +#elif defined(__FNO_OMIT_FRAME_POINTER__) + nop // avoid noreturn tail call backtrace ambiguity +#endif +.endm + #ifdef __x86_64__ #if __MNO_VZEROUPPER__ + 0 @@ -447,15 +458,6 @@ #endif .endm -// Documents unreachable assembly code. -.macro .unreachable -#ifndef NDEBUG - ud2 # crash if contract is broken -#elif defined(__FNO_OMIT_FRAME_POINTER__) - nop # avoid noreturn tail call backtrace ambiguity -#endif -.endm - // Inserts profiling hook in prologue if cc wants it. // // Cosmopolitan does this in a slightly different way from normal diff --git a/libc/calls/__gettimeofday.S b/libc/nexgen32e/argc2.c similarity index 77% rename from libc/calls/__gettimeofday.S rename to libc/nexgen32e/argc2.c index 982f9a2c6..05c3c917e 100644 --- a/libc/calls/__gettimeofday.S +++ b/libc/nexgen32e/argc2.c @@ -1,7 +1,7 @@ -/*-*- mode:unix-assembly; indent-tabs-mode:t; tab-width:8; coding:utf-8 -*-│ -│vi: set et ft=asm ts=8 tw=8 fenc=utf-8 :vi│ +/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:2;tab-width:8;coding:utf-8 -*-│ +│vi: set net ft=c ts=2 sts=2 sw=2 fenc=utf-8 :vi│ ╞══════════════════════════════════════════════════════════════════════════════╡ -│ Copyright 2022 Justine Alexandra Roberts Tunney │ +│ Copyright 2023 Justine Alexandra Roberts Tunney │ │ │ │ Permission to use, copy, modify, and/or distribute this software for │ │ any purpose with or without fee is hereby granted, provided that the │ @@ -16,15 +16,9 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/macros.internal.h" +#include "libc/runtime/runtime.h" +#ifndef __x86_64__ - .initbss 301,_init___gettimeofday -__gettimeofday: - .quad 0 - .endobj __gettimeofday,globl,hidden - .previous +int __argc; - .init.start 301,_init___gettimeofday - ezlea __gettimeofday_init,ax - stosq - .init.end 301,_init___gettimeofday +#endif /* __x86_64__ */ diff --git a/libc/calls/__clock_gettime.S b/libc/nexgen32e/argv2.c similarity index 77% rename from libc/calls/__clock_gettime.S rename to libc/nexgen32e/argv2.c index 85f4a79cb..a9725bffc 100644 --- a/libc/calls/__clock_gettime.S +++ b/libc/nexgen32e/argv2.c @@ -1,7 +1,7 @@ -/*-*- mode:unix-assembly; indent-tabs-mode:t; tab-width:8; coding:utf-8 -*-│ -│vi: set et ft=asm ts=8 tw=8 fenc=utf-8 :vi│ +/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:2;tab-width:8;coding:utf-8 -*-│ +│vi: set net ft=c ts=2 sts=2 sw=2 fenc=utf-8 :vi│ ╞══════════════════════════════════════════════════════════════════════════════╡ -│ Copyright 2022 Justine Alexandra Roberts Tunney │ +│ Copyright 2023 Justine Alexandra Roberts Tunney │ │ │ │ Permission to use, copy, modify, and/or distribute this software for │ │ any purpose with or without fee is hereby granted, provided that the │ @@ -16,15 +16,9 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/macros.internal.h" +#include "libc/runtime/runtime.h" +#ifndef __x86_64__ - .initbss 301,_init___clock_gettime -__clock_gettime: - .quad 0 - .endobj __clock_gettime,globl,hidden - .previous +char **__argv; - .init.start 301,_init___clock_gettime - ezlea __clock_gettime_init,ax - stosq - .init.end 301,_init___clock_gettime +#endif /* __x86_64__ */ diff --git a/libc/nexgen32e/environ2.c b/libc/nexgen32e/environ2.c index f86074125..0942daf9a 100644 --- a/libc/nexgen32e/environ2.c +++ b/libc/nexgen32e/environ2.c @@ -17,7 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/runtime/runtime.h" +#ifndef __x86_64__ -#ifdef __aarch64__ char **environ; -#endif + +#endif /* __x86_64__ */ diff --git a/libc/nexgen32e/envp2.c b/libc/nexgen32e/envp2.c new file mode 100644 index 000000000..2a101f17c --- /dev/null +++ b/libc/nexgen32e/envp2.c @@ -0,0 +1,24 @@ +/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:2;tab-width:8;coding:utf-8 -*-│ +│vi: set net ft=c ts=2 sts=2 sw=2 fenc=utf-8 :vi│ +╞══════════════════════════════════════════════════════════════════════════════╡ +│ Copyright 2023 Justine Alexandra Roberts Tunney │ +│ │ +│ Permission to use, copy, modify, and/or distribute this software for │ +│ any purpose with or without fee is hereby granted, provided that the │ +│ above copyright notice and this permission notice appear in all copies. │ +│ │ +│ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL │ +│ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED │ +│ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE │ +│ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL │ +│ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR │ +│ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER │ +│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ +│ PERFORMANCE OF THIS SOFTWARE. │ +╚─────────────────────────────────────────────────────────────────────────────*/ +#include "libc/runtime/runtime.h" +#ifndef __x86_64__ + +char **__envp; + +#endif /* __x86_64__ */ diff --git a/libc/nexgen32e/program_invocation_name2.c b/libc/nexgen32e/program_invocation_name2.c new file mode 100644 index 000000000..9ef984c5b --- /dev/null +++ b/libc/nexgen32e/program_invocation_name2.c @@ -0,0 +1,21 @@ +/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:2;tab-width:8;coding:utf-8 -*-│ +│vi: set net ft=c ts=2 sts=2 sw=2 fenc=utf-8 :vi│ +╞══════════════════════════════════════════════════════════════════════════════╡ +│ Copyright 2023 Justine Alexandra Roberts Tunney │ +│ │ +│ Permission to use, copy, modify, and/or distribute this software for │ +│ any purpose with or without fee is hereby granted, provided that the │ +│ above copyright notice and this permission notice appear in all copies. │ +│ │ +│ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL │ +│ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED │ +│ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE │ +│ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL │ +│ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR │ +│ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER │ +│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ +│ PERFORMANCE OF THIS SOFTWARE. │ +╚─────────────────────────────────────────────────────────────────────────────*/ +#include "libc/runtime/runtime.h" + +char *program_invocation_name; diff --git a/libc/nexgen32e/setjmp.S b/libc/nexgen32e/setjmp.S index 3dcfd3729..0821c4c93 100644 --- a/libc/nexgen32e/setjmp.S +++ b/libc/nexgen32e/setjmp.S @@ -39,7 +39,6 @@ setjmp: mov (%rsp),%rax mov %rax,56(%rdi) xor %eax,%eax - ret #elif defined(__aarch64__) stp x19,x20,[x0,#0] stp x21,x22,[x0,#16] @@ -54,7 +53,7 @@ setjmp: stp d12,d13,[x0,#144] stp d14,d15,[x0,#160] mov x0,#0 - ret #endif + ret .endfn setjmp,globl .alias setjmp,_setjmp diff --git a/libc/nt/API-MS-Win-Core-Synch-l1-2-0/WaitOnAddress.S b/libc/nt/API-MS-Win-Core-Synch-l1-2-0/WaitOnAddress.S index 57655bcdd..5b50d6826 100644 --- a/libc/nt/API-MS-Win-Core-Synch-l1-2-0/WaitOnAddress.S +++ b/libc/nt/API-MS-Win-Core-Synch-l1-2-0/WaitOnAddress.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp API-MS-Win-Core-Synch-l1-2-0,__imp_WaitOnAddress,WaitOnAddress,111 -#ifdef __x86_64__ .text.windows WaitOnAddress: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WaitOnAddress(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WaitOnAddress,globl .previous -#endif diff --git a/libc/nt/API-MS-Win-Core-Synch-l1-2-0/WakeByAddressAll.S b/libc/nt/API-MS-Win-Core-Synch-l1-2-0/WakeByAddressAll.S index 2c75d2a44..8d473d68d 100644 --- a/libc/nt/API-MS-Win-Core-Synch-l1-2-0/WakeByAddressAll.S +++ b/libc/nt/API-MS-Win-Core-Synch-l1-2-0/WakeByAddressAll.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp API-MS-Win-Core-Synch-l1-2-0,__imp_WakeByAddressAll,WakeByAddressAll,113 -#ifdef __x86_64__ .text.windows WakeByAddressAll: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ WakeByAddressAll: sub $32,%rsp call *__imp_WakeByAddressAll(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn WakeByAddressAll,globl .previous -#endif diff --git a/libc/nt/API-MS-Win-Core-Synch-l1-2-0/WakeByAddressSingle.S b/libc/nt/API-MS-Win-Core-Synch-l1-2-0/WakeByAddressSingle.S index c7fe7fa4d..cc4f8ce83 100644 --- a/libc/nt/API-MS-Win-Core-Synch-l1-2-0/WakeByAddressSingle.S +++ b/libc/nt/API-MS-Win-Core-Synch-l1-2-0/WakeByAddressSingle.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp API-MS-Win-Core-Synch-l1-2-0,__imp_WakeByAddressSingle,WakeByAddressSingle,116 -#ifdef __x86_64__ .text.windows WakeByAddressSingle: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ WakeByAddressSingle: sub $32,%rsp call *__imp_WakeByAddressSingle(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn WakeByAddressSingle,globl .previous -#endif diff --git a/libc/nt/MsWSock/AcceptEx.S b/libc/nt/MsWSock/AcceptEx.S index 5708de675..cb0542b6a 100644 --- a/libc/nt/MsWSock/AcceptEx.S +++ b/libc/nt/MsWSock/AcceptEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp MsWSock,__imp_AcceptEx,AcceptEx,0 -#ifdef __x86_64__ .text.windows AcceptEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_AcceptEx(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn AcceptEx,globl .previous -#endif diff --git a/libc/nt/MsWSock/DisconnectEx.S b/libc/nt/MsWSock/DisconnectEx.S index 5ad88ef72..431363877 100644 --- a/libc/nt/MsWSock/DisconnectEx.S +++ b/libc/nt/MsWSock/DisconnectEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp MsWSock,__imp_DisconnectEx,DisconnectEx,0 -#ifdef __x86_64__ .text.windows DisconnectEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_DisconnectEx(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn DisconnectEx,globl .previous -#endif diff --git a/libc/nt/MsWSock/GetAcceptExSockaddrs.S b/libc/nt/MsWSock/GetAcceptExSockaddrs.S index f1c3eb682..e6dff2937 100644 --- a/libc/nt/MsWSock/GetAcceptExSockaddrs.S +++ b/libc/nt/MsWSock/GetAcceptExSockaddrs.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp MsWSock,__imp_GetAcceptExSockaddrs,GetAcceptExSockaddrs,0 -#ifdef __x86_64__ .text.windows GetAcceptExSockaddrs: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetAcceptExSockaddrs(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetAcceptExSockaddrs,globl .previous -#endif diff --git a/libc/nt/MsWSock/TransmitFile.S b/libc/nt/MsWSock/TransmitFile.S index af006fbae..7a6e93cd4 100644 --- a/libc/nt/MsWSock/TransmitFile.S +++ b/libc/nt/MsWSock/TransmitFile.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp MsWSock,__imp_TransmitFile,TransmitFile,0 -#ifdef __x86_64__ .text.windows TransmitFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_TransmitFile(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn TransmitFile,globl .previous -#endif diff --git a/libc/nt/MsWSock/WSARecvEx.S b/libc/nt/MsWSock/WSARecvEx.S index 10a40aa01..def72ed8e 100644 --- a/libc/nt/MsWSock/WSARecvEx.S +++ b/libc/nt/MsWSock/WSARecvEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp MsWSock,__imp_WSARecvEx,WSARecvEx,0 -#ifdef __x86_64__ .text.windows WSARecvEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSARecvEx(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSARecvEx,globl .previous -#endif diff --git a/libc/nt/PowrProf/SetSuspendState.S b/libc/nt/PowrProf/SetSuspendState.S index 60b7a216b..b69276ab6 100644 --- a/libc/nt/PowrProf/SetSuspendState.S +++ b/libc/nt/PowrProf/SetSuspendState.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp PowrProf,__imp_SetSuspendState,SetSuspendState,0 -#ifdef __x86_64__ .text.windows SetSuspendState: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetSuspendState(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetSuspendState,globl .previous -#endif diff --git a/libc/nt/advapi32/AccessCheck.S b/libc/nt/advapi32/AccessCheck.S index d1a42ec16..49333b5d9 100644 --- a/libc/nt/advapi32/AccessCheck.S +++ b/libc/nt/advapi32/AccessCheck.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_AccessCheck,AccessCheck,0 -#ifdef __x86_64__ .text.windows AccessCheck: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_AccessCheck(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn AccessCheck,globl .previous -#endif diff --git a/libc/nt/advapi32/AdjustTokenPrivileges.S b/libc/nt/advapi32/AdjustTokenPrivileges.S index 5d02d57b0..12389c3fe 100644 --- a/libc/nt/advapi32/AdjustTokenPrivileges.S +++ b/libc/nt/advapi32/AdjustTokenPrivileges.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_AdjustTokenPrivileges,AdjustTokenPrivileges,0 -#ifdef __x86_64__ .text.windows AdjustTokenPrivileges: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_AdjustTokenPrivileges(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn AdjustTokenPrivileges,globl .previous -#endif diff --git a/libc/nt/advapi32/CreateProcessAsUserW.S b/libc/nt/advapi32/CreateProcessAsUserW.S index e29623c2f..2f91ee836 100644 --- a/libc/nt/advapi32/CreateProcessAsUserW.S +++ b/libc/nt/advapi32/CreateProcessAsUserW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_CreateProcessAsUserW,CreateProcessAsUserW,0 -#ifdef __x86_64__ .text.windows CreateProcessAsUser: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateProcessAsUserW(%rip),%rax jmp __sysv2nt12 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CreateProcessAsUser,globl .previous -#endif diff --git a/libc/nt/advapi32/DeregisterEventSource.S b/libc/nt/advapi32/DeregisterEventSource.S index 09653918e..73cb1a48d 100644 --- a/libc/nt/advapi32/DeregisterEventSource.S +++ b/libc/nt/advapi32/DeregisterEventSource.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_DeregisterEventSource,DeregisterEventSource,1239 -#ifdef __x86_64__ .text.windows DeregisterEventSource: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ DeregisterEventSource: sub $32,%rsp call *__imp_DeregisterEventSource(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn DeregisterEventSource,globl .previous -#endif diff --git a/libc/nt/advapi32/DuplicateToken.S b/libc/nt/advapi32/DuplicateToken.S index 68647a6c2..ce3d12756 100644 --- a/libc/nt/advapi32/DuplicateToken.S +++ b/libc/nt/advapi32/DuplicateToken.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_DuplicateToken,DuplicateToken,0 -#ifdef __x86_64__ .text.windows DuplicateToken: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_DuplicateToken(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn DuplicateToken,globl .previous -#endif diff --git a/libc/nt/advapi32/DuplicateTokenEx.S b/libc/nt/advapi32/DuplicateTokenEx.S index 6d9d327c9..50bca44b4 100644 --- a/libc/nt/advapi32/DuplicateTokenEx.S +++ b/libc/nt/advapi32/DuplicateTokenEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_DuplicateTokenEx,DuplicateTokenEx,0 -#ifdef __x86_64__ .text.windows DuplicateTokenEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_DuplicateTokenEx(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn DuplicateTokenEx,globl .previous -#endif diff --git a/libc/nt/advapi32/GetFileSecurityW.S b/libc/nt/advapi32/GetFileSecurityW.S index 5301d75cb..ce72a82db 100644 --- a/libc/nt/advapi32/GetFileSecurityW.S +++ b/libc/nt/advapi32/GetFileSecurityW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_GetFileSecurityW,GetFileSecurityW,0 -#ifdef __x86_64__ .text.windows GetFileSecurity: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetFileSecurityW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetFileSecurity,globl .previous -#endif diff --git a/libc/nt/advapi32/GetUserNameW.S b/libc/nt/advapi32/GetUserNameW.S index 62447d41a..eacbb9e8c 100644 --- a/libc/nt/advapi32/GetUserNameW.S +++ b/libc/nt/advapi32/GetUserNameW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_GetUserNameW,GetUserNameW,1381 -#ifdef __x86_64__ .text.windows GetUserName: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetUserNameW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetUserName,globl .previous -#endif diff --git a/libc/nt/advapi32/ImpersonateSelf.S b/libc/nt/advapi32/ImpersonateSelf.S index be833d65b..6d1503dfe 100644 --- a/libc/nt/advapi32/ImpersonateSelf.S +++ b/libc/nt/advapi32/ImpersonateSelf.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_ImpersonateSelf,ImpersonateSelf,0 -#ifdef __x86_64__ .text.windows ImpersonateSelf: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ ImpersonateSelf: sub $32,%rsp call *__imp_ImpersonateSelf(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn ImpersonateSelf,globl .previous -#endif diff --git a/libc/nt/advapi32/InitiateShutdownW.S b/libc/nt/advapi32/InitiateShutdownW.S index 452fb246a..89dd82602 100644 --- a/libc/nt/advapi32/InitiateShutdownW.S +++ b/libc/nt/advapi32/InitiateShutdownW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_InitiateShutdownW,InitiateShutdownW,1403 -#ifdef __x86_64__ .text.windows InitiateShutdown: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_InitiateShutdownW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn InitiateShutdown,globl .previous -#endif diff --git a/libc/nt/advapi32/LookupPrivilegeValueW.S b/libc/nt/advapi32/LookupPrivilegeValueW.S index 1443998d8..b9690bbfa 100644 --- a/libc/nt/advapi32/LookupPrivilegeValueW.S +++ b/libc/nt/advapi32/LookupPrivilegeValueW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_LookupPrivilegeValueW,LookupPrivilegeValueW,1432 -#ifdef __x86_64__ .text.windows LookupPrivilegeValue: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_LookupPrivilegeValueW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn LookupPrivilegeValue,globl .previous -#endif diff --git a/libc/nt/advapi32/MapGenericMask.S b/libc/nt/advapi32/MapGenericMask.S index 4d2ca4794..f6a805326 100644 --- a/libc/nt/advapi32/MapGenericMask.S +++ b/libc/nt/advapi32/MapGenericMask.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_MapGenericMask,MapGenericMask,0 -#ifdef __x86_64__ .text.windows MapGenericMask: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_MapGenericMask(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn MapGenericMask,globl .previous -#endif diff --git a/libc/nt/advapi32/OpenProcessToken.S b/libc/nt/advapi32/OpenProcessToken.S index d400467c8..140917f56 100644 --- a/libc/nt/advapi32/OpenProcessToken.S +++ b/libc/nt/advapi32/OpenProcessToken.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_OpenProcessToken,OpenProcessToken,0 -#ifdef __x86_64__ .text.windows OpenProcessToken: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_OpenProcessToken(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn OpenProcessToken,globl .previous -#endif diff --git a/libc/nt/advapi32/OpenThreadToken.S b/libc/nt/advapi32/OpenThreadToken.S index 1888a2dd6..1ab3f8058 100644 --- a/libc/nt/advapi32/OpenThreadToken.S +++ b/libc/nt/advapi32/OpenThreadToken.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_OpenThreadToken,OpenThreadToken,0 -#ifdef __x86_64__ .text.windows OpenThreadToken: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_OpenThreadToken(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn OpenThreadToken,globl .previous -#endif diff --git a/libc/nt/advapi32/RegCloseKey.S b/libc/nt/advapi32/RegCloseKey.S index 2578b3857..de4b5162d 100644 --- a/libc/nt/advapi32/RegCloseKey.S +++ b/libc/nt/advapi32/RegCloseKey.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegCloseKey,RegCloseKey,0 -#ifdef __x86_64__ .text.windows RegCloseKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RegCloseKey: sub $32,%rsp call *__imp_RegCloseKey(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RegCloseKey,globl .previous -#endif diff --git a/libc/nt/advapi32/RegConnectRegistryW.S b/libc/nt/advapi32/RegConnectRegistryW.S index fd22b5ba5..d1ea53c26 100644 --- a/libc/nt/advapi32/RegConnectRegistryW.S +++ b/libc/nt/advapi32/RegConnectRegistryW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegConnectRegistryW,RegConnectRegistryW,1608 -#ifdef __x86_64__ .text.windows RegConnectRegistry: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegConnectRegistryW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegConnectRegistry,globl .previous -#endif diff --git a/libc/nt/advapi32/RegCreateKeyExW.S b/libc/nt/advapi32/RegCreateKeyExW.S index c3b2053d5..985bd8ed8 100644 --- a/libc/nt/advapi32/RegCreateKeyExW.S +++ b/libc/nt/advapi32/RegCreateKeyExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegCreateKeyExW,RegCreateKeyExW,0 -#ifdef __x86_64__ .text.windows RegCreateKeyEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegCreateKeyExW(%rip),%rax jmp __sysv2nt10 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegCreateKeyEx,globl .previous -#endif diff --git a/libc/nt/advapi32/RegCreateKeyW.S b/libc/nt/advapi32/RegCreateKeyW.S index 3f9a88a25..b89d6f047 100644 --- a/libc/nt/advapi32/RegCreateKeyW.S +++ b/libc/nt/advapi32/RegCreateKeyW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegCreateKeyW,RegCreateKeyW,1616 -#ifdef __x86_64__ .text.windows RegCreateKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegCreateKeyW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegCreateKey,globl .previous -#endif diff --git a/libc/nt/advapi32/RegDeleteKeyExW.S b/libc/nt/advapi32/RegDeleteKeyExW.S index d985bab00..c23b7835c 100644 --- a/libc/nt/advapi32/RegDeleteKeyExW.S +++ b/libc/nt/advapi32/RegDeleteKeyExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegDeleteKeyExW,RegDeleteKeyExW,0 -#ifdef __x86_64__ .text.windows RegDeleteKeyEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegDeleteKeyExW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegDeleteKeyEx,globl .previous -#endif diff --git a/libc/nt/advapi32/RegDeleteKeyW.S b/libc/nt/advapi32/RegDeleteKeyW.S index 3665fe3a1..555931b57 100644 --- a/libc/nt/advapi32/RegDeleteKeyW.S +++ b/libc/nt/advapi32/RegDeleteKeyW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegDeleteKeyW,RegDeleteKeyW,1624 -#ifdef __x86_64__ .text.windows RegDeleteKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegDeleteKeyW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegDeleteKey,globl .previous -#endif diff --git a/libc/nt/advapi32/RegDeleteTreeW.S b/libc/nt/advapi32/RegDeleteTreeW.S index 91f0337d1..44915caa7 100644 --- a/libc/nt/advapi32/RegDeleteTreeW.S +++ b/libc/nt/advapi32/RegDeleteTreeW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegDeleteTreeW,RegDeleteTreeW,0 -#ifdef __x86_64__ .text.windows RegDeleteTree: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegDeleteTreeW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegDeleteTree,globl .previous -#endif diff --git a/libc/nt/advapi32/RegDeleteValueW.S b/libc/nt/advapi32/RegDeleteValueW.S index 8c1735855..7ce084483 100644 --- a/libc/nt/advapi32/RegDeleteValueW.S +++ b/libc/nt/advapi32/RegDeleteValueW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegDeleteValueW,RegDeleteValueW,0 -#ifdef __x86_64__ .text.windows RegDeleteValue: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegDeleteValueW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegDeleteValue,globl .previous -#endif diff --git a/libc/nt/advapi32/RegDisablePredefinedCache.S b/libc/nt/advapi32/RegDisablePredefinedCache.S index d8da319f4..6213031f4 100644 --- a/libc/nt/advapi32/RegDisablePredefinedCache.S +++ b/libc/nt/advapi32/RegDisablePredefinedCache.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegDisablePredefinedCache,RegDisablePredefinedCache,1629 -#ifdef __x86_64__ .text.windows RegDisablePredefinedCache: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RegDisablePredefinedCache: sub $32,%rsp call *__imp_RegDisablePredefinedCache(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RegDisablePredefinedCache,globl .previous -#endif diff --git a/libc/nt/advapi32/RegDisableReflectionKey.S b/libc/nt/advapi32/RegDisableReflectionKey.S index bdb11f755..4198b699b 100644 --- a/libc/nt/advapi32/RegDisableReflectionKey.S +++ b/libc/nt/advapi32/RegDisableReflectionKey.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegDisableReflectionKey,RegDisableReflectionKey,1631 -#ifdef __x86_64__ .text.windows RegDisableReflectionKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RegDisableReflectionKey: sub $32,%rsp call *__imp_RegDisableReflectionKey(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RegDisableReflectionKey,globl .previous -#endif diff --git a/libc/nt/advapi32/RegEnableReflectionKey.S b/libc/nt/advapi32/RegEnableReflectionKey.S index 4c89879a4..b63049a51 100644 --- a/libc/nt/advapi32/RegEnableReflectionKey.S +++ b/libc/nt/advapi32/RegEnableReflectionKey.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegEnableReflectionKey,RegEnableReflectionKey,1632 -#ifdef __x86_64__ .text.windows RegEnableReflectionKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RegEnableReflectionKey: sub $32,%rsp call *__imp_RegEnableReflectionKey(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RegEnableReflectionKey,globl .previous -#endif diff --git a/libc/nt/advapi32/RegEnumKeyExW.S b/libc/nt/advapi32/RegEnumKeyExW.S index 9b8dd3089..8c0c20246 100644 --- a/libc/nt/advapi32/RegEnumKeyExW.S +++ b/libc/nt/advapi32/RegEnumKeyExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegEnumKeyExW,RegEnumKeyExW,0 -#ifdef __x86_64__ .text.windows RegEnumKeyEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegEnumKeyExW(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegEnumKeyEx,globl .previous -#endif diff --git a/libc/nt/advapi32/RegEnumKeyW.S b/libc/nt/advapi32/RegEnumKeyW.S index 14e96f57e..878f8f707 100644 --- a/libc/nt/advapi32/RegEnumKeyW.S +++ b/libc/nt/advapi32/RegEnumKeyW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegEnumKeyW,RegEnumKeyW,1636 -#ifdef __x86_64__ .text.windows RegEnumKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegEnumKeyW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegEnumKey,globl .previous -#endif diff --git a/libc/nt/advapi32/RegEnumValueW.S b/libc/nt/advapi32/RegEnumValueW.S index 45ef8d7e3..d8e146bff 100644 --- a/libc/nt/advapi32/RegEnumValueW.S +++ b/libc/nt/advapi32/RegEnumValueW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegEnumValueW,RegEnumValueW,0 -#ifdef __x86_64__ .text.windows RegEnumValue: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegEnumValueW(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegEnumValue,globl .previous -#endif diff --git a/libc/nt/advapi32/RegFlushKey.S b/libc/nt/advapi32/RegFlushKey.S index e537945ca..0224bff1c 100644 --- a/libc/nt/advapi32/RegFlushKey.S +++ b/libc/nt/advapi32/RegFlushKey.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegFlushKey,RegFlushKey,0 -#ifdef __x86_64__ .text.windows RegFlushKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RegFlushKey: sub $32,%rsp call *__imp_RegFlushKey(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RegFlushKey,globl .previous -#endif diff --git a/libc/nt/advapi32/RegGetKeySecurity.S b/libc/nt/advapi32/RegGetKeySecurity.S index fb8f905b5..9a39abe07 100644 --- a/libc/nt/advapi32/RegGetKeySecurity.S +++ b/libc/nt/advapi32/RegGetKeySecurity.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegGetKeySecurity,RegGetKeySecurity,0 -#ifdef __x86_64__ .text.windows RegGetKeySecurity: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegGetKeySecurity(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegGetKeySecurity,globl .previous -#endif diff --git a/libc/nt/advapi32/RegGetValueW.S b/libc/nt/advapi32/RegGetValueW.S index 156a75258..7ee9a767c 100644 --- a/libc/nt/advapi32/RegGetValueW.S +++ b/libc/nt/advapi32/RegGetValueW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegGetValueW,RegGetValueW,0 -#ifdef __x86_64__ .text.windows RegGetValue: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegGetValueW(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegGetValue,globl .previous -#endif diff --git a/libc/nt/advapi32/RegLoadKeyW.S b/libc/nt/advapi32/RegLoadKeyW.S index cea37ebfe..79ed44693 100644 --- a/libc/nt/advapi32/RegLoadKeyW.S +++ b/libc/nt/advapi32/RegLoadKeyW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegLoadKeyW,RegLoadKeyW,0 -#ifdef __x86_64__ .text.windows RegLoadKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegLoadKeyW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegLoadKey,globl .previous -#endif diff --git a/libc/nt/advapi32/RegNotifyChangeKeyValue.S b/libc/nt/advapi32/RegNotifyChangeKeyValue.S index 2ca45964b..e9a82b9f9 100644 --- a/libc/nt/advapi32/RegNotifyChangeKeyValue.S +++ b/libc/nt/advapi32/RegNotifyChangeKeyValue.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegNotifyChangeKeyValue,RegNotifyChangeKeyValue,0 -#ifdef __x86_64__ .text.windows RegNotifyChangeKeyValue: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegNotifyChangeKeyValue(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegNotifyChangeKeyValue,globl .previous -#endif diff --git a/libc/nt/advapi32/RegOpenCurrentUser.S b/libc/nt/advapi32/RegOpenCurrentUser.S index dd398c454..e76297e6d 100644 --- a/libc/nt/advapi32/RegOpenCurrentUser.S +++ b/libc/nt/advapi32/RegOpenCurrentUser.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegOpenCurrentUser,RegOpenCurrentUser,0 -#ifdef __x86_64__ .text.windows RegOpenCurrentUser: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegOpenCurrentUser(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegOpenCurrentUser,globl .previous -#endif diff --git a/libc/nt/advapi32/RegOpenKeyExW.S b/libc/nt/advapi32/RegOpenKeyExW.S index c4bd1a9e6..ea4217464 100644 --- a/libc/nt/advapi32/RegOpenKeyExW.S +++ b/libc/nt/advapi32/RegOpenKeyExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegOpenKeyExW,RegOpenKeyExW,0 -#ifdef __x86_64__ .text.windows RegOpenKeyEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegOpenKeyExW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegOpenKeyEx,globl .previous -#endif diff --git a/libc/nt/advapi32/RegOpenUserClassesRoot.S b/libc/nt/advapi32/RegOpenUserClassesRoot.S index 44c66df86..487776f95 100644 --- a/libc/nt/advapi32/RegOpenUserClassesRoot.S +++ b/libc/nt/advapi32/RegOpenUserClassesRoot.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegOpenUserClassesRoot,RegOpenUserClassesRoot,0 -#ifdef __x86_64__ .text.windows RegOpenUserClassesRoot: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegOpenUserClassesRoot(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegOpenUserClassesRoot,globl .previous -#endif diff --git a/libc/nt/advapi32/RegOverridePredefKey.S b/libc/nt/advapi32/RegOverridePredefKey.S index c3ebb8aa9..60df4e822 100644 --- a/libc/nt/advapi32/RegOverridePredefKey.S +++ b/libc/nt/advapi32/RegOverridePredefKey.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegOverridePredefKey,RegOverridePredefKey,1658 -#ifdef __x86_64__ .text.windows RegOverridePredefKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegOverridePredefKey(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegOverridePredefKey,globl .previous -#endif diff --git a/libc/nt/advapi32/RegQueryInfoKeyW.S b/libc/nt/advapi32/RegQueryInfoKeyW.S index 650202acb..16849b5c6 100644 --- a/libc/nt/advapi32/RegQueryInfoKeyW.S +++ b/libc/nt/advapi32/RegQueryInfoKeyW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegQueryInfoKeyW,RegQueryInfoKeyW,0 -#ifdef __x86_64__ .text.windows RegQueryInfoKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegQueryInfoKeyW(%rip),%rax jmp __sysv2nt12 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegQueryInfoKey,globl .previous -#endif diff --git a/libc/nt/advapi32/RegQueryMultipleValuesW.S b/libc/nt/advapi32/RegQueryMultipleValuesW.S index ec6c0c997..2aa26c0e3 100644 --- a/libc/nt/advapi32/RegQueryMultipleValuesW.S +++ b/libc/nt/advapi32/RegQueryMultipleValuesW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegQueryMultipleValuesW,RegQueryMultipleValuesW,0 -#ifdef __x86_64__ .text.windows RegQueryMultipleValues: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegQueryMultipleValuesW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegQueryMultipleValues,globl .previous -#endif diff --git a/libc/nt/advapi32/RegQueryReflectionKey.S b/libc/nt/advapi32/RegQueryReflectionKey.S index 1450f4b71..2d75e57aa 100644 --- a/libc/nt/advapi32/RegQueryReflectionKey.S +++ b/libc/nt/advapi32/RegQueryReflectionKey.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegQueryReflectionKey,RegQueryReflectionKey,1663 -#ifdef __x86_64__ .text.windows RegQueryReflectionKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegQueryReflectionKey(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegQueryReflectionKey,globl .previous -#endif diff --git a/libc/nt/advapi32/RegQueryValueExW.S b/libc/nt/advapi32/RegQueryValueExW.S index 61ad1808b..7f32a5e06 100644 --- a/libc/nt/advapi32/RegQueryValueExW.S +++ b/libc/nt/advapi32/RegQueryValueExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegQueryValueExW,RegQueryValueExW,0 -#ifdef __x86_64__ .text.windows RegQueryValueEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegQueryValueExW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegQueryValueEx,globl .previous -#endif diff --git a/libc/nt/advapi32/RegQueryValueW.S b/libc/nt/advapi32/RegQueryValueW.S index d1f7f8f0b..bc25b6a03 100644 --- a/libc/nt/advapi32/RegQueryValueW.S +++ b/libc/nt/advapi32/RegQueryValueW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegQueryValueW,RegQueryValueW,1667 -#ifdef __x86_64__ .text.windows RegQueryValue: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegQueryValueW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegQueryValue,globl .previous -#endif diff --git a/libc/nt/advapi32/RegReplaceKeyW.S b/libc/nt/advapi32/RegReplaceKeyW.S index ed6aa67ca..6adf8f076 100644 --- a/libc/nt/advapi32/RegReplaceKeyW.S +++ b/libc/nt/advapi32/RegReplaceKeyW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegReplaceKeyW,RegReplaceKeyW,1670 -#ifdef __x86_64__ .text.windows RegReplaceKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegReplaceKeyW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegReplaceKey,globl .previous -#endif diff --git a/libc/nt/advapi32/RegRestoreKeyW.S b/libc/nt/advapi32/RegRestoreKeyW.S index 9fa9bc2b4..f6ddc600c 100644 --- a/libc/nt/advapi32/RegRestoreKeyW.S +++ b/libc/nt/advapi32/RegRestoreKeyW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegRestoreKeyW,RegRestoreKeyW,0 -#ifdef __x86_64__ .text.windows RegRestoreKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegRestoreKeyW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegRestoreKey,globl .previous -#endif diff --git a/libc/nt/advapi32/RegSaveKeyW.S b/libc/nt/advapi32/RegSaveKeyW.S index b1fb19800..b4eb8f9ca 100644 --- a/libc/nt/advapi32/RegSaveKeyW.S +++ b/libc/nt/advapi32/RegSaveKeyW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegSaveKeyW,RegSaveKeyW,1676 -#ifdef __x86_64__ .text.windows RegSaveKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegSaveKeyW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegSaveKey,globl .previous -#endif diff --git a/libc/nt/advapi32/RegSetKeySecurity.S b/libc/nt/advapi32/RegSetKeySecurity.S index b7444dcfa..993907b1b 100644 --- a/libc/nt/advapi32/RegSetKeySecurity.S +++ b/libc/nt/advapi32/RegSetKeySecurity.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegSetKeySecurity,RegSetKeySecurity,0 -#ifdef __x86_64__ .text.windows RegSetKeySecurity: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegSetKeySecurity(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegSetKeySecurity,globl .previous -#endif diff --git a/libc/nt/advapi32/RegSetValueExW.S b/libc/nt/advapi32/RegSetValueExW.S index 91d097ac1..618376c33 100644 --- a/libc/nt/advapi32/RegSetValueExW.S +++ b/libc/nt/advapi32/RegSetValueExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegSetValueExW,RegSetValueExW,0 -#ifdef __x86_64__ .text.windows RegSetValueEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegSetValueExW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegSetValueEx,globl .previous -#endif diff --git a/libc/nt/advapi32/RegSetValueW.S b/libc/nt/advapi32/RegSetValueW.S index 8c1e8368a..8dfd12f52 100644 --- a/libc/nt/advapi32/RegSetValueW.S +++ b/libc/nt/advapi32/RegSetValueW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegSetValueW,RegSetValueW,1683 -#ifdef __x86_64__ .text.windows RegSetValue: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegSetValueW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegSetValue,globl .previous -#endif diff --git a/libc/nt/advapi32/RegUnLoadKeyW.S b/libc/nt/advapi32/RegUnLoadKeyW.S index d21fa435e..ec9a46edb 100644 --- a/libc/nt/advapi32/RegUnLoadKeyW.S +++ b/libc/nt/advapi32/RegUnLoadKeyW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegUnLoadKeyW,RegUnLoadKeyW,0 -#ifdef __x86_64__ .text.windows RegUnLoadKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegUnLoadKeyW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegUnLoadKey,globl .previous -#endif diff --git a/libc/nt/advapi32/RegisterEventSourceW.S b/libc/nt/advapi32/RegisterEventSourceW.S index 3082ef837..43a7aa352 100644 --- a/libc/nt/advapi32/RegisterEventSourceW.S +++ b/libc/nt/advapi32/RegisterEventSourceW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RegisterEventSourceW,RegisterEventSourceW,1687 -#ifdef __x86_64__ .text.windows RegisterEventSource: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegisterEventSourceW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegisterEventSource,globl .previous -#endif diff --git a/libc/nt/advapi32/ReportEventA.S b/libc/nt/advapi32/ReportEventA.S index 88a22f7be..36a5989c7 100644 --- a/libc/nt/advapi32/ReportEventA.S +++ b/libc/nt/advapi32/ReportEventA.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_ReportEventA,ReportEventA,0 -#ifdef __x86_64__ .text.windows ReportEventA: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ReportEventA(%rip),%rax jmp __sysv2nt10 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn ReportEventA,globl .previous -#endif diff --git a/libc/nt/advapi32/ReportEventW.S b/libc/nt/advapi32/ReportEventW.S index 59dbb536f..65eb64815 100644 --- a/libc/nt/advapi32/ReportEventW.S +++ b/libc/nt/advapi32/ReportEventW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_ReportEventW,ReportEventW,0 -#ifdef __x86_64__ .text.windows ReportEvent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ReportEventW(%rip),%rax jmp __sysv2nt10 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn ReportEvent,globl .previous -#endif diff --git a/libc/nt/advapi32/RevertToSelf.S b/libc/nt/advapi32/RevertToSelf.S index 33dae85c9..820c0aac8 100644 --- a/libc/nt/advapi32/RevertToSelf.S +++ b/libc/nt/advapi32/RevertToSelf.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_RevertToSelf,RevertToSelf,0 -#ifdef __x86_64__ .text.windows RevertToSelf: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_RevertToSelf(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RevertToSelf,globl .previous -#endif diff --git a/libc/nt/advapi32/SystemFunction036.S b/libc/nt/advapi32/SystemFunction036.S index 4d59cbdbc..78bb3976d 100644 --- a/libc/nt/advapi32/SystemFunction036.S +++ b/libc/nt/advapi32/SystemFunction036.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp advapi32,__imp_SystemFunction036,SystemFunction036,0 -#ifdef __x86_64__ .text.windows RtlGenRandom: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SystemFunction036(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RtlGenRandom,globl .previous -#endif diff --git a/libc/nt/codegen.sh b/libc/nt/codegen.sh index 36f5ab217..74d18dca1 100644 --- a/libc/nt/codegen.sh +++ b/libc/nt/codegen.sh @@ -61,43 +61,48 @@ imp() { thunk() { printf ' -#ifdef __x86_64__ .text.windows %s: +#ifdef __x86_64__ push %%rbp mov %%rsp,%%rbp .profilable mov __imp_%s(%%rip),%%rax jmp %s +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn %s,globl .previous -#endif ' "$@" } thunk0() { printf ' -#ifdef __x86_64__ .text.windows %s: +#ifdef __x86_64__ push %%rbp mov %%rsp,%%rbp .profilable sub $32,%%rsp call *__imp_%s(%%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn %s,globl .previous -#endif ' "$@" } thunk1() { printf ' -#ifdef __x86_64__ .text.windows %s: +#ifdef __x86_64__ push %%rbp mov %%rsp,%%rbp .profilable @@ -105,9 +110,11 @@ thunk1() { sub $32,%%rsp call *__imp_%s(%%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn %s,globl .previous -#endif ' "$@" } diff --git a/libc/nt/comdlg32/ChooseColorW.S b/libc/nt/comdlg32/ChooseColorW.S index c21037428..e4d17f1be 100644 --- a/libc/nt/comdlg32/ChooseColorW.S +++ b/libc/nt/comdlg32/ChooseColorW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp comdlg32,__imp_ChooseColorW,ChooseColorW,103 -#ifdef __x86_64__ .text.windows ChooseColor: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ ChooseColor: sub $32,%rsp call *__imp_ChooseColorW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn ChooseColor,globl .previous -#endif diff --git a/libc/nt/comdlg32/ChooseFontW.S b/libc/nt/comdlg32/ChooseFontW.S index 4e8ee1fc5..266e8ad1c 100644 --- a/libc/nt/comdlg32/ChooseFontW.S +++ b/libc/nt/comdlg32/ChooseFontW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp comdlg32,__imp_ChooseFontW,ChooseFontW,105 -#ifdef __x86_64__ .text.windows ChooseFont: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ ChooseFont: sub $32,%rsp call *__imp_ChooseFontW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn ChooseFont,globl .previous -#endif diff --git a/libc/nt/comdlg32/GetFileTitleW.S b/libc/nt/comdlg32/GetFileTitleW.S index 0f9bfb05f..d1b5eaaf3 100644 --- a/libc/nt/comdlg32/GetFileTitleW.S +++ b/libc/nt/comdlg32/GetFileTitleW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp comdlg32,__imp_GetFileTitleW,GetFileTitleW,112 -#ifdef __x86_64__ .text.windows GetFileTitle: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetFileTitleW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetFileTitle,globl .previous -#endif diff --git a/libc/nt/comdlg32/GetOpenFileNameW.S b/libc/nt/comdlg32/GetOpenFileNameW.S index ea87c17ce..ba6b3a672 100644 --- a/libc/nt/comdlg32/GetOpenFileNameW.S +++ b/libc/nt/comdlg32/GetOpenFileNameW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp comdlg32,__imp_GetOpenFileNameW,GetOpenFileNameW,114 -#ifdef __x86_64__ .text.windows GetOpenFileName: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetOpenFileName: sub $32,%rsp call *__imp_GetOpenFileNameW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetOpenFileName,globl .previous -#endif diff --git a/libc/nt/comdlg32/GetSaveFileNameW.S b/libc/nt/comdlg32/GetSaveFileNameW.S index 61915419a..9770b0be5 100644 --- a/libc/nt/comdlg32/GetSaveFileNameW.S +++ b/libc/nt/comdlg32/GetSaveFileNameW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp comdlg32,__imp_GetSaveFileNameW,GetSaveFileNameW,116 -#ifdef __x86_64__ .text.windows GetSaveFileName: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetSaveFileName: sub $32,%rsp call *__imp_GetSaveFileNameW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetSaveFileName,globl .previous -#endif diff --git a/libc/nt/comdlg32/PrintDlgW.S b/libc/nt/comdlg32/PrintDlgW.S index d6c16cc31..d44e69539 100644 --- a/libc/nt/comdlg32/PrintDlgW.S +++ b/libc/nt/comdlg32/PrintDlgW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp comdlg32,__imp_PrintDlgW,PrintDlgW,123 -#ifdef __x86_64__ .text.windows PrintDlg: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ PrintDlg: sub $32,%rsp call *__imp_PrintDlgW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn PrintDlg,globl .previous -#endif diff --git a/libc/nt/comdlg32/ReplaceTextW.S b/libc/nt/comdlg32/ReplaceTextW.S index 725947cb0..6182e5f54 100644 --- a/libc/nt/comdlg32/ReplaceTextW.S +++ b/libc/nt/comdlg32/ReplaceTextW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp comdlg32,__imp_ReplaceTextW,ReplaceTextW,125 -#ifdef __x86_64__ .text.windows ReplaceText: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ ReplaceText: sub $32,%rsp call *__imp_ReplaceTextW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn ReplaceText,globl .previous -#endif diff --git a/libc/nt/gdi32/BitBlt.S b/libc/nt/gdi32/BitBlt.S index 868584845..cb6ff1584 100644 --- a/libc/nt/gdi32/BitBlt.S +++ b/libc/nt/gdi32/BitBlt.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_BitBlt,BitBlt,1034 -#ifdef __x86_64__ .text.windows BitBlt: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_BitBlt(%rip),%rax jmp __sysv2nt10 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn BitBlt,globl .previous -#endif diff --git a/libc/nt/gdi32/ChoosePixelFormat.S b/libc/nt/gdi32/ChoosePixelFormat.S index 492dacc2f..d950f3c0a 100644 --- a/libc/nt/gdi32/ChoosePixelFormat.S +++ b/libc/nt/gdi32/ChoosePixelFormat.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_ChoosePixelFormat,ChoosePixelFormat,1040 -#ifdef __x86_64__ .text.windows ChoosePixelFormat: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ChoosePixelFormat(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn ChoosePixelFormat,globl .previous -#endif diff --git a/libc/nt/gdi32/CreateBitmap.S b/libc/nt/gdi32/CreateBitmap.S index d3d3d12c2..cef045d47 100644 --- a/libc/nt/gdi32/CreateBitmap.S +++ b/libc/nt/gdi32/CreateBitmap.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_CreateBitmap,CreateBitmap,1056 -#ifdef __x86_64__ .text.windows CreateBitmap: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateBitmap(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CreateBitmap,globl .previous -#endif diff --git a/libc/nt/gdi32/CreateCompatibleBitmap.S b/libc/nt/gdi32/CreateCompatibleBitmap.S index 94f5bfd12..17f0fac24 100644 --- a/libc/nt/gdi32/CreateCompatibleBitmap.S +++ b/libc/nt/gdi32/CreateCompatibleBitmap.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_CreateCompatibleBitmap,CreateCompatibleBitmap,1063 -#ifdef __x86_64__ .text.windows CreateCompatibleBitmap: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateCompatibleBitmap(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CreateCompatibleBitmap,globl .previous -#endif diff --git a/libc/nt/gdi32/CreateCompatibleDC.S b/libc/nt/gdi32/CreateCompatibleDC.S index e612b9d0c..f7d95b6a4 100644 --- a/libc/nt/gdi32/CreateCompatibleDC.S +++ b/libc/nt/gdi32/CreateCompatibleDC.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_CreateCompatibleDC,CreateCompatibleDC,1064 -#ifdef __x86_64__ .text.windows CreateCompatibleDC: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ CreateCompatibleDC: sub $32,%rsp call *__imp_CreateCompatibleDC(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn CreateCompatibleDC,globl .previous -#endif diff --git a/libc/nt/gdi32/CreateDIBSection.S b/libc/nt/gdi32/CreateDIBSection.S index 8a703c72a..f1a753c7a 100644 --- a/libc/nt/gdi32/CreateDIBSection.S +++ b/libc/nt/gdi32/CreateDIBSection.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_CreateDIBSection,CreateDIBSection,1069 -#ifdef __x86_64__ .text.windows CreateDIBSection: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateDIBSection(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CreateDIBSection,globl .previous -#endif diff --git a/libc/nt/gdi32/CreateRectRgn.S b/libc/nt/gdi32/CreateRectRgn.S index 907d7d51f..2bbb8975d 100644 --- a/libc/nt/gdi32/CreateRectRgn.S +++ b/libc/nt/gdi32/CreateRectRgn.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_CreateRectRgn,CreateRectRgn,1097 -#ifdef __x86_64__ .text.windows CreateRectRgn: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateRectRgn(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CreateRectRgn,globl .previous -#endif diff --git a/libc/nt/gdi32/DeleteDC.S b/libc/nt/gdi32/DeleteDC.S index c85504000..5fb2f8b12 100644 --- a/libc/nt/gdi32/DeleteDC.S +++ b/libc/nt/gdi32/DeleteDC.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_DeleteDC,DeleteDC,1384 -#ifdef __x86_64__ .text.windows DeleteDC: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ DeleteDC: sub $32,%rsp call *__imp_DeleteDC(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn DeleteDC,globl .previous -#endif diff --git a/libc/nt/gdi32/DeleteObject.S b/libc/nt/gdi32/DeleteObject.S index 44424e0ba..c736da6cd 100644 --- a/libc/nt/gdi32/DeleteObject.S +++ b/libc/nt/gdi32/DeleteObject.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_DeleteObject,DeleteObject,1387 -#ifdef __x86_64__ .text.windows DeleteObject: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ DeleteObject: sub $32,%rsp call *__imp_DeleteObject(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn DeleteObject,globl .previous -#endif diff --git a/libc/nt/gdi32/GetPixel.S b/libc/nt/gdi32/GetPixel.S index 448da35e9..5354eab1d 100644 --- a/libc/nt/gdi32/GetPixel.S +++ b/libc/nt/gdi32/GetPixel.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_GetPixel,GetPixel,1691 -#ifdef __x86_64__ .text.windows GetPixel: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetPixel(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetPixel,globl .previous -#endif diff --git a/libc/nt/gdi32/RestoreDC.S b/libc/nt/gdi32/RestoreDC.S index a0c961e0d..1ea23313f 100644 --- a/libc/nt/gdi32/RestoreDC.S +++ b/libc/nt/gdi32/RestoreDC.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_RestoreDC,RestoreDC,1808 -#ifdef __x86_64__ .text.windows RestoreDC: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RestoreDC(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RestoreDC,globl .previous -#endif diff --git a/libc/nt/gdi32/SaveDC.S b/libc/nt/gdi32/SaveDC.S index b2ab8cb32..5d21acaad 100644 --- a/libc/nt/gdi32/SaveDC.S +++ b/libc/nt/gdi32/SaveDC.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_SaveDC,SaveDC,1815 -#ifdef __x86_64__ .text.windows SaveDC: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ SaveDC: sub $32,%rsp call *__imp_SaveDC(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn SaveDC,globl .previous -#endif diff --git a/libc/nt/gdi32/SelectObject.S b/libc/nt/gdi32/SelectObject.S index f4c0006d3..d9866f1de 100644 --- a/libc/nt/gdi32/SelectObject.S +++ b/libc/nt/gdi32/SelectObject.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_SelectObject,SelectObject,1864 -#ifdef __x86_64__ .text.windows SelectObject: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SelectObject(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SelectObject,globl .previous -#endif diff --git a/libc/nt/gdi32/SetBkMode.S b/libc/nt/gdi32/SetBkMode.S index 2ef0f20fe..8df950a13 100644 --- a/libc/nt/gdi32/SetBkMode.S +++ b/libc/nt/gdi32/SetBkMode.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_SetBkMode,SetBkMode,1872 -#ifdef __x86_64__ .text.windows SetBkMode: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetBkMode(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetBkMode,globl .previous -#endif diff --git a/libc/nt/gdi32/SetPixel.S b/libc/nt/gdi32/SetPixel.S index 4b12d9ee3..f542f784b 100644 --- a/libc/nt/gdi32/SetPixel.S +++ b/libc/nt/gdi32/SetPixel.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_SetPixel,SetPixel,1901 -#ifdef __x86_64__ .text.windows SetPixel: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetPixel(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetPixel,globl .previous -#endif diff --git a/libc/nt/gdi32/SetPixelFormat.S b/libc/nt/gdi32/SetPixelFormat.S index 71e3d55a4..c24678196 100644 --- a/libc/nt/gdi32/SetPixelFormat.S +++ b/libc/nt/gdi32/SetPixelFormat.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_SetPixelFormat,SetPixelFormat,1902 -#ifdef __x86_64__ .text.windows SetPixelFormat: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetPixelFormat(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetPixelFormat,globl .previous -#endif diff --git a/libc/nt/gdi32/SetTextAlign.S b/libc/nt/gdi32/SetTextAlign.S index d0aaf5fad..e6a2b4049 100644 --- a/libc/nt/gdi32/SetTextAlign.S +++ b/libc/nt/gdi32/SetTextAlign.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_SetTextAlign,SetTextAlign,1910 -#ifdef __x86_64__ .text.windows SetTextAlign: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetTextAlign(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetTextAlign,globl .previous -#endif diff --git a/libc/nt/gdi32/SetTextColor.S b/libc/nt/gdi32/SetTextColor.S index 5a85dfa20..9563f958a 100644 --- a/libc/nt/gdi32/SetTextColor.S +++ b/libc/nt/gdi32/SetTextColor.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_SetTextColor,SetTextColor,1912 -#ifdef __x86_64__ .text.windows SetTextColor: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetTextColor(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetTextColor,globl .previous -#endif diff --git a/libc/nt/gdi32/SetTextJustification.S b/libc/nt/gdi32/SetTextJustification.S index 8693f2449..8bbc75da4 100644 --- a/libc/nt/gdi32/SetTextJustification.S +++ b/libc/nt/gdi32/SetTextJustification.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_SetTextJustification,SetTextJustification,1913 -#ifdef __x86_64__ .text.windows SetTextJustification: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetTextJustification(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetTextJustification,globl .previous -#endif diff --git a/libc/nt/gdi32/SwapBuffers.S b/libc/nt/gdi32/SwapBuffers.S index 47d7e460f..b9db80786 100644 --- a/libc/nt/gdi32/SwapBuffers.S +++ b/libc/nt/gdi32/SwapBuffers.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp gdi32,__imp_SwapBuffers,SwapBuffers,1929 -#ifdef __x86_64__ .text.windows SwapBuffers: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ SwapBuffers: sub $32,%rsp call *__imp_SwapBuffers(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn SwapBuffers,globl .previous -#endif diff --git a/libc/nt/iphlpapi/AddIPAddress.S b/libc/nt/iphlpapi/AddIPAddress.S index b119c0b52..fb4bc82b9 100644 --- a/libc/nt/iphlpapi/AddIPAddress.S +++ b/libc/nt/iphlpapi/AddIPAddress.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp iphlpapi,__imp_AddIPAddress,AddIPAddress,0 -#ifdef __x86_64__ .text.windows AddIPAddress: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_AddIPAddress(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn AddIPAddress,globl .previous -#endif diff --git a/libc/nt/iphlpapi/AllocateAndGetTcpExTableFromStack.S b/libc/nt/iphlpapi/AllocateAndGetTcpExTableFromStack.S index 4addd9130..6d63916fc 100644 --- a/libc/nt/iphlpapi/AllocateAndGetTcpExTableFromStack.S +++ b/libc/nt/iphlpapi/AllocateAndGetTcpExTableFromStack.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp iphlpapi,__imp_AllocateAndGetTcpExTableFromStack,AllocateAndGetTcpExTableFromStack,0 -#ifdef __x86_64__ .text.windows AllocateAndGetTcpExTableFromStack: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_AllocateAndGetTcpExTableFromStack(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn AllocateAndGetTcpExTableFromStack,globl .previous -#endif diff --git a/libc/nt/iphlpapi/AllocateAndGetUdpExTableFromStack.S b/libc/nt/iphlpapi/AllocateAndGetUdpExTableFromStack.S index ac292b32d..d42ea2de7 100644 --- a/libc/nt/iphlpapi/AllocateAndGetUdpExTableFromStack.S +++ b/libc/nt/iphlpapi/AllocateAndGetUdpExTableFromStack.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp iphlpapi,__imp_AllocateAndGetUdpExTableFromStack,AllocateAndGetUdpExTableFromStack,0 -#ifdef __x86_64__ .text.windows AllocateAndGetUdpExTableFromStack: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_AllocateAndGetUdpExTableFromStack(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn AllocateAndGetUdpExTableFromStack,globl .previous -#endif diff --git a/libc/nt/iphlpapi/CancelIPChangeNotify.S b/libc/nt/iphlpapi/CancelIPChangeNotify.S index 22e073ca8..1c4e251e7 100644 --- a/libc/nt/iphlpapi/CancelIPChangeNotify.S +++ b/libc/nt/iphlpapi/CancelIPChangeNotify.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp iphlpapi,__imp_CancelIPChangeNotify,CancelIPChangeNotify,0 -#ifdef __x86_64__ .text.windows CancelIPChangeNotify: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ CancelIPChangeNotify: sub $32,%rsp call *__imp_CancelIPChangeNotify(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn CancelIPChangeNotify,globl .previous -#endif diff --git a/libc/nt/iphlpapi/CaptureInterfaceHardwareCrossTimestamp.S b/libc/nt/iphlpapi/CaptureInterfaceHardwareCrossTimestamp.S index b4522c316..47e7223c0 100644 --- a/libc/nt/iphlpapi/CaptureInterfaceHardwareCrossTimestamp.S +++ b/libc/nt/iphlpapi/CaptureInterfaceHardwareCrossTimestamp.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp iphlpapi,__imp_CaptureInterfaceHardwareCrossTimestamp,CaptureInterfaceHardwareCrossTimestamp,0 -#ifdef __x86_64__ .text.windows CaptureInterfaceHardwareCrossTimestamp: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CaptureInterfaceHardwareCrossTimestamp(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CaptureInterfaceHardwareCrossTimestamp,globl .previous -#endif diff --git a/libc/nt/iphlpapi/CreateIpForwardEntry.S b/libc/nt/iphlpapi/CreateIpForwardEntry.S index 36be8ab12..17205e7bc 100644 --- a/libc/nt/iphlpapi/CreateIpForwardEntry.S +++ b/libc/nt/iphlpapi/CreateIpForwardEntry.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp iphlpapi,__imp_CreateIpForwardEntry,CreateIpForwardEntry,0 -#ifdef __x86_64__ .text.windows CreateIpForwardEntry: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ CreateIpForwardEntry: sub $32,%rsp call *__imp_CreateIpForwardEntry(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn CreateIpForwardEntry,globl .previous -#endif diff --git a/libc/nt/iphlpapi/FlushIpNetTable.S b/libc/nt/iphlpapi/FlushIpNetTable.S index 253f6c203..b1934182a 100644 --- a/libc/nt/iphlpapi/FlushIpNetTable.S +++ b/libc/nt/iphlpapi/FlushIpNetTable.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp iphlpapi,__imp_FlushIpNetTable,FlushIpNetTable,0 -#ifdef __x86_64__ .text.windows FlushIpNetTable: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ FlushIpNetTable: sub $32,%rsp call *__imp_FlushIpNetTable(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn FlushIpNetTable,globl .previous -#endif diff --git a/libc/nt/iphlpapi/GetAdapterIndex.S b/libc/nt/iphlpapi/GetAdapterIndex.S index 011116fe1..7eb9285e0 100644 --- a/libc/nt/iphlpapi/GetAdapterIndex.S +++ b/libc/nt/iphlpapi/GetAdapterIndex.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp iphlpapi,__imp_GetAdapterIndex,GetAdapterIndex,0 -#ifdef __x86_64__ .text.windows GetAdapterIndex: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetAdapterIndex(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetAdapterIndex,globl .previous -#endif diff --git a/libc/nt/iphlpapi/GetAdapterOrderMap.S b/libc/nt/iphlpapi/GetAdapterOrderMap.S index 91abd0dd1..378a4af19 100644 --- a/libc/nt/iphlpapi/GetAdapterOrderMap.S +++ b/libc/nt/iphlpapi/GetAdapterOrderMap.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp iphlpapi,__imp_GetAdapterOrderMap,GetAdapterOrderMap,0 -#ifdef __x86_64__ .text.windows GetAdapterOrderMap: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_GetAdapterOrderMap(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetAdapterOrderMap,globl .previous -#endif diff --git a/libc/nt/iphlpapi/GetAdaptersAddresses.S b/libc/nt/iphlpapi/GetAdaptersAddresses.S index a9d7042ba..909564a22 100644 --- a/libc/nt/iphlpapi/GetAdaptersAddresses.S +++ b/libc/nt/iphlpapi/GetAdaptersAddresses.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp iphlpapi,__imp_GetAdaptersAddresses,GetAdaptersAddresses,67 -#ifdef __x86_64__ .text.windows GetAdaptersAddresses: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetAdaptersAddresses(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetAdaptersAddresses,globl .previous -#endif diff --git a/libc/nt/iphlpapi/GetAdaptersInfo.S b/libc/nt/iphlpapi/GetAdaptersInfo.S index ce080ae90..5698e1ccb 100644 --- a/libc/nt/iphlpapi/GetAdaptersInfo.S +++ b/libc/nt/iphlpapi/GetAdaptersInfo.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp iphlpapi,__imp_GetAdaptersInfo,GetAdaptersInfo,0 -#ifdef __x86_64__ .text.windows GetAdaptersInfo: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetAdaptersInfo(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetAdaptersInfo,globl .previous -#endif diff --git a/libc/nt/iphlpapi/GetBestInterface.S b/libc/nt/iphlpapi/GetBestInterface.S index 2b010a0ed..caeb05abe 100644 --- a/libc/nt/iphlpapi/GetBestInterface.S +++ b/libc/nt/iphlpapi/GetBestInterface.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp iphlpapi,__imp_GetBestInterface,GetBestInterface,0 -#ifdef __x86_64__ .text.windows GetBestInterface: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetBestInterface(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetBestInterface,globl .previous -#endif diff --git a/libc/nt/iphlpapi/GetBestInterfaceEx.S b/libc/nt/iphlpapi/GetBestInterfaceEx.S index 75e8640e3..874aa96ae 100644 --- a/libc/nt/iphlpapi/GetBestInterfaceEx.S +++ b/libc/nt/iphlpapi/GetBestInterfaceEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp iphlpapi,__imp_GetBestInterfaceEx,GetBestInterfaceEx,0 -#ifdef __x86_64__ .text.windows GetBestInterfaceEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetBestInterfaceEx(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetBestInterfaceEx,globl .previous -#endif diff --git a/libc/nt/iphlpapi/GetBestRoute.S b/libc/nt/iphlpapi/GetBestRoute.S index e79a5e8e3..b85877720 100644 --- a/libc/nt/iphlpapi/GetBestRoute.S +++ b/libc/nt/iphlpapi/GetBestRoute.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp iphlpapi,__imp_GetBestRoute,GetBestRoute,0 -#ifdef __x86_64__ .text.windows GetBestRoute: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetBestRoute(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetBestRoute,globl .previous -#endif diff --git a/libc/nt/iphlpapi/GetNumberOfInterfaces.S b/libc/nt/iphlpapi/GetNumberOfInterfaces.S index 105eb1e69..3aea3e1c1 100644 --- a/libc/nt/iphlpapi/GetNumberOfInterfaces.S +++ b/libc/nt/iphlpapi/GetNumberOfInterfaces.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp iphlpapi,__imp_GetNumberOfInterfaces,GetNumberOfInterfaces,0 -#ifdef __x86_64__ .text.windows GetNumberOfInterfaces: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetNumberOfInterfaces: sub $32,%rsp call *__imp_GetNumberOfInterfaces(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetNumberOfInterfaces,globl .previous -#endif diff --git a/libc/nt/iphlpapi/GetTcpTable.S b/libc/nt/iphlpapi/GetTcpTable.S index bd78327bc..e4df7876b 100644 --- a/libc/nt/iphlpapi/GetTcpTable.S +++ b/libc/nt/iphlpapi/GetTcpTable.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp iphlpapi,__imp_GetTcpTable,GetTcpTable,0 -#ifdef __x86_64__ .text.windows GetTcpTable: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetTcpTable(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetTcpTable,globl .previous -#endif diff --git a/libc/nt/iphlpapi/GetTcpTable2.S b/libc/nt/iphlpapi/GetTcpTable2.S index b71af9c23..c2efe98aa 100644 --- a/libc/nt/iphlpapi/GetTcpTable2.S +++ b/libc/nt/iphlpapi/GetTcpTable2.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp iphlpapi,__imp_GetTcpTable2,GetTcpTable2,0 -#ifdef __x86_64__ .text.windows GetTcpTable2: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetTcpTable2(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetTcpTable2,globl .previous -#endif diff --git a/libc/nt/kernel32/AcquireSRWLockExclusive.S b/libc/nt/kernel32/AcquireSRWLockExclusive.S index 509e88b77..d3dfacb86 100644 --- a/libc/nt/kernel32/AcquireSRWLockExclusive.S +++ b/libc/nt/kernel32/AcquireSRWLockExclusive.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_AcquireSRWLockExclusive,AcquireSRWLockExclusive,0 -#ifdef __x86_64__ .text.windows AcquireSRWLockExclusive: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ AcquireSRWLockExclusive: sub $32,%rsp call *__imp_AcquireSRWLockExclusive(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn AcquireSRWLockExclusive,globl .previous -#endif diff --git a/libc/nt/kernel32/AcquireSRWLockShared.S b/libc/nt/kernel32/AcquireSRWLockShared.S index cbd7830aa..b58592445 100644 --- a/libc/nt/kernel32/AcquireSRWLockShared.S +++ b/libc/nt/kernel32/AcquireSRWLockShared.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_AcquireSRWLockShared,AcquireSRWLockShared,0 -#ifdef __x86_64__ .text.windows AcquireSRWLockShared: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ AcquireSRWLockShared: sub $32,%rsp call *__imp_AcquireSRWLockShared(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn AcquireSRWLockShared,globl .previous -#endif diff --git a/libc/nt/kernel32/AddVectoredContinueHandler.S b/libc/nt/kernel32/AddVectoredContinueHandler.S index 2718c0050..3693e868d 100644 --- a/libc/nt/kernel32/AddVectoredContinueHandler.S +++ b/libc/nt/kernel32/AddVectoredContinueHandler.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_AddVectoredContinueHandler,AddVectoredContinueHandler,0 -#ifdef __x86_64__ .text.windows AddVectoredContinueHandler: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_AddVectoredContinueHandler(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn AddVectoredContinueHandler,globl .previous -#endif diff --git a/libc/nt/kernel32/AddVectoredExceptionHandler.S b/libc/nt/kernel32/AddVectoredExceptionHandler.S index ecdc65a7f..6d281a3f6 100644 --- a/libc/nt/kernel32/AddVectoredExceptionHandler.S +++ b/libc/nt/kernel32/AddVectoredExceptionHandler.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_AddVectoredExceptionHandler,AddVectoredExceptionHandler,0 -#ifdef __x86_64__ .text.windows AddVectoredExceptionHandler: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_AddVectoredExceptionHandler(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn AddVectoredExceptionHandler,globl .previous -#endif diff --git a/libc/nt/kernel32/AllocConsole.S b/libc/nt/kernel32/AllocConsole.S index 087b83218..a5b8bd3a7 100644 --- a/libc/nt/kernel32/AllocConsole.S +++ b/libc/nt/kernel32/AllocConsole.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_AllocConsole,AllocConsole,0 -#ifdef __x86_64__ .text.windows AllocConsole: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_AllocConsole(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn AllocConsole,globl .previous -#endif diff --git a/libc/nt/kernel32/AttachConsole.S b/libc/nt/kernel32/AttachConsole.S index 442a82927..7ab34a5f7 100644 --- a/libc/nt/kernel32/AttachConsole.S +++ b/libc/nt/kernel32/AttachConsole.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_AttachConsole,AttachConsole,0 -#ifdef __x86_64__ .text.windows AttachConsole: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ AttachConsole: sub $32,%rsp call *__imp_AttachConsole(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn AttachConsole,globl .previous -#endif diff --git a/libc/nt/kernel32/CallNamedPipeA.S b/libc/nt/kernel32/CallNamedPipeA.S index 728bafaa5..55cd8df6e 100644 --- a/libc/nt/kernel32/CallNamedPipeA.S +++ b/libc/nt/kernel32/CallNamedPipeA.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CallNamedPipeA,CallNamedPipeA,110 -#ifdef __x86_64__ .text.windows CallNamedPipeA: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CallNamedPipeA(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CallNamedPipeA,globl .previous -#endif diff --git a/libc/nt/kernel32/CallNamedPipeW.S b/libc/nt/kernel32/CallNamedPipeW.S index 7bf199350..8aebc995f 100644 --- a/libc/nt/kernel32/CallNamedPipeW.S +++ b/libc/nt/kernel32/CallNamedPipeW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CallNamedPipeW,CallNamedPipeW,0 -#ifdef __x86_64__ .text.windows CallNamedPipe: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CallNamedPipeW(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CallNamedPipe,globl .previous -#endif diff --git a/libc/nt/kernel32/CancelIo.S b/libc/nt/kernel32/CancelIo.S index d8dccd57a..bdbee09d6 100644 --- a/libc/nt/kernel32/CancelIo.S +++ b/libc/nt/kernel32/CancelIo.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CancelIo,CancelIo,0 -#ifdef __x86_64__ .text.windows CancelIo: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ CancelIo: sub $32,%rsp call *__imp_CancelIo(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn CancelIo,globl .previous -#endif diff --git a/libc/nt/kernel32/CancelIoEx.S b/libc/nt/kernel32/CancelIoEx.S index d3dfce25c..31fa29561 100644 --- a/libc/nt/kernel32/CancelIoEx.S +++ b/libc/nt/kernel32/CancelIoEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CancelIoEx,CancelIoEx,0 -#ifdef __x86_64__ .text.windows CancelIoEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CancelIoEx(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CancelIoEx,globl .previous -#endif diff --git a/libc/nt/kernel32/CancelSynchronousIo.S b/libc/nt/kernel32/CancelSynchronousIo.S index ea66d75be..135311403 100644 --- a/libc/nt/kernel32/CancelSynchronousIo.S +++ b/libc/nt/kernel32/CancelSynchronousIo.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CancelSynchronousIo,CancelSynchronousIo,0 -#ifdef __x86_64__ .text.windows CancelSynchronousIo: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ CancelSynchronousIo: sub $32,%rsp call *__imp_CancelSynchronousIo(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn CancelSynchronousIo,globl .previous -#endif diff --git a/libc/nt/kernel32/CheckRemoteDebuggerPresent.S b/libc/nt/kernel32/CheckRemoteDebuggerPresent.S index d1fd711ed..4907669f6 100644 --- a/libc/nt/kernel32/CheckRemoteDebuggerPresent.S +++ b/libc/nt/kernel32/CheckRemoteDebuggerPresent.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CheckRemoteDebuggerPresent,CheckRemoteDebuggerPresent,0 -#ifdef __x86_64__ .text.windows CheckRemoteDebuggerPresent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CheckRemoteDebuggerPresent(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CheckRemoteDebuggerPresent,globl .previous -#endif diff --git a/libc/nt/kernel32/ClearCommBreak.S b/libc/nt/kernel32/ClearCommBreak.S index e6efeb9ad..4545afa3b 100644 --- a/libc/nt/kernel32/ClearCommBreak.S +++ b/libc/nt/kernel32/ClearCommBreak.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ClearCommBreak,ClearCommBreak,0 -#ifdef __x86_64__ .text.windows ClearCommBreak: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ ClearCommBreak: sub $32,%rsp call *__imp_ClearCommBreak(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn ClearCommBreak,globl .previous -#endif diff --git a/libc/nt/kernel32/CloseHandle.S b/libc/nt/kernel32/CloseHandle.S index 01c3cb84f..79f8940c8 100644 --- a/libc/nt/kernel32/CloseHandle.S +++ b/libc/nt/kernel32/CloseHandle.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CloseHandle,CloseHandle,0 -#ifdef __x86_64__ .text.windows __CloseHandle: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ __CloseHandle: sub $32,%rsp call *__imp_CloseHandle(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn __CloseHandle,globl .previous -#endif diff --git a/libc/nt/kernel32/ConnectNamedPipe.S b/libc/nt/kernel32/ConnectNamedPipe.S index 350eed89f..922e4c92d 100644 --- a/libc/nt/kernel32/ConnectNamedPipe.S +++ b/libc/nt/kernel32/ConnectNamedPipe.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ConnectNamedPipe,ConnectNamedPipe,0 -#ifdef __x86_64__ .text.windows ConnectNamedPipe: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ConnectNamedPipe(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn ConnectNamedPipe,globl .previous -#endif diff --git a/libc/nt/kernel32/ContinueDebugEvent.S b/libc/nt/kernel32/ContinueDebugEvent.S index 766a898f0..cbc2a5043 100644 --- a/libc/nt/kernel32/ContinueDebugEvent.S +++ b/libc/nt/kernel32/ContinueDebugEvent.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ContinueDebugEvent,ContinueDebugEvent,0 -#ifdef __x86_64__ .text.windows ContinueDebugEvent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ContinueDebugEvent(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn ContinueDebugEvent,globl .previous -#endif diff --git a/libc/nt/kernel32/CopyFileW.S b/libc/nt/kernel32/CopyFileW.S index 50ca4e090..82d2e44f1 100644 --- a/libc/nt/kernel32/CopyFileW.S +++ b/libc/nt/kernel32/CopyFileW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CopyFileW,CopyFileW,0 -#ifdef __x86_64__ .text.windows CopyFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CopyFileW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CopyFile,globl .previous -#endif diff --git a/libc/nt/kernel32/CreateDirectoryW.S b/libc/nt/kernel32/CreateDirectoryW.S index c2eb8c7fe..7f7750e40 100644 --- a/libc/nt/kernel32/CreateDirectoryW.S +++ b/libc/nt/kernel32/CreateDirectoryW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CreateDirectoryW,CreateDirectoryW,0 -#ifdef __x86_64__ .text.windows __CreateDirectory: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateDirectoryW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __CreateDirectory,globl .previous -#endif diff --git a/libc/nt/kernel32/CreateEventExW.S b/libc/nt/kernel32/CreateEventExW.S index 5a493448a..98897aae0 100644 --- a/libc/nt/kernel32/CreateEventExW.S +++ b/libc/nt/kernel32/CreateEventExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CreateEventExW,CreateEventExW,0 -#ifdef __x86_64__ .text.windows CreateEventEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateEventExW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CreateEventEx,globl .previous -#endif diff --git a/libc/nt/kernel32/CreateEventW.S b/libc/nt/kernel32/CreateEventW.S index 3256edd95..d2eb24e52 100644 --- a/libc/nt/kernel32/CreateEventW.S +++ b/libc/nt/kernel32/CreateEventW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CreateEventW,CreateEventW,0 -#ifdef __x86_64__ .text.windows CreateEvent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateEventW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CreateEvent,globl .previous -#endif diff --git a/libc/nt/kernel32/CreateFileMappingNumaW.S b/libc/nt/kernel32/CreateFileMappingNumaW.S index c1c2aae00..5fd7f297f 100644 --- a/libc/nt/kernel32/CreateFileMappingNumaW.S +++ b/libc/nt/kernel32/CreateFileMappingNumaW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CreateFileMappingNumaW,CreateFileMappingNumaW,0 -#ifdef __x86_64__ .text.windows __CreateFileMappingNuma: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateFileMappingNumaW(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __CreateFileMappingNuma,globl .previous -#endif diff --git a/libc/nt/kernel32/CreateFileMappingW.S b/libc/nt/kernel32/CreateFileMappingW.S index 72fd21f56..af9d2f41d 100644 --- a/libc/nt/kernel32/CreateFileMappingW.S +++ b/libc/nt/kernel32/CreateFileMappingW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CreateFileMappingW,CreateFileMappingW,0 -#ifdef __x86_64__ .text.windows __CreateFileMapping: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateFileMappingW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __CreateFileMapping,globl .previous -#endif diff --git a/libc/nt/kernel32/CreateFileW.S b/libc/nt/kernel32/CreateFileW.S index 98216e675..578e21ed5 100644 --- a/libc/nt/kernel32/CreateFileW.S +++ b/libc/nt/kernel32/CreateFileW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CreateFileW,CreateFileW,0 -#ifdef __x86_64__ .text.windows __CreateFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateFileW(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __CreateFile,globl .previous -#endif diff --git a/libc/nt/kernel32/CreateHardLinkW.S b/libc/nt/kernel32/CreateHardLinkW.S index 3e17d3401..409c3e63b 100644 --- a/libc/nt/kernel32/CreateHardLinkW.S +++ b/libc/nt/kernel32/CreateHardLinkW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CreateHardLinkW,CreateHardLinkW,0 -#ifdef __x86_64__ .text.windows CreateHardLink: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateHardLinkW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CreateHardLink,globl .previous -#endif diff --git a/libc/nt/kernel32/CreateIoCompletionPort.S b/libc/nt/kernel32/CreateIoCompletionPort.S index 917f66258..12c70312a 100644 --- a/libc/nt/kernel32/CreateIoCompletionPort.S +++ b/libc/nt/kernel32/CreateIoCompletionPort.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CreateIoCompletionPort,CreateIoCompletionPort,0 -#ifdef __x86_64__ .text.windows CreateIoCompletionPort: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateIoCompletionPort(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CreateIoCompletionPort,globl .previous -#endif diff --git a/libc/nt/kernel32/CreateNamedPipeW.S b/libc/nt/kernel32/CreateNamedPipeW.S index 165f71793..e6969f343 100644 --- a/libc/nt/kernel32/CreateNamedPipeW.S +++ b/libc/nt/kernel32/CreateNamedPipeW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CreateNamedPipeW,CreateNamedPipeW,0 -#ifdef __x86_64__ .text.windows __CreateNamedPipe: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateNamedPipeW(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __CreateNamedPipe,globl .previous -#endif diff --git a/libc/nt/kernel32/CreatePipe.S b/libc/nt/kernel32/CreatePipe.S index c917a8b32..3284d93c9 100644 --- a/libc/nt/kernel32/CreatePipe.S +++ b/libc/nt/kernel32/CreatePipe.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CreatePipe,CreatePipe,0 -#ifdef __x86_64__ .text.windows __CreatePipe: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreatePipe(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __CreatePipe,globl .previous -#endif diff --git a/libc/nt/kernel32/CreateProcessW.S b/libc/nt/kernel32/CreateProcessW.S index 76454afd2..96dfa1149 100644 --- a/libc/nt/kernel32/CreateProcessW.S +++ b/libc/nt/kernel32/CreateProcessW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CreateProcessW,CreateProcessW,0 -#ifdef __x86_64__ .text.windows __CreateProcess: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateProcessW(%rip),%rax jmp __sysv2nt10 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __CreateProcess,globl .previous -#endif diff --git a/libc/nt/kernel32/CreateSemaphoreW.S b/libc/nt/kernel32/CreateSemaphoreW.S index 722b547bc..05c1bb88e 100644 --- a/libc/nt/kernel32/CreateSemaphoreW.S +++ b/libc/nt/kernel32/CreateSemaphoreW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CreateSemaphoreW,CreateSemaphoreW,0 -#ifdef __x86_64__ .text.windows CreateSemaphore: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateSemaphoreW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CreateSemaphore,globl .previous -#endif diff --git a/libc/nt/kernel32/CreateSymbolicLinkW.S b/libc/nt/kernel32/CreateSymbolicLinkW.S index 7ba9037bc..4722e759b 100644 --- a/libc/nt/kernel32/CreateSymbolicLinkW.S +++ b/libc/nt/kernel32/CreateSymbolicLinkW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CreateSymbolicLinkW,CreateSymbolicLinkW,0 -#ifdef __x86_64__ .text.windows __CreateSymbolicLink: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateSymbolicLinkW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __CreateSymbolicLink,globl .previous -#endif diff --git a/libc/nt/kernel32/CreateThread.S b/libc/nt/kernel32/CreateThread.S index 4607e32ff..190c9b1ef 100644 --- a/libc/nt/kernel32/CreateThread.S +++ b/libc/nt/kernel32/CreateThread.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CreateThread,CreateThread,0 -#ifdef __x86_64__ .text.windows __CreateThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateThread(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __CreateThread,globl .previous -#endif diff --git a/libc/nt/kernel32/CreateToolhelp32Snapshot.S b/libc/nt/kernel32/CreateToolhelp32Snapshot.S index c4d3378f6..eec58f4be 100644 --- a/libc/nt/kernel32/CreateToolhelp32Snapshot.S +++ b/libc/nt/kernel32/CreateToolhelp32Snapshot.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CreateToolhelp32Snapshot,CreateToolhelp32Snapshot,0 -#ifdef __x86_64__ .text.windows CreateToolhelp32Snapshot: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateToolhelp32Snapshot(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CreateToolhelp32Snapshot,globl .previous -#endif diff --git a/libc/nt/kernel32/CreateWaitableTimerExW.S b/libc/nt/kernel32/CreateWaitableTimerExW.S index 6e911e3ad..02b905f46 100644 --- a/libc/nt/kernel32/CreateWaitableTimerExW.S +++ b/libc/nt/kernel32/CreateWaitableTimerExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CreateWaitableTimerExW,CreateWaitableTimerExW,0 -#ifdef __x86_64__ .text.windows CreateWaitableTimerEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateWaitableTimerExW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CreateWaitableTimerEx,globl .previous -#endif diff --git a/libc/nt/kernel32/CreateWaitableTimerW.S b/libc/nt/kernel32/CreateWaitableTimerW.S index 4fc92d99f..851012830 100644 --- a/libc/nt/kernel32/CreateWaitableTimerW.S +++ b/libc/nt/kernel32/CreateWaitableTimerW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_CreateWaitableTimerW,CreateWaitableTimerW,0 -#ifdef __x86_64__ .text.windows CreateWaitableTimer: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateWaitableTimerW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CreateWaitableTimer,globl .previous -#endif diff --git a/libc/nt/kernel32/DebugActiveProcess.S b/libc/nt/kernel32/DebugActiveProcess.S index b524e8fb9..6973c6c56 100644 --- a/libc/nt/kernel32/DebugActiveProcess.S +++ b/libc/nt/kernel32/DebugActiveProcess.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_DebugActiveProcess,DebugActiveProcess,0 -#ifdef __x86_64__ .text.windows DebugActiveProcess: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ DebugActiveProcess: sub $32,%rsp call *__imp_DebugActiveProcess(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn DebugActiveProcess,globl .previous -#endif diff --git a/libc/nt/kernel32/DebugActiveProcessStop.S b/libc/nt/kernel32/DebugActiveProcessStop.S index a4ccd3aed..936f757ee 100644 --- a/libc/nt/kernel32/DebugActiveProcessStop.S +++ b/libc/nt/kernel32/DebugActiveProcessStop.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_DebugActiveProcessStop,DebugActiveProcessStop,0 -#ifdef __x86_64__ .text.windows DebugActiveProcessStop: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ DebugActiveProcessStop: sub $32,%rsp call *__imp_DebugActiveProcessStop(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn DebugActiveProcessStop,globl .previous -#endif diff --git a/libc/nt/kernel32/DebugBreakProcess.S b/libc/nt/kernel32/DebugBreakProcess.S index 708c2d317..78d14ef42 100644 --- a/libc/nt/kernel32/DebugBreakProcess.S +++ b/libc/nt/kernel32/DebugBreakProcess.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_DebugBreakProcess,DebugBreakProcess,263 -#ifdef __x86_64__ .text.windows DebugBreakProcess: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ DebugBreakProcess: sub $32,%rsp call *__imp_DebugBreakProcess(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn DebugBreakProcess,globl .previous -#endif diff --git a/libc/nt/kernel32/DeleteCriticalSection.S b/libc/nt/kernel32/DeleteCriticalSection.S index de655d2e9..9085bca1c 100644 --- a/libc/nt/kernel32/DeleteCriticalSection.S +++ b/libc/nt/kernel32/DeleteCriticalSection.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_DeleteCriticalSection,DeleteCriticalSection,0 -#ifdef __x86_64__ .text.windows DeleteCriticalSection: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ DeleteCriticalSection: sub $32,%rsp call *__imp_DeleteCriticalSection(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn DeleteCriticalSection,globl .previous -#endif diff --git a/libc/nt/kernel32/DeleteFileW.S b/libc/nt/kernel32/DeleteFileW.S index 50d53bce6..e09f1e174 100644 --- a/libc/nt/kernel32/DeleteFileW.S +++ b/libc/nt/kernel32/DeleteFileW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_DeleteFileW,DeleteFileW,0 -#ifdef __x86_64__ .text.windows __DeleteFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ __DeleteFile: sub $32,%rsp call *__imp_DeleteFileW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn __DeleteFile,globl .previous -#endif diff --git a/libc/nt/kernel32/DeleteProcThreadAttributeList.S b/libc/nt/kernel32/DeleteProcThreadAttributeList.S index 60a723a39..f8db91bf7 100644 --- a/libc/nt/kernel32/DeleteProcThreadAttributeList.S +++ b/libc/nt/kernel32/DeleteProcThreadAttributeList.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_DeleteProcThreadAttributeList,DeleteProcThreadAttributeList,0 -#ifdef __x86_64__ .text.windows DeleteProcThreadAttributeList: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ DeleteProcThreadAttributeList: sub $32,%rsp call *__imp_DeleteProcThreadAttributeList(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn DeleteProcThreadAttributeList,globl .previous -#endif diff --git a/libc/nt/kernel32/DeviceIoControl.S b/libc/nt/kernel32/DeviceIoControl.S index 91b42a345..002ae0be0 100644 --- a/libc/nt/kernel32/DeviceIoControl.S +++ b/libc/nt/kernel32/DeviceIoControl.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_DeviceIoControl,DeviceIoControl,0 -#ifdef __x86_64__ .text.windows __DeviceIoControl: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_DeviceIoControl(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __DeviceIoControl,globl .previous -#endif diff --git a/libc/nt/kernel32/DisconnectNamedPipe.S b/libc/nt/kernel32/DisconnectNamedPipe.S index 00ff05d13..6e4767bff 100644 --- a/libc/nt/kernel32/DisconnectNamedPipe.S +++ b/libc/nt/kernel32/DisconnectNamedPipe.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_DisconnectNamedPipe,DisconnectNamedPipe,0 -#ifdef __x86_64__ .text.windows DisconnectNamedPipe: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ DisconnectNamedPipe: sub $32,%rsp call *__imp_DisconnectNamedPipe(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn DisconnectNamedPipe,globl .previous -#endif diff --git a/libc/nt/kernel32/DuplicateHandle.S b/libc/nt/kernel32/DuplicateHandle.S index c5eb6b9c7..a75eda3e0 100644 --- a/libc/nt/kernel32/DuplicateHandle.S +++ b/libc/nt/kernel32/DuplicateHandle.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_DuplicateHandle,DuplicateHandle,0 -#ifdef __x86_64__ .text.windows DuplicateHandle: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_DuplicateHandle(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn DuplicateHandle,globl .previous -#endif diff --git a/libc/nt/kernel32/EnterCriticalSection.S b/libc/nt/kernel32/EnterCriticalSection.S index 7486abb00..dde93f81e 100644 --- a/libc/nt/kernel32/EnterCriticalSection.S +++ b/libc/nt/kernel32/EnterCriticalSection.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_EnterCriticalSection,EnterCriticalSection,0 -#ifdef __x86_64__ .text.windows EnterCriticalSection: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ EnterCriticalSection: sub $32,%rsp call *__imp_EnterCriticalSection(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn EnterCriticalSection,globl .previous -#endif diff --git a/libc/nt/kernel32/ExitProcess.S b/libc/nt/kernel32/ExitProcess.S index 0f827f109..51a1a60e0 100644 --- a/libc/nt/kernel32/ExitProcess.S +++ b/libc/nt/kernel32/ExitProcess.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ExitProcess,ExitProcess,0 -#ifdef __x86_64__ .text.windows ExitProcess: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ ExitProcess: sub $32,%rsp call *__imp_ExitProcess(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn ExitProcess,globl .previous -#endif diff --git a/libc/nt/kernel32/ExitThread.S b/libc/nt/kernel32/ExitThread.S index ed547ecc9..2475c8ba4 100644 --- a/libc/nt/kernel32/ExitThread.S +++ b/libc/nt/kernel32/ExitThread.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ExitThread,ExitThread,0 -#ifdef __x86_64__ .text.windows ExitThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ ExitThread: sub $32,%rsp call *__imp_ExitThread(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn ExitThread,globl .previous -#endif diff --git a/libc/nt/kernel32/FatalExit.S b/libc/nt/kernel32/FatalExit.S index 3d461a2a5..f15b1a9c4 100644 --- a/libc/nt/kernel32/FatalExit.S +++ b/libc/nt/kernel32/FatalExit.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FatalExit,FatalExit,364 -#ifdef __x86_64__ .text.windows FatalExit: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ FatalExit: sub $32,%rsp call *__imp_FatalExit(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn FatalExit,globl .previous -#endif diff --git a/libc/nt/kernel32/FillConsoleOutputAttribute.S b/libc/nt/kernel32/FillConsoleOutputAttribute.S index be09bfbd1..f29dac9ab 100644 --- a/libc/nt/kernel32/FillConsoleOutputAttribute.S +++ b/libc/nt/kernel32/FillConsoleOutputAttribute.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FillConsoleOutputAttribute,FillConsoleOutputAttribute,0 -#ifdef __x86_64__ .text.windows FillConsoleOutputAttribute: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_FillConsoleOutputAttribute(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn FillConsoleOutputAttribute,globl .previous -#endif diff --git a/libc/nt/kernel32/FillConsoleOutputCharacterW.S b/libc/nt/kernel32/FillConsoleOutputCharacterW.S index 35d013dda..4c610dca1 100644 --- a/libc/nt/kernel32/FillConsoleOutputCharacterW.S +++ b/libc/nt/kernel32/FillConsoleOutputCharacterW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FillConsoleOutputCharacterW,FillConsoleOutputCharacterW,0 -#ifdef __x86_64__ .text.windows FillConsoleOutputCharacter: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_FillConsoleOutputCharacterW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn FillConsoleOutputCharacter,globl .previous -#endif diff --git a/libc/nt/kernel32/FindClose.S b/libc/nt/kernel32/FindClose.S index 0e95d719b..8fedcc6e4 100644 --- a/libc/nt/kernel32/FindClose.S +++ b/libc/nt/kernel32/FindClose.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FindClose,FindClose,0 -#ifdef __x86_64__ .text.windows __FindClose: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ __FindClose: sub $32,%rsp call *__imp_FindClose(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn __FindClose,globl .previous -#endif diff --git a/libc/nt/kernel32/FindFirstFileExW.S b/libc/nt/kernel32/FindFirstFileExW.S index db8294157..f109a5cb1 100644 --- a/libc/nt/kernel32/FindFirstFileExW.S +++ b/libc/nt/kernel32/FindFirstFileExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FindFirstFileExW,FindFirstFileExW,0 -#ifdef __x86_64__ .text.windows FindFirstFileEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_FindFirstFileExW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn FindFirstFileEx,globl .previous -#endif diff --git a/libc/nt/kernel32/FindFirstFileW.S b/libc/nt/kernel32/FindFirstFileW.S index b797818f7..b4a74eb45 100644 --- a/libc/nt/kernel32/FindFirstFileW.S +++ b/libc/nt/kernel32/FindFirstFileW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FindFirstFileW,FindFirstFileW,0 -#ifdef __x86_64__ .text.windows __FindFirstFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_FindFirstFileW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __FindFirstFile,globl .previous -#endif diff --git a/libc/nt/kernel32/FindFirstVolumeW.S b/libc/nt/kernel32/FindFirstVolumeW.S index 98017b277..ba8e31d94 100644 --- a/libc/nt/kernel32/FindFirstVolumeW.S +++ b/libc/nt/kernel32/FindFirstVolumeW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FindFirstVolumeW,FindFirstVolumeW,0 -#ifdef __x86_64__ .text.windows FindFirstVolume: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_FindFirstVolumeW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn FindFirstVolume,globl .previous -#endif diff --git a/libc/nt/kernel32/FindNextFileW.S b/libc/nt/kernel32/FindNextFileW.S index ba13a2f35..0d57d71f6 100644 --- a/libc/nt/kernel32/FindNextFileW.S +++ b/libc/nt/kernel32/FindNextFileW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FindNextFileW,FindNextFileW,0 -#ifdef __x86_64__ .text.windows __FindNextFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_FindNextFileW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __FindNextFile,globl .previous -#endif diff --git a/libc/nt/kernel32/FindNextVolumeW.S b/libc/nt/kernel32/FindNextVolumeW.S index 03684fa77..e93eb4be2 100644 --- a/libc/nt/kernel32/FindNextVolumeW.S +++ b/libc/nt/kernel32/FindNextVolumeW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FindNextVolumeW,FindNextVolumeW,0 -#ifdef __x86_64__ .text.windows FindNextVolume: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_FindNextVolumeW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn FindNextVolume,globl .previous -#endif diff --git a/libc/nt/kernel32/FindVolumeClose.S b/libc/nt/kernel32/FindVolumeClose.S index ccaeb5018..f17327223 100644 --- a/libc/nt/kernel32/FindVolumeClose.S +++ b/libc/nt/kernel32/FindVolumeClose.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FindVolumeClose,FindVolumeClose,0 -#ifdef __x86_64__ .text.windows FindVolumeClose: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ FindVolumeClose: sub $32,%rsp call *__imp_FindVolumeClose(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn FindVolumeClose,globl .previous -#endif diff --git a/libc/nt/kernel32/FlushConsoleInputBuffer.S b/libc/nt/kernel32/FlushConsoleInputBuffer.S index 559ce9626..91d50f0ef 100644 --- a/libc/nt/kernel32/FlushConsoleInputBuffer.S +++ b/libc/nt/kernel32/FlushConsoleInputBuffer.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FlushConsoleInputBuffer,FlushConsoleInputBuffer,0 -#ifdef __x86_64__ .text.windows FlushConsoleInputBuffer: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ FlushConsoleInputBuffer: sub $32,%rsp call *__imp_FlushConsoleInputBuffer(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn FlushConsoleInputBuffer,globl .previous -#endif diff --git a/libc/nt/kernel32/FlushFileBuffers.S b/libc/nt/kernel32/FlushFileBuffers.S index 85b1240ad..bf1d4f89b 100644 --- a/libc/nt/kernel32/FlushFileBuffers.S +++ b/libc/nt/kernel32/FlushFileBuffers.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FlushFileBuffers,FlushFileBuffers,0 -#ifdef __x86_64__ .text.windows __FlushFileBuffers: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ __FlushFileBuffers: sub $32,%rsp call *__imp_FlushFileBuffers(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn __FlushFileBuffers,globl .previous -#endif diff --git a/libc/nt/kernel32/FlushViewOfFile.S b/libc/nt/kernel32/FlushViewOfFile.S index a5484ac99..1aecb09d1 100644 --- a/libc/nt/kernel32/FlushViewOfFile.S +++ b/libc/nt/kernel32/FlushViewOfFile.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FlushViewOfFile,FlushViewOfFile,0 -#ifdef __x86_64__ .text.windows __FlushViewOfFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_FlushViewOfFile(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __FlushViewOfFile,globl .previous -#endif diff --git a/libc/nt/kernel32/FormatMessageW.S b/libc/nt/kernel32/FormatMessageW.S index 8bb858767..7d86363ac 100644 --- a/libc/nt/kernel32/FormatMessageW.S +++ b/libc/nt/kernel32/FormatMessageW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FormatMessageW,FormatMessageW,0 -#ifdef __x86_64__ .text.windows FormatMessage: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_FormatMessageW(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn FormatMessage,globl .previous -#endif diff --git a/libc/nt/kernel32/FreeConsole.S b/libc/nt/kernel32/FreeConsole.S index 222bc32ec..03f922be4 100644 --- a/libc/nt/kernel32/FreeConsole.S +++ b/libc/nt/kernel32/FreeConsole.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FreeConsole,FreeConsole,0 -#ifdef __x86_64__ .text.windows FreeConsole: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_FreeConsole(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn FreeConsole,globl .previous -#endif diff --git a/libc/nt/kernel32/FreeEnvironmentStringsW.S b/libc/nt/kernel32/FreeEnvironmentStringsW.S index b59da2169..5752c9fd0 100644 --- a/libc/nt/kernel32/FreeEnvironmentStringsW.S +++ b/libc/nt/kernel32/FreeEnvironmentStringsW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FreeEnvironmentStringsW,FreeEnvironmentStringsW,0 -#ifdef __x86_64__ .text.windows FreeEnvironmentStrings: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ FreeEnvironmentStrings: sub $32,%rsp call *__imp_FreeEnvironmentStringsW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn FreeEnvironmentStrings,globl .previous -#endif diff --git a/libc/nt/kernel32/FreeLibrary.S b/libc/nt/kernel32/FreeLibrary.S index ec3fd3dd6..4e12cd65b 100644 --- a/libc/nt/kernel32/FreeLibrary.S +++ b/libc/nt/kernel32/FreeLibrary.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FreeLibrary,FreeLibrary,0 -#ifdef __x86_64__ .text.windows FreeLibrary: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ FreeLibrary: sub $32,%rsp call *__imp_FreeLibrary(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn FreeLibrary,globl .previous -#endif diff --git a/libc/nt/kernel32/FreeResource.S b/libc/nt/kernel32/FreeResource.S index a3355bf26..bae61074a 100644 --- a/libc/nt/kernel32/FreeResource.S +++ b/libc/nt/kernel32/FreeResource.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_FreeResource,FreeResource,0 -#ifdef __x86_64__ .text.windows FreeResource: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ FreeResource: sub $32,%rsp call *__imp_FreeResource(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn FreeResource,globl .previous -#endif diff --git a/libc/nt/kernel32/GenerateConsoleCtrlEvent.S b/libc/nt/kernel32/GenerateConsoleCtrlEvent.S index 8619c037f..a0cb15e44 100644 --- a/libc/nt/kernel32/GenerateConsoleCtrlEvent.S +++ b/libc/nt/kernel32/GenerateConsoleCtrlEvent.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GenerateConsoleCtrlEvent,GenerateConsoleCtrlEvent,0 -#ifdef __x86_64__ .text.windows __GenerateConsoleCtrlEvent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GenerateConsoleCtrlEvent(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __GenerateConsoleCtrlEvent,globl .previous -#endif diff --git a/libc/nt/kernel32/GetCommandLineW.S b/libc/nt/kernel32/GetCommandLineW.S index 3dea6c604..e988d494b 100644 --- a/libc/nt/kernel32/GetCommandLineW.S +++ b/libc/nt/kernel32/GetCommandLineW.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetCommandLineW,GetCommandLineW,0 -#ifdef __x86_64__ .text.windows GetCommandLine: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_GetCommandLineW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetCommandLine,globl .previous -#endif diff --git a/libc/nt/kernel32/GetCompressedFileSizeW.S b/libc/nt/kernel32/GetCompressedFileSizeW.S index 74dffe354..075a5f3dd 100644 --- a/libc/nt/kernel32/GetCompressedFileSizeW.S +++ b/libc/nt/kernel32/GetCompressedFileSizeW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetCompressedFileSizeW,GetCompressedFileSizeW,0 -#ifdef __x86_64__ .text.windows GetCompressedFileSize: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetCompressedFileSizeW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetCompressedFileSize,globl .previous -#endif diff --git a/libc/nt/kernel32/GetComputerNameExW.S b/libc/nt/kernel32/GetComputerNameExW.S index 7fbc88e19..5c90af418 100644 --- a/libc/nt/kernel32/GetComputerNameExW.S +++ b/libc/nt/kernel32/GetComputerNameExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetComputerNameExW,GetComputerNameExW,0 -#ifdef __x86_64__ .text.windows GetComputerNameEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetComputerNameExW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetComputerNameEx,globl .previous -#endif diff --git a/libc/nt/kernel32/GetConsoleCP.S b/libc/nt/kernel32/GetConsoleCP.S index 3eb8d3760..acb10f4a4 100644 --- a/libc/nt/kernel32/GetConsoleCP.S +++ b/libc/nt/kernel32/GetConsoleCP.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetConsoleCP,GetConsoleCP,0 -#ifdef __x86_64__ .text.windows GetConsoleCP: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_GetConsoleCP(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetConsoleCP,globl .previous -#endif diff --git a/libc/nt/kernel32/GetConsoleCursorInfo.S b/libc/nt/kernel32/GetConsoleCursorInfo.S index 1b57ed019..36dcaf974 100644 --- a/libc/nt/kernel32/GetConsoleCursorInfo.S +++ b/libc/nt/kernel32/GetConsoleCursorInfo.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetConsoleCursorInfo,GetConsoleCursorInfo,0 -#ifdef __x86_64__ .text.windows GetConsoleCursorInfo: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetConsoleCursorInfo(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetConsoleCursorInfo,globl .previous -#endif diff --git a/libc/nt/kernel32/GetConsoleMode.S b/libc/nt/kernel32/GetConsoleMode.S index bea2424ac..e1490a419 100644 --- a/libc/nt/kernel32/GetConsoleMode.S +++ b/libc/nt/kernel32/GetConsoleMode.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetConsoleMode,GetConsoleMode,0 -#ifdef __x86_64__ .text.windows GetConsoleMode: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetConsoleMode(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetConsoleMode,globl .previous -#endif diff --git a/libc/nt/kernel32/GetConsoleOutputCP.S b/libc/nt/kernel32/GetConsoleOutputCP.S index 38994fe9e..0d30b5a0e 100644 --- a/libc/nt/kernel32/GetConsoleOutputCP.S +++ b/libc/nt/kernel32/GetConsoleOutputCP.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetConsoleOutputCP,GetConsoleOutputCP,0 -#ifdef __x86_64__ .text.windows GetConsoleOutputCP: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_GetConsoleOutputCP(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetConsoleOutputCP,globl .previous -#endif diff --git a/libc/nt/kernel32/GetConsoleScreenBufferInfo.S b/libc/nt/kernel32/GetConsoleScreenBufferInfo.S index 6be6a9e04..3bcae2e5b 100644 --- a/libc/nt/kernel32/GetConsoleScreenBufferInfo.S +++ b/libc/nt/kernel32/GetConsoleScreenBufferInfo.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetConsoleScreenBufferInfo,GetConsoleScreenBufferInfo,0 -#ifdef __x86_64__ .text.windows GetConsoleScreenBufferInfo: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetConsoleScreenBufferInfo(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetConsoleScreenBufferInfo,globl .previous -#endif diff --git a/libc/nt/kernel32/GetConsoleScreenBufferInfoEx.S b/libc/nt/kernel32/GetConsoleScreenBufferInfoEx.S index 064888ce2..5294efaee 100644 --- a/libc/nt/kernel32/GetConsoleScreenBufferInfoEx.S +++ b/libc/nt/kernel32/GetConsoleScreenBufferInfoEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetConsoleScreenBufferInfoEx,GetConsoleScreenBufferInfoEx,0 -#ifdef __x86_64__ .text.windows GetConsoleScreenBufferInfoEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetConsoleScreenBufferInfoEx(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetConsoleScreenBufferInfoEx,globl .previous -#endif diff --git a/libc/nt/kernel32/GetConsoleSelectionInfo.S b/libc/nt/kernel32/GetConsoleSelectionInfo.S index a3f5d0236..263ff1deb 100644 --- a/libc/nt/kernel32/GetConsoleSelectionInfo.S +++ b/libc/nt/kernel32/GetConsoleSelectionInfo.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetConsoleSelectionInfo,GetConsoleSelectionInfo,0 -#ifdef __x86_64__ .text.windows GetConsoleSelectionInfo: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetConsoleSelectionInfo: sub $32,%rsp call *__imp_GetConsoleSelectionInfo(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetConsoleSelectionInfo,globl .previous -#endif diff --git a/libc/nt/kernel32/GetConsoleTitleW.S b/libc/nt/kernel32/GetConsoleTitleW.S index 08c6d8613..9fca40a0e 100644 --- a/libc/nt/kernel32/GetConsoleTitleW.S +++ b/libc/nt/kernel32/GetConsoleTitleW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetConsoleTitleW,GetConsoleTitleW,0 -#ifdef __x86_64__ .text.windows GetConsoleTitle: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetConsoleTitleW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetConsoleTitle,globl .previous -#endif diff --git a/libc/nt/kernel32/GetConsoleWindow.S b/libc/nt/kernel32/GetConsoleWindow.S index 11400979d..68eb870fc 100644 --- a/libc/nt/kernel32/GetConsoleWindow.S +++ b/libc/nt/kernel32/GetConsoleWindow.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetConsoleWindow,GetConsoleWindow,0 -#ifdef __x86_64__ .text.windows GetConsoleWindow: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_GetConsoleWindow(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetConsoleWindow,globl .previous -#endif diff --git a/libc/nt/kernel32/GetCurrentDirectoryW.S b/libc/nt/kernel32/GetCurrentDirectoryW.S index 58cb3e139..19cdf2cb2 100644 --- a/libc/nt/kernel32/GetCurrentDirectoryW.S +++ b/libc/nt/kernel32/GetCurrentDirectoryW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetCurrentDirectoryW,GetCurrentDirectoryW,0 -#ifdef __x86_64__ .text.windows GetCurrentDirectory: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetCurrentDirectoryW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetCurrentDirectory,globl .previous -#endif diff --git a/libc/nt/kernel32/GetCurrentProcess.S b/libc/nt/kernel32/GetCurrentProcess.S index b09e4e50b..206a808a4 100644 --- a/libc/nt/kernel32/GetCurrentProcess.S +++ b/libc/nt/kernel32/GetCurrentProcess.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetCurrentProcess,GetCurrentProcess,0 -#ifdef __x86_64__ .text.windows GetCurrentProcess: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_GetCurrentProcess(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetCurrentProcess,globl .previous -#endif diff --git a/libc/nt/kernel32/GetCurrentProcessId.S b/libc/nt/kernel32/GetCurrentProcessId.S index da0966f74..39946dc6b 100644 --- a/libc/nt/kernel32/GetCurrentProcessId.S +++ b/libc/nt/kernel32/GetCurrentProcessId.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetCurrentProcessId,GetCurrentProcessId,0 -#ifdef __x86_64__ .text.windows GetCurrentProcessId: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_GetCurrentProcessId(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetCurrentProcessId,globl .previous -#endif diff --git a/libc/nt/kernel32/GetCurrentThread.S b/libc/nt/kernel32/GetCurrentThread.S index 384ff2367..8b1b746ce 100644 --- a/libc/nt/kernel32/GetCurrentThread.S +++ b/libc/nt/kernel32/GetCurrentThread.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetCurrentThread,GetCurrentThread,0 -#ifdef __x86_64__ .text.windows GetCurrentThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_GetCurrentThread(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetCurrentThread,globl .previous -#endif diff --git a/libc/nt/kernel32/GetCurrentThreadId.S b/libc/nt/kernel32/GetCurrentThreadId.S index 649688015..be907f533 100644 --- a/libc/nt/kernel32/GetCurrentThreadId.S +++ b/libc/nt/kernel32/GetCurrentThreadId.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetCurrentThreadId,GetCurrentThreadId,0 -#ifdef __x86_64__ .text.windows GetCurrentThreadId: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_GetCurrentThreadId(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetCurrentThreadId,globl .previous -#endif diff --git a/libc/nt/kernel32/GetEnvironmentStringsW.S b/libc/nt/kernel32/GetEnvironmentStringsW.S index fefa2b3fb..62648c25a 100644 --- a/libc/nt/kernel32/GetEnvironmentStringsW.S +++ b/libc/nt/kernel32/GetEnvironmentStringsW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetEnvironmentStringsW,GetEnvironmentStringsW,0 -#ifdef __x86_64__ .text.windows GetEnvironmentStrings: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetEnvironmentStrings: sub $32,%rsp call *__imp_GetEnvironmentStringsW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetEnvironmentStrings,globl .previous -#endif diff --git a/libc/nt/kernel32/GetEnvironmentVariableW.S b/libc/nt/kernel32/GetEnvironmentVariableW.S index f5ed757c0..51c355d1b 100644 --- a/libc/nt/kernel32/GetEnvironmentVariableW.S +++ b/libc/nt/kernel32/GetEnvironmentVariableW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetEnvironmentVariableW,GetEnvironmentVariableW,0 -#ifdef __x86_64__ .text.windows GetEnvironmentVariable: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetEnvironmentVariableW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetEnvironmentVariable,globl .previous -#endif diff --git a/libc/nt/kernel32/GetExitCodeProcess.S b/libc/nt/kernel32/GetExitCodeProcess.S index c655d00bf..ccda758a9 100644 --- a/libc/nt/kernel32/GetExitCodeProcess.S +++ b/libc/nt/kernel32/GetExitCodeProcess.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetExitCodeProcess,GetExitCodeProcess,0 -#ifdef __x86_64__ .text.windows __GetExitCodeProcess: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetExitCodeProcess(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __GetExitCodeProcess,globl .previous -#endif diff --git a/libc/nt/kernel32/GetExitCodeThread.S b/libc/nt/kernel32/GetExitCodeThread.S index 89e1d53cf..714d67adc 100644 --- a/libc/nt/kernel32/GetExitCodeThread.S +++ b/libc/nt/kernel32/GetExitCodeThread.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetExitCodeThread,GetExitCodeThread,0 -#ifdef __x86_64__ .text.windows GetExitCodeThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetExitCodeThread(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetExitCodeThread,globl .previous -#endif diff --git a/libc/nt/kernel32/GetFileAttributesExW.S b/libc/nt/kernel32/GetFileAttributesExW.S index fe4f26024..e74b10ad7 100644 --- a/libc/nt/kernel32/GetFileAttributesExW.S +++ b/libc/nt/kernel32/GetFileAttributesExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetFileAttributesExW,GetFileAttributesExW,0 -#ifdef __x86_64__ .text.windows GetFileAttributesEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetFileAttributesExW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetFileAttributesEx,globl .previous -#endif diff --git a/libc/nt/kernel32/GetFileAttributesW.S b/libc/nt/kernel32/GetFileAttributesW.S index cf98f6f61..46022c97b 100644 --- a/libc/nt/kernel32/GetFileAttributesW.S +++ b/libc/nt/kernel32/GetFileAttributesW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetFileAttributesW,GetFileAttributesW,0 -#ifdef __x86_64__ .text.windows __GetFileAttributes: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ __GetFileAttributes: sub $32,%rsp call *__imp_GetFileAttributesW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn __GetFileAttributes,globl .previous -#endif diff --git a/libc/nt/kernel32/GetFileInformationByHandle.S b/libc/nt/kernel32/GetFileInformationByHandle.S index 323cb15c0..736bb8b81 100644 --- a/libc/nt/kernel32/GetFileInformationByHandle.S +++ b/libc/nt/kernel32/GetFileInformationByHandle.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetFileInformationByHandle,GetFileInformationByHandle,0 -#ifdef __x86_64__ .text.windows GetFileInformationByHandle: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetFileInformationByHandle(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetFileInformationByHandle,globl .previous -#endif diff --git a/libc/nt/kernel32/GetFileInformationByHandleEx.S b/libc/nt/kernel32/GetFileInformationByHandleEx.S index f53caf22b..3a797a34d 100644 --- a/libc/nt/kernel32/GetFileInformationByHandleEx.S +++ b/libc/nt/kernel32/GetFileInformationByHandleEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetFileInformationByHandleEx,GetFileInformationByHandleEx,0 -#ifdef __x86_64__ .text.windows GetFileInformationByHandleEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetFileInformationByHandleEx(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetFileInformationByHandleEx,globl .previous -#endif diff --git a/libc/nt/kernel32/GetFileSize.S b/libc/nt/kernel32/GetFileSize.S index 7e0b08131..228a23e76 100644 --- a/libc/nt/kernel32/GetFileSize.S +++ b/libc/nt/kernel32/GetFileSize.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetFileSize,GetFileSize,0 -#ifdef __x86_64__ .text.windows GetFileSize: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetFileSize(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetFileSize,globl .previous -#endif diff --git a/libc/nt/kernel32/GetFileSizeEx.S b/libc/nt/kernel32/GetFileSizeEx.S index a4e1c8fa3..d1935da81 100644 --- a/libc/nt/kernel32/GetFileSizeEx.S +++ b/libc/nt/kernel32/GetFileSizeEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetFileSizeEx,GetFileSizeEx,0 -#ifdef __x86_64__ .text.windows GetFileSizeEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetFileSizeEx(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetFileSizeEx,globl .previous -#endif diff --git a/libc/nt/kernel32/GetFileTime.S b/libc/nt/kernel32/GetFileTime.S index b31a35ca5..4f29e33c4 100644 --- a/libc/nt/kernel32/GetFileTime.S +++ b/libc/nt/kernel32/GetFileTime.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetFileTime,GetFileTime,0 -#ifdef __x86_64__ .text.windows GetFileTime: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetFileTime(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetFileTime,globl .previous -#endif diff --git a/libc/nt/kernel32/GetFileType.S b/libc/nt/kernel32/GetFileType.S index c458f9d8b..b6a22428a 100644 --- a/libc/nt/kernel32/GetFileType.S +++ b/libc/nt/kernel32/GetFileType.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetFileType,GetFileType,0 -#ifdef __x86_64__ .text.windows GetFileType: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetFileType: sub $32,%rsp call *__imp_GetFileType(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetFileType,globl .previous -#endif diff --git a/libc/nt/kernel32/GetFinalPathNameByHandleW.S b/libc/nt/kernel32/GetFinalPathNameByHandleW.S index 1a956114f..3b82aa365 100644 --- a/libc/nt/kernel32/GetFinalPathNameByHandleW.S +++ b/libc/nt/kernel32/GetFinalPathNameByHandleW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetFinalPathNameByHandleW,GetFinalPathNameByHandleW,0 -#ifdef __x86_64__ .text.windows GetFinalPathNameByHandle: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetFinalPathNameByHandleW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetFinalPathNameByHandle,globl .previous -#endif diff --git a/libc/nt/kernel32/GetFullPathNameW.S b/libc/nt/kernel32/GetFullPathNameW.S index 1060056e2..e2c6247bb 100644 --- a/libc/nt/kernel32/GetFullPathNameW.S +++ b/libc/nt/kernel32/GetFullPathNameW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetFullPathNameW,GetFullPathNameW,0 -#ifdef __x86_64__ .text.windows GetFullPathName: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetFullPathNameW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetFullPathName,globl .previous -#endif diff --git a/libc/nt/kernel32/GetHandleInformation.S b/libc/nt/kernel32/GetHandleInformation.S index 3b7cbdc7e..d6fcad3af 100644 --- a/libc/nt/kernel32/GetHandleInformation.S +++ b/libc/nt/kernel32/GetHandleInformation.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetHandleInformation,GetHandleInformation,0 -#ifdef __x86_64__ .text.windows GetHandleInformation: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetHandleInformation(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetHandleInformation,globl .previous -#endif diff --git a/libc/nt/kernel32/GetLargestConsoleWindowSize.S b/libc/nt/kernel32/GetLargestConsoleWindowSize.S index 98ea85e66..884e43afd 100644 --- a/libc/nt/kernel32/GetLargestConsoleWindowSize.S +++ b/libc/nt/kernel32/GetLargestConsoleWindowSize.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetLargestConsoleWindowSize,GetLargestConsoleWindowSize,0 -#ifdef __x86_64__ .text.windows GetLargestConsoleWindowSize: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetLargestConsoleWindowSize: sub $32,%rsp call *__imp_GetLargestConsoleWindowSize(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetLargestConsoleWindowSize,globl .previous -#endif diff --git a/libc/nt/kernel32/GetLastError.S b/libc/nt/kernel32/GetLastError.S index dae73058f..7e0a1aac3 100644 --- a/libc/nt/kernel32/GetLastError.S +++ b/libc/nt/kernel32/GetLastError.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetLastError,GetLastError,0 -#ifdef __x86_64__ .text.windows GetLastError: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_GetLastError(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetLastError,globl .previous -#endif diff --git a/libc/nt/kernel32/GetLogicalDrives.S b/libc/nt/kernel32/GetLogicalDrives.S index 0e8cc4ebc..dd9fd636c 100644 --- a/libc/nt/kernel32/GetLogicalDrives.S +++ b/libc/nt/kernel32/GetLogicalDrives.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetLogicalDrives,GetLogicalDrives,0 -#ifdef __x86_64__ .text.windows GetLogicalDrives: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_GetLogicalDrives(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetLogicalDrives,globl .previous -#endif diff --git a/libc/nt/kernel32/GetMaximumProcessorCount.S b/libc/nt/kernel32/GetMaximumProcessorCount.S index 56680bde1..b9e66beb1 100644 --- a/libc/nt/kernel32/GetMaximumProcessorCount.S +++ b/libc/nt/kernel32/GetMaximumProcessorCount.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetMaximumProcessorCount,GetMaximumProcessorCount,627 -#ifdef __x86_64__ .text.windows GetMaximumProcessorCount: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetMaximumProcessorCount: sub $32,%rsp call *__imp_GetMaximumProcessorCount(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetMaximumProcessorCount,globl .previous -#endif diff --git a/libc/nt/kernel32/GetModuleFileNameW.S b/libc/nt/kernel32/GetModuleFileNameW.S index eb7eb2e1e..e749411a0 100644 --- a/libc/nt/kernel32/GetModuleFileNameW.S +++ b/libc/nt/kernel32/GetModuleFileNameW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetModuleFileNameW,GetModuleFileNameW,0 -#ifdef __x86_64__ .text.windows GetModuleFileName: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetModuleFileNameW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetModuleFileName,globl .previous -#endif diff --git a/libc/nt/kernel32/GetModuleHandleA.S b/libc/nt/kernel32/GetModuleHandleA.S index 5f004071a..cfc495da2 100644 --- a/libc/nt/kernel32/GetModuleHandleA.S +++ b/libc/nt/kernel32/GetModuleHandleA.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetModuleHandleA,GetModuleHandleA,0 -#ifdef __x86_64__ .text.windows GetModuleHandle: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetModuleHandle: sub $32,%rsp call *__imp_GetModuleHandleA(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetModuleHandle,globl .previous -#endif diff --git a/libc/nt/kernel32/GetModuleHandleExW.S b/libc/nt/kernel32/GetModuleHandleExW.S index 06af97792..e0edf1bee 100644 --- a/libc/nt/kernel32/GetModuleHandleExW.S +++ b/libc/nt/kernel32/GetModuleHandleExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetModuleHandleExW,GetModuleHandleExW,0 -#ifdef __x86_64__ .text.windows GetModuleHandleEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetModuleHandleExW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetModuleHandleEx,globl .previous -#endif diff --git a/libc/nt/kernel32/GetModuleHandleW.S b/libc/nt/kernel32/GetModuleHandleW.S index edc978e41..55b42687e 100644 --- a/libc/nt/kernel32/GetModuleHandleW.S +++ b/libc/nt/kernel32/GetModuleHandleW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetModuleHandleW,GetModuleHandleW,0 -#ifdef __x86_64__ .text.windows GetModuleHandleW: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetModuleHandleW: sub $32,%rsp call *__imp_GetModuleHandleW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetModuleHandleW,globl .previous -#endif diff --git a/libc/nt/kernel32/GetNumberOfConsoleInputEvents.S b/libc/nt/kernel32/GetNumberOfConsoleInputEvents.S index dba1b83e5..f6cdac9c9 100644 --- a/libc/nt/kernel32/GetNumberOfConsoleInputEvents.S +++ b/libc/nt/kernel32/GetNumberOfConsoleInputEvents.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetNumberOfConsoleInputEvents,GetNumberOfConsoleInputEvents,0 -#ifdef __x86_64__ .text.windows GetNumberOfConsoleInputEvents: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetNumberOfConsoleInputEvents(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetNumberOfConsoleInputEvents,globl .previous -#endif diff --git a/libc/nt/kernel32/GetNumberOfConsoleMouseButtons.S b/libc/nt/kernel32/GetNumberOfConsoleMouseButtons.S index a4e0e6132..6ead3f8b9 100644 --- a/libc/nt/kernel32/GetNumberOfConsoleMouseButtons.S +++ b/libc/nt/kernel32/GetNumberOfConsoleMouseButtons.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetNumberOfConsoleMouseButtons,GetNumberOfConsoleMouseButtons,0 -#ifdef __x86_64__ .text.windows GetNumberOfConsoleMouseButtons: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetNumberOfConsoleMouseButtons: sub $32,%rsp call *__imp_GetNumberOfConsoleMouseButtons(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetNumberOfConsoleMouseButtons,globl .previous -#endif diff --git a/libc/nt/kernel32/GetOverlappedResult.S b/libc/nt/kernel32/GetOverlappedResult.S index 6adf2a034..ad97f81cb 100644 --- a/libc/nt/kernel32/GetOverlappedResult.S +++ b/libc/nt/kernel32/GetOverlappedResult.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetOverlappedResult,GetOverlappedResult,0 -#ifdef __x86_64__ .text.windows GetOverlappedResult: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetOverlappedResult(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetOverlappedResult,globl .previous -#endif diff --git a/libc/nt/kernel32/GetOverlappedResultEx.S b/libc/nt/kernel32/GetOverlappedResultEx.S index f47e60b91..ab3d7d6d6 100644 --- a/libc/nt/kernel32/GetOverlappedResultEx.S +++ b/libc/nt/kernel32/GetOverlappedResultEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetOverlappedResultEx,GetOverlappedResultEx,0 -#ifdef __x86_64__ .text.windows GetOverlappedResultEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetOverlappedResultEx(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetOverlappedResultEx,globl .previous -#endif diff --git a/libc/nt/kernel32/GetPriorityClass.S b/libc/nt/kernel32/GetPriorityClass.S index ec221ba0a..03324aaf9 100644 --- a/libc/nt/kernel32/GetPriorityClass.S +++ b/libc/nt/kernel32/GetPriorityClass.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetPriorityClass,GetPriorityClass,0 -#ifdef __x86_64__ .text.windows GetPriorityClass: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetPriorityClass: sub $32,%rsp call *__imp_GetPriorityClass(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetPriorityClass,globl .previous -#endif diff --git a/libc/nt/kernel32/GetProcAddress.S b/libc/nt/kernel32/GetProcAddress.S index 47500c65d..4d2c0083d 100644 --- a/libc/nt/kernel32/GetProcAddress.S +++ b/libc/nt/kernel32/GetProcAddress.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetProcAddress,GetProcAddress,0 -#ifdef __x86_64__ .text.windows GetProcAddress: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetProcAddress(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetProcAddress,globl .previous -#endif diff --git a/libc/nt/kernel32/GetProcessAffinityMask.S b/libc/nt/kernel32/GetProcessAffinityMask.S index 2cd6de342..e43dbc58e 100644 --- a/libc/nt/kernel32/GetProcessAffinityMask.S +++ b/libc/nt/kernel32/GetProcessAffinityMask.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetProcessAffinityMask,GetProcessAffinityMask,0 -#ifdef __x86_64__ .text.windows GetProcessAffinityMask: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetProcessAffinityMask(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetProcessAffinityMask,globl .previous -#endif diff --git a/libc/nt/kernel32/GetProcessHandleCount.S b/libc/nt/kernel32/GetProcessHandleCount.S index 5af9492dd..a6297fca8 100644 --- a/libc/nt/kernel32/GetProcessHandleCount.S +++ b/libc/nt/kernel32/GetProcessHandleCount.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetProcessHandleCount,GetProcessHandleCount,0 -#ifdef __x86_64__ .text.windows GetProcessHandleCount: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetProcessHandleCount(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetProcessHandleCount,globl .previous -#endif diff --git a/libc/nt/kernel32/GetProcessHeap.S b/libc/nt/kernel32/GetProcessHeap.S index d16f22f95..01d130967 100644 --- a/libc/nt/kernel32/GetProcessHeap.S +++ b/libc/nt/kernel32/GetProcessHeap.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetProcessHeap,GetProcessHeap,0 -#ifdef __x86_64__ .text.windows GetProcessHeap: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_GetProcessHeap(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetProcessHeap,globl .previous -#endif diff --git a/libc/nt/kernel32/GetProcessHeaps.S b/libc/nt/kernel32/GetProcessHeaps.S index b9d45d821..254881669 100644 --- a/libc/nt/kernel32/GetProcessHeaps.S +++ b/libc/nt/kernel32/GetProcessHeaps.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetProcessHeaps,GetProcessHeaps,0 -#ifdef __x86_64__ .text.windows GetProcessHeaps: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetProcessHeaps(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetProcessHeaps,globl .previous -#endif diff --git a/libc/nt/kernel32/GetProcessId.S b/libc/nt/kernel32/GetProcessId.S index f9f465830..661a874cf 100644 --- a/libc/nt/kernel32/GetProcessId.S +++ b/libc/nt/kernel32/GetProcessId.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetProcessId,GetProcessId,0 -#ifdef __x86_64__ .text.windows GetProcessId: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetProcessId: sub $32,%rsp call *__imp_GetProcessId(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetProcessId,globl .previous -#endif diff --git a/libc/nt/kernel32/GetProcessIdOfThread.S b/libc/nt/kernel32/GetProcessIdOfThread.S index 570dcfc9c..92615688a 100644 --- a/libc/nt/kernel32/GetProcessIdOfThread.S +++ b/libc/nt/kernel32/GetProcessIdOfThread.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetProcessIdOfThread,GetProcessIdOfThread,0 -#ifdef __x86_64__ .text.windows GetProcessIdOfThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetProcessIdOfThread: sub $32,%rsp call *__imp_GetProcessIdOfThread(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetProcessIdOfThread,globl .previous -#endif diff --git a/libc/nt/kernel32/GetProcessInformation.S b/libc/nt/kernel32/GetProcessInformation.S index 653e48d1d..42e7f09e7 100644 --- a/libc/nt/kernel32/GetProcessInformation.S +++ b/libc/nt/kernel32/GetProcessInformation.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetProcessInformation,GetProcessInformation,0 -#ifdef __x86_64__ .text.windows GetProcessInformation: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetProcessInformation(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetProcessInformation,globl .previous -#endif diff --git a/libc/nt/kernel32/GetProcessIoCounters.S b/libc/nt/kernel32/GetProcessIoCounters.S index e8f23628f..1a5e0d98d 100644 --- a/libc/nt/kernel32/GetProcessIoCounters.S +++ b/libc/nt/kernel32/GetProcessIoCounters.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetProcessIoCounters,GetProcessIoCounters,701 -#ifdef __x86_64__ .text.windows GetProcessIoCounters: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetProcessIoCounters(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetProcessIoCounters,globl .previous -#endif diff --git a/libc/nt/kernel32/GetProcessPriorityBoost.S b/libc/nt/kernel32/GetProcessPriorityBoost.S index ff46f4ca5..b5122b7bd 100644 --- a/libc/nt/kernel32/GetProcessPriorityBoost.S +++ b/libc/nt/kernel32/GetProcessPriorityBoost.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetProcessPriorityBoost,GetProcessPriorityBoost,0 -#ifdef __x86_64__ .text.windows GetProcessPriorityBoost: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetProcessPriorityBoost(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetProcessPriorityBoost,globl .previous -#endif diff --git a/libc/nt/kernel32/GetProcessTimes.S b/libc/nt/kernel32/GetProcessTimes.S index a0b4af32d..92b36eac1 100644 --- a/libc/nt/kernel32/GetProcessTimes.S +++ b/libc/nt/kernel32/GetProcessTimes.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetProcessTimes,GetProcessTimes,0 -#ifdef __x86_64__ .text.windows GetProcessTimes: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetProcessTimes(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetProcessTimes,globl .previous -#endif diff --git a/libc/nt/kernel32/GetProcessWorkingSetSize.S b/libc/nt/kernel32/GetProcessWorkingSetSize.S index 1d014f1b2..97f9acbeb 100644 --- a/libc/nt/kernel32/GetProcessWorkingSetSize.S +++ b/libc/nt/kernel32/GetProcessWorkingSetSize.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetProcessWorkingSetSize,GetProcessWorkingSetSize,708 -#ifdef __x86_64__ .text.windows GetProcessWorkingSetSize: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetProcessWorkingSetSize(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetProcessWorkingSetSize,globl .previous -#endif diff --git a/libc/nt/kernel32/GetProcessWorkingSetSizeEx.S b/libc/nt/kernel32/GetProcessWorkingSetSizeEx.S index 818734643..59166bbc3 100644 --- a/libc/nt/kernel32/GetProcessWorkingSetSizeEx.S +++ b/libc/nt/kernel32/GetProcessWorkingSetSizeEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetProcessWorkingSetSizeEx,GetProcessWorkingSetSizeEx,0 -#ifdef __x86_64__ .text.windows GetProcessWorkingSetSizeEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetProcessWorkingSetSizeEx(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetProcessWorkingSetSizeEx,globl .previous -#endif diff --git a/libc/nt/kernel32/GetQueuedCompletionStatus.S b/libc/nt/kernel32/GetQueuedCompletionStatus.S index 8c88db781..16f8f4d32 100644 --- a/libc/nt/kernel32/GetQueuedCompletionStatus.S +++ b/libc/nt/kernel32/GetQueuedCompletionStatus.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetQueuedCompletionStatus,GetQueuedCompletionStatus,0 -#ifdef __x86_64__ .text.windows GetQueuedCompletionStatus: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetQueuedCompletionStatus(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetQueuedCompletionStatus,globl .previous -#endif diff --git a/libc/nt/kernel32/GetQueuedCompletionStatusEx.S b/libc/nt/kernel32/GetQueuedCompletionStatusEx.S index 4f15917e3..3dbbfb994 100644 --- a/libc/nt/kernel32/GetQueuedCompletionStatusEx.S +++ b/libc/nt/kernel32/GetQueuedCompletionStatusEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetQueuedCompletionStatusEx,GetQueuedCompletionStatusEx,0 -#ifdef __x86_64__ .text.windows GetQueuedCompletionStatusEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetQueuedCompletionStatusEx(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetQueuedCompletionStatusEx,globl .previous -#endif diff --git a/libc/nt/kernel32/GetStartupInfoW.S b/libc/nt/kernel32/GetStartupInfoW.S index ab3f4b96f..d41e637b2 100644 --- a/libc/nt/kernel32/GetStartupInfoW.S +++ b/libc/nt/kernel32/GetStartupInfoW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetStartupInfoW,GetStartupInfoW,0 -#ifdef __x86_64__ .text.windows GetStartupInfo: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetStartupInfo: sub $32,%rsp call *__imp_GetStartupInfoW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetStartupInfo,globl .previous -#endif diff --git a/libc/nt/kernel32/GetStdHandle.S b/libc/nt/kernel32/GetStdHandle.S index a8a9cd53c..e4366b4ac 100644 --- a/libc/nt/kernel32/GetStdHandle.S +++ b/libc/nt/kernel32/GetStdHandle.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetStdHandle,GetStdHandle,0 -#ifdef __x86_64__ .text.windows GetStdHandle: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetStdHandle: sub $32,%rsp call *__imp_GetStdHandle(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetStdHandle,globl .previous -#endif diff --git a/libc/nt/kernel32/GetSystemDirectoryA.S b/libc/nt/kernel32/GetSystemDirectoryA.S index b661ba3aa..ab9b3ed85 100644 --- a/libc/nt/kernel32/GetSystemDirectoryA.S +++ b/libc/nt/kernel32/GetSystemDirectoryA.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetSystemDirectoryA,GetSystemDirectoryA,0 -#ifdef __x86_64__ .text.windows GetSystemDirectoryA: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetSystemDirectoryA(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetSystemDirectoryA,globl .previous -#endif diff --git a/libc/nt/kernel32/GetSystemDirectoryW.S b/libc/nt/kernel32/GetSystemDirectoryW.S index 03558f90d..c7d685162 100644 --- a/libc/nt/kernel32/GetSystemDirectoryW.S +++ b/libc/nt/kernel32/GetSystemDirectoryW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetSystemDirectoryW,GetSystemDirectoryW,0 -#ifdef __x86_64__ .text.windows GetSystemDirectory: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetSystemDirectoryW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetSystemDirectory,globl .previous -#endif diff --git a/libc/nt/kernel32/GetSystemInfo.S b/libc/nt/kernel32/GetSystemInfo.S index 3afbb36c5..221ef4ecf 100644 --- a/libc/nt/kernel32/GetSystemInfo.S +++ b/libc/nt/kernel32/GetSystemInfo.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetSystemInfo,GetSystemInfo,0 -#ifdef __x86_64__ .text.windows GetSystemInfo: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetSystemInfo: sub $32,%rsp call *__imp_GetSystemInfo(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetSystemInfo,globl .previous -#endif diff --git a/libc/nt/kernel32/GetSystemTime.S b/libc/nt/kernel32/GetSystemTime.S index 08fac2e56..cefd6074e 100644 --- a/libc/nt/kernel32/GetSystemTime.S +++ b/libc/nt/kernel32/GetSystemTime.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetSystemTime,GetSystemTime,0 -#ifdef __x86_64__ .text.windows GetSystemTime: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetSystemTime: sub $32,%rsp call *__imp_GetSystemTime(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetSystemTime,globl .previous -#endif diff --git a/libc/nt/kernel32/GetSystemTimeAdjustment.S b/libc/nt/kernel32/GetSystemTimeAdjustment.S index 88f4b7018..eb0d8354e 100644 --- a/libc/nt/kernel32/GetSystemTimeAdjustment.S +++ b/libc/nt/kernel32/GetSystemTimeAdjustment.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetSystemTimeAdjustment,GetSystemTimeAdjustment,0 -#ifdef __x86_64__ .text.windows GetSystemTimeAdjustment: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetSystemTimeAdjustment(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetSystemTimeAdjustment,globl .previous -#endif diff --git a/libc/nt/kernel32/GetSystemTimeAsFileTime.S b/libc/nt/kernel32/GetSystemTimeAsFileTime.S index c5230c904..48b62b1e6 100644 --- a/libc/nt/kernel32/GetSystemTimeAsFileTime.S +++ b/libc/nt/kernel32/GetSystemTimeAsFileTime.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetSystemTimeAsFileTime,GetSystemTimeAsFileTime,0 -#ifdef __x86_64__ .text.windows GetSystemTimeAsFileTime: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetSystemTimeAsFileTime: sub $32,%rsp call *__imp_GetSystemTimeAsFileTime(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetSystemTimeAsFileTime,globl .previous -#endif diff --git a/libc/nt/kernel32/GetSystemTimePreciseAsFileTime.S b/libc/nt/kernel32/GetSystemTimePreciseAsFileTime.S index 7f1c16af5..668fb4822 100644 --- a/libc/nt/kernel32/GetSystemTimePreciseAsFileTime.S +++ b/libc/nt/kernel32/GetSystemTimePreciseAsFileTime.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetSystemTimePreciseAsFileTime,GetSystemTimePreciseAsFileTime,0 -#ifdef __x86_64__ .text.windows GetSystemTimePreciseAsFileTime: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetSystemTimePreciseAsFileTime: sub $32,%rsp call *__imp_GetSystemTimePreciseAsFileTime(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetSystemTimePreciseAsFileTime,globl .previous -#endif diff --git a/libc/nt/kernel32/GetSystemTimes.S b/libc/nt/kernel32/GetSystemTimes.S index b66f83778..145a32b9b 100644 --- a/libc/nt/kernel32/GetSystemTimes.S +++ b/libc/nt/kernel32/GetSystemTimes.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetSystemTimes,GetSystemTimes,0 -#ifdef __x86_64__ .text.windows GetSystemTimes: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetSystemTimes(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetSystemTimes,globl .previous -#endif diff --git a/libc/nt/kernel32/GetTempPathA.S b/libc/nt/kernel32/GetTempPathA.S index a0860f108..390d3be61 100644 --- a/libc/nt/kernel32/GetTempPathA.S +++ b/libc/nt/kernel32/GetTempPathA.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetTempPathA,GetTempPathA,0 -#ifdef __x86_64__ .text.windows GetTempPathA: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetTempPathA(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetTempPathA,globl .previous -#endif diff --git a/libc/nt/kernel32/GetTempPathW.S b/libc/nt/kernel32/GetTempPathW.S index 04749b8e4..66bffbc75 100644 --- a/libc/nt/kernel32/GetTempPathW.S +++ b/libc/nt/kernel32/GetTempPathW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetTempPathW,GetTempPathW,0 -#ifdef __x86_64__ .text.windows GetTempPath: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetTempPathW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetTempPath,globl .previous -#endif diff --git a/libc/nt/kernel32/GetThreadIOPendingFlag.S b/libc/nt/kernel32/GetThreadIOPendingFlag.S index cdb6bf567..e3ea32601 100644 --- a/libc/nt/kernel32/GetThreadIOPendingFlag.S +++ b/libc/nt/kernel32/GetThreadIOPendingFlag.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetThreadIOPendingFlag,GetThreadIOPendingFlag,0 -#ifdef __x86_64__ .text.windows GetThreadIOPendingFlag: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetThreadIOPendingFlag(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetThreadIOPendingFlag,globl .previous -#endif diff --git a/libc/nt/kernel32/GetThreadId.S b/libc/nt/kernel32/GetThreadId.S index 8190597cf..1751d7edc 100644 --- a/libc/nt/kernel32/GetThreadId.S +++ b/libc/nt/kernel32/GetThreadId.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetThreadId,GetThreadId,0 -#ifdef __x86_64__ .text.windows GetThreadId: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetThreadId: sub $32,%rsp call *__imp_GetThreadId(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetThreadId,globl .previous -#endif diff --git a/libc/nt/kernel32/GetThreadPriority.S b/libc/nt/kernel32/GetThreadPriority.S index f5525331e..39c4c2664 100644 --- a/libc/nt/kernel32/GetThreadPriority.S +++ b/libc/nt/kernel32/GetThreadPriority.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetThreadPriority,GetThreadPriority,0 -#ifdef __x86_64__ .text.windows GetThreadPriority: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetThreadPriority: sub $32,%rsp call *__imp_GetThreadPriority(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetThreadPriority,globl .previous -#endif diff --git a/libc/nt/kernel32/GetThreadPriorityBoost.S b/libc/nt/kernel32/GetThreadPriorityBoost.S index fccbe2476..0653cc044 100644 --- a/libc/nt/kernel32/GetThreadPriorityBoost.S +++ b/libc/nt/kernel32/GetThreadPriorityBoost.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetThreadPriorityBoost,GetThreadPriorityBoost,0 -#ifdef __x86_64__ .text.windows GetThreadPriorityBoost: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetThreadPriorityBoost(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetThreadPriorityBoost,globl .previous -#endif diff --git a/libc/nt/kernel32/GetThreadTimes.S b/libc/nt/kernel32/GetThreadTimes.S index 3d347ab06..41d30699a 100644 --- a/libc/nt/kernel32/GetThreadTimes.S +++ b/libc/nt/kernel32/GetThreadTimes.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetThreadTimes,GetThreadTimes,0 -#ifdef __x86_64__ .text.windows GetThreadTimes: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetThreadTimes(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetThreadTimes,globl .previous -#endif diff --git a/libc/nt/kernel32/GetTickCount64.S b/libc/nt/kernel32/GetTickCount64.S index 2953c6e3c..d3215d6b6 100644 --- a/libc/nt/kernel32/GetTickCount64.S +++ b/libc/nt/kernel32/GetTickCount64.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetTickCount64,GetTickCount64,0 -#ifdef __x86_64__ .text.windows GetTickCount64: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_GetTickCount64(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetTickCount64,globl .previous -#endif diff --git a/libc/nt/kernel32/GetVersionExW.S b/libc/nt/kernel32/GetVersionExW.S index 858bd5c65..db7edb0c5 100644 --- a/libc/nt/kernel32/GetVersionExW.S +++ b/libc/nt/kernel32/GetVersionExW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetVersionExW,GetVersionExW,0 -#ifdef __x86_64__ .text.windows GetVersionEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetVersionEx: sub $32,%rsp call *__imp_GetVersionExW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetVersionEx,globl .previous -#endif diff --git a/libc/nt/kernel32/GetVolumeInformationByHandleW.S b/libc/nt/kernel32/GetVolumeInformationByHandleW.S index 72330b498..01e2f7f2b 100644 --- a/libc/nt/kernel32/GetVolumeInformationByHandleW.S +++ b/libc/nt/kernel32/GetVolumeInformationByHandleW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetVolumeInformationByHandleW,GetVolumeInformationByHandleW,0 -#ifdef __x86_64__ .text.windows GetVolumeInformationByHandle: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetVolumeInformationByHandleW(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetVolumeInformationByHandle,globl .previous -#endif diff --git a/libc/nt/kernel32/GetVolumePathNameW.S b/libc/nt/kernel32/GetVolumePathNameW.S index 9db8c70b9..7ff4f669f 100644 --- a/libc/nt/kernel32/GetVolumePathNameW.S +++ b/libc/nt/kernel32/GetVolumePathNameW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetVolumePathNameW,GetVolumePathNameW,0 -#ifdef __x86_64__ .text.windows GetVolumePathName: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetVolumePathNameW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetVolumePathName,globl .previous -#endif diff --git a/libc/nt/kernel32/GetWindowsDirectoryA.S b/libc/nt/kernel32/GetWindowsDirectoryA.S index dba2d0dc4..911b88597 100644 --- a/libc/nt/kernel32/GetWindowsDirectoryA.S +++ b/libc/nt/kernel32/GetWindowsDirectoryA.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetWindowsDirectoryA,GetWindowsDirectoryA,0 -#ifdef __x86_64__ .text.windows GetWindowsDirectoryA: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetWindowsDirectoryA(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetWindowsDirectoryA,globl .previous -#endif diff --git a/libc/nt/kernel32/GetWindowsDirectoryW.S b/libc/nt/kernel32/GetWindowsDirectoryW.S index 8c7cb2745..fcced0158 100644 --- a/libc/nt/kernel32/GetWindowsDirectoryW.S +++ b/libc/nt/kernel32/GetWindowsDirectoryW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GetWindowsDirectoryW,GetWindowsDirectoryW,0 -#ifdef __x86_64__ .text.windows GetWindowsDirectory: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetWindowsDirectoryW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetWindowsDirectory,globl .previous -#endif diff --git a/libc/nt/kernel32/GlobalAlloc.S b/libc/nt/kernel32/GlobalAlloc.S index 9435ab87c..53e1fa9be 100644 --- a/libc/nt/kernel32/GlobalAlloc.S +++ b/libc/nt/kernel32/GlobalAlloc.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GlobalAlloc,GlobalAlloc,0 -#ifdef __x86_64__ .text.windows GlobalAlloc: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GlobalAlloc(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GlobalAlloc,globl .previous -#endif diff --git a/libc/nt/kernel32/GlobalFree.S b/libc/nt/kernel32/GlobalFree.S index fd05c0eb8..f383c985e 100644 --- a/libc/nt/kernel32/GlobalFree.S +++ b/libc/nt/kernel32/GlobalFree.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GlobalFree,GlobalFree,0 -#ifdef __x86_64__ .text.windows GlobalFree: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GlobalFree: sub $32,%rsp call *__imp_GlobalFree(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GlobalFree,globl .previous -#endif diff --git a/libc/nt/kernel32/GlobalMemoryStatusEx.S b/libc/nt/kernel32/GlobalMemoryStatusEx.S index 696a88539..21f7a51f3 100644 --- a/libc/nt/kernel32/GlobalMemoryStatusEx.S +++ b/libc/nt/kernel32/GlobalMemoryStatusEx.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_GlobalMemoryStatusEx,GlobalMemoryStatusEx,0 -#ifdef __x86_64__ .text.windows GlobalMemoryStatusEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GlobalMemoryStatusEx: sub $32,%rsp call *__imp_GlobalMemoryStatusEx(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GlobalMemoryStatusEx,globl .previous -#endif diff --git a/libc/nt/kernel32/HeapAlloc.S b/libc/nt/kernel32/HeapAlloc.S index 4cabcc80a..e59656384 100644 --- a/libc/nt/kernel32/HeapAlloc.S +++ b/libc/nt/kernel32/HeapAlloc.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_HeapAlloc,HeapAlloc,0 -#ifdef __x86_64__ .text.windows HeapAlloc: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_HeapAlloc(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn HeapAlloc,globl .previous -#endif diff --git a/libc/nt/kernel32/HeapCompact.S b/libc/nt/kernel32/HeapCompact.S index 54951dd3c..cb380159f 100644 --- a/libc/nt/kernel32/HeapCompact.S +++ b/libc/nt/kernel32/HeapCompact.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_HeapCompact,HeapCompact,0 -#ifdef __x86_64__ .text.windows HeapCompact: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_HeapCompact(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn HeapCompact,globl .previous -#endif diff --git a/libc/nt/kernel32/HeapCreate.S b/libc/nt/kernel32/HeapCreate.S index 787932f80..e70e6fb05 100644 --- a/libc/nt/kernel32/HeapCreate.S +++ b/libc/nt/kernel32/HeapCreate.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_HeapCreate,HeapCreate,0 -#ifdef __x86_64__ .text.windows HeapCreate: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_HeapCreate(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn HeapCreate,globl .previous -#endif diff --git a/libc/nt/kernel32/HeapDestroy.S b/libc/nt/kernel32/HeapDestroy.S index a426ebf77..85d44a8a3 100644 --- a/libc/nt/kernel32/HeapDestroy.S +++ b/libc/nt/kernel32/HeapDestroy.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_HeapDestroy,HeapDestroy,0 -#ifdef __x86_64__ .text.windows HeapDestroy: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ HeapDestroy: sub $32,%rsp call *__imp_HeapDestroy(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn HeapDestroy,globl .previous -#endif diff --git a/libc/nt/kernel32/HeapFree.S b/libc/nt/kernel32/HeapFree.S index 2349fc26f..87a2e6c64 100644 --- a/libc/nt/kernel32/HeapFree.S +++ b/libc/nt/kernel32/HeapFree.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_HeapFree,HeapFree,847 -#ifdef __x86_64__ .text.windows HeapFree: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_HeapFree(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn HeapFree,globl .previous -#endif diff --git a/libc/nt/kernel32/HeapReAlloc.S b/libc/nt/kernel32/HeapReAlloc.S index ca7dd1cec..c80c46b86 100644 --- a/libc/nt/kernel32/HeapReAlloc.S +++ b/libc/nt/kernel32/HeapReAlloc.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_HeapReAlloc,HeapReAlloc,0 -#ifdef __x86_64__ .text.windows HeapReAlloc: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_HeapReAlloc(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn HeapReAlloc,globl .previous -#endif diff --git a/libc/nt/kernel32/InitializeCriticalSection.S b/libc/nt/kernel32/InitializeCriticalSection.S index 219803bcc..0ab09f4b9 100644 --- a/libc/nt/kernel32/InitializeCriticalSection.S +++ b/libc/nt/kernel32/InitializeCriticalSection.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_InitializeCriticalSection,InitializeCriticalSection,0 -#ifdef __x86_64__ .text.windows InitializeCriticalSection: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ InitializeCriticalSection: sub $32,%rsp call *__imp_InitializeCriticalSection(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn InitializeCriticalSection,globl .previous -#endif diff --git a/libc/nt/kernel32/InitializeCriticalSectionAndSpinCount.S b/libc/nt/kernel32/InitializeCriticalSectionAndSpinCount.S index b1e55e0e6..21a73791e 100644 --- a/libc/nt/kernel32/InitializeCriticalSectionAndSpinCount.S +++ b/libc/nt/kernel32/InitializeCriticalSectionAndSpinCount.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_InitializeCriticalSectionAndSpinCount,InitializeCriticalSectionAndSpinCount,0 -#ifdef __x86_64__ .text.windows InitializeCriticalSectionAndSpinCount: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_InitializeCriticalSectionAndSpinCount(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn InitializeCriticalSectionAndSpinCount,globl .previous -#endif diff --git a/libc/nt/kernel32/InitializeProcThreadAttributeList.S b/libc/nt/kernel32/InitializeProcThreadAttributeList.S index 896f00c33..57a3777ae 100644 --- a/libc/nt/kernel32/InitializeProcThreadAttributeList.S +++ b/libc/nt/kernel32/InitializeProcThreadAttributeList.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_InitializeProcThreadAttributeList,InitializeProcThreadAttributeList,0 -#ifdef __x86_64__ .text.windows InitializeProcThreadAttributeList: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_InitializeProcThreadAttributeList(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn InitializeProcThreadAttributeList,globl .previous -#endif diff --git a/libc/nt/kernel32/InitializeSRWLock.S b/libc/nt/kernel32/InitializeSRWLock.S index e80c2aba7..b488a2c14 100644 --- a/libc/nt/kernel32/InitializeSRWLock.S +++ b/libc/nt/kernel32/InitializeSRWLock.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_InitializeSRWLock,InitializeSRWLock,0 -#ifdef __x86_64__ .text.windows InitializeSRWLock: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ InitializeSRWLock: sub $32,%rsp call *__imp_InitializeSRWLock(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn InitializeSRWLock,globl .previous -#endif diff --git a/libc/nt/kernel32/LeaveCriticalSection.S b/libc/nt/kernel32/LeaveCriticalSection.S index 71200fcd0..f36b6a327 100644 --- a/libc/nt/kernel32/LeaveCriticalSection.S +++ b/libc/nt/kernel32/LeaveCriticalSection.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_LeaveCriticalSection,LeaveCriticalSection,0 -#ifdef __x86_64__ .text.windows LeaveCriticalSection: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ LeaveCriticalSection: sub $32,%rsp call *__imp_LeaveCriticalSection(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn LeaveCriticalSection,globl .previous -#endif diff --git a/libc/nt/kernel32/LoadLibraryExW.S b/libc/nt/kernel32/LoadLibraryExW.S index c613005f0..6831394a9 100644 --- a/libc/nt/kernel32/LoadLibraryExW.S +++ b/libc/nt/kernel32/LoadLibraryExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_LoadLibraryExW,LoadLibraryExW,0 -#ifdef __x86_64__ .text.windows LoadLibraryEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_LoadLibraryExW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn LoadLibraryEx,globl .previous -#endif diff --git a/libc/nt/kernel32/LoadLibraryW.S b/libc/nt/kernel32/LoadLibraryW.S index 12904b722..a4a2ec5d8 100644 --- a/libc/nt/kernel32/LoadLibraryW.S +++ b/libc/nt/kernel32/LoadLibraryW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_LoadLibraryW,LoadLibraryW,0 -#ifdef __x86_64__ .text.windows LoadLibrary: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ LoadLibrary: sub $32,%rsp call *__imp_LoadLibraryW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn LoadLibrary,globl .previous -#endif diff --git a/libc/nt/kernel32/LoadResource.S b/libc/nt/kernel32/LoadResource.S index 365eb0dcd..c6687b23c 100644 --- a/libc/nt/kernel32/LoadResource.S +++ b/libc/nt/kernel32/LoadResource.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_LoadResource,LoadResource,0 -#ifdef __x86_64__ .text.windows LoadResource: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_LoadResource(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn LoadResource,globl .previous -#endif diff --git a/libc/nt/kernel32/LocalFree.S b/libc/nt/kernel32/LocalFree.S index b431249ed..6ef88d2a2 100644 --- a/libc/nt/kernel32/LocalFree.S +++ b/libc/nt/kernel32/LocalFree.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_LocalFree,LocalFree,0 -#ifdef __x86_64__ .text.windows LocalFree: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ LocalFree: sub $32,%rsp call *__imp_LocalFree(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn LocalFree,globl .previous -#endif diff --git a/libc/nt/kernel32/LockFile.S b/libc/nt/kernel32/LockFile.S index dbcf339c8..cbd40d764 100644 --- a/libc/nt/kernel32/LockFile.S +++ b/libc/nt/kernel32/LockFile.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_LockFile,LockFile,0 -#ifdef __x86_64__ .text.windows LockFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_LockFile(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn LockFile,globl .previous -#endif diff --git a/libc/nt/kernel32/LockFileEx.S b/libc/nt/kernel32/LockFileEx.S index f5ce72c19..78f1b118a 100644 --- a/libc/nt/kernel32/LockFileEx.S +++ b/libc/nt/kernel32/LockFileEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_LockFileEx,LockFileEx,0 -#ifdef __x86_64__ .text.windows __LockFileEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_LockFileEx(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __LockFileEx,globl .previous -#endif diff --git a/libc/nt/kernel32/LockResource.S b/libc/nt/kernel32/LockResource.S index e725e7f65..57dc5dea4 100644 --- a/libc/nt/kernel32/LockResource.S +++ b/libc/nt/kernel32/LockResource.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_LockResource,LockResource,0 -#ifdef __x86_64__ .text.windows LockResource: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ LockResource: sub $32,%rsp call *__imp_LockResource(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn LockResource,globl .previous -#endif diff --git a/libc/nt/kernel32/MapViewOfFileEx.S b/libc/nt/kernel32/MapViewOfFileEx.S index 9d60c37d0..2622a9683 100644 --- a/libc/nt/kernel32/MapViewOfFileEx.S +++ b/libc/nt/kernel32/MapViewOfFileEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_MapViewOfFileEx,MapViewOfFileEx,0 -#ifdef __x86_64__ .text.windows __MapViewOfFileEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_MapViewOfFileEx(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __MapViewOfFileEx,globl .previous -#endif diff --git a/libc/nt/kernel32/MapViewOfFileExNuma.S b/libc/nt/kernel32/MapViewOfFileExNuma.S index 9aeac657b..d5b1d14f7 100644 --- a/libc/nt/kernel32/MapViewOfFileExNuma.S +++ b/libc/nt/kernel32/MapViewOfFileExNuma.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_MapViewOfFileExNuma,MapViewOfFileExNuma,0 -#ifdef __x86_64__ .text.windows __MapViewOfFileExNuma: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_MapViewOfFileExNuma(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __MapViewOfFileExNuma,globl .previous -#endif diff --git a/libc/nt/kernel32/MoveFileExW.S b/libc/nt/kernel32/MoveFileExW.S index 8c0a8dda8..88ee5832c 100644 --- a/libc/nt/kernel32/MoveFileExW.S +++ b/libc/nt/kernel32/MoveFileExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_MoveFileExW,MoveFileExW,0 -#ifdef __x86_64__ .text.windows __MoveFileEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_MoveFileExW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __MoveFileEx,globl .previous -#endif diff --git a/libc/nt/kernel32/MoveFileW.S b/libc/nt/kernel32/MoveFileW.S index d74f5dee0..542554c0b 100644 --- a/libc/nt/kernel32/MoveFileW.S +++ b/libc/nt/kernel32/MoveFileW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_MoveFileW,MoveFileW,1000 -#ifdef __x86_64__ .text.windows MoveFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_MoveFileW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn MoveFile,globl .previous -#endif diff --git a/libc/nt/kernel32/MultiByteToWideChar.S b/libc/nt/kernel32/MultiByteToWideChar.S index 3c5be6503..0b1fbd1f1 100644 --- a/libc/nt/kernel32/MultiByteToWideChar.S +++ b/libc/nt/kernel32/MultiByteToWideChar.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_MultiByteToWideChar,MultiByteToWideChar,0 -#ifdef __x86_64__ .text.windows MultiByteToWideChar: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_MultiByteToWideChar(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn MultiByteToWideChar,globl .previous -#endif diff --git a/libc/nt/kernel32/OfferVirtualMemory.S b/libc/nt/kernel32/OfferVirtualMemory.S index 8f8bdd235..24e8c56f9 100644 --- a/libc/nt/kernel32/OfferVirtualMemory.S +++ b/libc/nt/kernel32/OfferVirtualMemory.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_OfferVirtualMemory,OfferVirtualMemory,0 -#ifdef __x86_64__ .text.windows OfferVirtualMemory: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_OfferVirtualMemory(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn OfferVirtualMemory,globl .previous -#endif diff --git a/libc/nt/kernel32/OpenProcess.S b/libc/nt/kernel32/OpenProcess.S index ed11052d4..cb7230331 100644 --- a/libc/nt/kernel32/OpenProcess.S +++ b/libc/nt/kernel32/OpenProcess.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_OpenProcess,OpenProcess,0 -#ifdef __x86_64__ .text.windows __OpenProcess: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_OpenProcess(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __OpenProcess,globl .previous -#endif diff --git a/libc/nt/kernel32/OpenThread.S b/libc/nt/kernel32/OpenThread.S index b05d21cff..e6c993272 100644 --- a/libc/nt/kernel32/OpenThread.S +++ b/libc/nt/kernel32/OpenThread.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_OpenThread,OpenThread,0 -#ifdef __x86_64__ .text.windows OpenThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_OpenThread(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn OpenThread,globl .previous -#endif diff --git a/libc/nt/kernel32/PeekConsoleInputW.S b/libc/nt/kernel32/PeekConsoleInputW.S index ab1511d7b..014fd84b9 100644 --- a/libc/nt/kernel32/PeekConsoleInputW.S +++ b/libc/nt/kernel32/PeekConsoleInputW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_PeekConsoleInputW,PeekConsoleInputW,0 -#ifdef __x86_64__ .text.windows PeekConsoleInput: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_PeekConsoleInputW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn PeekConsoleInput,globl .previous -#endif diff --git a/libc/nt/kernel32/PeekNamedPipe.S b/libc/nt/kernel32/PeekNamedPipe.S index d017fb29a..9055b1729 100644 --- a/libc/nt/kernel32/PeekNamedPipe.S +++ b/libc/nt/kernel32/PeekNamedPipe.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_PeekNamedPipe,PeekNamedPipe,0 -#ifdef __x86_64__ .text.windows PeekNamedPipe: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_PeekNamedPipe(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn PeekNamedPipe,globl .previous -#endif diff --git a/libc/nt/kernel32/PostQueuedCompletionStatus.S b/libc/nt/kernel32/PostQueuedCompletionStatus.S index 57b873469..2b02227d7 100644 --- a/libc/nt/kernel32/PostQueuedCompletionStatus.S +++ b/libc/nt/kernel32/PostQueuedCompletionStatus.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_PostQueuedCompletionStatus,PostQueuedCompletionStatus,0 -#ifdef __x86_64__ .text.windows PostQueuedCompletionStatus: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_PostQueuedCompletionStatus(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn PostQueuedCompletionStatus,globl .previous -#endif diff --git a/libc/nt/kernel32/PrefetchVirtualMemory.S b/libc/nt/kernel32/PrefetchVirtualMemory.S index d2cecb4a7..af7355c4c 100644 --- a/libc/nt/kernel32/PrefetchVirtualMemory.S +++ b/libc/nt/kernel32/PrefetchVirtualMemory.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_PrefetchVirtualMemory,PrefetchVirtualMemory,0 -#ifdef __x86_64__ .text.windows PrefetchVirtualMemory: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_PrefetchVirtualMemory(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn PrefetchVirtualMemory,globl .previous -#endif diff --git a/libc/nt/kernel32/Process32FirstW.S b/libc/nt/kernel32/Process32FirstW.S index ca75fc9ef..f78f85d28 100644 --- a/libc/nt/kernel32/Process32FirstW.S +++ b/libc/nt/kernel32/Process32FirstW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_Process32FirstW,Process32FirstW,0 -#ifdef __x86_64__ .text.windows Process32First: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_Process32FirstW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn Process32First,globl .previous -#endif diff --git a/libc/nt/kernel32/Process32NextW.S b/libc/nt/kernel32/Process32NextW.S index b18ebca11..70e233773 100644 --- a/libc/nt/kernel32/Process32NextW.S +++ b/libc/nt/kernel32/Process32NextW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_Process32NextW,Process32NextW,0 -#ifdef __x86_64__ .text.windows Process32Next: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_Process32NextW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn Process32Next,globl .previous -#endif diff --git a/libc/nt/kernel32/PulseEvent.S b/libc/nt/kernel32/PulseEvent.S index cf77eee0d..43a4a7e8b 100644 --- a/libc/nt/kernel32/PulseEvent.S +++ b/libc/nt/kernel32/PulseEvent.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_PulseEvent,PulseEvent,0 -#ifdef __x86_64__ .text.windows PulseEvent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ PulseEvent: sub $32,%rsp call *__imp_PulseEvent(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn PulseEvent,globl .previous -#endif diff --git a/libc/nt/kernel32/PurgeComm.S b/libc/nt/kernel32/PurgeComm.S index 2601ced93..7f5d84ba2 100644 --- a/libc/nt/kernel32/PurgeComm.S +++ b/libc/nt/kernel32/PurgeComm.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_PurgeComm,PurgeComm,0 -#ifdef __x86_64__ .text.windows PurgeComm: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_PurgeComm(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn PurgeComm,globl .previous -#endif diff --git a/libc/nt/kernel32/QueryPerformanceCounter.S b/libc/nt/kernel32/QueryPerformanceCounter.S index ed310fddd..0dc1474ab 100644 --- a/libc/nt/kernel32/QueryPerformanceCounter.S +++ b/libc/nt/kernel32/QueryPerformanceCounter.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_QueryPerformanceCounter,QueryPerformanceCounter,1098 -#ifdef __x86_64__ .text.windows QueryPerformanceCounter: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ QueryPerformanceCounter: sub $32,%rsp call *__imp_QueryPerformanceCounter(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn QueryPerformanceCounter,globl .previous -#endif diff --git a/libc/nt/kernel32/QueryPerformanceFrequency.S b/libc/nt/kernel32/QueryPerformanceFrequency.S index 130b6949f..36c1dd561 100644 --- a/libc/nt/kernel32/QueryPerformanceFrequency.S +++ b/libc/nt/kernel32/QueryPerformanceFrequency.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_QueryPerformanceFrequency,QueryPerformanceFrequency,1099 -#ifdef __x86_64__ .text.windows QueryPerformanceFrequency: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ QueryPerformanceFrequency: sub $32,%rsp call *__imp_QueryPerformanceFrequency(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn QueryPerformanceFrequency,globl .previous -#endif diff --git a/libc/nt/kernel32/ReOpenFile.S b/libc/nt/kernel32/ReOpenFile.S index 786033a90..f555d7c98 100644 --- a/libc/nt/kernel32/ReOpenFile.S +++ b/libc/nt/kernel32/ReOpenFile.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ReOpenFile,ReOpenFile,0 -#ifdef __x86_64__ .text.windows __ReOpenFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ReOpenFile(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __ReOpenFile,globl .previous -#endif diff --git a/libc/nt/kernel32/ReadConsoleInputW.S b/libc/nt/kernel32/ReadConsoleInputW.S index bfc9c5922..2777ee2f1 100644 --- a/libc/nt/kernel32/ReadConsoleInputW.S +++ b/libc/nt/kernel32/ReadConsoleInputW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ReadConsoleInputW,ReadConsoleInputW,0 -#ifdef __x86_64__ .text.windows ReadConsoleInput: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ReadConsoleInputW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn ReadConsoleInput,globl .previous -#endif diff --git a/libc/nt/kernel32/ReadConsoleOutputAttribute.S b/libc/nt/kernel32/ReadConsoleOutputAttribute.S index ddfa1ae77..7b3cbace3 100644 --- a/libc/nt/kernel32/ReadConsoleOutputAttribute.S +++ b/libc/nt/kernel32/ReadConsoleOutputAttribute.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ReadConsoleOutputAttribute,ReadConsoleOutputAttribute,0 -#ifdef __x86_64__ .text.windows ReadConsoleOutputAttribute: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ReadConsoleOutputAttribute(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn ReadConsoleOutputAttribute,globl .previous -#endif diff --git a/libc/nt/kernel32/ReadConsoleOutputCharacterW.S b/libc/nt/kernel32/ReadConsoleOutputCharacterW.S index 6b3060559..657338c7d 100644 --- a/libc/nt/kernel32/ReadConsoleOutputCharacterW.S +++ b/libc/nt/kernel32/ReadConsoleOutputCharacterW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ReadConsoleOutputCharacterW,ReadConsoleOutputCharacterW,0 -#ifdef __x86_64__ .text.windows ReadConsoleOutputCharacter: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ReadConsoleOutputCharacterW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn ReadConsoleOutputCharacter,globl .previous -#endif diff --git a/libc/nt/kernel32/ReadConsoleOutputW.S b/libc/nt/kernel32/ReadConsoleOutputW.S index b0ca02ce7..5878f2d9a 100644 --- a/libc/nt/kernel32/ReadConsoleOutputW.S +++ b/libc/nt/kernel32/ReadConsoleOutputW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ReadConsoleOutputW,ReadConsoleOutputW,0 -#ifdef __x86_64__ .text.windows ReadConsoleOutput: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ReadConsoleOutputW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn ReadConsoleOutput,globl .previous -#endif diff --git a/libc/nt/kernel32/ReadConsoleW.S b/libc/nt/kernel32/ReadConsoleW.S index 9d2be8d14..7bf3db848 100644 --- a/libc/nt/kernel32/ReadConsoleW.S +++ b/libc/nt/kernel32/ReadConsoleW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ReadConsoleW,ReadConsoleW,0 -#ifdef __x86_64__ .text.windows ReadConsole: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ReadConsoleW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn ReadConsole,globl .previous -#endif diff --git a/libc/nt/kernel32/ReadFile.S b/libc/nt/kernel32/ReadFile.S index f6a28915c..72e55b917 100644 --- a/libc/nt/kernel32/ReadFile.S +++ b/libc/nt/kernel32/ReadFile.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ReadFile,ReadFile,0 -#ifdef __x86_64__ .text.windows ReadFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ReadFile(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn ReadFile,globl .previous -#endif diff --git a/libc/nt/kernel32/ReadFileEx.S b/libc/nt/kernel32/ReadFileEx.S index d3b4e57fb..a7c2e46b7 100644 --- a/libc/nt/kernel32/ReadFileEx.S +++ b/libc/nt/kernel32/ReadFileEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ReadFileEx,ReadFileEx,0 -#ifdef __x86_64__ .text.windows ReadFileEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ReadFileEx(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn ReadFileEx,globl .previous -#endif diff --git a/libc/nt/kernel32/ReadFileScatter.S b/libc/nt/kernel32/ReadFileScatter.S index 331318863..eb293d347 100644 --- a/libc/nt/kernel32/ReadFileScatter.S +++ b/libc/nt/kernel32/ReadFileScatter.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ReadFileScatter,ReadFileScatter,0 -#ifdef __x86_64__ .text.windows ReadFileScatter: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ReadFileScatter(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn ReadFileScatter,globl .previous -#endif diff --git a/libc/nt/kernel32/RegisterWaitForSingleObject.S b/libc/nt/kernel32/RegisterWaitForSingleObject.S index 52a2cdd4f..753dd5572 100644 --- a/libc/nt/kernel32/RegisterWaitForSingleObject.S +++ b/libc/nt/kernel32/RegisterWaitForSingleObject.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_RegisterWaitForSingleObject,RegisterWaitForSingleObject,1191 -#ifdef __x86_64__ .text.windows RegisterWaitForSingleObject: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RegisterWaitForSingleObject(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RegisterWaitForSingleObject,globl .previous -#endif diff --git a/libc/nt/kernel32/ReleaseMutex.S b/libc/nt/kernel32/ReleaseMutex.S index 72e71d5f2..602543dc0 100644 --- a/libc/nt/kernel32/ReleaseMutex.S +++ b/libc/nt/kernel32/ReleaseMutex.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ReleaseMutex,ReleaseMutex,0 -#ifdef __x86_64__ .text.windows ReleaseMutex: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ ReleaseMutex: sub $32,%rsp call *__imp_ReleaseMutex(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn ReleaseMutex,globl .previous -#endif diff --git a/libc/nt/kernel32/ReleaseSRWLockExclusive.S b/libc/nt/kernel32/ReleaseSRWLockExclusive.S index 52bf524c1..d5e7c834e 100644 --- a/libc/nt/kernel32/ReleaseSRWLockExclusive.S +++ b/libc/nt/kernel32/ReleaseSRWLockExclusive.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ReleaseSRWLockExclusive,ReleaseSRWLockExclusive,0 -#ifdef __x86_64__ .text.windows ReleaseSRWLockExclusive: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ ReleaseSRWLockExclusive: sub $32,%rsp call *__imp_ReleaseSRWLockExclusive(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn ReleaseSRWLockExclusive,globl .previous -#endif diff --git a/libc/nt/kernel32/ReleaseSRWLockShared.S b/libc/nt/kernel32/ReleaseSRWLockShared.S index 36f0dc019..5647e1d74 100644 --- a/libc/nt/kernel32/ReleaseSRWLockShared.S +++ b/libc/nt/kernel32/ReleaseSRWLockShared.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ReleaseSRWLockShared,ReleaseSRWLockShared,0 -#ifdef __x86_64__ .text.windows ReleaseSRWLockShared: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ ReleaseSRWLockShared: sub $32,%rsp call *__imp_ReleaseSRWLockShared(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn ReleaseSRWLockShared,globl .previous -#endif diff --git a/libc/nt/kernel32/ReleaseSemaphore.S b/libc/nt/kernel32/ReleaseSemaphore.S index ba8a46641..946e826aa 100644 --- a/libc/nt/kernel32/ReleaseSemaphore.S +++ b/libc/nt/kernel32/ReleaseSemaphore.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ReleaseSemaphore,ReleaseSemaphore,0 -#ifdef __x86_64__ .text.windows ReleaseSemaphore: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ReleaseSemaphore(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn ReleaseSemaphore,globl .previous -#endif diff --git a/libc/nt/kernel32/RemoveDirectoryW.S b/libc/nt/kernel32/RemoveDirectoryW.S index efbb452e9..83dba2fcb 100644 --- a/libc/nt/kernel32/RemoveDirectoryW.S +++ b/libc/nt/kernel32/RemoveDirectoryW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_RemoveDirectoryW,RemoveDirectoryW,0 -#ifdef __x86_64__ .text.windows __RemoveDirectory: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ __RemoveDirectory: sub $32,%rsp call *__imp_RemoveDirectoryW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn __RemoveDirectory,globl .previous -#endif diff --git a/libc/nt/kernel32/RemoveVectoredContinueHandler.S b/libc/nt/kernel32/RemoveVectoredContinueHandler.S index 53383d0ea..4e845b99e 100644 --- a/libc/nt/kernel32/RemoveVectoredContinueHandler.S +++ b/libc/nt/kernel32/RemoveVectoredContinueHandler.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_RemoveVectoredContinueHandler,RemoveVectoredContinueHandler,0 -#ifdef __x86_64__ .text.windows RemoveVectoredContinueHandler: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RemoveVectoredContinueHandler: sub $32,%rsp call *__imp_RemoveVectoredContinueHandler(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RemoveVectoredContinueHandler,globl .previous -#endif diff --git a/libc/nt/kernel32/RemoveVectoredExceptionHandler.S b/libc/nt/kernel32/RemoveVectoredExceptionHandler.S index f6e48d381..13b9c9f66 100644 --- a/libc/nt/kernel32/RemoveVectoredExceptionHandler.S +++ b/libc/nt/kernel32/RemoveVectoredExceptionHandler.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_RemoveVectoredExceptionHandler,RemoveVectoredExceptionHandler,0 -#ifdef __x86_64__ .text.windows RemoveVectoredExceptionHandler: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RemoveVectoredExceptionHandler: sub $32,%rsp call *__imp_RemoveVectoredExceptionHandler(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RemoveVectoredExceptionHandler,globl .previous -#endif diff --git a/libc/nt/kernel32/ResetEvent.S b/libc/nt/kernel32/ResetEvent.S index d5fe5ddf8..c529d0b7b 100644 --- a/libc/nt/kernel32/ResetEvent.S +++ b/libc/nt/kernel32/ResetEvent.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_ResetEvent,ResetEvent,0 -#ifdef __x86_64__ .text.windows ResetEvent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ ResetEvent: sub $32,%rsp call *__imp_ResetEvent(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn ResetEvent,globl .previous -#endif diff --git a/libc/nt/kernel32/SetConsoleActiveScreenBuffer.S b/libc/nt/kernel32/SetConsoleActiveScreenBuffer.S index d948a52d2..57622b5ce 100644 --- a/libc/nt/kernel32/SetConsoleActiveScreenBuffer.S +++ b/libc/nt/kernel32/SetConsoleActiveScreenBuffer.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetConsoleActiveScreenBuffer,SetConsoleActiveScreenBuffer,0 -#ifdef __x86_64__ .text.windows SetConsoleActiveScreenBuffer: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ SetConsoleActiveScreenBuffer: sub $32,%rsp call *__imp_SetConsoleActiveScreenBuffer(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn SetConsoleActiveScreenBuffer,globl .previous -#endif diff --git a/libc/nt/kernel32/SetConsoleCP.S b/libc/nt/kernel32/SetConsoleCP.S index efb7fc0a7..7b0b22cf1 100644 --- a/libc/nt/kernel32/SetConsoleCP.S +++ b/libc/nt/kernel32/SetConsoleCP.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetConsoleCP,SetConsoleCP,0 -#ifdef __x86_64__ .text.windows SetConsoleCP: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ SetConsoleCP: sub $32,%rsp call *__imp_SetConsoleCP(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn SetConsoleCP,globl .previous -#endif diff --git a/libc/nt/kernel32/SetConsoleCtrlHandler.S b/libc/nt/kernel32/SetConsoleCtrlHandler.S index 64d8170be..359bf59fb 100644 --- a/libc/nt/kernel32/SetConsoleCtrlHandler.S +++ b/libc/nt/kernel32/SetConsoleCtrlHandler.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetConsoleCtrlHandler,SetConsoleCtrlHandler,0 -#ifdef __x86_64__ .text.windows SetConsoleCtrlHandler: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetConsoleCtrlHandler(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetConsoleCtrlHandler,globl .previous -#endif diff --git a/libc/nt/kernel32/SetConsoleCursorInfo.S b/libc/nt/kernel32/SetConsoleCursorInfo.S index cb50edf8a..535284025 100644 --- a/libc/nt/kernel32/SetConsoleCursorInfo.S +++ b/libc/nt/kernel32/SetConsoleCursorInfo.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetConsoleCursorInfo,SetConsoleCursorInfo,0 -#ifdef __x86_64__ .text.windows SetConsoleCursorInfo: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetConsoleCursorInfo(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetConsoleCursorInfo,globl .previous -#endif diff --git a/libc/nt/kernel32/SetConsoleCursorPosition.S b/libc/nt/kernel32/SetConsoleCursorPosition.S index 391e832f8..e0c870894 100644 --- a/libc/nt/kernel32/SetConsoleCursorPosition.S +++ b/libc/nt/kernel32/SetConsoleCursorPosition.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetConsoleCursorPosition,SetConsoleCursorPosition,0 -#ifdef __x86_64__ .text.windows SetConsoleCursorPosition: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetConsoleCursorPosition(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetConsoleCursorPosition,globl .previous -#endif diff --git a/libc/nt/kernel32/SetConsoleMode.S b/libc/nt/kernel32/SetConsoleMode.S index 527f2c7a6..ab05d9002 100644 --- a/libc/nt/kernel32/SetConsoleMode.S +++ b/libc/nt/kernel32/SetConsoleMode.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetConsoleMode,SetConsoleMode,0 -#ifdef __x86_64__ .text.windows SetConsoleMode: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetConsoleMode(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetConsoleMode,globl .previous -#endif diff --git a/libc/nt/kernel32/SetConsoleOutputCP.S b/libc/nt/kernel32/SetConsoleOutputCP.S index de2295562..e4b5d35bb 100644 --- a/libc/nt/kernel32/SetConsoleOutputCP.S +++ b/libc/nt/kernel32/SetConsoleOutputCP.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetConsoleOutputCP,SetConsoleOutputCP,0 -#ifdef __x86_64__ .text.windows SetConsoleOutputCP: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ SetConsoleOutputCP: sub $32,%rsp call *__imp_SetConsoleOutputCP(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn SetConsoleOutputCP,globl .previous -#endif diff --git a/libc/nt/kernel32/SetConsoleScreenBufferInfoEx.S b/libc/nt/kernel32/SetConsoleScreenBufferInfoEx.S index 57894fb9d..726fb7060 100644 --- a/libc/nt/kernel32/SetConsoleScreenBufferInfoEx.S +++ b/libc/nt/kernel32/SetConsoleScreenBufferInfoEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetConsoleScreenBufferInfoEx,SetConsoleScreenBufferInfoEx,0 -#ifdef __x86_64__ .text.windows SetConsoleScreenBufferInfoEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetConsoleScreenBufferInfoEx(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetConsoleScreenBufferInfoEx,globl .previous -#endif diff --git a/libc/nt/kernel32/SetConsoleScreenBufferSize.S b/libc/nt/kernel32/SetConsoleScreenBufferSize.S index 3f22edafb..fb47b7e78 100644 --- a/libc/nt/kernel32/SetConsoleScreenBufferSize.S +++ b/libc/nt/kernel32/SetConsoleScreenBufferSize.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetConsoleScreenBufferSize,SetConsoleScreenBufferSize,0 -#ifdef __x86_64__ .text.windows SetConsoleScreenBufferSize: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetConsoleScreenBufferSize(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetConsoleScreenBufferSize,globl .previous -#endif diff --git a/libc/nt/kernel32/SetConsoleTitleW.S b/libc/nt/kernel32/SetConsoleTitleW.S index dbc48a267..3a76f0990 100644 --- a/libc/nt/kernel32/SetConsoleTitleW.S +++ b/libc/nt/kernel32/SetConsoleTitleW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetConsoleTitleW,SetConsoleTitleW,0 -#ifdef __x86_64__ .text.windows SetConsoleTitle: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ SetConsoleTitle: sub $32,%rsp call *__imp_SetConsoleTitleW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn SetConsoleTitle,globl .previous -#endif diff --git a/libc/nt/kernel32/SetConsoleWindowInfo.S b/libc/nt/kernel32/SetConsoleWindowInfo.S index 9b37d4061..b297b2dec 100644 --- a/libc/nt/kernel32/SetConsoleWindowInfo.S +++ b/libc/nt/kernel32/SetConsoleWindowInfo.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetConsoleWindowInfo,SetConsoleWindowInfo,0 -#ifdef __x86_64__ .text.windows SetConsoleWindowInfo: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetConsoleWindowInfo(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetConsoleWindowInfo,globl .previous -#endif diff --git a/libc/nt/kernel32/SetCriticalSectionSpinCount.S b/libc/nt/kernel32/SetCriticalSectionSpinCount.S index 599612e76..68cbd6ab4 100644 --- a/libc/nt/kernel32/SetCriticalSectionSpinCount.S +++ b/libc/nt/kernel32/SetCriticalSectionSpinCount.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetCriticalSectionSpinCount,SetCriticalSectionSpinCount,0 -#ifdef __x86_64__ .text.windows SetCriticalSectionSpinCount: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetCriticalSectionSpinCount(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetCriticalSectionSpinCount,globl .previous -#endif diff --git a/libc/nt/kernel32/SetCurrentDirectoryW.S b/libc/nt/kernel32/SetCurrentDirectoryW.S index 45323c395..f80eb98d7 100644 --- a/libc/nt/kernel32/SetCurrentDirectoryW.S +++ b/libc/nt/kernel32/SetCurrentDirectoryW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetCurrentDirectoryW,SetCurrentDirectoryW,0 -#ifdef __x86_64__ .text.windows __SetCurrentDirectory: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ __SetCurrentDirectory: sub $32,%rsp call *__imp_SetCurrentDirectoryW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn __SetCurrentDirectory,globl .previous -#endif diff --git a/libc/nt/kernel32/SetDefaultDllDirectories.S b/libc/nt/kernel32/SetDefaultDllDirectories.S index ea5432d89..d833cb3a3 100644 --- a/libc/nt/kernel32/SetDefaultDllDirectories.S +++ b/libc/nt/kernel32/SetDefaultDllDirectories.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetDefaultDllDirectories,SetDefaultDllDirectories,0 -#ifdef __x86_64__ .text.windows SetDefaultDllDirectories: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ SetDefaultDllDirectories: sub $32,%rsp call *__imp_SetDefaultDllDirectories(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn SetDefaultDllDirectories,globl .previous -#endif diff --git a/libc/nt/kernel32/SetEndOfFile.S b/libc/nt/kernel32/SetEndOfFile.S index 65ea20960..b8f056961 100644 --- a/libc/nt/kernel32/SetEndOfFile.S +++ b/libc/nt/kernel32/SetEndOfFile.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetEndOfFile,SetEndOfFile,0 -#ifdef __x86_64__ .text.windows SetEndOfFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ SetEndOfFile: sub $32,%rsp call *__imp_SetEndOfFile(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn SetEndOfFile,globl .previous -#endif diff --git a/libc/nt/kernel32/SetEnvironmentVariableW.S b/libc/nt/kernel32/SetEnvironmentVariableW.S index cfb32beea..8634de83e 100644 --- a/libc/nt/kernel32/SetEnvironmentVariableW.S +++ b/libc/nt/kernel32/SetEnvironmentVariableW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetEnvironmentVariableW,SetEnvironmentVariableW,0 -#ifdef __x86_64__ .text.windows SetEnvironmentVariable: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetEnvironmentVariableW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetEnvironmentVariable,globl .previous -#endif diff --git a/libc/nt/kernel32/SetErrorMode.S b/libc/nt/kernel32/SetErrorMode.S index 9260d88df..daae2709f 100644 --- a/libc/nt/kernel32/SetErrorMode.S +++ b/libc/nt/kernel32/SetErrorMode.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetErrorMode,SetErrorMode,0 -#ifdef __x86_64__ .text.windows SetErrorMode: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ SetErrorMode: sub $32,%rsp call *__imp_SetErrorMode(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn SetErrorMode,globl .previous -#endif diff --git a/libc/nt/kernel32/SetEvent.S b/libc/nt/kernel32/SetEvent.S index 03c2eb20c..811eca593 100644 --- a/libc/nt/kernel32/SetEvent.S +++ b/libc/nt/kernel32/SetEvent.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetEvent,SetEvent,0 -#ifdef __x86_64__ .text.windows SetEvent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ SetEvent: sub $32,%rsp call *__imp_SetEvent(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn SetEvent,globl .previous -#endif diff --git a/libc/nt/kernel32/SetFileAttributesW.S b/libc/nt/kernel32/SetFileAttributesW.S index c7c2fb1c5..3b1dee561 100644 --- a/libc/nt/kernel32/SetFileAttributesW.S +++ b/libc/nt/kernel32/SetFileAttributesW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetFileAttributesW,SetFileAttributesW,0 -#ifdef __x86_64__ .text.windows SetFileAttributes: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetFileAttributesW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetFileAttributes,globl .previous -#endif diff --git a/libc/nt/kernel32/SetFileCompletionNotificationModes.S b/libc/nt/kernel32/SetFileCompletionNotificationModes.S index d50784a41..71350e88a 100644 --- a/libc/nt/kernel32/SetFileCompletionNotificationModes.S +++ b/libc/nt/kernel32/SetFileCompletionNotificationModes.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetFileCompletionNotificationModes,SetFileCompletionNotificationModes,1318 -#ifdef __x86_64__ .text.windows SetFileCompletionNotificationModes: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetFileCompletionNotificationModes(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetFileCompletionNotificationModes,globl .previous -#endif diff --git a/libc/nt/kernel32/SetFilePointer.S b/libc/nt/kernel32/SetFilePointer.S index 0a5f6ea74..45ed8f0b8 100644 --- a/libc/nt/kernel32/SetFilePointer.S +++ b/libc/nt/kernel32/SetFilePointer.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetFilePointer,SetFilePointer,0 -#ifdef __x86_64__ .text.windows SetFilePointer: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetFilePointer(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetFilePointer,globl .previous -#endif diff --git a/libc/nt/kernel32/SetFilePointerEx.S b/libc/nt/kernel32/SetFilePointerEx.S index 73454f210..00a85ed03 100644 --- a/libc/nt/kernel32/SetFilePointerEx.S +++ b/libc/nt/kernel32/SetFilePointerEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetFilePointerEx,SetFilePointerEx,0 -#ifdef __x86_64__ .text.windows SetFilePointerEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetFilePointerEx(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetFilePointerEx,globl .previous -#endif diff --git a/libc/nt/kernel32/SetFileTime.S b/libc/nt/kernel32/SetFileTime.S index 42a50085e..4a321dcf6 100644 --- a/libc/nt/kernel32/SetFileTime.S +++ b/libc/nt/kernel32/SetFileTime.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetFileTime,SetFileTime,0 -#ifdef __x86_64__ .text.windows SetFileTime: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetFileTime(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetFileTime,globl .previous -#endif diff --git a/libc/nt/kernel32/SetFileValidData.S b/libc/nt/kernel32/SetFileValidData.S index c26507f86..987fe4448 100644 --- a/libc/nt/kernel32/SetFileValidData.S +++ b/libc/nt/kernel32/SetFileValidData.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetFileValidData,SetFileValidData,0 -#ifdef __x86_64__ .text.windows SetFileValidData: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetFileValidData(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetFileValidData,globl .previous -#endif diff --git a/libc/nt/kernel32/SetHandleCount.S b/libc/nt/kernel32/SetHandleCount.S index 6fb58d796..3a7018aa0 100644 --- a/libc/nt/kernel32/SetHandleCount.S +++ b/libc/nt/kernel32/SetHandleCount.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetHandleCount,SetHandleCount,0 -#ifdef __x86_64__ .text.windows SetHandleCount: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ SetHandleCount: sub $32,%rsp call *__imp_SetHandleCount(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn SetHandleCount,globl .previous -#endif diff --git a/libc/nt/kernel32/SetHandleInformation.S b/libc/nt/kernel32/SetHandleInformation.S index 939ba841b..608be417a 100644 --- a/libc/nt/kernel32/SetHandleInformation.S +++ b/libc/nt/kernel32/SetHandleInformation.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetHandleInformation,SetHandleInformation,0 -#ifdef __x86_64__ .text.windows SetHandleInformation: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetHandleInformation(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetHandleInformation,globl .previous -#endif diff --git a/libc/nt/kernel32/SetLastError.S b/libc/nt/kernel32/SetLastError.S index 483562646..7e35dfb07 100644 --- a/libc/nt/kernel32/SetLastError.S +++ b/libc/nt/kernel32/SetLastError.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetLastError,SetLastError,0 -#ifdef __x86_64__ .text.windows SetLastError: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ SetLastError: sub $32,%rsp call *__imp_SetLastError(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn SetLastError,globl .previous -#endif diff --git a/libc/nt/kernel32/SetNamedPipeHandleState.S b/libc/nt/kernel32/SetNamedPipeHandleState.S index 623562d6e..5ec392a42 100644 --- a/libc/nt/kernel32/SetNamedPipeHandleState.S +++ b/libc/nt/kernel32/SetNamedPipeHandleState.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetNamedPipeHandleState,SetNamedPipeHandleState,0 -#ifdef __x86_64__ .text.windows SetNamedPipeHandleState: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetNamedPipeHandleState(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetNamedPipeHandleState,globl .previous -#endif diff --git a/libc/nt/kernel32/SetPriorityClass.S b/libc/nt/kernel32/SetPriorityClass.S index 249015b0a..d7d91bc9b 100644 --- a/libc/nt/kernel32/SetPriorityClass.S +++ b/libc/nt/kernel32/SetPriorityClass.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetPriorityClass,SetPriorityClass,0 -#ifdef __x86_64__ .text.windows SetPriorityClass: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetPriorityClass(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetPriorityClass,globl .previous -#endif diff --git a/libc/nt/kernel32/SetProcessAffinityMask.S b/libc/nt/kernel32/SetProcessAffinityMask.S index e885d6e3a..7d2a28a85 100644 --- a/libc/nt/kernel32/SetProcessAffinityMask.S +++ b/libc/nt/kernel32/SetProcessAffinityMask.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetProcessAffinityMask,SetProcessAffinityMask,1347 -#ifdef __x86_64__ .text.windows SetProcessAffinityMask: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetProcessAffinityMask(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetProcessAffinityMask,globl .previous -#endif diff --git a/libc/nt/kernel32/SetProcessPriorityBoost.S b/libc/nt/kernel32/SetProcessPriorityBoost.S index 6c4f5b631..9b037446c 100644 --- a/libc/nt/kernel32/SetProcessPriorityBoost.S +++ b/libc/nt/kernel32/SetProcessPriorityBoost.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetProcessPriorityBoost,SetProcessPriorityBoost,0 -#ifdef __x86_64__ .text.windows SetProcessPriorityBoost: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetProcessPriorityBoost(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetProcessPriorityBoost,globl .previous -#endif diff --git a/libc/nt/kernel32/SetProcessWorkingSetSize.S b/libc/nt/kernel32/SetProcessWorkingSetSize.S index ac22bb32e..3ade68c32 100644 --- a/libc/nt/kernel32/SetProcessWorkingSetSize.S +++ b/libc/nt/kernel32/SetProcessWorkingSetSize.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetProcessWorkingSetSize,SetProcessWorkingSetSize,1356 -#ifdef __x86_64__ .text.windows SetProcessWorkingSetSize: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetProcessWorkingSetSize(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetProcessWorkingSetSize,globl .previous -#endif diff --git a/libc/nt/kernel32/SetProcessWorkingSetSizeEx.S b/libc/nt/kernel32/SetProcessWorkingSetSizeEx.S index 31f65f0ba..42fa71206 100644 --- a/libc/nt/kernel32/SetProcessWorkingSetSizeEx.S +++ b/libc/nt/kernel32/SetProcessWorkingSetSizeEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetProcessWorkingSetSizeEx,SetProcessWorkingSetSizeEx,0 -#ifdef __x86_64__ .text.windows SetProcessWorkingSetSizeEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetProcessWorkingSetSizeEx(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetProcessWorkingSetSizeEx,globl .previous -#endif diff --git a/libc/nt/kernel32/SetStdHandle.S b/libc/nt/kernel32/SetStdHandle.S index 4c0c97c65..96694d3bc 100644 --- a/libc/nt/kernel32/SetStdHandle.S +++ b/libc/nt/kernel32/SetStdHandle.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetStdHandle,SetStdHandle,0 -#ifdef __x86_64__ .text.windows SetStdHandle: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetStdHandle(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetStdHandle,globl .previous -#endif diff --git a/libc/nt/kernel32/SetThreadAffinityMask.S b/libc/nt/kernel32/SetThreadAffinityMask.S index 708d693db..16ae18aac 100644 --- a/libc/nt/kernel32/SetThreadAffinityMask.S +++ b/libc/nt/kernel32/SetThreadAffinityMask.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetThreadAffinityMask,SetThreadAffinityMask,1369 -#ifdef __x86_64__ .text.windows SetThreadAffinityMask: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetThreadAffinityMask(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetThreadAffinityMask,globl .previous -#endif diff --git a/libc/nt/kernel32/SetThreadPriority.S b/libc/nt/kernel32/SetThreadPriority.S index e9d6ed764..daa0faa8a 100644 --- a/libc/nt/kernel32/SetThreadPriority.S +++ b/libc/nt/kernel32/SetThreadPriority.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetThreadPriority,SetThreadPriority,0 -#ifdef __x86_64__ .text.windows SetThreadPriority: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetThreadPriority(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetThreadPriority,globl .previous -#endif diff --git a/libc/nt/kernel32/SetThreadPriorityBoost.S b/libc/nt/kernel32/SetThreadPriorityBoost.S index 17acdaa2f..e7fed65cf 100644 --- a/libc/nt/kernel32/SetThreadPriorityBoost.S +++ b/libc/nt/kernel32/SetThreadPriorityBoost.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetThreadPriorityBoost,SetThreadPriorityBoost,0 -#ifdef __x86_64__ .text.windows SetThreadPriorityBoost: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetThreadPriorityBoost(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetThreadPriorityBoost,globl .previous -#endif diff --git a/libc/nt/kernel32/SetUnhandledExceptionFilter.S b/libc/nt/kernel32/SetUnhandledExceptionFilter.S index fe8129534..ef9e7c980 100644 --- a/libc/nt/kernel32/SetUnhandledExceptionFilter.S +++ b/libc/nt/kernel32/SetUnhandledExceptionFilter.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetUnhandledExceptionFilter,SetUnhandledExceptionFilter,0 -#ifdef __x86_64__ .text.windows SetUnhandledExceptionFilter: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ SetUnhandledExceptionFilter: sub $32,%rsp call *__imp_SetUnhandledExceptionFilter(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn SetUnhandledExceptionFilter,globl .previous -#endif diff --git a/libc/nt/kernel32/SetWaitableTimer.S b/libc/nt/kernel32/SetWaitableTimer.S index ff5cfc60b..cae79a0b4 100644 --- a/libc/nt/kernel32/SetWaitableTimer.S +++ b/libc/nt/kernel32/SetWaitableTimer.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SetWaitableTimer,SetWaitableTimer,0 -#ifdef __x86_64__ .text.windows SetWaitableTimer: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetWaitableTimer(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetWaitableTimer,globl .previous -#endif diff --git a/libc/nt/kernel32/Sleep.S b/libc/nt/kernel32/Sleep.S index 34406cffb..ec1455ffd 100644 --- a/libc/nt/kernel32/Sleep.S +++ b/libc/nt/kernel32/Sleep.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_Sleep,Sleep,0 -#ifdef __x86_64__ .text.windows Sleep: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ Sleep: sub $32,%rsp call *__imp_Sleep(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn Sleep,globl .previous -#endif diff --git a/libc/nt/kernel32/SleepEx.S b/libc/nt/kernel32/SleepEx.S index 09d6067e6..14326d987 100644 --- a/libc/nt/kernel32/SleepEx.S +++ b/libc/nt/kernel32/SleepEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SleepEx,SleepEx,0 -#ifdef __x86_64__ .text.windows SleepEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SleepEx(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SleepEx,globl .previous -#endif diff --git a/libc/nt/kernel32/SuspendThread.S b/libc/nt/kernel32/SuspendThread.S index 9d673ac14..50c3bac40 100644 --- a/libc/nt/kernel32/SuspendThread.S +++ b/libc/nt/kernel32/SuspendThread.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SuspendThread,SuspendThread,0 -#ifdef __x86_64__ .text.windows SuspendThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ SuspendThread: sub $32,%rsp call *__imp_SuspendThread(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn SuspendThread,globl .previous -#endif diff --git a/libc/nt/kernel32/SystemTimeToFileTime.S b/libc/nt/kernel32/SystemTimeToFileTime.S index 2385df31e..84a2874db 100644 --- a/libc/nt/kernel32/SystemTimeToFileTime.S +++ b/libc/nt/kernel32/SystemTimeToFileTime.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_SystemTimeToFileTime,SystemTimeToFileTime,0 -#ifdef __x86_64__ .text.windows SystemTimeToFileTime: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SystemTimeToFileTime(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SystemTimeToFileTime,globl .previous -#endif diff --git a/libc/nt/kernel32/TerminateProcess.S b/libc/nt/kernel32/TerminateProcess.S index b027954fa..08c7ba0d2 100644 --- a/libc/nt/kernel32/TerminateProcess.S +++ b/libc/nt/kernel32/TerminateProcess.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_TerminateProcess,TerminateProcess,0 -#ifdef __x86_64__ .text.windows __TerminateProcess: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_TerminateProcess(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __TerminateProcess,globl .previous -#endif diff --git a/libc/nt/kernel32/TerminateThread.S b/libc/nt/kernel32/TerminateThread.S index f07ec794c..6171e32ba 100644 --- a/libc/nt/kernel32/TerminateThread.S +++ b/libc/nt/kernel32/TerminateThread.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_TerminateThread,TerminateThread,0 -#ifdef __x86_64__ .text.windows TerminateThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_TerminateThread(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn TerminateThread,globl .previous -#endif diff --git a/libc/nt/kernel32/TlsAlloc.S b/libc/nt/kernel32/TlsAlloc.S index c056164e0..d98c32ffb 100644 --- a/libc/nt/kernel32/TlsAlloc.S +++ b/libc/nt/kernel32/TlsAlloc.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_TlsAlloc,TlsAlloc,0 -#ifdef __x86_64__ .text.windows TlsAlloc: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_TlsAlloc(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn TlsAlloc,globl .previous -#endif diff --git a/libc/nt/kernel32/TlsFree.S b/libc/nt/kernel32/TlsFree.S index 9af40cc96..b4d3b7f82 100644 --- a/libc/nt/kernel32/TlsFree.S +++ b/libc/nt/kernel32/TlsFree.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_TlsFree,TlsFree,0 -#ifdef __x86_64__ .text.windows TlsFree: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ TlsFree: sub $32,%rsp call *__imp_TlsFree(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn TlsFree,globl .previous -#endif diff --git a/libc/nt/kernel32/TlsGetValue.S b/libc/nt/kernel32/TlsGetValue.S index e2051343c..5b3abfac7 100644 --- a/libc/nt/kernel32/TlsGetValue.S +++ b/libc/nt/kernel32/TlsGetValue.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_TlsGetValue,TlsGetValue,0 -#ifdef __x86_64__ .text.windows TlsGetValue: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ TlsGetValue: sub $32,%rsp call *__imp_TlsGetValue(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn TlsGetValue,globl .previous -#endif diff --git a/libc/nt/kernel32/TlsSetValue.S b/libc/nt/kernel32/TlsSetValue.S index 9ad06ef69..048198461 100644 --- a/libc/nt/kernel32/TlsSetValue.S +++ b/libc/nt/kernel32/TlsSetValue.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_TlsSetValue,TlsSetValue,0 -#ifdef __x86_64__ .text.windows TlsSetValue: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_TlsSetValue(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn TlsSetValue,globl .previous -#endif diff --git a/libc/nt/kernel32/TransactNamedPipe.S b/libc/nt/kernel32/TransactNamedPipe.S index 25aca5c70..5b4ddd3b5 100644 --- a/libc/nt/kernel32/TransactNamedPipe.S +++ b/libc/nt/kernel32/TransactNamedPipe.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_TransactNamedPipe,TransactNamedPipe,0 -#ifdef __x86_64__ .text.windows TransactNamedPipe: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_TransactNamedPipe(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn TransactNamedPipe,globl .previous -#endif diff --git a/libc/nt/kernel32/TransmitCommChar.S b/libc/nt/kernel32/TransmitCommChar.S index a2a1b2ed7..81d097733 100644 --- a/libc/nt/kernel32/TransmitCommChar.S +++ b/libc/nt/kernel32/TransmitCommChar.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_TransmitCommChar,TransmitCommChar,0 -#ifdef __x86_64__ .text.windows TransmitCommChar: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_TransmitCommChar(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn TransmitCommChar,globl .previous -#endif diff --git a/libc/nt/kernel32/TryAcquireSRWLockExclusive.S b/libc/nt/kernel32/TryAcquireSRWLockExclusive.S index 20f3cf95c..dba4d407a 100644 --- a/libc/nt/kernel32/TryAcquireSRWLockExclusive.S +++ b/libc/nt/kernel32/TryAcquireSRWLockExclusive.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_TryAcquireSRWLockExclusive,TryAcquireSRWLockExclusive,0 -#ifdef __x86_64__ .text.windows TryAcquireSRWLockExclusive: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ TryAcquireSRWLockExclusive: sub $32,%rsp call *__imp_TryAcquireSRWLockExclusive(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn TryAcquireSRWLockExclusive,globl .previous -#endif diff --git a/libc/nt/kernel32/TryAcquireSRWLockShared.S b/libc/nt/kernel32/TryAcquireSRWLockShared.S index dff9ee932..6171de9c0 100644 --- a/libc/nt/kernel32/TryAcquireSRWLockShared.S +++ b/libc/nt/kernel32/TryAcquireSRWLockShared.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_TryAcquireSRWLockShared,TryAcquireSRWLockShared,0 -#ifdef __x86_64__ .text.windows TryAcquireSRWLockShared: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ TryAcquireSRWLockShared: sub $32,%rsp call *__imp_TryAcquireSRWLockShared(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn TryAcquireSRWLockShared,globl .previous -#endif diff --git a/libc/nt/kernel32/TryEnterCriticalSection.S b/libc/nt/kernel32/TryEnterCriticalSection.S index 22261a15a..50349b2e4 100644 --- a/libc/nt/kernel32/TryEnterCriticalSection.S +++ b/libc/nt/kernel32/TryEnterCriticalSection.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_TryEnterCriticalSection,TryEnterCriticalSection,0 -#ifdef __x86_64__ .text.windows TryEnterCriticalSection: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ TryEnterCriticalSection: sub $32,%rsp call *__imp_TryEnterCriticalSection(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn TryEnterCriticalSection,globl .previous -#endif diff --git a/libc/nt/kernel32/UnlockFile.S b/libc/nt/kernel32/UnlockFile.S index 830ada915..6a6adac7c 100644 --- a/libc/nt/kernel32/UnlockFile.S +++ b/libc/nt/kernel32/UnlockFile.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_UnlockFile,UnlockFile,0 -#ifdef __x86_64__ .text.windows UnlockFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_UnlockFile(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn UnlockFile,globl .previous -#endif diff --git a/libc/nt/kernel32/UnlockFileEx.S b/libc/nt/kernel32/UnlockFileEx.S index 18120858b..2e45f05b1 100644 --- a/libc/nt/kernel32/UnlockFileEx.S +++ b/libc/nt/kernel32/UnlockFileEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_UnlockFileEx,UnlockFileEx,0 -#ifdef __x86_64__ .text.windows __UnlockFileEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_UnlockFileEx(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __UnlockFileEx,globl .previous -#endif diff --git a/libc/nt/kernel32/UnmapViewOfFile.S b/libc/nt/kernel32/UnmapViewOfFile.S index ecc76026f..33cb449fe 100644 --- a/libc/nt/kernel32/UnmapViewOfFile.S +++ b/libc/nt/kernel32/UnmapViewOfFile.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_UnmapViewOfFile,UnmapViewOfFile,0 -#ifdef __x86_64__ .text.windows __UnmapViewOfFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ __UnmapViewOfFile: sub $32,%rsp call *__imp_UnmapViewOfFile(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn __UnmapViewOfFile,globl .previous -#endif diff --git a/libc/nt/kernel32/UnmapViewOfFile2.S b/libc/nt/kernel32/UnmapViewOfFile2.S index dd0d2e780..b88f4ff56 100644 --- a/libc/nt/kernel32/UnmapViewOfFile2.S +++ b/libc/nt/kernel32/UnmapViewOfFile2.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_UnmapViewOfFile2,UnmapViewOfFile2,0 -#ifdef __x86_64__ .text.windows UnmapViewOfFile2: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_UnmapViewOfFile2(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn UnmapViewOfFile2,globl .previous -#endif diff --git a/libc/nt/kernel32/UnmapViewOfFileEx.S b/libc/nt/kernel32/UnmapViewOfFileEx.S index 40329dc7b..3fdbcb74f 100644 --- a/libc/nt/kernel32/UnmapViewOfFileEx.S +++ b/libc/nt/kernel32/UnmapViewOfFileEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_UnmapViewOfFileEx,UnmapViewOfFileEx,0 -#ifdef __x86_64__ .text.windows UnmapViewOfFileEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_UnmapViewOfFileEx(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn UnmapViewOfFileEx,globl .previous -#endif diff --git a/libc/nt/kernel32/UpdateProcThreadAttribute.S b/libc/nt/kernel32/UpdateProcThreadAttribute.S index e1333623e..ef160af59 100644 --- a/libc/nt/kernel32/UpdateProcThreadAttribute.S +++ b/libc/nt/kernel32/UpdateProcThreadAttribute.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_UpdateProcThreadAttribute,UpdateProcThreadAttribute,0 -#ifdef __x86_64__ .text.windows UpdateProcThreadAttribute: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_UpdateProcThreadAttribute(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn UpdateProcThreadAttribute,globl .previous -#endif diff --git a/libc/nt/kernel32/VirtualAlloc.S b/libc/nt/kernel32/VirtualAlloc.S index 9da3c49f9..92c1bcb62 100644 --- a/libc/nt/kernel32/VirtualAlloc.S +++ b/libc/nt/kernel32/VirtualAlloc.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_VirtualAlloc,VirtualAlloc,0 -#ifdef __x86_64__ .text.windows VirtualAlloc: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_VirtualAlloc(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn VirtualAlloc,globl .previous -#endif diff --git a/libc/nt/kernel32/VirtualAllocEx.S b/libc/nt/kernel32/VirtualAllocEx.S index 1226b9d33..5376ab89b 100644 --- a/libc/nt/kernel32/VirtualAllocEx.S +++ b/libc/nt/kernel32/VirtualAllocEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_VirtualAllocEx,VirtualAllocEx,0 -#ifdef __x86_64__ .text.windows VirtualAllocEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_VirtualAllocEx(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn VirtualAllocEx,globl .previous -#endif diff --git a/libc/nt/kernel32/VirtualFree.S b/libc/nt/kernel32/VirtualFree.S index b1454c0c1..4d2289ec3 100644 --- a/libc/nt/kernel32/VirtualFree.S +++ b/libc/nt/kernel32/VirtualFree.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_VirtualFree,VirtualFree,0 -#ifdef __x86_64__ .text.windows VirtualFree: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_VirtualFree(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn VirtualFree,globl .previous -#endif diff --git a/libc/nt/kernel32/VirtualLock.S b/libc/nt/kernel32/VirtualLock.S index f097e3e29..d4e3444d5 100644 --- a/libc/nt/kernel32/VirtualLock.S +++ b/libc/nt/kernel32/VirtualLock.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_VirtualLock,VirtualLock,0 -#ifdef __x86_64__ .text.windows VirtualLock: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_VirtualLock(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn VirtualLock,globl .previous -#endif diff --git a/libc/nt/kernel32/VirtualProtect.S b/libc/nt/kernel32/VirtualProtect.S index b26d7982d..1d35d4f7d 100644 --- a/libc/nt/kernel32/VirtualProtect.S +++ b/libc/nt/kernel32/VirtualProtect.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_VirtualProtect,VirtualProtect,0 -#ifdef __x86_64__ .text.windows __VirtualProtect: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_VirtualProtect(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __VirtualProtect,globl .previous -#endif diff --git a/libc/nt/kernel32/VirtualQuery.S b/libc/nt/kernel32/VirtualQuery.S index c9b207275..935aa7abe 100644 --- a/libc/nt/kernel32/VirtualQuery.S +++ b/libc/nt/kernel32/VirtualQuery.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_VirtualQuery,VirtualQuery,0 -#ifdef __x86_64__ .text.windows VirtualQuery: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_VirtualQuery(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn VirtualQuery,globl .previous -#endif diff --git a/libc/nt/kernel32/VirtualUnlock.S b/libc/nt/kernel32/VirtualUnlock.S index 27ee891f8..0df055119 100644 --- a/libc/nt/kernel32/VirtualUnlock.S +++ b/libc/nt/kernel32/VirtualUnlock.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_VirtualUnlock,VirtualUnlock,0 -#ifdef __x86_64__ .text.windows VirtualUnlock: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_VirtualUnlock(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn VirtualUnlock,globl .previous -#endif diff --git a/libc/nt/kernel32/WaitForMultipleObjects.S b/libc/nt/kernel32/WaitForMultipleObjects.S index 282de7681..03412e4f3 100644 --- a/libc/nt/kernel32/WaitForMultipleObjects.S +++ b/libc/nt/kernel32/WaitForMultipleObjects.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_WaitForMultipleObjects,WaitForMultipleObjects,0 -#ifdef __x86_64__ .text.windows __WaitForMultipleObjects: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WaitForMultipleObjects(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __WaitForMultipleObjects,globl .previous -#endif diff --git a/libc/nt/kernel32/WaitForMultipleObjectsEx.S b/libc/nt/kernel32/WaitForMultipleObjectsEx.S index ac13cef93..8fa38e77e 100644 --- a/libc/nt/kernel32/WaitForMultipleObjectsEx.S +++ b/libc/nt/kernel32/WaitForMultipleObjectsEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_WaitForMultipleObjectsEx,WaitForMultipleObjectsEx,0 -#ifdef __x86_64__ .text.windows WaitForMultipleObjectsEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WaitForMultipleObjectsEx(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WaitForMultipleObjectsEx,globl .previous -#endif diff --git a/libc/nt/kernel32/WaitForSingleObject.S b/libc/nt/kernel32/WaitForSingleObject.S index 64013ad7b..ccae2e3ad 100644 --- a/libc/nt/kernel32/WaitForSingleObject.S +++ b/libc/nt/kernel32/WaitForSingleObject.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_WaitForSingleObject,WaitForSingleObject,0 -#ifdef __x86_64__ .text.windows __WaitForSingleObject: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WaitForSingleObject(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __WaitForSingleObject,globl .previous -#endif diff --git a/libc/nt/kernel32/WaitForSingleObjectEx.S b/libc/nt/kernel32/WaitForSingleObjectEx.S index e92aa5732..832bfc73a 100644 --- a/libc/nt/kernel32/WaitForSingleObjectEx.S +++ b/libc/nt/kernel32/WaitForSingleObjectEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_WaitForSingleObjectEx,WaitForSingleObjectEx,0 -#ifdef __x86_64__ .text.windows WaitForSingleObjectEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WaitForSingleObjectEx(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WaitForSingleObjectEx,globl .previous -#endif diff --git a/libc/nt/kernel32/WideCharToMultiByte.S b/libc/nt/kernel32/WideCharToMultiByte.S index 7be0ad4b4..51f12e92c 100644 --- a/libc/nt/kernel32/WideCharToMultiByte.S +++ b/libc/nt/kernel32/WideCharToMultiByte.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_WideCharToMultiByte,WideCharToMultiByte,1553 -#ifdef __x86_64__ .text.windows WideCharToMultiByte: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WideCharToMultiByte(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WideCharToMultiByte,globl .previous -#endif diff --git a/libc/nt/kernel32/WriteConsoleInputW.S b/libc/nt/kernel32/WriteConsoleInputW.S index cadb3b7d9..eb8c9b0c6 100644 --- a/libc/nt/kernel32/WriteConsoleInputW.S +++ b/libc/nt/kernel32/WriteConsoleInputW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_WriteConsoleInputW,WriteConsoleInputW,0 -#ifdef __x86_64__ .text.windows WriteConsoleInput: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WriteConsoleInputW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WriteConsoleInput,globl .previous -#endif diff --git a/libc/nt/kernel32/WriteConsoleOutputAttribute.S b/libc/nt/kernel32/WriteConsoleOutputAttribute.S index 699c31448..28816dd65 100644 --- a/libc/nt/kernel32/WriteConsoleOutputAttribute.S +++ b/libc/nt/kernel32/WriteConsoleOutputAttribute.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_WriteConsoleOutputAttribute,WriteConsoleOutputAttribute,0 -#ifdef __x86_64__ .text.windows WriteConsoleOutputAttribute: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WriteConsoleOutputAttribute(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WriteConsoleOutputAttribute,globl .previous -#endif diff --git a/libc/nt/kernel32/WriteConsoleOutputCharacterW.S b/libc/nt/kernel32/WriteConsoleOutputCharacterW.S index 3fdb9a98d..331ace63c 100644 --- a/libc/nt/kernel32/WriteConsoleOutputCharacterW.S +++ b/libc/nt/kernel32/WriteConsoleOutputCharacterW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_WriteConsoleOutputCharacterW,WriteConsoleOutputCharacterW,0 -#ifdef __x86_64__ .text.windows WriteConsoleOutputCharacter: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WriteConsoleOutputCharacterW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WriteConsoleOutputCharacter,globl .previous -#endif diff --git a/libc/nt/kernel32/WriteConsoleW.S b/libc/nt/kernel32/WriteConsoleW.S index fd592bbd9..a6340d37e 100644 --- a/libc/nt/kernel32/WriteConsoleW.S +++ b/libc/nt/kernel32/WriteConsoleW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_WriteConsoleW,WriteConsoleW,0 -#ifdef __x86_64__ .text.windows WriteConsole: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WriteConsoleW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WriteConsole,globl .previous -#endif diff --git a/libc/nt/kernel32/WriteFile.S b/libc/nt/kernel32/WriteFile.S index 2a5ff0130..4adae1a00 100644 --- a/libc/nt/kernel32/WriteFile.S +++ b/libc/nt/kernel32/WriteFile.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_WriteFile,WriteFile,0 -#ifdef __x86_64__ .text.windows WriteFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WriteFile(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WriteFile,globl .previous -#endif diff --git a/libc/nt/kernel32/WriteFileEx.S b/libc/nt/kernel32/WriteFileEx.S index df0f7f92b..0098c0ec9 100644 --- a/libc/nt/kernel32/WriteFileEx.S +++ b/libc/nt/kernel32/WriteFileEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_WriteFileEx,WriteFileEx,0 -#ifdef __x86_64__ .text.windows WriteFileEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WriteFileEx(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WriteFileEx,globl .previous -#endif diff --git a/libc/nt/kernel32/WriteFileGather.S b/libc/nt/kernel32/WriteFileGather.S index 852823b50..8f39e0e44 100644 --- a/libc/nt/kernel32/WriteFileGather.S +++ b/libc/nt/kernel32/WriteFileGather.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp kernel32,__imp_WriteFileGather,WriteFileGather,0 -#ifdef __x86_64__ .text.windows WriteFileGather: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WriteFileGather(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WriteFileGather,globl .previous -#endif diff --git a/libc/nt/ntdll/CsrClientCallServer.S b/libc/nt/ntdll/CsrClientCallServer.S index 6432aa084..fe1ba25c9 100644 --- a/libc/nt/ntdll/CsrClientCallServer.S +++ b/libc/nt/ntdll/CsrClientCallServer.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp CsrClientCallServer,CsrClientCallServer -#ifdef __x86_64__ .text.windows CsrClientCallServer: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CsrClientCallServer(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CsrClientCallServer,globl .previous -#endif diff --git a/libc/nt/ntdll/LdrGetDllHandle.S b/libc/nt/ntdll/LdrGetDllHandle.S index dbfb2ac9a..89faae32e 100644 --- a/libc/nt/ntdll/LdrGetDllHandle.S +++ b/libc/nt/ntdll/LdrGetDllHandle.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp LdrGetDllHandle,LdrGetDllHandle -#ifdef __x86_64__ .text.windows LdrGetDllHandle: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_LdrGetDllHandle(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn LdrGetDllHandle,globl .previous -#endif diff --git a/libc/nt/ntdll/LdrGetProcedureAddress.S b/libc/nt/ntdll/LdrGetProcedureAddress.S index 805836ad2..2f021c4f9 100644 --- a/libc/nt/ntdll/LdrGetProcedureAddress.S +++ b/libc/nt/ntdll/LdrGetProcedureAddress.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp LdrGetProcedureAddress,LdrGetProcedureAddress -#ifdef __x86_64__ .text.windows LdrGetProcedureAddress: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_LdrGetProcedureAddress(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn LdrGetProcedureAddress,globl .previous -#endif diff --git a/libc/nt/ntdll/LdrLoadDll.S b/libc/nt/ntdll/LdrLoadDll.S index a80de88fd..d93c56eed 100644 --- a/libc/nt/ntdll/LdrLoadDll.S +++ b/libc/nt/ntdll/LdrLoadDll.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp LdrLoadDll,LdrLoadDll -#ifdef __x86_64__ .text.windows LdrLoadDll: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_LdrLoadDll(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn LdrLoadDll,globl .previous -#endif diff --git a/libc/nt/ntdll/LdrUnloadDll.S b/libc/nt/ntdll/LdrUnloadDll.S index 1f1a84cb9..53583a171 100644 --- a/libc/nt/ntdll/LdrUnloadDll.S +++ b/libc/nt/ntdll/LdrUnloadDll.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp LdrUnloadDll,LdrUnloadDll -#ifdef __x86_64__ .text.windows LdrUnloadDll: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ LdrUnloadDll: sub $32,%rsp call *__imp_LdrUnloadDll(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn LdrUnloadDll,globl .previous -#endif diff --git a/libc/nt/ntdll/NtAllocateVirtualMemory.S b/libc/nt/ntdll/NtAllocateVirtualMemory.S index eb559a1c8..78edf5ed3 100644 --- a/libc/nt/ntdll/NtAllocateVirtualMemory.S +++ b/libc/nt/ntdll/NtAllocateVirtualMemory.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtAllocateVirtualMemory,NtAllocateVirtualMemory -#ifdef __x86_64__ .text.windows NtAllocateVirtualMemory: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtAllocateVirtualMemory(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtAllocateVirtualMemory,globl .previous -#endif diff --git a/libc/nt/ntdll/NtCallbackReturn.S b/libc/nt/ntdll/NtCallbackReturn.S index 3ce6741e7..4c7ee4f08 100644 --- a/libc/nt/ntdll/NtCallbackReturn.S +++ b/libc/nt/ntdll/NtCallbackReturn.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtCallbackReturn,NtCallbackReturn -#ifdef __x86_64__ .text.windows NtCallbackReturn: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtCallbackReturn(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtCallbackReturn,globl .previous -#endif diff --git a/libc/nt/ntdll/NtCancelIoFile.S b/libc/nt/ntdll/NtCancelIoFile.S index d3f5a7674..080577f7f 100644 --- a/libc/nt/ntdll/NtCancelIoFile.S +++ b/libc/nt/ntdll/NtCancelIoFile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtCancelIoFile,NtCancelIoFile -#ifdef __x86_64__ .text.windows NtCancelIoFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtCancelIoFile(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtCancelIoFile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtCancelIoFileEx.S b/libc/nt/ntdll/NtCancelIoFileEx.S index 7b4f1a830..48a359ce1 100644 --- a/libc/nt/ntdll/NtCancelIoFileEx.S +++ b/libc/nt/ntdll/NtCancelIoFileEx.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtCancelIoFileEx,NtCancelIoFileEx -#ifdef __x86_64__ .text.windows NtCancelIoFileEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtCancelIoFileEx(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtCancelIoFileEx,globl .previous -#endif diff --git a/libc/nt/ntdll/NtClearEvent.S b/libc/nt/ntdll/NtClearEvent.S index 56eefd07f..28184112a 100644 --- a/libc/nt/ntdll/NtClearEvent.S +++ b/libc/nt/ntdll/NtClearEvent.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp NtClearEvent,NtClearEvent -#ifdef __x86_64__ .text.windows NtClearEvent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ NtClearEvent: sub $32,%rsp call *__imp_NtClearEvent(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn NtClearEvent,globl .previous -#endif diff --git a/libc/nt/ntdll/NtClose.S b/libc/nt/ntdll/NtClose.S index 7b700647c..a83e46746 100644 --- a/libc/nt/ntdll/NtClose.S +++ b/libc/nt/ntdll/NtClose.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp NtClose,NtClose -#ifdef __x86_64__ .text.windows NtClose: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ NtClose: sub $32,%rsp call *__imp_NtClose(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn NtClose,globl .previous -#endif diff --git a/libc/nt/ntdll/NtContinue.S b/libc/nt/ntdll/NtContinue.S index dd495c553..9cb80e0f8 100644 --- a/libc/nt/ntdll/NtContinue.S +++ b/libc/nt/ntdll/NtContinue.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtContinue,NtContinue -#ifdef __x86_64__ .text.windows NtContinue: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtContinue(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtContinue,globl .previous -#endif diff --git a/libc/nt/ntdll/NtCreateDirectoryObject.S b/libc/nt/ntdll/NtCreateDirectoryObject.S index 5b9478c12..e02891533 100644 --- a/libc/nt/ntdll/NtCreateDirectoryObject.S +++ b/libc/nt/ntdll/NtCreateDirectoryObject.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtCreateDirectoryObject,NtCreateDirectoryObject -#ifdef __x86_64__ .text.windows NtCreateDirectoryObject: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtCreateDirectoryObject(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtCreateDirectoryObject,globl .previous -#endif diff --git a/libc/nt/ntdll/NtCreateEvent.S b/libc/nt/ntdll/NtCreateEvent.S index ad5aedfe2..6de5a1428 100644 --- a/libc/nt/ntdll/NtCreateEvent.S +++ b/libc/nt/ntdll/NtCreateEvent.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtCreateEvent,NtCreateEvent -#ifdef __x86_64__ .text.windows NtCreateEvent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtCreateEvent(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtCreateEvent,globl .previous -#endif diff --git a/libc/nt/ntdll/NtCreateFile.S b/libc/nt/ntdll/NtCreateFile.S index c2a3e4f67..d57eccc46 100644 --- a/libc/nt/ntdll/NtCreateFile.S +++ b/libc/nt/ntdll/NtCreateFile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtCreateFile,NtCreateFile -#ifdef __x86_64__ .text.windows NtCreateFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtCreateFile(%rip),%rax jmp __sysv2nt12 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtCreateFile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtCreateIoCompletion.S b/libc/nt/ntdll/NtCreateIoCompletion.S index 86d4a3c90..576ecd30e 100644 --- a/libc/nt/ntdll/NtCreateIoCompletion.S +++ b/libc/nt/ntdll/NtCreateIoCompletion.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtCreateIoCompletion,NtCreateIoCompletion -#ifdef __x86_64__ .text.windows NtCreateIoCompletion: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtCreateIoCompletion(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtCreateIoCompletion,globl .previous -#endif diff --git a/libc/nt/ntdll/NtCreateKey.S b/libc/nt/ntdll/NtCreateKey.S index eb07c3ceb..8b1bdf137 100644 --- a/libc/nt/ntdll/NtCreateKey.S +++ b/libc/nt/ntdll/NtCreateKey.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtCreateKey,NtCreateKey -#ifdef __x86_64__ .text.windows NtCreateKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtCreateKey(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtCreateKey,globl .previous -#endif diff --git a/libc/nt/ntdll/NtCreateKeyedEvent.S b/libc/nt/ntdll/NtCreateKeyedEvent.S index d12c80fda..711a8f4e7 100644 --- a/libc/nt/ntdll/NtCreateKeyedEvent.S +++ b/libc/nt/ntdll/NtCreateKeyedEvent.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtCreateKeyedEvent,NtCreateKeyedEvent -#ifdef __x86_64__ .text.windows NtCreateKeyedEvent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtCreateKeyedEvent(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtCreateKeyedEvent,globl .previous -#endif diff --git a/libc/nt/ntdll/NtCreateNamedPipeFile.S b/libc/nt/ntdll/NtCreateNamedPipeFile.S index e1cc9a2a4..f752b98d0 100644 --- a/libc/nt/ntdll/NtCreateNamedPipeFile.S +++ b/libc/nt/ntdll/NtCreateNamedPipeFile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtCreateNamedPipeFile,NtCreateNamedPipeFile -#ifdef __x86_64__ .text.windows NtCreateNamedPipeFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtCreateNamedPipeFile(%rip),%rax jmp __sysv2nt14 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtCreateNamedPipeFile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtCreateProcess.S b/libc/nt/ntdll/NtCreateProcess.S index bae2188b9..a2273fd35 100644 --- a/libc/nt/ntdll/NtCreateProcess.S +++ b/libc/nt/ntdll/NtCreateProcess.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtCreateProcess,NtCreateProcess -#ifdef __x86_64__ .text.windows NtCreateProcess: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtCreateProcess(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtCreateProcess,globl .previous -#endif diff --git a/libc/nt/ntdll/NtCreateProfile.S b/libc/nt/ntdll/NtCreateProfile.S index b9058ddb7..2ac5e00e0 100644 --- a/libc/nt/ntdll/NtCreateProfile.S +++ b/libc/nt/ntdll/NtCreateProfile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtCreateProfile,NtCreateProfile -#ifdef __x86_64__ .text.windows NtCreateProfile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtCreateProfile(%rip),%rax jmp __sysv2nt10 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtCreateProfile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtCreateSection.S b/libc/nt/ntdll/NtCreateSection.S index 3fbf63671..bb8b7657d 100644 --- a/libc/nt/ntdll/NtCreateSection.S +++ b/libc/nt/ntdll/NtCreateSection.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtCreateSection,NtCreateSection -#ifdef __x86_64__ .text.windows NtCreateSection: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtCreateSection(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtCreateSection,globl .previous -#endif diff --git a/libc/nt/ntdll/NtCreateThread.S b/libc/nt/ntdll/NtCreateThread.S index b25f2d232..bec5bb5b4 100644 --- a/libc/nt/ntdll/NtCreateThread.S +++ b/libc/nt/ntdll/NtCreateThread.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtCreateThread,NtCreateThread -#ifdef __x86_64__ .text.windows NtCreateThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtCreateThread(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtCreateThread,globl .previous -#endif diff --git a/libc/nt/ntdll/NtCreateTimer.S b/libc/nt/ntdll/NtCreateTimer.S index 6d97be1d1..9adee1780 100644 --- a/libc/nt/ntdll/NtCreateTimer.S +++ b/libc/nt/ntdll/NtCreateTimer.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtCreateTimer,NtCreateTimer -#ifdef __x86_64__ .text.windows NtCreateTimer: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtCreateTimer(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtCreateTimer,globl .previous -#endif diff --git a/libc/nt/ntdll/NtDelayExecution.S b/libc/nt/ntdll/NtDelayExecution.S index 7cb7ee7f5..0d61aaf1f 100644 --- a/libc/nt/ntdll/NtDelayExecution.S +++ b/libc/nt/ntdll/NtDelayExecution.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtDelayExecution,NtDelayExecution -#ifdef __x86_64__ .text.windows NtDelayExecution: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtDelayExecution(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtDelayExecution,globl .previous -#endif diff --git a/libc/nt/ntdll/NtDeleteFile.S b/libc/nt/ntdll/NtDeleteFile.S index 691a3a00c..502311cfd 100644 --- a/libc/nt/ntdll/NtDeleteFile.S +++ b/libc/nt/ntdll/NtDeleteFile.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp NtDeleteFile,NtDeleteFile -#ifdef __x86_64__ .text.windows NtDeleteFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ NtDeleteFile: sub $32,%rsp call *__imp_NtDeleteFile(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn NtDeleteFile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtDeleteKey.S b/libc/nt/ntdll/NtDeleteKey.S index a2257eaf2..b9bd3826a 100644 --- a/libc/nt/ntdll/NtDeleteKey.S +++ b/libc/nt/ntdll/NtDeleteKey.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp NtDeleteKey,NtDeleteKey -#ifdef __x86_64__ .text.windows NtDeleteKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ NtDeleteKey: sub $32,%rsp call *__imp_NtDeleteKey(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn NtDeleteKey,globl .previous -#endif diff --git a/libc/nt/ntdll/NtDeviceIoControlFile.S b/libc/nt/ntdll/NtDeviceIoControlFile.S index 147012ba7..9ba795330 100644 --- a/libc/nt/ntdll/NtDeviceIoControlFile.S +++ b/libc/nt/ntdll/NtDeviceIoControlFile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtDeviceIoControlFile,NtDeviceIoControlFile -#ifdef __x86_64__ .text.windows NtDeviceIoControlFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtDeviceIoControlFile(%rip),%rax jmp __sysv2nt10 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtDeviceIoControlFile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtDuplicateObject.S b/libc/nt/ntdll/NtDuplicateObject.S index e065c0c6a..d9dcdc8c5 100644 --- a/libc/nt/ntdll/NtDuplicateObject.S +++ b/libc/nt/ntdll/NtDuplicateObject.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtDuplicateObject,NtDuplicateObject -#ifdef __x86_64__ .text.windows NtDuplicateObject: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtDuplicateObject(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtDuplicateObject,globl .previous -#endif diff --git a/libc/nt/ntdll/NtEnumerateKey.S b/libc/nt/ntdll/NtEnumerateKey.S index ca87cad4a..c97d5e049 100644 --- a/libc/nt/ntdll/NtEnumerateKey.S +++ b/libc/nt/ntdll/NtEnumerateKey.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtEnumerateKey,NtEnumerateKey -#ifdef __x86_64__ .text.windows NtEnumerateKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtEnumerateKey(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtEnumerateKey,globl .previous -#endif diff --git a/libc/nt/ntdll/NtEnumerateValueKey.S b/libc/nt/ntdll/NtEnumerateValueKey.S index 2a5ffc2fc..4289a4aa5 100644 --- a/libc/nt/ntdll/NtEnumerateValueKey.S +++ b/libc/nt/ntdll/NtEnumerateValueKey.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtEnumerateValueKey,NtEnumerateValueKey -#ifdef __x86_64__ .text.windows NtEnumerateValueKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtEnumerateValueKey(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtEnumerateValueKey,globl .previous -#endif diff --git a/libc/nt/ntdll/NtFlushBuffersFile.S b/libc/nt/ntdll/NtFlushBuffersFile.S index 9662373b2..8ca155d58 100644 --- a/libc/nt/ntdll/NtFlushBuffersFile.S +++ b/libc/nt/ntdll/NtFlushBuffersFile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtFlushBuffersFile,NtFlushBuffersFile -#ifdef __x86_64__ .text.windows NtFlushBuffersFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtFlushBuffersFile(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtFlushBuffersFile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtFlushInstructionCache.S b/libc/nt/ntdll/NtFlushInstructionCache.S index d9267c653..6f7d0e2d5 100644 --- a/libc/nt/ntdll/NtFlushInstructionCache.S +++ b/libc/nt/ntdll/NtFlushInstructionCache.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtFlushInstructionCache,NtFlushInstructionCache -#ifdef __x86_64__ .text.windows NtFlushInstructionCache: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtFlushInstructionCache(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtFlushInstructionCache,globl .previous -#endif diff --git a/libc/nt/ntdll/NtFlushKey.S b/libc/nt/ntdll/NtFlushKey.S index ebf6b2b50..f87005109 100644 --- a/libc/nt/ntdll/NtFlushKey.S +++ b/libc/nt/ntdll/NtFlushKey.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp NtFlushKey,NtFlushKey -#ifdef __x86_64__ .text.windows NtFlushKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ NtFlushKey: sub $32,%rsp call *__imp_NtFlushKey(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn NtFlushKey,globl .previous -#endif diff --git a/libc/nt/ntdll/NtFlushVirtualMemory.S b/libc/nt/ntdll/NtFlushVirtualMemory.S index 653a73048..8bbfd5379 100644 --- a/libc/nt/ntdll/NtFlushVirtualMemory.S +++ b/libc/nt/ntdll/NtFlushVirtualMemory.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtFlushVirtualMemory,NtFlushVirtualMemory -#ifdef __x86_64__ .text.windows NtFlushVirtualMemory: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtFlushVirtualMemory(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtFlushVirtualMemory,globl .previous -#endif diff --git a/libc/nt/ntdll/NtFreeVirtualMemory.S b/libc/nt/ntdll/NtFreeVirtualMemory.S index 8b0cf5cee..bc63f3d2f 100644 --- a/libc/nt/ntdll/NtFreeVirtualMemory.S +++ b/libc/nt/ntdll/NtFreeVirtualMemory.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtFreeVirtualMemory,NtFreeVirtualMemory -#ifdef __x86_64__ .text.windows NtFreeVirtualMemory: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtFreeVirtualMemory(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtFreeVirtualMemory,globl .previous -#endif diff --git a/libc/nt/ntdll/NtFsControlFile.S b/libc/nt/ntdll/NtFsControlFile.S index 8ba0a79a8..cddef80b8 100644 --- a/libc/nt/ntdll/NtFsControlFile.S +++ b/libc/nt/ntdll/NtFsControlFile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtFsControlFile,NtFsControlFile -#ifdef __x86_64__ .text.windows NtFsControlFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtFsControlFile(%rip),%rax jmp __sysv2nt10 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtFsControlFile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtGetContextThread.S b/libc/nt/ntdll/NtGetContextThread.S index 700269588..3ed6aa614 100644 --- a/libc/nt/ntdll/NtGetContextThread.S +++ b/libc/nt/ntdll/NtGetContextThread.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtGetContextThread,NtGetContextThread -#ifdef __x86_64__ .text.windows NtGetContextThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtGetContextThread(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtGetContextThread,globl .previous -#endif diff --git a/libc/nt/ntdll/NtMapViewOfSection.S b/libc/nt/ntdll/NtMapViewOfSection.S index c30afa9b6..8630ce7f2 100644 --- a/libc/nt/ntdll/NtMapViewOfSection.S +++ b/libc/nt/ntdll/NtMapViewOfSection.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtMapViewOfSection,NtMapViewOfSection -#ifdef __x86_64__ .text.windows NtMapViewOfSection: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtMapViewOfSection(%rip),%rax jmp __sysv2nt10 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtMapViewOfSection,globl .previous -#endif diff --git a/libc/nt/ntdll/NtOpenDirectoryObject.S b/libc/nt/ntdll/NtOpenDirectoryObject.S index 235e08808..eff23ba0a 100644 --- a/libc/nt/ntdll/NtOpenDirectoryObject.S +++ b/libc/nt/ntdll/NtOpenDirectoryObject.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtOpenDirectoryObject,NtOpenDirectoryObject -#ifdef __x86_64__ .text.windows NtOpenDirectoryObject: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtOpenDirectoryObject(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtOpenDirectoryObject,globl .previous -#endif diff --git a/libc/nt/ntdll/NtOpenFile.S b/libc/nt/ntdll/NtOpenFile.S index 5c88b6e35..616ed9754 100644 --- a/libc/nt/ntdll/NtOpenFile.S +++ b/libc/nt/ntdll/NtOpenFile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtOpenFile,NtOpenFile -#ifdef __x86_64__ .text.windows NtOpenFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtOpenFile(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtOpenFile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtOpenKey.S b/libc/nt/ntdll/NtOpenKey.S index ba9f4a8a8..9bd6a473a 100644 --- a/libc/nt/ntdll/NtOpenKey.S +++ b/libc/nt/ntdll/NtOpenKey.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtOpenKey,NtOpenKey -#ifdef __x86_64__ .text.windows NtOpenKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtOpenKey(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtOpenKey,globl .previous -#endif diff --git a/libc/nt/ntdll/NtOpenProcess.S b/libc/nt/ntdll/NtOpenProcess.S index 3a935ce85..2068afd7b 100644 --- a/libc/nt/ntdll/NtOpenProcess.S +++ b/libc/nt/ntdll/NtOpenProcess.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtOpenProcess,NtOpenProcess -#ifdef __x86_64__ .text.windows NtOpenProcess: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtOpenProcess(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtOpenProcess,globl .previous -#endif diff --git a/libc/nt/ntdll/NtOpenProcessToken.S b/libc/nt/ntdll/NtOpenProcessToken.S index 33961e7f2..789dd743c 100644 --- a/libc/nt/ntdll/NtOpenProcessToken.S +++ b/libc/nt/ntdll/NtOpenProcessToken.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtOpenProcessToken,NtOpenProcessToken -#ifdef __x86_64__ .text.windows NtOpenProcessToken: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtOpenProcessToken(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtOpenProcessToken,globl .previous -#endif diff --git a/libc/nt/ntdll/NtOpenSection.S b/libc/nt/ntdll/NtOpenSection.S index 6c40b7f1d..df2043856 100644 --- a/libc/nt/ntdll/NtOpenSection.S +++ b/libc/nt/ntdll/NtOpenSection.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtOpenSection,NtOpenSection -#ifdef __x86_64__ .text.windows NtOpenSection: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtOpenSection(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtOpenSection,globl .previous -#endif diff --git a/libc/nt/ntdll/NtOpenSymbolicLinkObject.S b/libc/nt/ntdll/NtOpenSymbolicLinkObject.S index 6801e1cf5..889c535ff 100644 --- a/libc/nt/ntdll/NtOpenSymbolicLinkObject.S +++ b/libc/nt/ntdll/NtOpenSymbolicLinkObject.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtOpenSymbolicLinkObject,NtOpenSymbolicLinkObject -#ifdef __x86_64__ .text.windows NtOpenSymbolicLinkObject: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtOpenSymbolicLinkObject(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtOpenSymbolicLinkObject,globl .previous -#endif diff --git a/libc/nt/ntdll/NtOpenThread.S b/libc/nt/ntdll/NtOpenThread.S index 1edeb919f..08e9e5136 100644 --- a/libc/nt/ntdll/NtOpenThread.S +++ b/libc/nt/ntdll/NtOpenThread.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtOpenThread,NtOpenThread -#ifdef __x86_64__ .text.windows NtOpenThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtOpenThread(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtOpenThread,globl .previous -#endif diff --git a/libc/nt/ntdll/NtOpenThreadToken.S b/libc/nt/ntdll/NtOpenThreadToken.S index 99276ab99..c16a4c0f4 100644 --- a/libc/nt/ntdll/NtOpenThreadToken.S +++ b/libc/nt/ntdll/NtOpenThreadToken.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtOpenThreadToken,NtOpenThreadToken -#ifdef __x86_64__ .text.windows NtOpenThreadToken: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtOpenThreadToken(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtOpenThreadToken,globl .previous -#endif diff --git a/libc/nt/ntdll/NtProtectVirtualMemory.S b/libc/nt/ntdll/NtProtectVirtualMemory.S index 95f8d96a6..572479e2d 100644 --- a/libc/nt/ntdll/NtProtectVirtualMemory.S +++ b/libc/nt/ntdll/NtProtectVirtualMemory.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtProtectVirtualMemory,NtProtectVirtualMemory -#ifdef __x86_64__ .text.windows NtProtectVirtualMemory: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtProtectVirtualMemory(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtProtectVirtualMemory,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQueryAttributesFile.S b/libc/nt/ntdll/NtQueryAttributesFile.S index 9e9610f86..f341bcd95 100644 --- a/libc/nt/ntdll/NtQueryAttributesFile.S +++ b/libc/nt/ntdll/NtQueryAttributesFile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQueryAttributesFile,NtQueryAttributesFile -#ifdef __x86_64__ .text.windows NtQueryAttributesFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQueryAttributesFile(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQueryAttributesFile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQueryDirectoryFile.S b/libc/nt/ntdll/NtQueryDirectoryFile.S index b2714b8ea..f07d45acf 100644 --- a/libc/nt/ntdll/NtQueryDirectoryFile.S +++ b/libc/nt/ntdll/NtQueryDirectoryFile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQueryDirectoryFile,NtQueryDirectoryFile -#ifdef __x86_64__ .text.windows NtQueryDirectoryFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQueryDirectoryFile(%rip),%rax jmp __sysv2nt12 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQueryDirectoryFile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQueryFullAttributesFile.S b/libc/nt/ntdll/NtQueryFullAttributesFile.S index 0ada889ab..663fad60b 100644 --- a/libc/nt/ntdll/NtQueryFullAttributesFile.S +++ b/libc/nt/ntdll/NtQueryFullAttributesFile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQueryFullAttributesFile,NtQueryFullAttributesFile -#ifdef __x86_64__ .text.windows NtQueryFullAttributesFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQueryFullAttributesFile(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQueryFullAttributesFile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQueryInformationFile.S b/libc/nt/ntdll/NtQueryInformationFile.S index 22c9088fa..cb977611f 100644 --- a/libc/nt/ntdll/NtQueryInformationFile.S +++ b/libc/nt/ntdll/NtQueryInformationFile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQueryInformationFile,NtQueryInformationFile -#ifdef __x86_64__ .text.windows NtQueryInformationFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQueryInformationFile(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQueryInformationFile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQueryInformationJobObject.S b/libc/nt/ntdll/NtQueryInformationJobObject.S index 4cc07e775..b0a6d604a 100644 --- a/libc/nt/ntdll/NtQueryInformationJobObject.S +++ b/libc/nt/ntdll/NtQueryInformationJobObject.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQueryInformationJobObject,NtQueryInformationJobObject -#ifdef __x86_64__ .text.windows NtQueryInformationJobObject: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQueryInformationJobObject(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQueryInformationJobObject,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQueryInformationProcess.S b/libc/nt/ntdll/NtQueryInformationProcess.S index 5e6ad1e6e..bc1250a2f 100644 --- a/libc/nt/ntdll/NtQueryInformationProcess.S +++ b/libc/nt/ntdll/NtQueryInformationProcess.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQueryInformationProcess,NtQueryInformationProcess -#ifdef __x86_64__ .text.windows NtQueryInformationProcess: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQueryInformationProcess(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQueryInformationProcess,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQueryInformationThread.S b/libc/nt/ntdll/NtQueryInformationThread.S index 59c18e588..daeffff04 100644 --- a/libc/nt/ntdll/NtQueryInformationThread.S +++ b/libc/nt/ntdll/NtQueryInformationThread.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQueryInformationThread,NtQueryInformationThread -#ifdef __x86_64__ .text.windows NtQueryInformationThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQueryInformationThread(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQueryInformationThread,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQueryInformationToken.S b/libc/nt/ntdll/NtQueryInformationToken.S index 69f4c72c2..68a8364e7 100644 --- a/libc/nt/ntdll/NtQueryInformationToken.S +++ b/libc/nt/ntdll/NtQueryInformationToken.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQueryInformationToken,NtQueryInformationToken -#ifdef __x86_64__ .text.windows NtQueryInformationToken: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQueryInformationToken(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQueryInformationToken,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQueryIntervalProfile.S b/libc/nt/ntdll/NtQueryIntervalProfile.S index 32dafb864..48abdbf0d 100644 --- a/libc/nt/ntdll/NtQueryIntervalProfile.S +++ b/libc/nt/ntdll/NtQueryIntervalProfile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQueryIntervalProfile,NtQueryIntervalProfile -#ifdef __x86_64__ .text.windows NtQueryIntervalProfile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQueryIntervalProfile(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQueryIntervalProfile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQueryObject.S b/libc/nt/ntdll/NtQueryObject.S index 297a968c3..681cd32a6 100644 --- a/libc/nt/ntdll/NtQueryObject.S +++ b/libc/nt/ntdll/NtQueryObject.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQueryObject,NtQueryObject -#ifdef __x86_64__ .text.windows NtQueryObject: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQueryObject(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQueryObject,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQueryPerformanceCounter.S b/libc/nt/ntdll/NtQueryPerformanceCounter.S index d3b49cdda..67937fd1f 100644 --- a/libc/nt/ntdll/NtQueryPerformanceCounter.S +++ b/libc/nt/ntdll/NtQueryPerformanceCounter.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQueryPerformanceCounter,NtQueryPerformanceCounter -#ifdef __x86_64__ .text.windows NtQueryPerformanceCounter: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQueryPerformanceCounter(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQueryPerformanceCounter,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQuerySection.S b/libc/nt/ntdll/NtQuerySection.S index 37a828ba7..42a7d3bff 100644 --- a/libc/nt/ntdll/NtQuerySection.S +++ b/libc/nt/ntdll/NtQuerySection.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQuerySection,NtQuerySection -#ifdef __x86_64__ .text.windows NtQuerySection: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQuerySection(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQuerySection,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQuerySecurityObject.S b/libc/nt/ntdll/NtQuerySecurityObject.S index c20047564..beecae774 100644 --- a/libc/nt/ntdll/NtQuerySecurityObject.S +++ b/libc/nt/ntdll/NtQuerySecurityObject.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQuerySecurityObject,NtQuerySecurityObject -#ifdef __x86_64__ .text.windows NtQuerySecurityObject: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQuerySecurityObject(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQuerySecurityObject,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQuerySymbolicLinkObject.S b/libc/nt/ntdll/NtQuerySymbolicLinkObject.S index 0b9ce64a8..8ffa1197a 100644 --- a/libc/nt/ntdll/NtQuerySymbolicLinkObject.S +++ b/libc/nt/ntdll/NtQuerySymbolicLinkObject.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQuerySymbolicLinkObject,NtQuerySymbolicLinkObject -#ifdef __x86_64__ .text.windows NtQuerySymbolicLinkObject: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQuerySymbolicLinkObject(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQuerySymbolicLinkObject,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQuerySystemInformation.S b/libc/nt/ntdll/NtQuerySystemInformation.S index a88c658c9..17253a864 100644 --- a/libc/nt/ntdll/NtQuerySystemInformation.S +++ b/libc/nt/ntdll/NtQuerySystemInformation.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQuerySystemInformation,NtQuerySystemInformation -#ifdef __x86_64__ .text.windows NtQuerySystemInformation: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQuerySystemInformation(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQuerySystemInformation,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQuerySystemTime.S b/libc/nt/ntdll/NtQuerySystemTime.S index 2624e4687..4b87dd139 100644 --- a/libc/nt/ntdll/NtQuerySystemTime.S +++ b/libc/nt/ntdll/NtQuerySystemTime.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQuerySystemTime,NtQuerySystemTime -#ifdef __x86_64__ .text.windows NtQuerySystemTime: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ NtQuerySystemTime: sub $32,%rsp call *__imp_NtQuerySystemTime(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn NtQuerySystemTime,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQueryValueKey.S b/libc/nt/ntdll/NtQueryValueKey.S index 7963ad337..f276e69dd 100644 --- a/libc/nt/ntdll/NtQueryValueKey.S +++ b/libc/nt/ntdll/NtQueryValueKey.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQueryValueKey,NtQueryValueKey -#ifdef __x86_64__ .text.windows NtQueryValueKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQueryValueKey(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQueryValueKey,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQueryVirtualMemory.S b/libc/nt/ntdll/NtQueryVirtualMemory.S index c0e8ac74c..91b5871cd 100644 --- a/libc/nt/ntdll/NtQueryVirtualMemory.S +++ b/libc/nt/ntdll/NtQueryVirtualMemory.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQueryVirtualMemory,NtQueryVirtualMemory -#ifdef __x86_64__ .text.windows NtQueryVirtualMemory: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQueryVirtualMemory(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQueryVirtualMemory,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQueryVolumeInformationFile.S b/libc/nt/ntdll/NtQueryVolumeInformationFile.S index a7348ab41..092d72f24 100644 --- a/libc/nt/ntdll/NtQueryVolumeInformationFile.S +++ b/libc/nt/ntdll/NtQueryVolumeInformationFile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQueryVolumeInformationFile,NtQueryVolumeInformationFile -#ifdef __x86_64__ .text.windows NtQueryVolumeInformationFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQueryVolumeInformationFile(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQueryVolumeInformationFile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtQueueApcThread.S b/libc/nt/ntdll/NtQueueApcThread.S index 0b6aed4b0..a05710487 100644 --- a/libc/nt/ntdll/NtQueueApcThread.S +++ b/libc/nt/ntdll/NtQueueApcThread.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtQueueApcThread,NtQueueApcThread -#ifdef __x86_64__ .text.windows NtQueueApcThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtQueueApcThread(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtQueueApcThread,globl .previous -#endif diff --git a/libc/nt/ntdll/NtRaiseException.S b/libc/nt/ntdll/NtRaiseException.S index 1ccbb0043..f944f0e42 100644 --- a/libc/nt/ntdll/NtRaiseException.S +++ b/libc/nt/ntdll/NtRaiseException.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtRaiseException,NtRaiseException -#ifdef __x86_64__ .text.windows NtRaiseException: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtRaiseException(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtRaiseException,globl .previous -#endif diff --git a/libc/nt/ntdll/NtRaiseHardError.S b/libc/nt/ntdll/NtRaiseHardError.S index b696e2341..02ceb0199 100644 --- a/libc/nt/ntdll/NtRaiseHardError.S +++ b/libc/nt/ntdll/NtRaiseHardError.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtRaiseHardError,NtRaiseHardError -#ifdef __x86_64__ .text.windows NtRaiseHardError: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtRaiseHardError(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtRaiseHardError,globl .previous -#endif diff --git a/libc/nt/ntdll/NtReadFile.S b/libc/nt/ntdll/NtReadFile.S index 8e51fc16e..1a9ba5c58 100644 --- a/libc/nt/ntdll/NtReadFile.S +++ b/libc/nt/ntdll/NtReadFile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtReadFile,NtReadFile -#ifdef __x86_64__ .text.windows NtReadFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtReadFile(%rip),%rax jmp __sysv2nt10 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtReadFile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtReadVirtualMemory.S b/libc/nt/ntdll/NtReadVirtualMemory.S index 8f0236c47..df07da01f 100644 --- a/libc/nt/ntdll/NtReadVirtualMemory.S +++ b/libc/nt/ntdll/NtReadVirtualMemory.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtReadVirtualMemory,NtReadVirtualMemory -#ifdef __x86_64__ .text.windows NtReadVirtualMemory: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtReadVirtualMemory(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtReadVirtualMemory,globl .previous -#endif diff --git a/libc/nt/ntdll/NtReleaseKeyedEvent.S b/libc/nt/ntdll/NtReleaseKeyedEvent.S index b905af72b..e1856fae8 100644 --- a/libc/nt/ntdll/NtReleaseKeyedEvent.S +++ b/libc/nt/ntdll/NtReleaseKeyedEvent.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtReleaseKeyedEvent,NtReleaseKeyedEvent -#ifdef __x86_64__ .text.windows NtReleaseKeyedEvent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtReleaseKeyedEvent(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtReleaseKeyedEvent,globl .previous -#endif diff --git a/libc/nt/ntdll/NtResumeThread.S b/libc/nt/ntdll/NtResumeThread.S index a8b641df6..546c29528 100644 --- a/libc/nt/ntdll/NtResumeThread.S +++ b/libc/nt/ntdll/NtResumeThread.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtResumeThread,NtResumeThread -#ifdef __x86_64__ .text.windows NtResumeThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtResumeThread(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtResumeThread,globl .previous -#endif diff --git a/libc/nt/ntdll/NtSetContextThread.S b/libc/nt/ntdll/NtSetContextThread.S index 00e864591..070c1be14 100644 --- a/libc/nt/ntdll/NtSetContextThread.S +++ b/libc/nt/ntdll/NtSetContextThread.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtSetContextThread,NtSetContextThread -#ifdef __x86_64__ .text.windows NtSetContextThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtSetContextThread(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtSetContextThread,globl .previous -#endif diff --git a/libc/nt/ntdll/NtSetEvent.S b/libc/nt/ntdll/NtSetEvent.S index 368fb2d24..df8e88e72 100644 --- a/libc/nt/ntdll/NtSetEvent.S +++ b/libc/nt/ntdll/NtSetEvent.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtSetEvent,NtSetEvent -#ifdef __x86_64__ .text.windows NtSetEvent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtSetEvent(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtSetEvent,globl .previous -#endif diff --git a/libc/nt/ntdll/NtSetInformationFile.S b/libc/nt/ntdll/NtSetInformationFile.S index dd26bc6e0..f881f8a61 100644 --- a/libc/nt/ntdll/NtSetInformationFile.S +++ b/libc/nt/ntdll/NtSetInformationFile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtSetInformationFile,NtSetInformationFile -#ifdef __x86_64__ .text.windows NtSetInformationFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtSetInformationFile(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtSetInformationFile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtSetInformationThread.S b/libc/nt/ntdll/NtSetInformationThread.S index fb0f63351..43d468764 100644 --- a/libc/nt/ntdll/NtSetInformationThread.S +++ b/libc/nt/ntdll/NtSetInformationThread.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtSetInformationThread,NtSetInformationThread -#ifdef __x86_64__ .text.windows NtSetInformationThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtSetInformationThread(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtSetInformationThread,globl .previous -#endif diff --git a/libc/nt/ntdll/NtSetIntervalProfile.S b/libc/nt/ntdll/NtSetIntervalProfile.S index 3b0078a66..af3ef24e1 100644 --- a/libc/nt/ntdll/NtSetIntervalProfile.S +++ b/libc/nt/ntdll/NtSetIntervalProfile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtSetIntervalProfile,NtSetIntervalProfile -#ifdef __x86_64__ .text.windows NtSetIntervalProfile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtSetIntervalProfile(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtSetIntervalProfile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtSetTimer.S b/libc/nt/ntdll/NtSetTimer.S index ccf23cd5c..452fb1e6e 100644 --- a/libc/nt/ntdll/NtSetTimer.S +++ b/libc/nt/ntdll/NtSetTimer.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtSetTimer,NtSetTimer -#ifdef __x86_64__ .text.windows NtSetTimer: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtSetTimer(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtSetTimer,globl .previous -#endif diff --git a/libc/nt/ntdll/NtSetValueKey.S b/libc/nt/ntdll/NtSetValueKey.S index 1267053e2..5d781be35 100644 --- a/libc/nt/ntdll/NtSetValueKey.S +++ b/libc/nt/ntdll/NtSetValueKey.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtSetValueKey,NtSetValueKey -#ifdef __x86_64__ .text.windows NtSetValueKey: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtSetValueKey(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtSetValueKey,globl .previous -#endif diff --git a/libc/nt/ntdll/NtSignalAndWaitForSingleObject.S b/libc/nt/ntdll/NtSignalAndWaitForSingleObject.S index 6ec7dc45c..6694a6f3e 100644 --- a/libc/nt/ntdll/NtSignalAndWaitForSingleObject.S +++ b/libc/nt/ntdll/NtSignalAndWaitForSingleObject.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtSignalAndWaitForSingleObject,NtSignalAndWaitForSingleObject -#ifdef __x86_64__ .text.windows NtSignalAndWaitForSingleObject: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtSignalAndWaitForSingleObject(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtSignalAndWaitForSingleObject,globl .previous -#endif diff --git a/libc/nt/ntdll/NtStartProfile.S b/libc/nt/ntdll/NtStartProfile.S index 2d847908b..69ee73b86 100644 --- a/libc/nt/ntdll/NtStartProfile.S +++ b/libc/nt/ntdll/NtStartProfile.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp NtStartProfile,NtStartProfile -#ifdef __x86_64__ .text.windows NtStartProfile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ NtStartProfile: sub $32,%rsp call *__imp_NtStartProfile(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn NtStartProfile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtStopProfile.S b/libc/nt/ntdll/NtStopProfile.S index 6e26d605d..56912cf0b 100644 --- a/libc/nt/ntdll/NtStopProfile.S +++ b/libc/nt/ntdll/NtStopProfile.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp NtStopProfile,NtStopProfile -#ifdef __x86_64__ .text.windows NtStopProfile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ NtStopProfile: sub $32,%rsp call *__imp_NtStopProfile(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn NtStopProfile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtSuspendThread.S b/libc/nt/ntdll/NtSuspendThread.S index 39286ec8a..dc185a61e 100644 --- a/libc/nt/ntdll/NtSuspendThread.S +++ b/libc/nt/ntdll/NtSuspendThread.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtSuspendThread,NtSuspendThread -#ifdef __x86_64__ .text.windows NtSuspendThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtSuspendThread(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtSuspendThread,globl .previous -#endif diff --git a/libc/nt/ntdll/NtTerminateProcess.S b/libc/nt/ntdll/NtTerminateProcess.S index 2d5467654..10884b468 100644 --- a/libc/nt/ntdll/NtTerminateProcess.S +++ b/libc/nt/ntdll/NtTerminateProcess.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtTerminateProcess,NtTerminateProcess -#ifdef __x86_64__ .text.windows NtTerminateProcess: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtTerminateProcess(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtTerminateProcess,globl .previous -#endif diff --git a/libc/nt/ntdll/NtTerminateThread.S b/libc/nt/ntdll/NtTerminateThread.S index 160d350c3..b0f02770b 100644 --- a/libc/nt/ntdll/NtTerminateThread.S +++ b/libc/nt/ntdll/NtTerminateThread.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtTerminateThread,NtTerminateThread -#ifdef __x86_64__ .text.windows NtTerminateThread: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtTerminateThread(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtTerminateThread,globl .previous -#endif diff --git a/libc/nt/ntdll/NtTestAlert.S b/libc/nt/ntdll/NtTestAlert.S index ec09c1348..fbaf5f75e 100644 --- a/libc/nt/ntdll/NtTestAlert.S +++ b/libc/nt/ntdll/NtTestAlert.S @@ -1,16 +1,18 @@ #include "libc/nt/ntdllimport.h" .ntimp NtTestAlert,NtTestAlert -#ifdef __x86_64__ .text.windows NtTestAlert: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_NtTestAlert(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn NtTestAlert,globl .previous -#endif diff --git a/libc/nt/ntdll/NtUnmapViewOfSection.S b/libc/nt/ntdll/NtUnmapViewOfSection.S index 41ada8fcc..9530c8dba 100644 --- a/libc/nt/ntdll/NtUnmapViewOfSection.S +++ b/libc/nt/ntdll/NtUnmapViewOfSection.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtUnmapViewOfSection,NtUnmapViewOfSection -#ifdef __x86_64__ .text.windows NtUnmapViewOfSection: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtUnmapViewOfSection(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtUnmapViewOfSection,globl .previous -#endif diff --git a/libc/nt/ntdll/NtWaitForKeyedEvent.S b/libc/nt/ntdll/NtWaitForKeyedEvent.S index d6599e0c6..7735ccc2c 100644 --- a/libc/nt/ntdll/NtWaitForKeyedEvent.S +++ b/libc/nt/ntdll/NtWaitForKeyedEvent.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtWaitForKeyedEvent,NtWaitForKeyedEvent -#ifdef __x86_64__ .text.windows NtWaitForKeyedEvent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtWaitForKeyedEvent(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtWaitForKeyedEvent,globl .previous -#endif diff --git a/libc/nt/ntdll/NtWaitForSingleObject.S b/libc/nt/ntdll/NtWaitForSingleObject.S index fd44ef492..b38b9beb7 100644 --- a/libc/nt/ntdll/NtWaitForSingleObject.S +++ b/libc/nt/ntdll/NtWaitForSingleObject.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtWaitForSingleObject,NtWaitForSingleObject -#ifdef __x86_64__ .text.windows NtWaitForSingleObject: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtWaitForSingleObject(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtWaitForSingleObject,globl .previous -#endif diff --git a/libc/nt/ntdll/NtWriteFile.S b/libc/nt/ntdll/NtWriteFile.S index 66bea470a..7619b17e5 100644 --- a/libc/nt/ntdll/NtWriteFile.S +++ b/libc/nt/ntdll/NtWriteFile.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtWriteFile,NtWriteFile -#ifdef __x86_64__ .text.windows NtWriteFile: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtWriteFile(%rip),%rax jmp __sysv2nt10 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtWriteFile,globl .previous -#endif diff --git a/libc/nt/ntdll/NtWriteVirtualMemory.S b/libc/nt/ntdll/NtWriteVirtualMemory.S index 37b47c1e7..dc2898b44 100644 --- a/libc/nt/ntdll/NtWriteVirtualMemory.S +++ b/libc/nt/ntdll/NtWriteVirtualMemory.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp NtWriteVirtualMemory,NtWriteVirtualMemory -#ifdef __x86_64__ .text.windows NtWriteVirtualMemory: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_NtWriteVirtualMemory(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn NtWriteVirtualMemory,globl .previous -#endif diff --git a/libc/nt/ntdll/NtYieldExecution.S b/libc/nt/ntdll/NtYieldExecution.S index ac9923958..5a0a9ccd3 100644 --- a/libc/nt/ntdll/NtYieldExecution.S +++ b/libc/nt/ntdll/NtYieldExecution.S @@ -1,16 +1,18 @@ #include "libc/nt/ntdllimport.h" .ntimp NtYieldExecution,NtYieldExecution -#ifdef __x86_64__ .text.windows NtYieldExecution: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_NtYieldExecution(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn NtYieldExecution,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlAllocateHeap.S b/libc/nt/ntdll/RtlAllocateHeap.S index 2df9e4e98..40b536f65 100644 --- a/libc/nt/ntdll/RtlAllocateHeap.S +++ b/libc/nt/ntdll/RtlAllocateHeap.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlAllocateHeap,RtlAllocateHeap -#ifdef __x86_64__ .text.windows RtlAllocateHeap: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RtlAllocateHeap(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RtlAllocateHeap,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlCloneUserProcess.S b/libc/nt/ntdll/RtlCloneUserProcess.S index 4da562e73..9d251e30e 100644 --- a/libc/nt/ntdll/RtlCloneUserProcess.S +++ b/libc/nt/ntdll/RtlCloneUserProcess.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlCloneUserProcess,RtlCloneUserProcess -#ifdef __x86_64__ .text.windows RtlCloneUserProcess: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RtlCloneUserProcess(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RtlCloneUserProcess,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlConvertSidToUnicodeString.S b/libc/nt/ntdll/RtlConvertSidToUnicodeString.S index c5e82efda..3636aa6d4 100644 --- a/libc/nt/ntdll/RtlConvertSidToUnicodeString.S +++ b/libc/nt/ntdll/RtlConvertSidToUnicodeString.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlConvertSidToUnicodeString,RtlConvertSidToUnicodeString -#ifdef __x86_64__ .text.windows RtlConvertSidToUnicodeString: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RtlConvertSidToUnicodeString(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RtlConvertSidToUnicodeString,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlCreateHeap.S b/libc/nt/ntdll/RtlCreateHeap.S index f6433c07c..914db40b2 100644 --- a/libc/nt/ntdll/RtlCreateHeap.S +++ b/libc/nt/ntdll/RtlCreateHeap.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlCreateHeap,RtlCreateHeap -#ifdef __x86_64__ .text.windows RtlCreateHeap: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RtlCreateHeap(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RtlCreateHeap,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlCreateProcessParameters.S b/libc/nt/ntdll/RtlCreateProcessParameters.S index 2fe5ef3ec..4a43a5a65 100644 --- a/libc/nt/ntdll/RtlCreateProcessParameters.S +++ b/libc/nt/ntdll/RtlCreateProcessParameters.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlCreateProcessParameters,RtlCreateProcessParameters -#ifdef __x86_64__ .text.windows RtlCreateProcessParameters: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RtlCreateProcessParameters(%rip),%rax jmp __sysv2nt10 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RtlCreateProcessParameters,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlDeleteCriticalSection.S b/libc/nt/ntdll/RtlDeleteCriticalSection.S index 89984f5b6..508a3a3a0 100644 --- a/libc/nt/ntdll/RtlDeleteCriticalSection.S +++ b/libc/nt/ntdll/RtlDeleteCriticalSection.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlDeleteCriticalSection,RtlDeleteCriticalSection -#ifdef __x86_64__ .text.windows RtlDeleteCriticalSection: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RtlDeleteCriticalSection: sub $32,%rsp call *__imp_RtlDeleteCriticalSection(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RtlDeleteCriticalSection,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlDestroyHeap.S b/libc/nt/ntdll/RtlDestroyHeap.S index ea00dc8fc..448da6ec2 100644 --- a/libc/nt/ntdll/RtlDestroyHeap.S +++ b/libc/nt/ntdll/RtlDestroyHeap.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlDestroyHeap,RtlDestroyHeap -#ifdef __x86_64__ .text.windows RtlDestroyHeap: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RtlDestroyHeap: sub $32,%rsp call *__imp_RtlDestroyHeap(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RtlDestroyHeap,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlDestroyProcessParameters.S b/libc/nt/ntdll/RtlDestroyProcessParameters.S index cb9178c05..35b665e53 100644 --- a/libc/nt/ntdll/RtlDestroyProcessParameters.S +++ b/libc/nt/ntdll/RtlDestroyProcessParameters.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlDestroyProcessParameters,RtlDestroyProcessParameters -#ifdef __x86_64__ .text.windows RtlDestroyProcessParameters: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RtlDestroyProcessParameters: sub $32,%rsp call *__imp_RtlDestroyProcessParameters(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RtlDestroyProcessParameters,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlEnterCriticalSection.S b/libc/nt/ntdll/RtlEnterCriticalSection.S index 4ada7c0d2..eb03e7833 100644 --- a/libc/nt/ntdll/RtlEnterCriticalSection.S +++ b/libc/nt/ntdll/RtlEnterCriticalSection.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlEnterCriticalSection,RtlEnterCriticalSection -#ifdef __x86_64__ .text.windows RtlEnterCriticalSection: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RtlEnterCriticalSection: sub $32,%rsp call *__imp_RtlEnterCriticalSection(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RtlEnterCriticalSection,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlFreeHeap.S b/libc/nt/ntdll/RtlFreeHeap.S index a36e94c00..5ab3a042c 100644 --- a/libc/nt/ntdll/RtlFreeHeap.S +++ b/libc/nt/ntdll/RtlFreeHeap.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlFreeHeap,RtlFreeHeap -#ifdef __x86_64__ .text.windows RtlFreeHeap: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RtlFreeHeap(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RtlFreeHeap,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlFreeUnicodeString.S b/libc/nt/ntdll/RtlFreeUnicodeString.S index 8fe7d51bf..5c108fdf5 100644 --- a/libc/nt/ntdll/RtlFreeUnicodeString.S +++ b/libc/nt/ntdll/RtlFreeUnicodeString.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlFreeUnicodeString,RtlFreeUnicodeString -#ifdef __x86_64__ .text.windows RtlFreeUnicodeString: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RtlFreeUnicodeString: sub $32,%rsp call *__imp_RtlFreeUnicodeString(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RtlFreeUnicodeString,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlGetProcessHeaps.S b/libc/nt/ntdll/RtlGetProcessHeaps.S index c51841c75..fbac606c8 100644 --- a/libc/nt/ntdll/RtlGetProcessHeaps.S +++ b/libc/nt/ntdll/RtlGetProcessHeaps.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlGetProcessHeaps,RtlGetProcessHeaps -#ifdef __x86_64__ .text.windows RtlGetProcessHeaps: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RtlGetProcessHeaps(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RtlGetProcessHeaps,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlInitUnicodeString.S b/libc/nt/ntdll/RtlInitUnicodeString.S index 41ce327f7..07f81947a 100644 --- a/libc/nt/ntdll/RtlInitUnicodeString.S +++ b/libc/nt/ntdll/RtlInitUnicodeString.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlInitUnicodeString,RtlInitUnicodeString -#ifdef __x86_64__ .text.windows RtlInitUnicodeString: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RtlInitUnicodeString(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RtlInitUnicodeString,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlInitializeCriticalSection.S b/libc/nt/ntdll/RtlInitializeCriticalSection.S index 3590fc86c..fe580c3ce 100644 --- a/libc/nt/ntdll/RtlInitializeCriticalSection.S +++ b/libc/nt/ntdll/RtlInitializeCriticalSection.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlInitializeCriticalSection,RtlInitializeCriticalSection -#ifdef __x86_64__ .text.windows RtlInitializeCriticalSection: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RtlInitializeCriticalSection: sub $32,%rsp call *__imp_RtlInitializeCriticalSection(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RtlInitializeCriticalSection,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlLeaveCriticalSection.S b/libc/nt/ntdll/RtlLeaveCriticalSection.S index 507c4dc05..cbb82541c 100644 --- a/libc/nt/ntdll/RtlLeaveCriticalSection.S +++ b/libc/nt/ntdll/RtlLeaveCriticalSection.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlLeaveCriticalSection,RtlLeaveCriticalSection -#ifdef __x86_64__ .text.windows RtlLeaveCriticalSection: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RtlLeaveCriticalSection: sub $32,%rsp call *__imp_RtlLeaveCriticalSection(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RtlLeaveCriticalSection,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlLockHeap.S b/libc/nt/ntdll/RtlLockHeap.S index 6b6ddb13f..7a4034fc8 100644 --- a/libc/nt/ntdll/RtlLockHeap.S +++ b/libc/nt/ntdll/RtlLockHeap.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlLockHeap,RtlLockHeap -#ifdef __x86_64__ .text.windows RtlLockHeap: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RtlLockHeap: sub $32,%rsp call *__imp_RtlLockHeap(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RtlLockHeap,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlNtStatusToDosError.S b/libc/nt/ntdll/RtlNtStatusToDosError.S index 38e79a811..f2f3f8eef 100644 --- a/libc/nt/ntdll/RtlNtStatusToDosError.S +++ b/libc/nt/ntdll/RtlNtStatusToDosError.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlNtStatusToDosError,RtlNtStatusToDosError -#ifdef __x86_64__ .text.windows RtlNtStatusToDosError: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RtlNtStatusToDosError: sub $32,%rsp call *__imp_RtlNtStatusToDosError(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RtlNtStatusToDosError,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlQueryEnvironmentVariable.S b/libc/nt/ntdll/RtlQueryEnvironmentVariable.S index cf9a5554d..c9b9eba47 100644 --- a/libc/nt/ntdll/RtlQueryEnvironmentVariable.S +++ b/libc/nt/ntdll/RtlQueryEnvironmentVariable.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlQueryEnvironmentVariable,RtlQueryEnvironmentVariable -#ifdef __x86_64__ .text.windows RtlQueryEnvironmentVariable: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RtlQueryEnvironmentVariable(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RtlQueryEnvironmentVariable,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlReAllocateHeap.S b/libc/nt/ntdll/RtlReAllocateHeap.S index c2e099273..e28ac38b5 100644 --- a/libc/nt/ntdll/RtlReAllocateHeap.S +++ b/libc/nt/ntdll/RtlReAllocateHeap.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlReAllocateHeap,RtlReAllocateHeap -#ifdef __x86_64__ .text.windows RtlReAllocateHeap: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RtlReAllocateHeap(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RtlReAllocateHeap,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlSizeHeap.S b/libc/nt/ntdll/RtlSizeHeap.S index e42e20856..f3f973f56 100644 --- a/libc/nt/ntdll/RtlSizeHeap.S +++ b/libc/nt/ntdll/RtlSizeHeap.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlSizeHeap,RtlSizeHeap -#ifdef __x86_64__ .text.windows RtlSizeHeap: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RtlSizeHeap(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RtlSizeHeap,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlTryEnterCriticalSection.S b/libc/nt/ntdll/RtlTryEnterCriticalSection.S index 9d477ee16..2f7b6fa89 100644 --- a/libc/nt/ntdll/RtlTryEnterCriticalSection.S +++ b/libc/nt/ntdll/RtlTryEnterCriticalSection.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlTryEnterCriticalSection,RtlTryEnterCriticalSection -#ifdef __x86_64__ .text.windows RtlTryEnterCriticalSection: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RtlTryEnterCriticalSection: sub $32,%rsp call *__imp_RtlTryEnterCriticalSection(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RtlTryEnterCriticalSection,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlUnlockHeap.S b/libc/nt/ntdll/RtlUnlockHeap.S index d61dd1212..017929681 100644 --- a/libc/nt/ntdll/RtlUnlockHeap.S +++ b/libc/nt/ntdll/RtlUnlockHeap.S @@ -1,9 +1,9 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlUnlockHeap,RtlUnlockHeap -#ifdef __x86_64__ .text.windows RtlUnlockHeap: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RtlUnlockHeap: sub $32,%rsp call *__imp_RtlUnlockHeap(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RtlUnlockHeap,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlValidateHeap.S b/libc/nt/ntdll/RtlValidateHeap.S index 12847dfbb..766e39c1d 100644 --- a/libc/nt/ntdll/RtlValidateHeap.S +++ b/libc/nt/ntdll/RtlValidateHeap.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlValidateHeap,RtlValidateHeap -#ifdef __x86_64__ .text.windows RtlValidateHeap: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RtlValidateHeap(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RtlValidateHeap,globl .previous -#endif diff --git a/libc/nt/ntdll/RtlWalkHeap.S b/libc/nt/ntdll/RtlWalkHeap.S index e17e4dd86..b6c3cf0ff 100644 --- a/libc/nt/ntdll/RtlWalkHeap.S +++ b/libc/nt/ntdll/RtlWalkHeap.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp RtlWalkHeap,RtlWalkHeap -#ifdef __x86_64__ .text.windows RtlWalkHeap: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RtlWalkHeap(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RtlWalkHeap,globl .previous -#endif diff --git a/libc/nt/ntdll/ZwAreMappedFilesTheSame.S b/libc/nt/ntdll/ZwAreMappedFilesTheSame.S index 69069f968..d363ebcf7 100644 --- a/libc/nt/ntdll/ZwAreMappedFilesTheSame.S +++ b/libc/nt/ntdll/ZwAreMappedFilesTheSame.S @@ -1,14 +1,17 @@ #include "libc/nt/ntdllimport.h" .ntimp ZwAreMappedFilesTheSame,ZwAreMappedFilesTheSame -#ifdef __x86_64__ .text.windows ZwAreMappedFilesTheSame: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ZwAreMappedFilesTheSame(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn ZwAreMappedFilesTheSame,globl .previous -#endif diff --git a/libc/nt/ntdllimport.h b/libc/nt/ntdllimport.h index d58a3e386..726e56d12 100644 --- a/libc/nt/ntdllimport.h +++ b/libc/nt/ntdllimport.h @@ -39,14 +39,12 @@ __imp_\fn: .asciz "\fn" .previous #elif defined(__aarch64__) - .section .text.nt.\fn,"ax",@progbits - .globl \name -\name: ret .section .data.nt.\fn,"aw",@progbits .globl __imp_\fn .balign 8 __imp_\fn: .quad \name + .weak \name #endif .endm diff --git a/libc/nt/pdh/PdhAddEnglishCounterW.S b/libc/nt/pdh/PdhAddEnglishCounterW.S index 4ee060ac5..bde00ace7 100644 --- a/libc/nt/pdh/PdhAddEnglishCounterW.S +++ b/libc/nt/pdh/PdhAddEnglishCounterW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp pdh,__imp_PdhAddEnglishCounterW,PdhAddEnglishCounterW,0 -#ifdef __x86_64__ .text.windows PdhAddEnglishCounter: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_PdhAddEnglishCounterW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn PdhAddEnglishCounter,globl .previous -#endif diff --git a/libc/nt/pdh/PdhCollectQueryDataEx.S b/libc/nt/pdh/PdhCollectQueryDataEx.S index ba8e3afad..f214a4308 100644 --- a/libc/nt/pdh/PdhCollectQueryDataEx.S +++ b/libc/nt/pdh/PdhCollectQueryDataEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp pdh,__imp_PdhCollectQueryDataEx,PdhCollectQueryDataEx,0 -#ifdef __x86_64__ .text.windows PdhCollectQueryDataEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_PdhCollectQueryDataEx(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn PdhCollectQueryDataEx,globl .previous -#endif diff --git a/libc/nt/pdh/PdhGetFormattedCounterValue.S b/libc/nt/pdh/PdhGetFormattedCounterValue.S index 497dea5d0..8ebbf201b 100644 --- a/libc/nt/pdh/PdhGetFormattedCounterValue.S +++ b/libc/nt/pdh/PdhGetFormattedCounterValue.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp pdh,__imp_PdhGetFormattedCounterValue,PdhGetFormattedCounterValue,0 -#ifdef __x86_64__ .text.windows PdhGetFormattedCounterValue: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_PdhGetFormattedCounterValue(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn PdhGetFormattedCounterValue,globl .previous -#endif diff --git a/libc/nt/pdh/PdhOpenQueryW.S b/libc/nt/pdh/PdhOpenQueryW.S index f123b2735..4d8097552 100644 --- a/libc/nt/pdh/PdhOpenQueryW.S +++ b/libc/nt/pdh/PdhOpenQueryW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp pdh,__imp_PdhOpenQueryW,PdhOpenQueryW,0 -#ifdef __x86_64__ .text.windows PdhOpenQuery: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_PdhOpenQueryW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn PdhOpenQuery,globl .previous -#endif diff --git a/libc/nt/psapi/GetProcessImageFileNameW.S b/libc/nt/psapi/GetProcessImageFileNameW.S index 3cebea173..549120a01 100644 --- a/libc/nt/psapi/GetProcessImageFileNameW.S +++ b/libc/nt/psapi/GetProcessImageFileNameW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp psapi,__imp_GetProcessImageFileNameW,GetProcessImageFileNameW,0 -#ifdef __x86_64__ .text.windows GetProcessImageFileName: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetProcessImageFileNameW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetProcessImageFileName,globl .previous -#endif diff --git a/libc/nt/psapi/GetProcessMemoryInfo.S b/libc/nt/psapi/GetProcessMemoryInfo.S index fbfcdbbef..65c05ab8e 100644 --- a/libc/nt/psapi/GetProcessMemoryInfo.S +++ b/libc/nt/psapi/GetProcessMemoryInfo.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp psapi,__imp_GetProcessMemoryInfo,GetProcessMemoryInfo,0 -#ifdef __x86_64__ .text.windows GetProcessMemoryInfo: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetProcessMemoryInfo(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetProcessMemoryInfo,globl .previous -#endif diff --git a/libc/nt/user32/AdjustWindowRect.S b/libc/nt/user32/AdjustWindowRect.S index 620eec792..827bec2c2 100644 --- a/libc/nt/user32/AdjustWindowRect.S +++ b/libc/nt/user32/AdjustWindowRect.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_AdjustWindowRect,AdjustWindowRect,1507 -#ifdef __x86_64__ .text.windows AdjustWindowRect: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_AdjustWindowRect(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn AdjustWindowRect,globl .previous -#endif diff --git a/libc/nt/user32/AnimateWindow.S b/libc/nt/user32/AnimateWindow.S index bd37d3479..3750ed660 100644 --- a/libc/nt/user32/AnimateWindow.S +++ b/libc/nt/user32/AnimateWindow.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_AnimateWindow,AnimateWindow,1513 -#ifdef __x86_64__ .text.windows AnimateWindow: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_AnimateWindow(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn AnimateWindow,globl .previous -#endif diff --git a/libc/nt/user32/AppendMenuA.S b/libc/nt/user32/AppendMenuA.S index fef91c490..afea7d383 100644 --- a/libc/nt/user32/AppendMenuA.S +++ b/libc/nt/user32/AppendMenuA.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_AppendMenuA,AppendMenuA,1515 -#ifdef __x86_64__ .text.windows AppendMenuA: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_AppendMenuA(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn AppendMenuA,globl .previous -#endif diff --git a/libc/nt/user32/AppendMenuW.S b/libc/nt/user32/AppendMenuW.S index afd1e9120..3041ee7a7 100644 --- a/libc/nt/user32/AppendMenuW.S +++ b/libc/nt/user32/AppendMenuW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_AppendMenuW,AppendMenuW,1516 -#ifdef __x86_64__ .text.windows AppendMenu: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_AppendMenuW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn AppendMenu,globl .previous -#endif diff --git a/libc/nt/user32/BeginPaint.S b/libc/nt/user32/BeginPaint.S index 6b2a60e31..b144b4651 100644 --- a/libc/nt/user32/BeginPaint.S +++ b/libc/nt/user32/BeginPaint.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_BeginPaint,BeginPaint,1521 -#ifdef __x86_64__ .text.windows BeginPaint: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_BeginPaint(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn BeginPaint,globl .previous -#endif diff --git a/libc/nt/user32/BringWindowToTop.S b/libc/nt/user32/BringWindowToTop.S index 8faec310e..bb39f0e9a 100644 --- a/libc/nt/user32/BringWindowToTop.S +++ b/libc/nt/user32/BringWindowToTop.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_BringWindowToTop,BringWindowToTop,1523 -#ifdef __x86_64__ .text.windows BringWindowToTop: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ BringWindowToTop: sub $32,%rsp call *__imp_BringWindowToTop(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn BringWindowToTop,globl .previous -#endif diff --git a/libc/nt/user32/CallNextHookEx.S b/libc/nt/user32/CallNextHookEx.S index 35065d8f2..d25e63643 100644 --- a/libc/nt/user32/CallNextHookEx.S +++ b/libc/nt/user32/CallNextHookEx.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_CallNextHookEx,CallNextHookEx,1535 -#ifdef __x86_64__ .text.windows CallNextHookEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CallNextHookEx(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CallNextHookEx,globl .previous -#endif diff --git a/libc/nt/user32/CloseWindow.S b/libc/nt/user32/CloseWindow.S index 4d1284e8a..9754e0d6c 100644 --- a/libc/nt/user32/CloseWindow.S +++ b/libc/nt/user32/CloseWindow.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_CloseWindow,CloseWindow,1591 -#ifdef __x86_64__ .text.windows CloseWindow: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ CloseWindow: sub $32,%rsp call *__imp_CloseWindow(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn CloseWindow,globl .previous -#endif diff --git a/libc/nt/user32/CreateIconIndirect.S b/libc/nt/user32/CreateIconIndirect.S index 40300b00d..2f54c2411 100644 --- a/libc/nt/user32/CreateIconIndirect.S +++ b/libc/nt/user32/CreateIconIndirect.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_CreateIconIndirect,CreateIconIndirect,1618 -#ifdef __x86_64__ .text.windows CreateIconIndirect: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ CreateIconIndirect: sub $32,%rsp call *__imp_CreateIconIndirect(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn CreateIconIndirect,globl .previous -#endif diff --git a/libc/nt/user32/CreateMenu.S b/libc/nt/user32/CreateMenu.S index 57956b3a4..b262ef979 100644 --- a/libc/nt/user32/CreateMenu.S +++ b/libc/nt/user32/CreateMenu.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp user32,__imp_CreateMenu,CreateMenu,1621 -#ifdef __x86_64__ .text.windows CreateMenu: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_CreateMenu(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn CreateMenu,globl .previous -#endif diff --git a/libc/nt/user32/CreatePopupMenu.S b/libc/nt/user32/CreatePopupMenu.S index 6b801ed39..c60c6e9dc 100644 --- a/libc/nt/user32/CreatePopupMenu.S +++ b/libc/nt/user32/CreatePopupMenu.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp user32,__imp_CreatePopupMenu,CreatePopupMenu,1622 -#ifdef __x86_64__ .text.windows CreatePopupMenu: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_CreatePopupMenu(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn CreatePopupMenu,globl .previous -#endif diff --git a/libc/nt/user32/CreateWindowExW.S b/libc/nt/user32/CreateWindowExW.S index 8b5ac36c8..4991a5960 100644 --- a/libc/nt/user32/CreateWindowExW.S +++ b/libc/nt/user32/CreateWindowExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_CreateWindowExW,CreateWindowExW,1625 -#ifdef __x86_64__ .text.windows CreateWindowEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_CreateWindowExW(%rip),%rax jmp __sysv2nt12 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn CreateWindowEx,globl .previous -#endif diff --git a/libc/nt/user32/DefWindowProcW.S b/libc/nt/user32/DefWindowProcW.S index 67ec5e972..7c3599454 100644 --- a/libc/nt/user32/DefWindowProcW.S +++ b/libc/nt/user32/DefWindowProcW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_DefWindowProcW,DefWindowProcW,174 -#ifdef __x86_64__ .text.windows DefWindowProc: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_DefWindowProcW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn DefWindowProc,globl .previous -#endif diff --git a/libc/nt/user32/DeleteMenu.S b/libc/nt/user32/DeleteMenu.S index 6241ad6ca..a61d2781e 100644 --- a/libc/nt/user32/DeleteMenu.S +++ b/libc/nt/user32/DeleteMenu.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_DeleteMenu,DeleteMenu,1681 -#ifdef __x86_64__ .text.windows DeleteMenu: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_DeleteMenu(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn DeleteMenu,globl .previous -#endif diff --git a/libc/nt/user32/DestroyIcon.S b/libc/nt/user32/DestroyIcon.S index 926ce2c36..bc7c9fd42 100644 --- a/libc/nt/user32/DestroyIcon.S +++ b/libc/nt/user32/DestroyIcon.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_DestroyIcon,DestroyIcon,1687 -#ifdef __x86_64__ .text.windows DestroyIcon: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ DestroyIcon: sub $32,%rsp call *__imp_DestroyIcon(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn DestroyIcon,globl .previous -#endif diff --git a/libc/nt/user32/DestroyMenu.S b/libc/nt/user32/DestroyMenu.S index 90235a79a..967859623 100644 --- a/libc/nt/user32/DestroyMenu.S +++ b/libc/nt/user32/DestroyMenu.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_DestroyMenu,DestroyMenu,1688 -#ifdef __x86_64__ .text.windows DestroyMenu: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ DestroyMenu: sub $32,%rsp call *__imp_DestroyMenu(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn DestroyMenu,globl .previous -#endif diff --git a/libc/nt/user32/DestroyWindow.S b/libc/nt/user32/DestroyWindow.S index ec7b3a2a3..0a758a427 100644 --- a/libc/nt/user32/DestroyWindow.S +++ b/libc/nt/user32/DestroyWindow.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_DestroyWindow,DestroyWindow,1690 -#ifdef __x86_64__ .text.windows DestroyWindow: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ DestroyWindow: sub $32,%rsp call *__imp_DestroyWindow(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn DestroyWindow,globl .previous -#endif diff --git a/libc/nt/user32/DispatchMessageW.S b/libc/nt/user32/DispatchMessageW.S index 0d382d482..066b1144c 100644 --- a/libc/nt/user32/DispatchMessageW.S +++ b/libc/nt/user32/DispatchMessageW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_DispatchMessageW,DispatchMessageW,1698 -#ifdef __x86_64__ .text.windows DispatchMessage: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ DispatchMessage: sub $32,%rsp call *__imp_DispatchMessageW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn DispatchMessage,globl .previous -#endif diff --git a/libc/nt/user32/DrawTextExW.S b/libc/nt/user32/DrawTextExW.S index 60a1664c1..cd0614714 100644 --- a/libc/nt/user32/DrawTextExW.S +++ b/libc/nt/user32/DrawTextExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_DrawTextExW,DrawTextExW,1730 -#ifdef __x86_64__ .text.windows DrawTextEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_DrawTextExW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn DrawTextEx,globl .previous -#endif diff --git a/libc/nt/user32/DrawTextW.S b/libc/nt/user32/DrawTextW.S index db4cb57bc..d21c24db4 100644 --- a/libc/nt/user32/DrawTextW.S +++ b/libc/nt/user32/DrawTextW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_DrawTextW,DrawTextW,1731 -#ifdef __x86_64__ .text.windows DrawText: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_DrawTextW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn DrawText,globl .previous -#endif diff --git a/libc/nt/user32/EndPaint.S b/libc/nt/user32/EndPaint.S index e49f70614..eedd48387 100644 --- a/libc/nt/user32/EndPaint.S +++ b/libc/nt/user32/EndPaint.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_EndPaint,EndPaint,1752 -#ifdef __x86_64__ .text.windows EndPaint: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_EndPaint(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn EndPaint,globl .previous -#endif diff --git a/libc/nt/user32/EnumChildWindows.S b/libc/nt/user32/EnumChildWindows.S index f72f0c702..fd1182821 100644 --- a/libc/nt/user32/EnumChildWindows.S +++ b/libc/nt/user32/EnumChildWindows.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_EnumChildWindows,EnumChildWindows,1755 -#ifdef __x86_64__ .text.windows EnumChildWindows: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_EnumChildWindows(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn EnumChildWindows,globl .previous -#endif diff --git a/libc/nt/user32/FillRect.S b/libc/nt/user32/FillRect.S index 18bbe3755..57ed4c1b7 100644 --- a/libc/nt/user32/FillRect.S +++ b/libc/nt/user32/FillRect.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_FillRect,FillRect,1780 -#ifdef __x86_64__ .text.windows FillRect: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_FillRect(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn FillRect,globl .previous -#endif diff --git a/libc/nt/user32/FindWindowExW.S b/libc/nt/user32/FindWindowExW.S index 09c638023..8249b20ad 100644 --- a/libc/nt/user32/FindWindowExW.S +++ b/libc/nt/user32/FindWindowExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_FindWindowExW,FindWindowExW,1783 -#ifdef __x86_64__ .text.windows FindWindowEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_FindWindowExW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn FindWindowEx,globl .previous -#endif diff --git a/libc/nt/user32/FindWindowW.S b/libc/nt/user32/FindWindowW.S index e5b27c223..80db66bc5 100644 --- a/libc/nt/user32/FindWindowW.S +++ b/libc/nt/user32/FindWindowW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_FindWindowW,FindWindowW,1784 -#ifdef __x86_64__ .text.windows FindWindow: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_FindWindowW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn FindWindow,globl .previous -#endif diff --git a/libc/nt/user32/GetClientRect.S b/libc/nt/user32/GetClientRect.S index ce7682118..26ac36100 100644 --- a/libc/nt/user32/GetClientRect.S +++ b/libc/nt/user32/GetClientRect.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_GetClientRect,GetClientRect,1815 -#ifdef __x86_64__ .text.windows GetClientRect: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetClientRect(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetClientRect,globl .previous -#endif diff --git a/libc/nt/user32/GetCursor.S b/libc/nt/user32/GetCursor.S index 23cef96a7..a26b0911a 100644 --- a/libc/nt/user32/GetCursor.S +++ b/libc/nt/user32/GetCursor.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp user32,__imp_GetCursor,GetCursor,1826 -#ifdef __x86_64__ .text.windows GetCursor: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_GetCursor(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetCursor,globl .previous -#endif diff --git a/libc/nt/user32/GetCursorPos.S b/libc/nt/user32/GetCursorPos.S index e16c18382..215c72c4e 100644 --- a/libc/nt/user32/GetCursorPos.S +++ b/libc/nt/user32/GetCursorPos.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_GetCursorPos,GetCursorPos,1829 -#ifdef __x86_64__ .text.windows GetCursorPos: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetCursorPos: sub $32,%rsp call *__imp_GetCursorPos(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetCursorPos,globl .previous -#endif diff --git a/libc/nt/user32/GetDC.S b/libc/nt/user32/GetDC.S index b137d610a..278cf91ba 100644 --- a/libc/nt/user32/GetDC.S +++ b/libc/nt/user32/GetDC.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_GetDC,GetDC,1830 -#ifdef __x86_64__ .text.windows GetDC: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetDC: sub $32,%rsp call *__imp_GetDC(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetDC,globl .previous -#endif diff --git a/libc/nt/user32/GetDesktopWindow.S b/libc/nt/user32/GetDesktopWindow.S index a2388a8a5..5a1cc1a1d 100644 --- a/libc/nt/user32/GetDesktopWindow.S +++ b/libc/nt/user32/GetDesktopWindow.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp user32,__imp_GetDesktopWindow,GetDesktopWindow,1833 -#ifdef __x86_64__ .text.windows GetDesktopWindow: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_GetDesktopWindow(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetDesktopWindow,globl .previous -#endif diff --git a/libc/nt/user32/GetKeyState.S b/libc/nt/user32/GetKeyState.S index d12351084..f0811cf11 100644 --- a/libc/nt/user32/GetKeyState.S +++ b/libc/nt/user32/GetKeyState.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_GetKeyState,GetKeyState,1866 -#ifdef __x86_64__ .text.windows GetKeyState: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetKeyState: sub $32,%rsp call *__imp_GetKeyState(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetKeyState,globl .previous -#endif diff --git a/libc/nt/user32/GetKeyboardLayout.S b/libc/nt/user32/GetKeyboardLayout.S index 0a8fd0d39..10ad3daa6 100644 --- a/libc/nt/user32/GetKeyboardLayout.S +++ b/libc/nt/user32/GetKeyboardLayout.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_GetKeyboardLayout,GetKeyboardLayout,1867 -#ifdef __x86_64__ .text.windows GetKeyboardLayout: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetKeyboardLayout: sub $32,%rsp call *__imp_GetKeyboardLayout(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetKeyboardLayout,globl .previous -#endif diff --git a/libc/nt/user32/GetMenu.S b/libc/nt/user32/GetMenu.S index 1001b6b93..52df950da 100644 --- a/libc/nt/user32/GetMenu.S +++ b/libc/nt/user32/GetMenu.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_GetMenu,GetMenu,1881 -#ifdef __x86_64__ .text.windows GetMenu: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetMenu: sub $32,%rsp call *__imp_GetMenu(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetMenu,globl .previous -#endif diff --git a/libc/nt/user32/GetMessageW.S b/libc/nt/user32/GetMessageW.S index 297e341e7..285981960 100644 --- a/libc/nt/user32/GetMessageW.S +++ b/libc/nt/user32/GetMessageW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_GetMessageW,GetMessageW,1899 -#ifdef __x86_64__ .text.windows GetMessage: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetMessageW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetMessage,globl .previous -#endif diff --git a/libc/nt/user32/GetParent.S b/libc/nt/user32/GetParent.S index a24dac727..1734ce46d 100644 --- a/libc/nt/user32/GetParent.S +++ b/libc/nt/user32/GetParent.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_GetParent,GetParent,1906 -#ifdef __x86_64__ .text.windows GetParent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetParent: sub $32,%rsp call *__imp_GetParent(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetParent,globl .previous -#endif diff --git a/libc/nt/user32/GetShellWindow.S b/libc/nt/user32/GetShellWindow.S index 85a88c585..cb5112764 100644 --- a/libc/nt/user32/GetShellWindow.S +++ b/libc/nt/user32/GetShellWindow.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp user32,__imp_GetShellWindow,GetShellWindow,1950 -#ifdef __x86_64__ .text.windows GetShellWindow: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_GetShellWindow(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetShellWindow,globl .previous -#endif diff --git a/libc/nt/user32/GetSystemMenu.S b/libc/nt/user32/GetSystemMenu.S index 8e1b29169..9d5beeed8 100644 --- a/libc/nt/user32/GetSystemMenu.S +++ b/libc/nt/user32/GetSystemMenu.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_GetSystemMenu,GetSystemMenu,1955 -#ifdef __x86_64__ .text.windows GetSystemMenu: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetSystemMenu(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetSystemMenu,globl .previous -#endif diff --git a/libc/nt/user32/GetWindow.S b/libc/nt/user32/GetWindow.S index 744a1a4aa..d7e60eeb5 100644 --- a/libc/nt/user32/GetWindow.S +++ b/libc/nt/user32/GetWindow.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_GetWindow,GetWindow,1976 -#ifdef __x86_64__ .text.windows GetWindow: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetWindow(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetWindow,globl .previous -#endif diff --git a/libc/nt/user32/GetWindowPlacement.S b/libc/nt/user32/GetWindowPlacement.S index f211d77c2..18762d0ec 100644 --- a/libc/nt/user32/GetWindowPlacement.S +++ b/libc/nt/user32/GetWindowPlacement.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_GetWindowPlacement,GetWindowPlacement,1995 -#ifdef __x86_64__ .text.windows GetWindowPlacement: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetWindowPlacement(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetWindowPlacement,globl .previous -#endif diff --git a/libc/nt/user32/GetWindowRect.S b/libc/nt/user32/GetWindowRect.S index a166ffa8d..28c2bbf7f 100644 --- a/libc/nt/user32/GetWindowRect.S +++ b/libc/nt/user32/GetWindowRect.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_GetWindowRect,GetWindowRect,1997 -#ifdef __x86_64__ .text.windows GetWindowRect: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetWindowRect(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetWindowRect,globl .previous -#endif diff --git a/libc/nt/user32/GetWindowTextW.S b/libc/nt/user32/GetWindowTextW.S index 9a556db7a..483fd0a33 100644 --- a/libc/nt/user32/GetWindowTextW.S +++ b/libc/nt/user32/GetWindowTextW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_GetWindowTextW,GetWindowTextW,2007 -#ifdef __x86_64__ .text.windows GetWindowText: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetWindowTextW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetWindowText,globl .previous -#endif diff --git a/libc/nt/user32/InsertMenuW.S b/libc/nt/user32/InsertMenuW.S index b750a690e..c0d99b1d1 100644 --- a/libc/nt/user32/InsertMenuW.S +++ b/libc/nt/user32/InsertMenuW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_InsertMenuW,InsertMenuW,2044 -#ifdef __x86_64__ .text.windows InsertMenu: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_InsertMenuW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn InsertMenu,globl .previous -#endif diff --git a/libc/nt/user32/InvalidateRect.S b/libc/nt/user32/InvalidateRect.S index 5f4268842..547e40fa0 100644 --- a/libc/nt/user32/InvalidateRect.S +++ b/libc/nt/user32/InvalidateRect.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_InvalidateRect,InvalidateRect,2048 -#ifdef __x86_64__ .text.windows InvalidateRect: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_InvalidateRect(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn InvalidateRect,globl .previous -#endif diff --git a/libc/nt/user32/IsChild.S b/libc/nt/user32/IsChild.S index ec97a9504..2c461805a 100644 --- a/libc/nt/user32/IsChild.S +++ b/libc/nt/user32/IsChild.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_IsChild,IsChild,2059 -#ifdef __x86_64__ .text.windows IsChild: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_IsChild(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn IsChild,globl .previous -#endif diff --git a/libc/nt/user32/IsIconic.S b/libc/nt/user32/IsIconic.S index aaaf135a9..8f2a3ef5a 100644 --- a/libc/nt/user32/IsIconic.S +++ b/libc/nt/user32/IsIconic.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_IsIconic,IsIconic,2067 -#ifdef __x86_64__ .text.windows IsIconic: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ IsIconic: sub $32,%rsp call *__imp_IsIconic(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn IsIconic,globl .previous -#endif diff --git a/libc/nt/user32/IsMenu.S b/libc/nt/user32/IsMenu.S index 07922f2a1..e4419014a 100644 --- a/libc/nt/user32/IsMenu.S +++ b/libc/nt/user32/IsMenu.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_IsMenu,IsMenu,2070 -#ifdef __x86_64__ .text.windows IsMenu: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ IsMenu: sub $32,%rsp call *__imp_IsMenu(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn IsMenu,globl .previous -#endif diff --git a/libc/nt/user32/IsWindow.S b/libc/nt/user32/IsWindow.S index c942cded6..b49c1d5e2 100644 --- a/libc/nt/user32/IsWindow.S +++ b/libc/nt/user32/IsWindow.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_IsWindow,IsWindow,2084 -#ifdef __x86_64__ .text.windows IsWindow: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ IsWindow: sub $32,%rsp call *__imp_IsWindow(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn IsWindow,globl .previous -#endif diff --git a/libc/nt/user32/IsWindowVisible.S b/libc/nt/user32/IsWindowVisible.S index be523d68b..1f18ad0ee 100644 --- a/libc/nt/user32/IsWindowVisible.S +++ b/libc/nt/user32/IsWindowVisible.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_IsWindowVisible,IsWindowVisible,2090 -#ifdef __x86_64__ .text.windows IsWindowVisible: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ IsWindowVisible: sub $32,%rsp call *__imp_IsWindowVisible(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn IsWindowVisible,globl .previous -#endif diff --git a/libc/nt/user32/IsZoomed.S b/libc/nt/user32/IsZoomed.S index 5aa881087..d17e55c81 100644 --- a/libc/nt/user32/IsZoomed.S +++ b/libc/nt/user32/IsZoomed.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_IsZoomed,IsZoomed,2092 -#ifdef __x86_64__ .text.windows IsZoomed: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ IsZoomed: sub $32,%rsp call *__imp_IsZoomed(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn IsZoomed,globl .previous -#endif diff --git a/libc/nt/user32/KillTimer.S b/libc/nt/user32/KillTimer.S index 8d9188759..547a062fe 100644 --- a/libc/nt/user32/KillTimer.S +++ b/libc/nt/user32/KillTimer.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_KillTimer,KillTimer,2093 -#ifdef __x86_64__ .text.windows KillTimer: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_KillTimer(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn KillTimer,globl .previous -#endif diff --git a/libc/nt/user32/LoadCursorW.S b/libc/nt/user32/LoadCursorW.S index 238a59f1f..5fef52d6b 100644 --- a/libc/nt/user32/LoadCursorW.S +++ b/libc/nt/user32/LoadCursorW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_LoadCursorW,LoadCursorW,2101 -#ifdef __x86_64__ .text.windows LoadCursor: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_LoadCursorW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn LoadCursor,globl .previous -#endif diff --git a/libc/nt/user32/LoadIconW.S b/libc/nt/user32/LoadIconW.S index e27f19e20..8b09084ac 100644 --- a/libc/nt/user32/LoadIconW.S +++ b/libc/nt/user32/LoadIconW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_LoadIconW,LoadIconW,2103 -#ifdef __x86_64__ .text.windows LoadIcon: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_LoadIconW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn LoadIcon,globl .previous -#endif diff --git a/libc/nt/user32/LoadImageW.S b/libc/nt/user32/LoadImageW.S index b27476dfe..9c6bb2c71 100644 --- a/libc/nt/user32/LoadImageW.S +++ b/libc/nt/user32/LoadImageW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_LoadImageW,LoadImageW,2105 -#ifdef __x86_64__ .text.windows LoadImage: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_LoadImageW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn LoadImage,globl .previous -#endif diff --git a/libc/nt/user32/MapVirtualKeyExW.S b/libc/nt/user32/MapVirtualKeyExW.S index d1c5e9ce5..f081be352 100644 --- a/libc/nt/user32/MapVirtualKeyExW.S +++ b/libc/nt/user32/MapVirtualKeyExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_MapVirtualKeyExW,MapVirtualKeyExW,2155 -#ifdef __x86_64__ .text.windows MapVirtualKeyEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_MapVirtualKeyExW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn MapVirtualKeyEx,globl .previous -#endif diff --git a/libc/nt/user32/MessageBoxExW.S b/libc/nt/user32/MessageBoxExW.S index 266dceb26..78ed056b3 100644 --- a/libc/nt/user32/MessageBoxExW.S +++ b/libc/nt/user32/MessageBoxExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_MessageBoxExW,MessageBoxExW,2165 -#ifdef __x86_64__ .text.windows MessageBoxEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_MessageBoxExW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn MessageBoxEx,globl .previous -#endif diff --git a/libc/nt/user32/MessageBoxW.S b/libc/nt/user32/MessageBoxW.S index d8ab8139e..f34d46251 100644 --- a/libc/nt/user32/MessageBoxW.S +++ b/libc/nt/user32/MessageBoxW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_MessageBoxW,MessageBoxW,2170 -#ifdef __x86_64__ .text.windows MessageBox: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_MessageBoxW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn MessageBox,globl .previous -#endif diff --git a/libc/nt/user32/MoveWindow.S b/libc/nt/user32/MoveWindow.S index 2a0550f1d..bf8f5b037 100644 --- a/libc/nt/user32/MoveWindow.S +++ b/libc/nt/user32/MoveWindow.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_MoveWindow,MoveWindow,2176 -#ifdef __x86_64__ .text.windows MoveWindow: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_MoveWindow(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn MoveWindow,globl .previous -#endif diff --git a/libc/nt/user32/PeekMessageW.S b/libc/nt/user32/PeekMessageW.S index deb424f65..7b29240e1 100644 --- a/libc/nt/user32/PeekMessageW.S +++ b/libc/nt/user32/PeekMessageW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_PeekMessageW,PeekMessageW,2201 -#ifdef __x86_64__ .text.windows PeekMessage: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_PeekMessageW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn PeekMessage,globl .previous -#endif diff --git a/libc/nt/user32/PostQuitMessage.S b/libc/nt/user32/PostQuitMessage.S index fb7f467e0..05a56a0c1 100644 --- a/libc/nt/user32/PostQuitMessage.S +++ b/libc/nt/user32/PostQuitMessage.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_PostQuitMessage,PostQuitMessage,2206 -#ifdef __x86_64__ .text.windows PostQuitMessage: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ PostQuitMessage: sub $32,%rsp call *__imp_PostQuitMessage(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn PostQuitMessage,globl .previous -#endif diff --git a/libc/nt/user32/RedrawWindow.S b/libc/nt/user32/RedrawWindow.S index 933d6abe9..33e77cb44 100644 --- a/libc/nt/user32/RedrawWindow.S +++ b/libc/nt/user32/RedrawWindow.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_RedrawWindow,RedrawWindow,2246 -#ifdef __x86_64__ .text.windows RedrawWindow: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_RedrawWindow(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn RedrawWindow,globl .previous -#endif diff --git a/libc/nt/user32/RegisterClassExW.S b/libc/nt/user32/RegisterClassExW.S index da665cdbc..d993503dd 100644 --- a/libc/nt/user32/RegisterClassExW.S +++ b/libc/nt/user32/RegisterClassExW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_RegisterClassExW,RegisterClassExW,2250 -#ifdef __x86_64__ .text.windows RegisterClassEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RegisterClassEx: sub $32,%rsp call *__imp_RegisterClassExW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RegisterClassEx,globl .previous -#endif diff --git a/libc/nt/user32/RegisterClassW.S b/libc/nt/user32/RegisterClassW.S index a4afc49b5..a6f5ee4eb 100644 --- a/libc/nt/user32/RegisterClassW.S +++ b/libc/nt/user32/RegisterClassW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_RegisterClassW,RegisterClassW,2251 -#ifdef __x86_64__ .text.windows RegisterClass: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ RegisterClass: sub $32,%rsp call *__imp_RegisterClassW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn RegisterClass,globl .previous -#endif diff --git a/libc/nt/user32/ReleaseCapture.S b/libc/nt/user32/ReleaseCapture.S index f4e65761b..6a27409bf 100644 --- a/libc/nt/user32/ReleaseCapture.S +++ b/libc/nt/user32/ReleaseCapture.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp user32,__imp_ReleaseCapture,ReleaseCapture,2279 -#ifdef __x86_64__ .text.windows ReleaseCapture: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_ReleaseCapture(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn ReleaseCapture,globl .previous -#endif diff --git a/libc/nt/user32/ReleaseDC.S b/libc/nt/user32/ReleaseDC.S index 8b377dde5..816e69d7b 100644 --- a/libc/nt/user32/ReleaseDC.S +++ b/libc/nt/user32/ReleaseDC.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_ReleaseDC,ReleaseDC,2280 -#ifdef __x86_64__ .text.windows ReleaseDC: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ReleaseDC(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn ReleaseDC,globl .previous -#endif diff --git a/libc/nt/user32/SendMessageW.S b/libc/nt/user32/SendMessageW.S index 8578b0c01..f6c02a747 100644 --- a/libc/nt/user32/SendMessageW.S +++ b/libc/nt/user32/SendMessageW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_SendMessageW,SendMessageW,2306 -#ifdef __x86_64__ .text.windows SendMessage: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SendMessageW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SendMessage,globl .previous -#endif diff --git a/libc/nt/user32/SetCapture.S b/libc/nt/user32/SetCapture.S index 9d64f4b6b..241150dbf 100644 --- a/libc/nt/user32/SetCapture.S +++ b/libc/nt/user32/SetCapture.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_SetCapture,SetCapture,2310 -#ifdef __x86_64__ .text.windows SetCapture: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ SetCapture: sub $32,%rsp call *__imp_SetCapture(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn SetCapture,globl .previous -#endif diff --git a/libc/nt/user32/SetClassLongW.S b/libc/nt/user32/SetClassLongW.S index 3c4e1e572..6258d5e1d 100644 --- a/libc/nt/user32/SetClassLongW.S +++ b/libc/nt/user32/SetClassLongW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_SetClassLongW,SetClassLongW,2316 -#ifdef __x86_64__ .text.windows SetClassLong: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetClassLongW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetClassLong,globl .previous -#endif diff --git a/libc/nt/user32/SetCursor.S b/libc/nt/user32/SetCursor.S index 286e2c9bc..1292e2c4b 100644 --- a/libc/nt/user32/SetCursor.S +++ b/libc/nt/user32/SetCursor.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_SetCursor,SetCursor,2321 -#ifdef __x86_64__ .text.windows SetCursor: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ SetCursor: sub $32,%rsp call *__imp_SetCursor(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn SetCursor,globl .previous -#endif diff --git a/libc/nt/user32/SetParent.S b/libc/nt/user32/SetParent.S index 6333c1363..0ce09a3ae 100644 --- a/libc/nt/user32/SetParent.S +++ b/libc/nt/user32/SetParent.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_SetParent,SetParent,2357 -#ifdef __x86_64__ .text.windows SetParent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetParent(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetParent,globl .previous -#endif diff --git a/libc/nt/user32/SetTimer.S b/libc/nt/user32/SetTimer.S index 1457d089d..5d2691305 100644 --- a/libc/nt/user32/SetTimer.S +++ b/libc/nt/user32/SetTimer.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_SetTimer,SetTimer,2384 -#ifdef __x86_64__ .text.windows SetTimer: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetTimer(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetTimer,globl .previous -#endif diff --git a/libc/nt/user32/SetWindowLongW.S b/libc/nt/user32/SetWindowLongW.S index c9925b9d9..a1749c165 100644 --- a/libc/nt/user32/SetWindowLongW.S +++ b/libc/nt/user32/SetWindowLongW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_SetWindowLongW,SetWindowLongW,2398 -#ifdef __x86_64__ .text.windows SetWindowLong: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetWindowLongW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetWindowLong,globl .previous -#endif diff --git a/libc/nt/user32/SetWindowPlacement.S b/libc/nt/user32/SetWindowPlacement.S index e4d589699..e56881f44 100644 --- a/libc/nt/user32/SetWindowPlacement.S +++ b/libc/nt/user32/SetWindowPlacement.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_SetWindowPlacement,SetWindowPlacement,2399 -#ifdef __x86_64__ .text.windows SetWindowPlacement: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetWindowPlacement(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetWindowPlacement,globl .previous -#endif diff --git a/libc/nt/user32/SetWindowPos.S b/libc/nt/user32/SetWindowPos.S index 5ae5825c0..17ad5bbbc 100644 --- a/libc/nt/user32/SetWindowPos.S +++ b/libc/nt/user32/SetWindowPos.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_SetWindowPos,SetWindowPos,2400 -#ifdef __x86_64__ .text.windows SetWindowPos: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetWindowPos(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetWindowPos,globl .previous -#endif diff --git a/libc/nt/user32/SetWindowTextW.S b/libc/nt/user32/SetWindowTextW.S index bf1891b42..527308908 100644 --- a/libc/nt/user32/SetWindowTextW.S +++ b/libc/nt/user32/SetWindowTextW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_SetWindowTextW,SetWindowTextW,2405 -#ifdef __x86_64__ .text.windows SetWindowText: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetWindowTextW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetWindowText,globl .previous -#endif diff --git a/libc/nt/user32/SetWindowsHookExW.S b/libc/nt/user32/SetWindowsHookExW.S index d553d8438..80c1b08da 100644 --- a/libc/nt/user32/SetWindowsHookExW.S +++ b/libc/nt/user32/SetWindowsHookExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_SetWindowsHookExW,SetWindowsHookExW,2409 -#ifdef __x86_64__ .text.windows SetWindowsHookEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetWindowsHookExW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetWindowsHookEx,globl .previous -#endif diff --git a/libc/nt/user32/SetWindowsHookW.S b/libc/nt/user32/SetWindowsHookW.S index 34be62501..e84205ae8 100644 --- a/libc/nt/user32/SetWindowsHookW.S +++ b/libc/nt/user32/SetWindowsHookW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_SetWindowsHookW,SetWindowsHookW,2410 -#ifdef __x86_64__ .text.windows SetWindowsHook: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetWindowsHookW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetWindowsHook,globl .previous -#endif diff --git a/libc/nt/user32/ShowCaret.S b/libc/nt/user32/ShowCaret.S index 7bf165e5d..605c19201 100644 --- a/libc/nt/user32/ShowCaret.S +++ b/libc/nt/user32/ShowCaret.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_ShowCaret,ShowCaret,2411 -#ifdef __x86_64__ .text.windows ShowCaret: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ ShowCaret: sub $32,%rsp call *__imp_ShowCaret(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn ShowCaret,globl .previous -#endif diff --git a/libc/nt/user32/ShowCursor.S b/libc/nt/user32/ShowCursor.S index b1f0ede83..0dcc54d5f 100644 --- a/libc/nt/user32/ShowCursor.S +++ b/libc/nt/user32/ShowCursor.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_ShowCursor,ShowCursor,2412 -#ifdef __x86_64__ .text.windows ShowCursor: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ ShowCursor: sub $32,%rsp call *__imp_ShowCursor(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn ShowCursor,globl .previous -#endif diff --git a/libc/nt/user32/ShowWindow.S b/libc/nt/user32/ShowWindow.S index 1ede3e238..6beed522e 100644 --- a/libc/nt/user32/ShowWindow.S +++ b/libc/nt/user32/ShowWindow.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_ShowWindow,ShowWindow,2417 -#ifdef __x86_64__ .text.windows ShowWindow: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ShowWindow(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn ShowWindow,globl .previous -#endif diff --git a/libc/nt/user32/TrackPopupMenu.S b/libc/nt/user32/TrackPopupMenu.S index 8a1a46c00..e5fa5793e 100644 --- a/libc/nt/user32/TrackPopupMenu.S +++ b/libc/nt/user32/TrackPopupMenu.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_TrackPopupMenu,TrackPopupMenu,2443 -#ifdef __x86_64__ .text.windows TrackPopupMenu: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_TrackPopupMenu(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn TrackPopupMenu,globl .previous -#endif diff --git a/libc/nt/user32/TranslateMessage.S b/libc/nt/user32/TranslateMessage.S index e10c371f5..ae91c3b86 100644 --- a/libc/nt/user32/TranslateMessage.S +++ b/libc/nt/user32/TranslateMessage.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_TranslateMessage,TranslateMessage,2449 -#ifdef __x86_64__ .text.windows TranslateMessage: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ TranslateMessage: sub $32,%rsp call *__imp_TranslateMessage(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn TranslateMessage,globl .previous -#endif diff --git a/libc/nt/user32/UnhookWindowsHook.S b/libc/nt/user32/UnhookWindowsHook.S index 96adecb26..85b4aa6ef 100644 --- a/libc/nt/user32/UnhookWindowsHook.S +++ b/libc/nt/user32/UnhookWindowsHook.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_UnhookWindowsHook,UnhookWindowsHook,2452 -#ifdef __x86_64__ .text.windows UnhookWindowsHook: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_UnhookWindowsHook(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn UnhookWindowsHook,globl .previous -#endif diff --git a/libc/nt/user32/UnhookWindowsHookEx.S b/libc/nt/user32/UnhookWindowsHookEx.S index 0d4ffbae4..04adae9d0 100644 --- a/libc/nt/user32/UnhookWindowsHookEx.S +++ b/libc/nt/user32/UnhookWindowsHookEx.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_UnhookWindowsHookEx,UnhookWindowsHookEx,2453 -#ifdef __x86_64__ .text.windows UnhookWindowsHookEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ UnhookWindowsHookEx: sub $32,%rsp call *__imp_UnhookWindowsHookEx(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn UnhookWindowsHookEx,globl .previous -#endif diff --git a/libc/nt/user32/UpdateWindow.S b/libc/nt/user32/UpdateWindow.S index 36e6c969d..8dc392548 100644 --- a/libc/nt/user32/UpdateWindow.S +++ b/libc/nt/user32/UpdateWindow.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp user32,__imp_UpdateWindow,UpdateWindow,2474 -#ifdef __x86_64__ .text.windows UpdateWindow: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ UpdateWindow: sub $32,%rsp call *__imp_UpdateWindow(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn UpdateWindow,globl .previous -#endif diff --git a/libc/nt/user32/WaitForInputIdle.S b/libc/nt/user32/WaitForInputIdle.S index a5b17444a..dccfdd92b 100644 --- a/libc/nt/user32/WaitForInputIdle.S +++ b/libc/nt/user32/WaitForInputIdle.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp user32,__imp_WaitForInputIdle,WaitForInputIdle,2495 -#ifdef __x86_64__ .text.windows WaitForInputIdle: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WaitForInputIdle(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WaitForInputIdle,globl .previous -#endif diff --git a/libc/nt/ws2_32/FreeAddrInfoExW.S b/libc/nt/ws2_32/FreeAddrInfoExW.S index 6d6ce51a5..eeaea9f84 100644 --- a/libc/nt/ws2_32/FreeAddrInfoExW.S +++ b/libc/nt/ws2_32/FreeAddrInfoExW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_FreeAddrInfoExW,FreeAddrInfoExW,26 -#ifdef __x86_64__ .text.windows FreeAddrInfoEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ FreeAddrInfoEx: sub $32,%rsp call *__imp_FreeAddrInfoExW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn FreeAddrInfoEx,globl .previous -#endif diff --git a/libc/nt/ws2_32/FreeAddrInfoW.S b/libc/nt/ws2_32/FreeAddrInfoW.S index c8fdab96b..ab0a19c61 100644 --- a/libc/nt/ws2_32/FreeAddrInfoW.S +++ b/libc/nt/ws2_32/FreeAddrInfoW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_FreeAddrInfoW,FreeAddrInfoW,27 -#ifdef __x86_64__ .text.windows FreeAddrInfo: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ FreeAddrInfo: sub $32,%rsp call *__imp_FreeAddrInfoW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn FreeAddrInfo,globl .previous -#endif diff --git a/libc/nt/ws2_32/GetAddrInfoExCancel.S b/libc/nt/ws2_32/GetAddrInfoExCancel.S index d31b78a8a..5e74165fe 100644 --- a/libc/nt/ws2_32/GetAddrInfoExCancel.S +++ b/libc/nt/ws2_32/GetAddrInfoExCancel.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_GetAddrInfoExCancel,GetAddrInfoExCancel,29 -#ifdef __x86_64__ .text.windows GetAddrInfoExCancel: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetAddrInfoExCancel: sub $32,%rsp call *__imp_GetAddrInfoExCancel(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetAddrInfoExCancel,globl .previous -#endif diff --git a/libc/nt/ws2_32/GetAddrInfoExOverlappedResult.S b/libc/nt/ws2_32/GetAddrInfoExOverlappedResult.S index 986bac8a4..bb1590e31 100644 --- a/libc/nt/ws2_32/GetAddrInfoExOverlappedResult.S +++ b/libc/nt/ws2_32/GetAddrInfoExOverlappedResult.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_GetAddrInfoExOverlappedResult,GetAddrInfoExOverlappedResult,30 -#ifdef __x86_64__ .text.windows GetAddrInfoExOverlappedResult: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ GetAddrInfoExOverlappedResult: sub $32,%rsp call *__imp_GetAddrInfoExOverlappedResult(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn GetAddrInfoExOverlappedResult,globl .previous -#endif diff --git a/libc/nt/ws2_32/GetAddrInfoExW.S b/libc/nt/ws2_32/GetAddrInfoExW.S index 183f62d84..1c4671121 100644 --- a/libc/nt/ws2_32/GetAddrInfoExW.S +++ b/libc/nt/ws2_32/GetAddrInfoExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_GetAddrInfoExW,GetAddrInfoExW,31 -#ifdef __x86_64__ .text.windows GetAddrInfoEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetAddrInfoExW(%rip),%rax jmp __sysv2nt10 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetAddrInfoEx,globl .previous -#endif diff --git a/libc/nt/ws2_32/GetAddrInfoW.S b/libc/nt/ws2_32/GetAddrInfoW.S index 7e215faa6..b6576bc5c 100644 --- a/libc/nt/ws2_32/GetAddrInfoW.S +++ b/libc/nt/ws2_32/GetAddrInfoW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_GetAddrInfoW,GetAddrInfoW,32 -#ifdef __x86_64__ .text.windows GetAddrInfo: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetAddrInfoW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetAddrInfo,globl .previous -#endif diff --git a/libc/nt/ws2_32/GetHostNameW.S b/libc/nt/ws2_32/GetHostNameW.S index 4c880f19c..04d3a75ef 100644 --- a/libc/nt/ws2_32/GetHostNameW.S +++ b/libc/nt/ws2_32/GetHostNameW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_GetHostNameW,GetHostNameW,33 -#ifdef __x86_64__ .text.windows GetHostName: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetHostNameW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetHostName,globl .previous -#endif diff --git a/libc/nt/ws2_32/GetNameInfoW.S b/libc/nt/ws2_32/GetNameInfoW.S index c64336e60..9181db017 100644 --- a/libc/nt/ws2_32/GetNameInfoW.S +++ b/libc/nt/ws2_32/GetNameInfoW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_GetNameInfoW,GetNameInfoW,34 -#ifdef __x86_64__ .text.windows GetNameInfo: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_GetNameInfoW(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn GetNameInfo,globl .previous -#endif diff --git a/libc/nt/ws2_32/SetAddrInfoExW.S b/libc/nt/ws2_32/SetAddrInfoExW.S index 885f5e400..893c9628d 100644 --- a/libc/nt/ws2_32/SetAddrInfoExW.S +++ b/libc/nt/ws2_32/SetAddrInfoExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_SetAddrInfoExW,SetAddrInfoExW,38 -#ifdef __x86_64__ .text.windows SetAddrInfoEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_SetAddrInfoExW(%rip),%rax jmp __sysv2nt12 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn SetAddrInfoEx,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAAccept.S b/libc/nt/ws2_32/WSAAccept.S index 35676ea88..a93311445 100644 --- a/libc/nt/ws2_32/WSAAccept.S +++ b/libc/nt/ws2_32/WSAAccept.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAAccept,WSAAccept,41 -#ifdef __x86_64__ .text.windows WSAAccept: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAAccept(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAAccept,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAAddressToStringW.S b/libc/nt/ws2_32/WSAAddressToStringW.S index b303d9d20..95e0bfb29 100644 --- a/libc/nt/ws2_32/WSAAddressToStringW.S +++ b/libc/nt/ws2_32/WSAAddressToStringW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAAddressToStringW,WSAAddressToStringW,43 -#ifdef __x86_64__ .text.windows WSAAddressToString: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAAddressToStringW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAAddressToString,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAAsyncGetHostByAddr.S b/libc/nt/ws2_32/WSAAsyncGetHostByAddr.S index 7d32601da..5baffa202 100644 --- a/libc/nt/ws2_32/WSAAsyncGetHostByAddr.S +++ b/libc/nt/ws2_32/WSAAsyncGetHostByAddr.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAAsyncGetHostByAddr,WSAAsyncGetHostByAddr,102 -#ifdef __x86_64__ .text.windows WSAAsyncGetHostByAddr: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAAsyncGetHostByAddr(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAAsyncGetHostByAddr,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAAsyncGetHostByName.S b/libc/nt/ws2_32/WSAAsyncGetHostByName.S index 222cd8acf..38d2a5bfc 100644 --- a/libc/nt/ws2_32/WSAAsyncGetHostByName.S +++ b/libc/nt/ws2_32/WSAAsyncGetHostByName.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAAsyncGetHostByName,WSAAsyncGetHostByName,103 -#ifdef __x86_64__ .text.windows WSAAsyncGetHostByName: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAAsyncGetHostByName(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAAsyncGetHostByName,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAAsyncGetProtoByName.S b/libc/nt/ws2_32/WSAAsyncGetProtoByName.S index 0abee986d..252474b86 100644 --- a/libc/nt/ws2_32/WSAAsyncGetProtoByName.S +++ b/libc/nt/ws2_32/WSAAsyncGetProtoByName.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAAsyncGetProtoByName,WSAAsyncGetProtoByName,105 -#ifdef __x86_64__ .text.windows WSAAsyncGetProtoByName: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAAsyncGetProtoByName(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAAsyncGetProtoByName,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAAsyncGetProtoByNumber.S b/libc/nt/ws2_32/WSAAsyncGetProtoByNumber.S index 05761d261..310b75437 100644 --- a/libc/nt/ws2_32/WSAAsyncGetProtoByNumber.S +++ b/libc/nt/ws2_32/WSAAsyncGetProtoByNumber.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAAsyncGetProtoByNumber,WSAAsyncGetProtoByNumber,104 -#ifdef __x86_64__ .text.windows WSAAsyncGetProtoByNumber: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAAsyncGetProtoByNumber(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAAsyncGetProtoByNumber,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSACleanup.S b/libc/nt/ws2_32/WSACleanup.S index 19ea98ed5..d57962263 100644 --- a/libc/nt/ws2_32/WSACleanup.S +++ b/libc/nt/ws2_32/WSACleanup.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSACleanup,WSACleanup,116 -#ifdef __x86_64__ .text.windows WSACleanup: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_WSACleanup(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn WSACleanup,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSACloseEvent.S b/libc/nt/ws2_32/WSACloseEvent.S index f4fc1c5f9..8fa277f33 100644 --- a/libc/nt/ws2_32/WSACloseEvent.S +++ b/libc/nt/ws2_32/WSACloseEvent.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSACloseEvent,WSACloseEvent,45 -#ifdef __x86_64__ .text.windows WSACloseEvent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ WSACloseEvent: sub $32,%rsp call *__imp_WSACloseEvent(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn WSACloseEvent,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAConnect.S b/libc/nt/ws2_32/WSAConnect.S index a4c4fd0c2..b833e371f 100644 --- a/libc/nt/ws2_32/WSAConnect.S +++ b/libc/nt/ws2_32/WSAConnect.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAConnect,WSAConnect,46 -#ifdef __x86_64__ .text.windows WSAConnect: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAConnect(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAConnect,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAConnectByList.S b/libc/nt/ws2_32/WSAConnectByList.S index 585e5b195..8fc69b948 100644 --- a/libc/nt/ws2_32/WSAConnectByList.S +++ b/libc/nt/ws2_32/WSAConnectByList.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAConnectByList,WSAConnectByList,47 -#ifdef __x86_64__ .text.windows WSAConnectByList: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAConnectByList(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAConnectByList,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAConnectByNameW.S b/libc/nt/ws2_32/WSAConnectByNameW.S index 08aa2b237..6bc0085dc 100644 --- a/libc/nt/ws2_32/WSAConnectByNameW.S +++ b/libc/nt/ws2_32/WSAConnectByNameW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAConnectByNameW,WSAConnectByNameW,49 -#ifdef __x86_64__ .text.windows WSAConnectByName: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAConnectByNameW(%rip),%rax jmp __sysv2nt10 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAConnectByName,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSACreateEvent.S b/libc/nt/ws2_32/WSACreateEvent.S index cac342f45..cc8895e4e 100644 --- a/libc/nt/ws2_32/WSACreateEvent.S +++ b/libc/nt/ws2_32/WSACreateEvent.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSACreateEvent,WSACreateEvent,50 -#ifdef __x86_64__ .text.windows WSACreateEvent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_WSACreateEvent(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn WSACreateEvent,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSADuplicateSocketW.S b/libc/nt/ws2_32/WSADuplicateSocketW.S index 8bea610b5..40119ab62 100644 --- a/libc/nt/ws2_32/WSADuplicateSocketW.S +++ b/libc/nt/ws2_32/WSADuplicateSocketW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSADuplicateSocketW,WSADuplicateSocketW,59 -#ifdef __x86_64__ .text.windows WSADuplicateSocket: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSADuplicateSocketW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSADuplicateSocket,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAEnumNameSpaceProvidersExW.S b/libc/nt/ws2_32/WSAEnumNameSpaceProvidersExW.S index 0bb6aae4d..1e7d97e2a 100644 --- a/libc/nt/ws2_32/WSAEnumNameSpaceProvidersExW.S +++ b/libc/nt/ws2_32/WSAEnumNameSpaceProvidersExW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAEnumNameSpaceProvidersExW,WSAEnumNameSpaceProvidersExW,62 -#ifdef __x86_64__ .text.windows WSAEnumNameSpaceProvidersEx: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAEnumNameSpaceProvidersExW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAEnumNameSpaceProvidersEx,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAEnumNameSpaceProvidersW.S b/libc/nt/ws2_32/WSAEnumNameSpaceProvidersW.S index 093cb37fe..f0d93bd61 100644 --- a/libc/nt/ws2_32/WSAEnumNameSpaceProvidersW.S +++ b/libc/nt/ws2_32/WSAEnumNameSpaceProvidersW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAEnumNameSpaceProvidersW,WSAEnumNameSpaceProvidersW,63 -#ifdef __x86_64__ .text.windows WSAEnumNameSpaceProviders: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAEnumNameSpaceProvidersW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAEnumNameSpaceProviders,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAEnumNetworkEvents.S b/libc/nt/ws2_32/WSAEnumNetworkEvents.S index 5d2279949..83d231103 100644 --- a/libc/nt/ws2_32/WSAEnumNetworkEvents.S +++ b/libc/nt/ws2_32/WSAEnumNetworkEvents.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAEnumNetworkEvents,WSAEnumNetworkEvents,64 -#ifdef __x86_64__ .text.windows WSAEnumNetworkEvents: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAEnumNetworkEvents(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAEnumNetworkEvents,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAEnumProtocolsW.S b/libc/nt/ws2_32/WSAEnumProtocolsW.S index 6764e9cc6..173ec5c67 100644 --- a/libc/nt/ws2_32/WSAEnumProtocolsW.S +++ b/libc/nt/ws2_32/WSAEnumProtocolsW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAEnumProtocolsW,WSAEnumProtocolsW,66 -#ifdef __x86_64__ .text.windows WSAEnumProtocols: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAEnumProtocolsW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAEnumProtocols,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAEventSelect.S b/libc/nt/ws2_32/WSAEventSelect.S index 9112eb868..8c07a9fc7 100644 --- a/libc/nt/ws2_32/WSAEventSelect.S +++ b/libc/nt/ws2_32/WSAEventSelect.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAEventSelect,WSAEventSelect,67 -#ifdef __x86_64__ .text.windows WSAEventSelect: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAEventSelect(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAEventSelect,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAGetLastError.S b/libc/nt/ws2_32/WSAGetLastError.S index 6556eab15..fa50aa500 100644 --- a/libc/nt/ws2_32/WSAGetLastError.S +++ b/libc/nt/ws2_32/WSAGetLastError.S @@ -1,16 +1,18 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAGetLastError,WSAGetLastError,111 -#ifdef __x86_64__ .text.windows WSAGetLastError: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable sub $32,%rsp call *__imp_WSAGetLastError(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn WSAGetLastError,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAGetOverlappedResult.S b/libc/nt/ws2_32/WSAGetOverlappedResult.S index 730189191..a4605a220 100644 --- a/libc/nt/ws2_32/WSAGetOverlappedResult.S +++ b/libc/nt/ws2_32/WSAGetOverlappedResult.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAGetOverlappedResult,WSAGetOverlappedResult,68 -#ifdef __x86_64__ .text.windows WSAGetOverlappedResult: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAGetOverlappedResult(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAGetOverlappedResult,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAGetQOSByName.S b/libc/nt/ws2_32/WSAGetQOSByName.S index 93a2a95c0..8856483ba 100644 --- a/libc/nt/ws2_32/WSAGetQOSByName.S +++ b/libc/nt/ws2_32/WSAGetQOSByName.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAGetQOSByName,WSAGetQOSByName,69 -#ifdef __x86_64__ .text.windows WSAGetQOSByName: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAGetQOSByName(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAGetQOSByName,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAGetServiceClassInfoW.S b/libc/nt/ws2_32/WSAGetServiceClassInfoW.S index 96b287461..e2f9176c6 100644 --- a/libc/nt/ws2_32/WSAGetServiceClassInfoW.S +++ b/libc/nt/ws2_32/WSAGetServiceClassInfoW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAGetServiceClassInfoW,WSAGetServiceClassInfoW,71 -#ifdef __x86_64__ .text.windows WSAGetServiceClassInfo: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAGetServiceClassInfoW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAGetServiceClassInfo,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAGetServiceClassNameByClassIdW.S b/libc/nt/ws2_32/WSAGetServiceClassNameByClassIdW.S index bd442c4fc..ece3b3752 100644 --- a/libc/nt/ws2_32/WSAGetServiceClassNameByClassIdW.S +++ b/libc/nt/ws2_32/WSAGetServiceClassNameByClassIdW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAGetServiceClassNameByClassIdW,WSAGetServiceClassNameByClassIdW,73 -#ifdef __x86_64__ .text.windows WSAGetServiceClassNameByClassId: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAGetServiceClassNameByClassIdW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAGetServiceClassNameByClassId,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAInstallServiceClassW.S b/libc/nt/ws2_32/WSAInstallServiceClassW.S index 209bb1e4c..949cbc235 100644 --- a/libc/nt/ws2_32/WSAInstallServiceClassW.S +++ b/libc/nt/ws2_32/WSAInstallServiceClassW.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAInstallServiceClassW,WSAInstallServiceClassW,77 -#ifdef __x86_64__ .text.windows WSAInstallServiceClass: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ WSAInstallServiceClass: sub $32,%rsp call *__imp_WSAInstallServiceClassW(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn WSAInstallServiceClass,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAIoctl.S b/libc/nt/ws2_32/WSAIoctl.S index fd98655dc..a9895caaf 100644 --- a/libc/nt/ws2_32/WSAIoctl.S +++ b/libc/nt/ws2_32/WSAIoctl.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAIoctl,WSAIoctl,78 -#ifdef __x86_64__ .text.windows WSAIoctl: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAIoctl(%rip),%rax jmp __sysv2nt10 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAIoctl,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAJoinLeaf.S b/libc/nt/ws2_32/WSAJoinLeaf.S index 4d8abccbe..066372fa7 100644 --- a/libc/nt/ws2_32/WSAJoinLeaf.S +++ b/libc/nt/ws2_32/WSAJoinLeaf.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAJoinLeaf,WSAJoinLeaf,79 -#ifdef __x86_64__ .text.windows WSAJoinLeaf: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAJoinLeaf(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAJoinLeaf,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSALookupServiceBeginW.S b/libc/nt/ws2_32/WSALookupServiceBeginW.S index 6532622ce..547cb0d17 100644 --- a/libc/nt/ws2_32/WSALookupServiceBeginW.S +++ b/libc/nt/ws2_32/WSALookupServiceBeginW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSALookupServiceBeginW,WSALookupServiceBeginW,81 -#ifdef __x86_64__ .text.windows WSALookupServiceBegin: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSALookupServiceBeginW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSALookupServiceBegin,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSALookupServiceEnd.S b/libc/nt/ws2_32/WSALookupServiceEnd.S index ea7c4aa16..9f1215a63 100644 --- a/libc/nt/ws2_32/WSALookupServiceEnd.S +++ b/libc/nt/ws2_32/WSALookupServiceEnd.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSALookupServiceEnd,WSALookupServiceEnd,82 -#ifdef __x86_64__ .text.windows WSALookupServiceEnd: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ WSALookupServiceEnd: sub $32,%rsp call *__imp_WSALookupServiceEnd(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn WSALookupServiceEnd,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSALookupServiceNextW.S b/libc/nt/ws2_32/WSALookupServiceNextW.S index dc73b8ebd..9b3ec3ef7 100644 --- a/libc/nt/ws2_32/WSALookupServiceNextW.S +++ b/libc/nt/ws2_32/WSALookupServiceNextW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSALookupServiceNextW,WSALookupServiceNextW,84 -#ifdef __x86_64__ .text.windows WSALookupServiceNext: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSALookupServiceNextW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSALookupServiceNext,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSANSPIoctl.S b/libc/nt/ws2_32/WSANSPIoctl.S index cb18b9bb2..360099a44 100644 --- a/libc/nt/ws2_32/WSANSPIoctl.S +++ b/libc/nt/ws2_32/WSANSPIoctl.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSANSPIoctl,WSANSPIoctl,85 -#ifdef __x86_64__ .text.windows WSANSPIoctl: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSANSPIoctl(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSANSPIoctl,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAPoll.S b/libc/nt/ws2_32/WSAPoll.S index b15a13934..a9f8b2e33 100644 --- a/libc/nt/ws2_32/WSAPoll.S +++ b/libc/nt/ws2_32/WSAPoll.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAPoll,WSAPoll,88 -#ifdef __x86_64__ .text.windows WSAPoll: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAPoll(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAPoll,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAProviderConfigChange.S b/libc/nt/ws2_32/WSAProviderConfigChange.S index 155124b23..35fb4d628 100644 --- a/libc/nt/ws2_32/WSAProviderConfigChange.S +++ b/libc/nt/ws2_32/WSAProviderConfigChange.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAProviderConfigChange,WSAProviderConfigChange,90 -#ifdef __x86_64__ .text.windows WSAProviderConfigChange: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAProviderConfigChange(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAProviderConfigChange,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSARecv.S b/libc/nt/ws2_32/WSARecv.S index d651ce39b..5f2eb8954 100644 --- a/libc/nt/ws2_32/WSARecv.S +++ b/libc/nt/ws2_32/WSARecv.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSARecv,WSARecv,91 -#ifdef __x86_64__ .text.windows __WSARecv: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSARecv(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __WSARecv,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSARecvDisconnect.S b/libc/nt/ws2_32/WSARecvDisconnect.S index 029014db0..02c08986e 100644 --- a/libc/nt/ws2_32/WSARecvDisconnect.S +++ b/libc/nt/ws2_32/WSARecvDisconnect.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSARecvDisconnect,WSARecvDisconnect,92 -#ifdef __x86_64__ .text.windows WSARecvDisconnect: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSARecvDisconnect(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSARecvDisconnect,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSARecvFrom.S b/libc/nt/ws2_32/WSARecvFrom.S index 293009095..7762588f6 100644 --- a/libc/nt/ws2_32/WSARecvFrom.S +++ b/libc/nt/ws2_32/WSARecvFrom.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSARecvFrom,WSARecvFrom,93 -#ifdef __x86_64__ .text.windows __WSARecvFrom: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSARecvFrom(%rip),%rax jmp __sysv2nt10 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __WSARecvFrom,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSARemoveServiceClass.S b/libc/nt/ws2_32/WSARemoveServiceClass.S index 519583378..c98548798 100644 --- a/libc/nt/ws2_32/WSARemoveServiceClass.S +++ b/libc/nt/ws2_32/WSARemoveServiceClass.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSARemoveServiceClass,WSARemoveServiceClass,94 -#ifdef __x86_64__ .text.windows WSARemoveServiceClass: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ WSARemoveServiceClass: sub $32,%rsp call *__imp_WSARemoveServiceClass(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn WSARemoveServiceClass,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAResetEvent.S b/libc/nt/ws2_32/WSAResetEvent.S index 2d77251cd..3ae4c7006 100644 --- a/libc/nt/ws2_32/WSAResetEvent.S +++ b/libc/nt/ws2_32/WSAResetEvent.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAResetEvent,WSAResetEvent,95 -#ifdef __x86_64__ .text.windows WSAResetEvent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ WSAResetEvent: sub $32,%rsp call *__imp_WSAResetEvent(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn WSAResetEvent,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSASend.S b/libc/nt/ws2_32/WSASend.S index 7d1f7bb83..158a0d41a 100644 --- a/libc/nt/ws2_32/WSASend.S +++ b/libc/nt/ws2_32/WSASend.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSASend,WSASend,96 -#ifdef __x86_64__ .text.windows WSASend: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSASend(%rip),%rax jmp __sysv2nt8 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSASend,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSASendDisconnect.S b/libc/nt/ws2_32/WSASendDisconnect.S index 7dde97efd..1876156cd 100644 --- a/libc/nt/ws2_32/WSASendDisconnect.S +++ b/libc/nt/ws2_32/WSASendDisconnect.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSASendDisconnect,WSASendDisconnect,97 -#ifdef __x86_64__ .text.windows WSASendDisconnect: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSASendDisconnect(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSASendDisconnect,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSASendMsg.S b/libc/nt/ws2_32/WSASendMsg.S index 04c7b2e23..2c03815e0 100644 --- a/libc/nt/ws2_32/WSASendMsg.S +++ b/libc/nt/ws2_32/WSASendMsg.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSASendMsg,WSASendMsg,98 -#ifdef __x86_64__ .text.windows WSASendMsg: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSASendMsg(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSASendMsg,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSASendTo.S b/libc/nt/ws2_32/WSASendTo.S index 68b821d64..a278c88c6 100644 --- a/libc/nt/ws2_32/WSASendTo.S +++ b/libc/nt/ws2_32/WSASendTo.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSASendTo,WSASendTo,99 -#ifdef __x86_64__ .text.windows WSASendTo: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSASendTo(%rip),%rax jmp __sysv2nt10 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSASendTo,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSASetEvent.S b/libc/nt/ws2_32/WSASetEvent.S index a4c1018b0..8b849f2a2 100644 --- a/libc/nt/ws2_32/WSASetEvent.S +++ b/libc/nt/ws2_32/WSASetEvent.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSASetEvent,WSASetEvent,100 -#ifdef __x86_64__ .text.windows WSASetEvent: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ WSASetEvent: sub $32,%rsp call *__imp_WSASetEvent(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn WSASetEvent,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSASetLastError.S b/libc/nt/ws2_32/WSASetLastError.S index 38747b285..541b5daf7 100644 --- a/libc/nt/ws2_32/WSASetLastError.S +++ b/libc/nt/ws2_32/WSASetLastError.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSASetLastError,WSASetLastError,112 -#ifdef __x86_64__ .text.windows WSASetLastError: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ WSASetLastError: sub $32,%rsp call *__imp_WSASetLastError(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn WSASetLastError,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSASetServiceW.S b/libc/nt/ws2_32/WSASetServiceW.S index d4a2ebe63..d02e997e9 100644 --- a/libc/nt/ws2_32/WSASetServiceW.S +++ b/libc/nt/ws2_32/WSASetServiceW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSASetServiceW,WSASetServiceW,118 -#ifdef __x86_64__ .text.windows WSASetService: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSASetServiceW(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSASetService,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSASocketW.S b/libc/nt/ws2_32/WSASocketW.S index 29a4bdbef..3e97660dc 100644 --- a/libc/nt/ws2_32/WSASocketW.S +++ b/libc/nt/ws2_32/WSASocketW.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSASocketW,WSASocketW,120 -#ifdef __x86_64__ .text.windows WSASocket: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSASocketW(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSASocket,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAStartup.S b/libc/nt/ws2_32/WSAStartup.S index 230a79a1f..7c0a600a7 100644 --- a/libc/nt/ws2_32/WSAStartup.S +++ b/libc/nt/ws2_32/WSAStartup.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAStartup,WSAStartup,115 -#ifdef __x86_64__ .text.windows WSAStartup: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAStartup(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn WSAStartup,globl .previous -#endif diff --git a/libc/nt/ws2_32/WSAWaitForMultipleEvents.S b/libc/nt/ws2_32/WSAWaitForMultipleEvents.S index 5651fd86a..9c671bc90 100644 --- a/libc/nt/ws2_32/WSAWaitForMultipleEvents.S +++ b/libc/nt/ws2_32/WSAWaitForMultipleEvents.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_WSAWaitForMultipleEvents,WSAWaitForMultipleEvents,124 -#ifdef __x86_64__ .text.windows __WSAWaitForMultipleEvents: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_WSAWaitForMultipleEvents(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __WSAWaitForMultipleEvents,globl .previous -#endif diff --git a/libc/nt/ws2_32/accept.S b/libc/nt/ws2_32/accept.S index 8edb39f9b..829574ae0 100644 --- a/libc/nt/ws2_32/accept.S +++ b/libc/nt/ws2_32/accept.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_accept,accept,1 -#ifdef __x86_64__ .text.windows __sys_accept_nt: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_accept(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __sys_accept_nt,globl .previous -#endif diff --git a/libc/nt/ws2_32/bind.S b/libc/nt/ws2_32/bind.S index c73e12013..841b96b81 100644 --- a/libc/nt/ws2_32/bind.S +++ b/libc/nt/ws2_32/bind.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_bind,bind,2 -#ifdef __x86_64__ .text.windows __sys_bind_nt: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_bind(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __sys_bind_nt,globl .previous -#endif diff --git a/libc/nt/ws2_32/closesocket.S b/libc/nt/ws2_32/closesocket.S index 47c4d23a2..405512c10 100644 --- a/libc/nt/ws2_32/closesocket.S +++ b/libc/nt/ws2_32/closesocket.S @@ -1,9 +1,9 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_closesocket,closesocket,3 -#ifdef __x86_64__ .text.windows __sys_closesocket_nt: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable @@ -11,7 +11,9 @@ __sys_closesocket_nt: sub $32,%rsp call *__imp_closesocket(%rip) leave +#elif defined(__aarch64__) + mov x0,#0 +#endif ret .endfn __sys_closesocket_nt,globl .previous -#endif diff --git a/libc/nt/ws2_32/getpeername.S b/libc/nt/ws2_32/getpeername.S index 615423c3b..41ef2455d 100644 --- a/libc/nt/ws2_32/getpeername.S +++ b/libc/nt/ws2_32/getpeername.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_getpeername,getpeername,5 -#ifdef __x86_64__ .text.windows __sys_getpeername_nt: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_getpeername(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __sys_getpeername_nt,globl .previous -#endif diff --git a/libc/nt/ws2_32/getsockname.S b/libc/nt/ws2_32/getsockname.S index 63f81b7ac..1f29c8194 100644 --- a/libc/nt/ws2_32/getsockname.S +++ b/libc/nt/ws2_32/getsockname.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_getsockname,getsockname,6 -#ifdef __x86_64__ .text.windows __sys_getsockname_nt: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_getsockname(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __sys_getsockname_nt,globl .previous -#endif diff --git a/libc/nt/ws2_32/getsockopt.S b/libc/nt/ws2_32/getsockopt.S index 7c2af7d8c..8b7dca234 100644 --- a/libc/nt/ws2_32/getsockopt.S +++ b/libc/nt/ws2_32/getsockopt.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_getsockopt,getsockopt,7 -#ifdef __x86_64__ .text.windows __sys_getsockopt_nt: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_getsockopt(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __sys_getsockopt_nt,globl .previous -#endif diff --git a/libc/nt/ws2_32/ioctlsocket.S b/libc/nt/ws2_32/ioctlsocket.S index 1fd70f122..1071fb893 100644 --- a/libc/nt/ws2_32/ioctlsocket.S +++ b/libc/nt/ws2_32/ioctlsocket.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_ioctlsocket,ioctlsocket,10 -#ifdef __x86_64__ .text.windows __sys_ioctlsocket_nt: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_ioctlsocket(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __sys_ioctlsocket_nt,globl .previous -#endif diff --git a/libc/nt/ws2_32/listen.S b/libc/nt/ws2_32/listen.S index f9c9bb608..6da0081c8 100644 --- a/libc/nt/ws2_32/listen.S +++ b/libc/nt/ws2_32/listen.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_listen,listen,13 -#ifdef __x86_64__ .text.windows __sys_listen_nt: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_listen(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __sys_listen_nt,globl .previous -#endif diff --git a/libc/nt/ws2_32/recv.S b/libc/nt/ws2_32/recv.S index 9fd0d175c..ed9d09524 100644 --- a/libc/nt/ws2_32/recv.S +++ b/libc/nt/ws2_32/recv.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_recv,recv,16 -#ifdef __x86_64__ .text.windows __sys_recv_nt: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_recv(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __sys_recv_nt,globl .previous -#endif diff --git a/libc/nt/ws2_32/recvfrom.S b/libc/nt/ws2_32/recvfrom.S index 51a725741..0292c4f0e 100644 --- a/libc/nt/ws2_32/recvfrom.S +++ b/libc/nt/ws2_32/recvfrom.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_recvfrom,recvfrom,17 -#ifdef __x86_64__ .text.windows __sys_recvfrom_nt: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_recvfrom(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __sys_recvfrom_nt,globl .previous -#endif diff --git a/libc/nt/ws2_32/select.S b/libc/nt/ws2_32/select.S index bfecec903..4fc140bdd 100644 --- a/libc/nt/ws2_32/select.S +++ b/libc/nt/ws2_32/select.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_select,select,18 -#ifdef __x86_64__ .text.windows __sys_select_nt: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_select(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __sys_select_nt,globl .previous -#endif diff --git a/libc/nt/ws2_32/send.S b/libc/nt/ws2_32/send.S index 89122a539..611571541 100644 --- a/libc/nt/ws2_32/send.S +++ b/libc/nt/ws2_32/send.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_send,send,19 -#ifdef __x86_64__ .text.windows __sys_send_nt: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_send(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __sys_send_nt,globl .previous -#endif diff --git a/libc/nt/ws2_32/sendto.S b/libc/nt/ws2_32/sendto.S index 85ac2ab9f..1db62a961 100644 --- a/libc/nt/ws2_32/sendto.S +++ b/libc/nt/ws2_32/sendto.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_sendto,sendto,20 -#ifdef __x86_64__ .text.windows __sys_sendto_nt: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_sendto(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __sys_sendto_nt,globl .previous -#endif diff --git a/libc/nt/ws2_32/setsockopt.S b/libc/nt/ws2_32/setsockopt.S index ff567cb93..0249d76a9 100644 --- a/libc/nt/ws2_32/setsockopt.S +++ b/libc/nt/ws2_32/setsockopt.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_setsockopt,setsockopt,21 -#ifdef __x86_64__ .text.windows __sys_setsockopt_nt: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_setsockopt(%rip),%rax jmp __sysv2nt6 +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __sys_setsockopt_nt,globl .previous -#endif diff --git a/libc/nt/ws2_32/shutdown.S b/libc/nt/ws2_32/shutdown.S index 10d764c85..4b5e119ad 100644 --- a/libc/nt/ws2_32/shutdown.S +++ b/libc/nt/ws2_32/shutdown.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_shutdown,shutdown,22 -#ifdef __x86_64__ .text.windows __sys_shutdown_nt: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_shutdown(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __sys_shutdown_nt,globl .previous -#endif diff --git a/libc/nt/ws2_32/socket.S b/libc/nt/ws2_32/socket.S index bb559b927..971d090d4 100644 --- a/libc/nt/ws2_32/socket.S +++ b/libc/nt/ws2_32/socket.S @@ -1,14 +1,17 @@ #include "libc/nt/codegen.h" .imp ws2_32,__imp_socket,socket,23 -#ifdef __x86_64__ .text.windows __sys_socket_nt: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp .profilable mov __imp_socket(%rip),%rax jmp __sysv2nt +#elif defined(__aarch64__) + mov x0,#0 + ret +#endif .endfn __sys_socket_nt,globl .previous -#endif diff --git a/libc/runtime/__sigsetjmp_tail.c b/libc/runtime/__sigsetjmp_tail.c index e6b0aec3b..c3d8f5f61 100644 --- a/libc/runtime/__sigsetjmp_tail.c +++ b/libc/runtime/__sigsetjmp_tail.c @@ -20,6 +20,7 @@ #include "libc/calls/struct/sigset.h" #include "libc/runtime/runtime.h" #include "libc/sysv/consts/sig.h" +#ifdef __x86_64__ // kudos rich felker for the brilliant design _Hide int __sigsetjmp_tail(sigjmp_buf jb, int rc) { @@ -30,3 +31,5 @@ _Hide int __sigsetjmp_tail(sigjmp_buf jb, int rc) { _npassert(!sigprocmask(SIG_SETMASK, rc ? p : 0, rc ? 0 : p)); return rc; } + +#endif /* __x86_64__ */ diff --git a/libc/runtime/clone-linux.S b/libc/runtime/clone-linux.S index d804964d2..1582c101e 100644 --- a/libc/runtime/clone-linux.S +++ b/libc/runtime/clone-linux.S @@ -21,37 +21,55 @@ // Invokes clone() system call on GNU/Systemd. // -// @param rdi is flags -// @param rsi is top of stack -// @param rdx is ptid -// @param rcx is ctid -// @param r8 is tls -// @param r9 is func(void*,int)→int -// @param 8(rsp) is arg +// @param rdi x0 is flags +// @param rsi x1 is top of stack +// @param rdx x2 is ptid +// @param rcx x3 is ctid +// @param r8 x4 is tls +// @param r9 x5 is func(void*,int)→int +// @param 8(rsp) x6 is arg // @return tid of child on success, or -errno on error sys_clone_linux: +#ifdef __x86_64__ push %rbp mov %rsp,%rbp push %rbx mov %rcx,%r10 mov 16(%rbp),%rbx - mov $56,%eax # __NR_clone + mov $56,%eax // __NR_clone syscall test %rax,%rax jz 2f 0: pop %rbx pop %rbp ret -2: xor %ebp,%ebp # child thread - mov %rbx,%rdi # arg - mov %r10,%r15 # experiment - mov (%r10),%esi # tid - call *%r9 # func(arg,tid) - xchg %eax,%edi # func(arg,tid) → exitcode - mov (%r15),%eax # experiment - test %eax,%eax # experiment - jz 1f # experiment - mov $60,%eax # __NR_exit(exitcode) +2: xor %ebp,%ebp // child thread + mov %rbx,%rdi // arg + mov %r10,%r15 // experiment + mov (%r10),%esi // tid + call *%r9 // func(arg,tid) + xchg %eax,%edi // func(arg,tid) → exitcode + mov (%r15),%eax // experiment + test %eax,%eax // experiment + jz 1f // experiment + mov $60,%eax // __NR_exit(exitcode) syscall -1: hlt # ctid was corrupted by program! +1: hlt // ctid was corrupted by program! +#elif defined(__aarch64__) + and x1,x1,#-16 // align stack + stp x5,x6,[x1,#-16]! // save func and arg + mov x8,x3 // swap x3 and x4 + mov x3,x4 // swap x3 and x4 + mov x4,x8 // swap x3 and x4 + mov x8,#220 // __NR_clone + svc #0 + cbz x0,2f + ret +2: ldp x1,x0,[sp],#16 // child thread + blr x1 + mov x8,#93 // __NR_exit + svc #0 +#else +#error "unsupported architecture" +#endif .endfn sys_clone_linux,globl,hidden diff --git a/libc/runtime/clone.c b/libc/runtime/clone.c index 8709ffeae..76045c25a 100644 --- a/libc/runtime/clone.c +++ b/libc/runtime/clone.c @@ -49,6 +49,8 @@ #include "libc/thread/tls2.h" #include "libc/thread/xnu.internal.h" +#ifdef __x86_64__ + #define __NR_thr_new 455 #define __NR_clone_linux 56 #define __NR__lwp_create 309 @@ -425,6 +427,8 @@ static int CloneNetbsd(int (*func)(void *, int), char *stk, size_t stksz, } } +#endif /* __x86_64__ */ + //////////////////////////////////////////////////////////////////////////////// // GNU/SYSTEMD @@ -594,6 +598,7 @@ errno_t clone(void *func, void *stk, size_t stksz, int flags, void *arg, CLONE_SIGHAND)) { STRACE("clone flag unsupported on this platform"); rc = EINVAL; +#ifdef __x86_64__ } else if (IsXnu()) { rc = CloneXnu(func, stk, stksz, flags, arg, tls, ptid, ctid); } else if (IsFreebsd()) { @@ -604,6 +609,7 @@ errno_t clone(void *func, void *stk, size_t stksz, int flags, void *arg, rc = CloneOpenbsd(func, stk, stksz, flags, arg, tls, ptid, ctid); } else if (IsWindows()) { rc = CloneWindows(func, stk, stksz, flags, arg, tls, ptid, ctid); +#endif /* __x86_64__ */ } else { rc = ENOSYS; } diff --git a/libc/runtime/cosmo.S b/libc/runtime/cosmo.S index 654ad7c07..3c12cd170 100644 --- a/libc/runtime/cosmo.S +++ b/libc/runtime/cosmo.S @@ -23,6 +23,7 @@ #include "libc/intrin/strace.internal.h" #include "libc/sysv/consts/map.h" #include "libc/dce.h" +#ifdef __x86_64__ .text.startup // Cosmopolitan runtime. @@ -215,3 +216,5 @@ cosmo: push %rbp 1: .init.end 307,_init_printargs #endif #endif + +#endif /* __x86_64__ */ diff --git a/libc/aarch64/start.c b/libc/runtime/cosmo2.c similarity index 84% rename from libc/aarch64/start.c rename to libc/runtime/cosmo2.c index 1f822d00e..c2983dc13 100644 --- a/libc/aarch64/start.c +++ b/libc/runtime/cosmo2.c @@ -17,27 +17,24 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/runtime/runtime.h" +#ifndef __x86_64__ -int main(int, char **, char **); - -int __argc; -char **__argv; -char **__envp; -char **environ; +int main(int, char **, char **) __attribute__((__weak__)); +#if 0 static inline long sys_set_tid_address(int *t) { - register int64_t __r0 asm("x0") = (int64_t)t; - register int64_t __res_x0 asm("x0"); - int64_t __res; + register long res asm("x0"); + register long arg asm("x0") = (long)t; asm volatile("mov\tx8,%1\n\t" - "svc\t0x0\n" - : "=r"(__res_x0) - : "i"(96), "r"(__r0) + "svc\t0" + : "=r"(res) + : "i"(96), "r"(arg) : "x8", "memory"); - return __res_x0; + return res; } +#endif -void _start_c(long *sp) { +void cosmo(long *sp) { int argc; char **argv, **envp; unsigned long *auxv; @@ -50,7 +47,13 @@ void _start_c(long *sp) { break; } } + __argc = argc; + __argv = argv; + __envp = envp; __auxv = auxv; environ = envp; + if (argc) program_invocation_name = argv[0]; exit(main(argc, argv, envp)); } + +#endif /* __aarch64__ */ diff --git a/libc/runtime/efimain.greg.c b/libc/runtime/efimain.greg.c index 1ceb6b900..547b24777 100644 --- a/libc/runtime/efimain.greg.c +++ b/libc/runtime/efimain.greg.c @@ -31,6 +31,8 @@ #include "libc/runtime/runtime.h" #include "libc/str/str.h" +#ifdef __x86_64__ + /* TODO: Why can't we change CR3? Could it really need PML5T? */ /* TODO: Why does QEMU in UEFI mode take ten seconds to boot? */ @@ -257,3 +259,5 @@ __msabi noasan EFI_STATUS EfiMain(EFI_HANDLE ImageHandle, _EfiPostboot(mm, pml4t, Args, ArgBlock->Args); unreachable; } + +#endif /* __x86_64__ */ diff --git a/libc/runtime/fork-nt.c b/libc/runtime/fork-nt.c index 409ba38a0..9f09022fb 100644 --- a/libc/runtime/fork-nt.c +++ b/libc/runtime/fork-nt.c @@ -58,6 +58,8 @@ #include "libc/sysv/errfuns.h" #include "libc/thread/tls.h" +#ifdef __x86_64__ + STATIC_YOINK("_check_sigchld"); extern int64_t __wincrashearly; @@ -361,3 +363,5 @@ textwindows int sys_fork_nt(uint32_t dwCreationFlags) { } return rc; } + +#endif /* __x86_64__ */ diff --git a/libc/runtime/ftrace-hook.S b/libc/runtime/ftrace-hook.S index b4d7f2885..718d4b2d8 100644 --- a/libc/runtime/ftrace-hook.S +++ b/libc/runtime/ftrace-hook.S @@ -20,6 +20,8 @@ .privileged ftrace_hook: +#ifdef __x86_64__ + cmp $0,__ftrace(%rip) jg 1f ret @@ -65,5 +67,43 @@ ftrace_hook: movaps 0x60(%rsp),%xmm6 movaps 0x70(%rsp),%xmm7 leave + +#elif defined(__aarch64__) + + stp x0,x1,[sp,#-16]! + stp x2,x3,[sp,#-16]! + stp x4,x5,[sp,#-16]! + stp x6,x7,[sp,#-16]! + stp x8,x9,[sp,#-16]! + stp x10,x11,[sp,#-16]! + stp x12,x13,[sp,#-16]! + stp x14,x15,[sp,#-16]! + stp x16,x17,[sp,#-16]! + stp x18,x19,[sp,#-16]! + stp x20,x21,[sp,#-16]! + stp x22,x23,[sp,#-16]! + stp x24,x25,[sp,#-16]! + stp x26,x27,[sp,#-16]! + stp x28,x29,[sp,#-16]! + str x30,[sp,#-16]! + bl ftracer + ldr x30,[sp,#16]! + ldp x28,x29,[sp,#16]! + ldp x26,x27,[sp,#16]! + ldp x24,x25,[sp,#16]! + ldp x22,x23,[sp,#16]! + ldp x20,x21,[sp,#16]! + ldp x18,x19,[sp,#16]! + ldp x16,x17,[sp,#16]! + ldp x14,x15,[sp,#16]! + ldp x12,x13,[sp,#16]! + ldp x10,x11,[sp,#16]! + ldp x8,x9,[sp,#16]! + ldp x6,x7,[sp,#16]! + ldp x4,x5,[sp,#16]! + ldp x2,x3,[sp,#16]! + ldp x0,x1,[sp,#16]! + +#endif /* __x86_64__ */ ret .endfn ftrace_hook,globl diff --git a/libc/runtime/ftracer.c b/libc/runtime/ftracer.c index af569e6d4..b8132437f 100644 --- a/libc/runtime/ftracer.c +++ b/libc/runtime/ftracer.c @@ -25,6 +25,7 @@ #include "libc/macros.internal.h" #include "libc/nexgen32e/stackframe.h" #include "libc/runtime/internal.h" +#include "libc/runtime/runtime.h" #include "libc/runtime/stack.h" #include "libc/runtime/symbols.internal.h" #include "libc/thread/tls.h" @@ -75,6 +76,7 @@ privileged void ftracer(void) { struct CosmoTib *tib; struct StackFrame *sf; struct CosmoFtrace *ft; + if (__ftrace <= 0) return; if (__tls_enabled) { tib = __get_tls_privileged(); if (tib->tib_ftrace <= 0) return; diff --git a/libc/runtime/metalprintf.greg.c b/libc/runtime/metalprintf.greg.c index e49073856..b14878bd2 100644 --- a/libc/runtime/metalprintf.greg.c +++ b/libc/runtime/metalprintf.greg.c @@ -20,6 +20,8 @@ #include "libc/runtime/pc.internal.h" #include "libc/runtime/runtime.h" +#ifdef __x86_64__ + #define PUTC(C) \ do { \ while (!(inb(0x3F8 + UART_LSR) & UART_TTYTXR)) { \ @@ -78,3 +80,5 @@ _Hide textreal void(MetalPrintf)(const char *fmt, ...) { } } } + +#endif /* __x86_64__ */ diff --git a/libc/runtime/printargs.c b/libc/runtime/printargs.c index d42664377..4123e771c 100644 --- a/libc/runtime/printargs.c +++ b/libc/runtime/printargs.c @@ -63,6 +63,8 @@ #include "tool/decode/lib/idname.h" #include "tool/decode/lib/x86idnames.h" +#ifdef __x86_64__ + STATIC_YOINK("strerror"); // for kprintf() STATIC_YOINK("strsignal"); // for kprintf() @@ -711,3 +713,5 @@ textstartup void __printargs(const char *prologue) { ftrace_enabled(+1); errno = e; } + +#endif /* __x86_64__ */ diff --git a/libc/runtime/runtime.mk b/libc/runtime/runtime.mk index 8aa9b33ab..b031352a8 100644 --- a/libc/runtime/runtime.mk +++ b/libc/runtime/runtime.mk @@ -113,6 +113,14 @@ o//libc/runtime/opensymboltable.greg.o: private \ OVERRIDE_CFLAGS += \ -Os +# these assembly files are safe to build on aarch64 +o/$(MODE)/libc/runtime/vfork.o: libc/runtime/vfork.S + @$(COMPILE) -AOBJECTIFY.S $(OBJECTIFY.S) $(OUTPUT_OPTION) -c $< +o/$(MODE)/libc/runtime/clone-linux.o: libc/runtime/clone-linux.S + @$(COMPILE) -AOBJECTIFY.S $(OBJECTIFY.S) $(OUTPUT_OPTION) -c $< +o/$(MODE)/libc/runtime/ftrace-hook.o: libc/runtime/ftrace-hook.S + @$(COMPILE) -AOBJECTIFY.S $(OBJECTIFY.S) $(OUTPUT_OPTION) -c $< + LIBC_RUNTIME_LIBS = $(foreach x,$(LIBC_RUNTIME_ARTIFACTS),$($(x))) LIBC_RUNTIME_SRCS = $(foreach x,$(LIBC_RUNTIME_ARTIFACTS),$($(x)_SRCS)) LIBC_RUNTIME_HDRS = $(foreach x,$(LIBC_RUNTIME_ARTIFACTS),$($(x)_HDRS)) diff --git a/libc/runtime/vfork.S b/libc/runtime/vfork.S index c6febc9a1..342673c23 100644 --- a/libc/runtime/vfork.S +++ b/libc/runtime/vfork.S @@ -53,6 +53,9 @@ // @threadsafe // @vforksafe vfork: + +#ifdef __x86_64__ + #if !IsTiny() push %rbp mov %rsp,%rbp @@ -124,6 +127,19 @@ vfork: pop %r9 pop %rbp jmp 1b +#endif + +#elif defined(__aarch64__) + + mov x8,#220 // __NR_clone + mov x0,#0x4111 // SIGCHLD | CLONE_VM | CLONE_VFORK + mov x1,#0 + svc 0 + .hidden _sysret + b _sysret + +#else +#error "architecture unsupported" #endif .endfn vfork,globl diff --git a/libc/runtime/winmain.greg.c b/libc/runtime/winmain.greg.c index 91df13ba1..0eb9ef288 100644 --- a/libc/runtime/winmain.greg.c +++ b/libc/runtime/winmain.greg.c @@ -41,6 +41,8 @@ #include "libc/runtime/winargs.internal.h" #include "libc/sock/internal.h" +#ifdef __x86_64__ + #if IsTiny() __msabi extern typeof(CreateFileMapping) *const __imp_CreateFileMappingW; __msabi extern typeof(MapViewOfFileEx) *const __imp_MapViewOfFileEx; @@ -245,3 +247,5 @@ __msabi textwindows int64_t WinMain(int64_t hInstance, int64_t hPrevInstance, if (_weaken(WinMainForked)) _weaken(WinMainForked)(); WinMainNew(cmdline); } + +#endif /* __x86_64__ */ diff --git a/libc/stubs/abort.S b/libc/stubs/abort.S index b100e2d8f..891191941 100644 --- a/libc/stubs/abort.S +++ b/libc/stubs/abort.S @@ -18,13 +18,16 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "ape/macros.internal.h" .real -.code16 # ∩ .code32 ∩ .code64 // Most basic tier of program self-termination. // // @mode long,legacy,real -abort: push %bp - mov %sp,%bp - rlcall __panic - int3 +abort: +#ifdef __x86_64__ + ud2 +#elif defined(__aarch64__) + brk #1000 +#else +#error "architecture unsupported" +#endif .endfn abort,weak diff --git a/libc/stubs/stubs.mk b/libc/stubs/stubs.mk index 1f3e89167..c4dee61b1 100644 --- a/libc/stubs/stubs.mk +++ b/libc/stubs/stubs.mk @@ -45,6 +45,8 @@ $(LIBC_STUBS_A).pkg: \ # these assembly files are safe to build on aarch64 o/$(MODE)/libc/stubs/ld.o: libc/stubs/ld.S @$(COMPILE) -AOBJECTIFY.S $(OBJECTIFY.S) $(OUTPUT_OPTION) -c $< +o/$(MODE)/libc/stubs/abort.o: libc/stubs/abort.S + @$(COMPILE) -AOBJECTIFY.S $(OBJECTIFY.S) $(OUTPUT_OPTION) -c $< LIBC_STUBS_LIBS = $(foreach x,$(LIBC_STUBS_ARTIFACTS),$($(x))) LIBC_STUBS_SRCS = $(foreach x,$(LIBC_STUBS_ARTIFACTS),$($(x)_SRCS)) diff --git a/libc/sysv/calls/__bsd_setegid.S b/libc/sysv/calls/__bsd_setegid.S index bcbe3900a..95b416e23 100644 --- a/libc/sysv/calls/__bsd_setegid.S +++ b/libc/sysv/calls/__bsd_setegid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __bsd_setegid,0xfff0b60b620b6fff,globl,hidden +.scall __bsd_setegid,0xfff0b60b620b6fff,0xfff,globl,hidden diff --git a/libc/sysv/calls/__bsd_seteuid.S b/libc/sysv/calls/__bsd_seteuid.S index 757eda50c..53760cfd8 100644 --- a/libc/sysv/calls/__bsd_seteuid.S +++ b/libc/sysv/calls/__bsd_seteuid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __bsd_seteuid,0xfff0b70b720b7fff,globl,hidden +.scall __bsd_seteuid,0xfff0b70b720b7fff,0xfff,globl,hidden diff --git a/libc/sysv/calls/__sys_accept.S b/libc/sysv/calls/__sys_accept.S index 67857b91b..3adac84e1 100644 --- a/libc/sysv/calls/__sys_accept.S +++ b/libc/sysv/calls/__sys_accept.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_accept,0x81e81ea1d281e82b,globl,hidden +.scall __sys_accept,0x81e81ea1d281e82b,0x0ca,globl,hidden diff --git a/libc/sysv/calls/__sys_accept4.S b/libc/sysv/calls/__sys_accept4.S index 914e2b90e..9a5ff1cc8 100644 --- a/libc/sysv/calls/__sys_accept4.S +++ b/libc/sysv/calls/__sys_accept4.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_accept4,0xfff85da1dffff920,globl,hidden +.scall __sys_accept4,0xfff85da1dffff920,0x0f2,globl,hidden diff --git a/libc/sysv/calls/__sys_bind.S b/libc/sysv/calls/__sys_bind.S index 748bade81..c04a37706 100644 --- a/libc/sysv/calls/__sys_bind.S +++ b/libc/sysv/calls/__sys_bind.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_bind,0x0680680682068031,globl,hidden +.scall __sys_bind,0x0680680682068031,0x0c8,globl,hidden diff --git a/libc/sysv/calls/__sys_clock_nanosleep.S b/libc/sysv/calls/__sys_clock_nanosleep.S index 2d2dd2497..73b9cc406 100644 --- a/libc/sysv/calls/__sys_clock_nanosleep.S +++ b/libc/sysv/calls/__sys_clock_nanosleep.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_clock_nanosleep,0x9ddfff8f4ffff8e6,globl,hidden +.scall __sys_clock_nanosleep,0x9ddfff8f4ffff8e6,0x073,globl,hidden diff --git a/libc/sysv/calls/__sys_connect.S b/libc/sysv/calls/__sys_connect.S index b72182f6c..115770fa2 100644 --- a/libc/sysv/calls/__sys_connect.S +++ b/libc/sysv/calls/__sys_connect.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_connect,0x862862862286282a,globl,hidden +.scall __sys_connect,0x862862862286282a,0x0cb,globl,hidden diff --git a/libc/sysv/calls/__sys_dup3.S b/libc/sysv/calls/__sys_dup3.S index 06fb8d61a..d2ae60b7a 100644 --- a/libc/sysv/calls/__sys_dup3.S +++ b/libc/sysv/calls/__sys_dup3.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_dup3,0x1c6066fffffff124,globl,hidden +.scall __sys_dup3,0x1c6066fffffff124,0x018,globl,hidden diff --git a/libc/sysv/calls/__sys_execve.S b/libc/sysv/calls/__sys_execve.S index 7209daca0..e92435b1e 100644 --- a/libc/sysv/calls/__sys_execve.S +++ b/libc/sysv/calls/__sys_execve.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_execve,0x03b03b03b203b03b,globl,hidden +.scall __sys_execve,0x03b03b03b203b03b,0x0dd,globl,hidden diff --git a/libc/sysv/calls/__sys_fcntl.S b/libc/sysv/calls/__sys_fcntl.S index 1cca8e7a4..b84727881 100644 --- a/libc/sysv/calls/__sys_fcntl.S +++ b/libc/sysv/calls/__sys_fcntl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_fcntl,0x05c05c05c205c048,globl,hidden +.scall __sys_fcntl,0x05c05c05c205c048,0x019,globl,hidden diff --git a/libc/sysv/calls/__sys_fcntl_cp.S b/libc/sysv/calls/__sys_fcntl_cp.S index ef1263a26..3c97ea209 100644 --- a/libc/sysv/calls/__sys_fcntl_cp.S +++ b/libc/sysv/calls/__sys_fcntl_cp.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_fcntl_cp,0x85c85c85c285c848,globl,hidden +.scall __sys_fcntl_cp,0x85c85c85c285c848,0x019,globl,hidden diff --git a/libc/sysv/calls/__sys_fork.S b/libc/sysv/calls/__sys_fork.S index d9da8200e..1543bda2b 100644 --- a/libc/sysv/calls/__sys_fork.S +++ b/libc/sysv/calls/__sys_fork.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_fork,0x0020020022002039,globl,hidden +.scall __sys_fork,0x0020020022002039,0xfff,globl,hidden diff --git a/libc/sysv/calls/__sys_fstat.S b/libc/sysv/calls/__sys_fstat.S index ac5a04393..f9ccb3ac5 100644 --- a/libc/sysv/calls/__sys_fstat.S +++ b/libc/sysv/calls/__sys_fstat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_fstat,0x1b80352272153005,globl,hidden +.scall __sys_fstat,0x1b80352272153005,0x050,globl,hidden diff --git a/libc/sysv/calls/__sys_fstatat.S b/libc/sysv/calls/__sys_fstatat.S index e1b4f1f2e..3e88acc0c 100644 --- a/libc/sysv/calls/__sys_fstatat.S +++ b/libc/sysv/calls/__sys_fstatat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_fstatat,0x1d202a22821d6106,globl,hidden +.scall __sys_fstatat,0x1d202a22821d6106,0x04f,globl,hidden diff --git a/libc/sysv/calls/__sys_getpeername.S b/libc/sysv/calls/__sys_getpeername.S index 37006127f..6124d0ba1 100644 --- a/libc/sysv/calls/__sys_getpeername.S +++ b/libc/sysv/calls/__sys_getpeername.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_getpeername,0x01f01f08d201f034,globl,hidden +.scall __sys_getpeername,0x01f01f08d201f034,0x0cd,globl,hidden diff --git a/libc/sysv/calls/__sys_getrusage.S b/libc/sysv/calls/__sys_getrusage.S index b52a5076d..7a7eb0e13 100644 --- a/libc/sysv/calls/__sys_getrusage.S +++ b/libc/sysv/calls/__sys_getrusage.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_getrusage,0x1bd0130752075062,globl,hidden +.scall __sys_getrusage,0x1bd0130752075062,0x0a5,globl,hidden diff --git a/libc/sysv/calls/__sys_getsockname.S b/libc/sysv/calls/__sys_getsockname.S index c8b8df46f..82b3be694 100644 --- a/libc/sysv/calls/__sys_getsockname.S +++ b/libc/sysv/calls/__sys_getsockname.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_getsockname,0x0200200202020033,globl,hidden +.scall __sys_getsockname,0x0200200202020033,0x0cc,globl,hidden diff --git a/libc/sysv/calls/__sys_gettid.S b/libc/sysv/calls/__sys_gettid.S index 221b61f17..0d31f7b0f 100644 --- a/libc/sysv/calls/__sys_gettid.S +++ b/libc/sysv/calls/__sys_gettid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_gettid,0x13712b1b0101b0ba,globl,hidden +.scall __sys_gettid,0x13712b1b0101b0ba,0x0b2,globl,hidden diff --git a/libc/sysv/calls/__sys_lstat.S b/libc/sysv/calls/__sys_lstat.S index 78379ac0b..1eb4787cd 100644 --- a/libc/sysv/calls/__sys_lstat.S +++ b/libc/sysv/calls/__sys_lstat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_lstat,0x1b90280282154006,globl,hidden +.scall __sys_lstat,0x1b90280282154006,0xfff,globl,hidden diff --git a/libc/sysv/calls/__sys_mmap.S b/libc/sysv/calls/__sys_mmap.S index 03c00f89c..7fff6898d 100644 --- a/libc/sysv/calls/__sys_mmap.S +++ b/libc/sysv/calls/__sys_mmap.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_mmap,0x0c50c51dd20c5009,globl,hidden +.scall __sys_mmap,0x0c50c51dd20c5009,0x0de,globl,hidden diff --git a/libc/sysv/calls/__sys_mremap.S b/libc/sysv/calls/__sys_mremap.S index 52c6c68ae..0be9ddcf1 100644 --- a/libc/sysv/calls/__sys_mremap.S +++ b/libc/sysv/calls/__sys_mremap.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_mremap,0x19bffffffffff019,globl,hidden +.scall __sys_mremap,0x19bffffffffff019,0x0d8,globl,hidden diff --git a/libc/sysv/calls/__sys_munmap.S b/libc/sysv/calls/__sys_munmap.S index 3cefb25f4..eab255ad6 100644 --- a/libc/sysv/calls/__sys_munmap.S +++ b/libc/sysv/calls/__sys_munmap.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_munmap,0x049049049204900b,globl,hidden +.scall __sys_munmap,0x049049049204900b,0x0d7,globl,hidden diff --git a/libc/sysv/calls/__sys_openat.S b/libc/sysv/calls/__sys_openat.S index 9db5eb79e..010af310c 100644 --- a/libc/sysv/calls/__sys_openat.S +++ b/libc/sysv/calls/__sys_openat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_openat,0x9d49419f329cf901,globl,hidden +.scall __sys_openat,0x9d49419f329cf901,0x038,globl,hidden diff --git a/libc/sysv/calls/__sys_openat_nc.S b/libc/sysv/calls/__sys_openat_nc.S index d7923c2a6..fd8bac06a 100644 --- a/libc/sysv/calls/__sys_openat_nc.S +++ b/libc/sysv/calls/__sys_openat_nc.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_openat_nc,0x1d41411f321d0101,globl,hidden +.scall __sys_openat_nc,0x1d41411f321d0101,0x038,globl,hidden diff --git a/libc/sysv/calls/__sys_pipe.S b/libc/sysv/calls/__sys_pipe.S index db4612981..0a9be99aa 100644 --- a/libc/sysv/calls/__sys_pipe.S +++ b/libc/sysv/calls/__sys_pipe.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_pipe,0x02a10721e202a016,globl,hidden +.scall __sys_pipe,0x02a10721e202a016,0xfff,globl,hidden diff --git a/libc/sysv/calls/__sys_pipe2.S b/libc/sysv/calls/__sys_pipe2.S index 0f7bc3625..991cfeb5b 100644 --- a/libc/sysv/calls/__sys_pipe2.S +++ b/libc/sysv/calls/__sys_pipe2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_pipe2,0x1c506521effff125,globl,hidden +.scall __sys_pipe2,0x1c506521effff125,0x03b,globl,hidden diff --git a/libc/sysv/calls/__sys_ptrace.S b/libc/sysv/calls/__sys_ptrace.S index f3150a1c4..6e654230a 100644 --- a/libc/sysv/calls/__sys_ptrace.S +++ b/libc/sysv/calls/__sys_ptrace.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_ptrace,0x01a01a01a201a065,globl,hidden +.scall __sys_ptrace,0x01a01a01a201a065,0x075,globl,hidden diff --git a/libc/sysv/calls/__sys_sigprocmask.S b/libc/sysv/calls/__sys_sigprocmask.S index 92352e0ec..fa4365158 100644 --- a/libc/sysv/calls/__sys_sigprocmask.S +++ b/libc/sysv/calls/__sys_sigprocmask.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_sigprocmask,0x125030154214900e,globl,hidden +.scall __sys_sigprocmask,0x125030154214900e,0x087,globl,hidden diff --git a/libc/sysv/calls/__sys_socket.S b/libc/sysv/calls/__sys_socket.S index 11958708c..f80972bc7 100644 --- a/libc/sysv/calls/__sys_socket.S +++ b/libc/sysv/calls/__sys_socket.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_socket,0x18a0610612061029,globl,hidden +.scall __sys_socket,0x18a0610612061029,0x0c6,globl,hidden diff --git a/libc/sysv/calls/__sys_socketpair.S b/libc/sysv/calls/__sys_socketpair.S index b53de1612..f40c3002b 100644 --- a/libc/sysv/calls/__sys_socketpair.S +++ b/libc/sysv/calls/__sys_socketpair.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_socketpair,0x0870870872087035,globl,hidden +.scall __sys_socketpair,0x0870870872087035,0x0c7,globl,hidden diff --git a/libc/sysv/calls/__sys_stat.S b/libc/sysv/calls/__sys_stat.S index f2cf4bf99..05e3a82de 100644 --- a/libc/sysv/calls/__sys_stat.S +++ b/libc/sysv/calls/__sys_stat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_stat,0x1b7026fff2152004,globl,hidden +.scall __sys_stat,0x1b7026fff2152004,0x04f,globl,hidden diff --git a/libc/sysv/calls/__sys_utimensat.S b/libc/sysv/calls/__sys_utimensat.S index a0b727675..1216e65cc 100644 --- a/libc/sysv/calls/__sys_utimensat.S +++ b/libc/sysv/calls/__sys_utimensat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_utimensat,0x1d3054223ffff118,globl,hidden +.scall __sys_utimensat,0x1d3054223ffff118,0x058,globl,hidden diff --git a/libc/sysv/calls/__sys_wait4.S b/libc/sysv/calls/__sys_wait4.S index 9ef14c02b..094125780 100644 --- a/libc/sysv/calls/__sys_wait4.S +++ b/libc/sysv/calls/__sys_wait4.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_wait4,0x9c180b807280783d,globl,hidden +.scall __sys_wait4,0x9c180b807280783d,0x0104,globl,hidden diff --git a/libc/sysv/calls/get_mempolicy.S b/libc/sysv/calls/get_mempolicy.S index 67d2e560d..9b1fa2156 100644 --- a/libc/sysv/calls/get_mempolicy.S +++ b/libc/sysv/calls/get_mempolicy.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall get_mempolicy,0xfffffffffffff0ef,globl +.scall get_mempolicy,0xfffffffffffff0ef,0xfff,globl diff --git a/libc/sysv/calls/getpagesize_freebsd.S b/libc/sysv/calls/getpagesize_freebsd.S index 02d333118..8c8dd2080 100644 --- a/libc/sysv/calls/getpagesize_freebsd.S +++ b/libc/sysv/calls/getpagesize_freebsd.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall getpagesize_freebsd,0xffffff040fffffff,globl,hidden +.scall getpagesize_freebsd,0xffffff040fffffff,0xfff,globl,hidden diff --git a/libc/sysv/calls/ioprio_get.S b/libc/sysv/calls/ioprio_get.S index a6aebc714..e26d3d1b8 100644 --- a/libc/sysv/calls/ioprio_get.S +++ b/libc/sysv/calls/ioprio_get.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall ioprio_get,0xfffffffffffff0fc,globl +.scall ioprio_get,0xfffffffffffff0fc,0xfff,globl diff --git a/libc/sysv/calls/ioprio_set.S b/libc/sysv/calls/ioprio_set.S index e8eb026d8..405618e06 100644 --- a/libc/sysv/calls/ioprio_set.S +++ b/libc/sysv/calls/ioprio_set.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall ioprio_set,0xfffffffffffff0fb,globl +.scall ioprio_set,0xfffffffffffff0fb,0xfff,globl diff --git a/libc/sysv/calls/posix_fallocate.S b/libc/sysv/calls/posix_fallocate.S index abe28d164..879567fc6 100644 --- a/libc/sysv/calls/posix_fallocate.S +++ b/libc/sysv/calls/posix_fallocate.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall posix_fallocate,0x9dffffa12fffffff,globl,hidden +.scall posix_fallocate,0x9dffffa12fffffff,0xfff,globl,hidden diff --git a/libc/sysv/calls/set_mempolicy.S b/libc/sysv/calls/set_mempolicy.S index dc76cb343..fe0ba2824 100644 --- a/libc/sysv/calls/set_mempolicy.S +++ b/libc/sysv/calls/set_mempolicy.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall set_mempolicy,0xfffffffffffff0ee,globl +.scall set_mempolicy,0xfffffffffffff0ee,0xfff,globl diff --git a/libc/sysv/calls/sys_access.S b/libc/sysv/calls/sys_access.S index 3a95c0eff..ac9340ce1 100644 --- a/libc/sysv/calls/sys_access.S +++ b/libc/sysv/calls/sys_access.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_access,0x0210210212021015,globl,hidden +.scall sys_access,0x0210210212021015,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_acct.S b/libc/sysv/calls/sys_acct.S index 918300d6a..ec947135a 100644 --- a/libc/sysv/calls/sys_acct.S +++ b/libc/sysv/calls/sys_acct.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_acct,0x03303303320330a3,globl +.scall sys_acct,0x03303303320330a3,0x059,globl diff --git a/libc/sysv/calls/sys_add_key.S b/libc/sysv/calls/sys_add_key.S index aa6d2c10c..ebe4f3fe9 100644 --- a/libc/sysv/calls/sys_add_key.S +++ b/libc/sysv/calls/sys_add_key.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_add_key,0xfffffffffffff0f8,globl +.scall sys_add_key,0xfffffffffffff0f8,0x0d9,globl diff --git a/libc/sysv/calls/sys_adjtime.S b/libc/sysv/calls/sys_adjtime.S index ad0766853..5d7e3899f 100644 --- a/libc/sysv/calls/sys_adjtime.S +++ b/libc/sysv/calls/sys_adjtime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_adjtime,0x1a508c08c208cfff,globl +.scall sys_adjtime,0x1a508c08c208cfff,0xfff,globl diff --git a/libc/sysv/calls/sys_adjtimex.S b/libc/sysv/calls/sys_adjtimex.S index fae40ce9b..e425ba990 100644 --- a/libc/sysv/calls/sys_adjtimex.S +++ b/libc/sysv/calls/sys_adjtimex.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_adjtimex,0xfffffffffffff09f,globl +.scall sys_adjtimex,0xfffffffffffff09f,0x0ab,globl diff --git a/libc/sysv/calls/sys_aio_cancel.S b/libc/sysv/calls/sys_aio_cancel.S index d067c9e60..75b1a5261 100644 --- a/libc/sysv/calls/sys_aio_cancel.S +++ b/libc/sysv/calls/sys_aio_cancel.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_cancel,0x18ffff13c213cfff,globl +.scall sys_aio_cancel,0x18ffff13c213cfff,0xfff,globl diff --git a/libc/sysv/calls/sys_aio_error.S b/libc/sysv/calls/sys_aio_error.S index bb04b645b..1cf0f0219 100644 --- a/libc/sysv/calls/sys_aio_error.S +++ b/libc/sysv/calls/sys_aio_error.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_error,0x190fff13d213dfff,globl +.scall sys_aio_error,0x190fff13d213dfff,0xfff,globl diff --git a/libc/sysv/calls/sys_aio_fsync.S b/libc/sysv/calls/sys_aio_fsync.S index 45998475e..76684833e 100644 --- a/libc/sysv/calls/sys_aio_fsync.S +++ b/libc/sysv/calls/sys_aio_fsync.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_fsync,0x191fff1d12139fff,globl +.scall sys_aio_fsync,0x191fff1d12139fff,0xfff,globl diff --git a/libc/sysv/calls/sys_aio_mlock.S b/libc/sysv/calls/sys_aio_mlock.S index 9fd583f70..8818dd609 100644 --- a/libc/sysv/calls/sys_aio_mlock.S +++ b/libc/sysv/calls/sys_aio_mlock.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_mlock,0xffffff21ffffffff,globl +.scall sys_aio_mlock,0xffffff21ffffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_aio_read.S b/libc/sysv/calls/sys_aio_read.S index 5f61b2918..77e783293 100644 --- a/libc/sysv/calls/sys_aio_read.S +++ b/libc/sysv/calls/sys_aio_read.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_read,0x192fff13e213efff,globl +.scall sys_aio_read,0x192fff13e213efff,0xfff,globl diff --git a/libc/sysv/calls/sys_aio_return.S b/libc/sysv/calls/sys_aio_return.S index 32b899ae7..419dc445f 100644 --- a/libc/sysv/calls/sys_aio_return.S +++ b/libc/sysv/calls/sys_aio_return.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_return,0x193fff13a213afff,globl +.scall sys_aio_return,0x193fff13a213afff,0xfff,globl diff --git a/libc/sysv/calls/sys_aio_suspend.S b/libc/sysv/calls/sys_aio_suspend.S index 7852c08d9..7ad598b6d 100644 --- a/libc/sysv/calls/sys_aio_suspend.S +++ b/libc/sysv/calls/sys_aio_suspend.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_suspend,0x1b6fff13b213bfff,globl +.scall sys_aio_suspend,0x1b6fff13b213bfff,0xfff,globl diff --git a/libc/sysv/calls/sys_aio_suspend_nocancel.S b/libc/sysv/calls/sys_aio_suspend_nocancel.S index 6751c89b3..93d64504a 100644 --- a/libc/sysv/calls/sys_aio_suspend_nocancel.S +++ b/libc/sysv/calls/sys_aio_suspend_nocancel.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_suspend_nocancel,0xfffffffff21a5fff,globl +.scall sys_aio_suspend_nocancel,0xfffffffff21a5fff,0xfff,globl diff --git a/libc/sysv/calls/sys_aio_waitcomplete.S b/libc/sysv/calls/sys_aio_waitcomplete.S index b3704e283..ba554c2ad 100644 --- a/libc/sysv/calls/sys_aio_waitcomplete.S +++ b/libc/sysv/calls/sys_aio_waitcomplete.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_waitcomplete,0xffffff167fffffff,globl +.scall sys_aio_waitcomplete,0xffffff167fffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_aio_write.S b/libc/sysv/calls/sys_aio_write.S index 6a57c5175..037578ff6 100644 --- a/libc/sysv/calls/sys_aio_write.S +++ b/libc/sysv/calls/sys_aio_write.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_write,0x195fff13f213ffff,globl +.scall sys_aio_write,0x195fff13f213ffff,0xfff,globl diff --git a/libc/sysv/calls/sys_alarm.S b/libc/sysv/calls/sys_alarm.S index d38aa8361..b41206b9d 100644 --- a/libc/sysv/calls/sys_alarm.S +++ b/libc/sysv/calls/sys_alarm.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_alarm,0xfffffffffffff025,globl,hidden +.scall sys_alarm,0xfffffffffffff025,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_arch_prctl.S b/libc/sysv/calls/sys_arch_prctl.S index 02aeb0580..2e7ff9cfb 100644 --- a/libc/sysv/calls/sys_arch_prctl.S +++ b/libc/sysv/calls/sys_arch_prctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_arch_prctl,0x0a50a50a5ffff09e,globl,hidden +.scall sys_arch_prctl,0x0a50a50a5ffff09e,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_audit.S b/libc/sysv/calls/sys_audit.S index 46a5517f0..51040f6de 100644 --- a/libc/sysv/calls/sys_audit.S +++ b/libc/sysv/calls/sys_audit.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_audit,0xffffff1bd215efff,globl +.scall sys_audit,0xffffff1bd215efff,0xfff,globl diff --git a/libc/sysv/calls/sys_auditctl.S b/libc/sysv/calls/sys_auditctl.S index 58a2bdc52..cca6b4969 100644 --- a/libc/sysv/calls/sys_auditctl.S +++ b/libc/sysv/calls/sys_auditctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_auditctl,0xffffff1c52167fff,globl +.scall sys_auditctl,0xffffff1c52167fff,0xfff,globl diff --git a/libc/sysv/calls/sys_auditon.S b/libc/sysv/calls/sys_auditon.S index bf5dd79da..70de5d553 100644 --- a/libc/sysv/calls/sys_auditon.S +++ b/libc/sysv/calls/sys_auditon.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_auditon,0xffffff1be215ffff,globl +.scall sys_auditon,0xffffff1be215ffff,0xfff,globl diff --git a/libc/sysv/calls/sys_bogus.S b/libc/sysv/calls/sys_bogus.S index 1e94f1494..c4e3998f2 100644 --- a/libc/sysv/calls/sys_bogus.S +++ b/libc/sysv/calls/sys_bogus.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_bogus,0x00b5005002500500,globl +.scall sys_bogus,0x00b5005002500500,0xfff,globl diff --git a/libc/sysv/calls/sys_bpf.S b/libc/sysv/calls/sys_bpf.S index 19f7c1840..2d78ed2e4 100644 --- a/libc/sysv/calls/sys_bpf.S +++ b/libc/sysv/calls/sys_bpf.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_bpf,0xfffffffffffff141,globl +.scall sys_bpf,0xfffffffffffff141,0x118,globl diff --git a/libc/sysv/calls/sys_bsdthread_register.S b/libc/sysv/calls/sys_bsdthread_register.S index b8960db78..241718b28 100644 --- a/libc/sysv/calls/sys_bsdthread_register.S +++ b/libc/sysv/calls/sys_bsdthread_register.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_bsdthread_register,0xfffffffff216efff,globl,hidden +.scall sys_bsdthread_register,0xfffffffff216efff,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_capget.S b/libc/sysv/calls/sys_capget.S index 278d527fd..df580236f 100644 --- a/libc/sysv/calls/sys_capget.S +++ b/libc/sysv/calls/sys_capget.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_capget,0xfffffffffffff07d,globl +.scall sys_capget,0xfffffffffffff07d,0x05a,globl diff --git a/libc/sysv/calls/sys_capset.S b/libc/sysv/calls/sys_capset.S index 191b49bae..33da63b8d 100644 --- a/libc/sysv/calls/sys_capset.S +++ b/libc/sysv/calls/sys_capset.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_capset,0xfffffffffffff07e,globl +.scall sys_capset,0xfffffffffffff07e,0x05b,globl diff --git a/libc/sysv/calls/sys_chdir.S b/libc/sysv/calls/sys_chdir.S index 046ab3404..5036f3fc6 100644 --- a/libc/sysv/calls/sys_chdir.S +++ b/libc/sysv/calls/sys_chdir.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_chdir,0x00c00c00c200c050,globl,hidden +.scall sys_chdir,0x00c00c00c200c050,0x031,globl,hidden diff --git a/libc/sysv/calls/sys_chflags.S b/libc/sysv/calls/sys_chflags.S index a83c1ca3a..605ee06df 100644 --- a/libc/sysv/calls/sys_chflags.S +++ b/libc/sysv/calls/sys_chflags.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_chflags,0x0220220222022fff,globl +.scall sys_chflags,0x0220220222022fff,0xfff,globl diff --git a/libc/sysv/calls/sys_chflagsat.S b/libc/sysv/calls/sys_chflagsat.S index 6932fa7de..4363fc4a9 100644 --- a/libc/sysv/calls/sys_chflagsat.S +++ b/libc/sysv/calls/sys_chflagsat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_chflagsat,0xfff06b21cfffffff,globl +.scall sys_chflagsat,0xfff06b21cfffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_chmod.S b/libc/sysv/calls/sys_chmod.S index 91f80c690..609c9551b 100644 --- a/libc/sysv/calls/sys_chmod.S +++ b/libc/sysv/calls/sys_chmod.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_chmod,0x00f00f00f200f05a,globl,hidden +.scall sys_chmod,0x00f00f00f200f05a,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_chown.S b/libc/sysv/calls/sys_chown.S index 1cc2a859b..f57b39471 100644 --- a/libc/sysv/calls/sys_chown.S +++ b/libc/sysv/calls/sys_chown.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_chown,0x010010010201005c,globl,hidden +.scall sys_chown,0x010010010201005c,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_chroot.S b/libc/sysv/calls/sys_chroot.S index 806e4c32c..6120abd18 100644 --- a/libc/sysv/calls/sys_chroot.S +++ b/libc/sysv/calls/sys_chroot.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_chroot,0x03d03d03d203d0a1,globl,hidden +.scall sys_chroot,0x03d03d03d203d0a1,0x033,globl,hidden diff --git a/libc/sysv/calls/sys_clock_adjtime.S b/libc/sysv/calls/sys_clock_adjtime.S index 461295e3d..564706b56 100644 --- a/libc/sysv/calls/sys_clock_adjtime.S +++ b/libc/sysv/calls/sys_clock_adjtime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_clock_adjtime,0xfffffffffffff131,globl +.scall sys_clock_adjtime,0xfffffffffffff131,0x10a,globl diff --git a/libc/sysv/calls/sys_clock_getres.S b/libc/sysv/calls/sys_clock_getres.S index 06f429bb7..a6a7fc5be 100644 --- a/libc/sysv/calls/sys_clock_getres.S +++ b/libc/sysv/calls/sys_clock_getres.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_clock_getres,0x1ad0590eaffff0e5,globl,hidden +.scall sys_clock_getres,0x1ad0590eaffff0e5,0x072,globl,hidden diff --git a/libc/sysv/calls/sys_clock_gettime.S b/libc/sysv/calls/sys_clock_gettime.S index dcc9156dd..b748b2581 100644 --- a/libc/sysv/calls/sys_clock_gettime.S +++ b/libc/sysv/calls/sys_clock_gettime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_clock_gettime,0x1ab0570e8ffff0e4,globl,hidden +.scall sys_clock_gettime,0x1ab0570e8ffff0e4,0x071,globl,hidden diff --git a/libc/sysv/calls/sys_clock_settime.S b/libc/sysv/calls/sys_clock_settime.S index 3aae334a6..2cc2c8dcf 100644 --- a/libc/sysv/calls/sys_clock_settime.S +++ b/libc/sysv/calls/sys_clock_settime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_clock_settime,0x1ac0580e9ffff0e3,globl +.scall sys_clock_settime,0x1ac0580e9ffff0e3,0x070,globl diff --git a/libc/sysv/calls/sys_clone.S b/libc/sysv/calls/sys_clone.S index d8ce3be91..7106cc07e 100644 --- a/libc/sysv/calls/sys_clone.S +++ b/libc/sysv/calls/sys_clone.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_clone,0x11fffffffffff038,globl,hidden +.scall sys_clone,0x11fffffffffff038,0x0dc,globl,hidden diff --git a/libc/sysv/calls/sys_clone3.S b/libc/sysv/calls/sys_clone3.S index cee76c43a..309ea9ded 100644 --- a/libc/sysv/calls/sys_clone3.S +++ b/libc/sysv/calls/sys_clone3.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_clone3,0xfffffffffffff1b3,globl +.scall sys_clone3,0xfffffffffffff1b3,0xfff,globl diff --git a/libc/sysv/calls/sys_close.S b/libc/sysv/calls/sys_close.S index d171b558a..317167ffe 100644 --- a/libc/sysv/calls/sys_close.S +++ b/libc/sysv/calls/sys_close.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_close,0x0060060062006003,globl,hidden +.scall sys_close,0x0060060062006003,0x039,globl,hidden diff --git a/libc/sysv/calls/sys_close_range.S b/libc/sysv/calls/sys_close_range.S index fe330269b..12f4a7788 100644 --- a/libc/sysv/calls/sys_close_range.S +++ b/libc/sysv/calls/sys_close_range.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_close_range,0xffffff23fffff1b4,globl,hidden +.scall sys_close_range,0xffffff23fffff1b4,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_closefrom.S b/libc/sysv/calls/sys_closefrom.S index 27b925d22..a01a8b014 100644 --- a/libc/sysv/calls/sys_closefrom.S +++ b/libc/sysv/calls/sys_closefrom.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_closefrom,0xfff11f1fdfffffff,globl,hidden +.scall sys_closefrom,0xfff11f1fdfffffff,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_copy_file_range.S b/libc/sysv/calls/sys_copy_file_range.S index 46d7e0f65..6600b361b 100644 --- a/libc/sysv/calls/sys_copy_file_range.S +++ b/libc/sysv/calls/sys_copy_file_range.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_copy_file_range,0xffffffa39ffff946,globl,hidden +.scall sys_copy_file_range,0xffffffa39ffff946,0x11d,globl,hidden diff --git a/libc/sysv/calls/sys_creat.S b/libc/sysv/calls/sys_creat.S index 62fe2c78b..b2622838b 100644 --- a/libc/sysv/calls/sys_creat.S +++ b/libc/sysv/calls/sys_creat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_creat,0x008fff008ffff055,globl,hidden +.scall sys_creat,0x008fff008ffff055,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_delete_module.S b/libc/sysv/calls/sys_delete_module.S index 004bf5f3c..9f83bf871 100644 --- a/libc/sysv/calls/sys_delete_module.S +++ b/libc/sysv/calls/sys_delete_module.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_delete_module,0xfffffffffffff0b0,globl +.scall sys_delete_module,0xfffffffffffff0b0,0x06a,globl diff --git a/libc/sysv/calls/sys_dup.S b/libc/sysv/calls/sys_dup.S index ff7690d0d..217a8697e 100644 --- a/libc/sysv/calls/sys_dup.S +++ b/libc/sysv/calls/sys_dup.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_dup,0x0290290292029020,globl,hidden +.scall sys_dup,0x0290290292029020,0x017,globl,hidden diff --git a/libc/sysv/calls/sys_dup2.S b/libc/sysv/calls/sys_dup2.S index c0304d05d..2937f904d 100644 --- a/libc/sysv/calls/sys_dup2.S +++ b/libc/sysv/calls/sys_dup2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_dup2,0x05a05a05a205a021,globl,hidden +.scall sys_dup2,0x05a05a05a205a021,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_epoll_create.S b/libc/sysv/calls/sys_epoll_create.S index 8f5143c18..27cc3f18f 100644 --- a/libc/sysv/calls/sys_epoll_create.S +++ b/libc/sysv/calls/sys_epoll_create.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_epoll_create,0xfffffffffffff0d5,globl,hidden +.scall sys_epoll_create,0xfffffffffffff0d5,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_epoll_create1.S b/libc/sysv/calls/sys_epoll_create1.S index 949d01482..f39293414 100644 --- a/libc/sysv/calls/sys_epoll_create1.S +++ b/libc/sysv/calls/sys_epoll_create1.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_epoll_create1,0xfffffffffffff123,globl,hidden +.scall sys_epoll_create1,0xfffffffffffff123,0x014,globl,hidden diff --git a/libc/sysv/calls/sys_epoll_ctl.S b/libc/sysv/calls/sys_epoll_ctl.S index 6060a459a..b21ba3291 100644 --- a/libc/sysv/calls/sys_epoll_ctl.S +++ b/libc/sysv/calls/sys_epoll_ctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_epoll_ctl,0xfffffffffffff0e9,globl,hidden +.scall sys_epoll_ctl,0xfffffffffffff0e9,0x015,globl,hidden diff --git a/libc/sysv/calls/sys_epoll_pwait.S b/libc/sysv/calls/sys_epoll_pwait.S index 1f8826863..0349db0da 100644 --- a/libc/sysv/calls/sys_epoll_pwait.S +++ b/libc/sysv/calls/sys_epoll_pwait.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_epoll_pwait,0xfffffffffffff119,globl +.scall sys_epoll_pwait,0xfffffffffffff119,0x016,globl diff --git a/libc/sysv/calls/sys_epoll_pwait2.S b/libc/sysv/calls/sys_epoll_pwait2.S index 583f85c61..b73549300 100644 --- a/libc/sysv/calls/sys_epoll_pwait2.S +++ b/libc/sysv/calls/sys_epoll_pwait2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_epoll_pwait2,0xfffffffffffff1b9,globl +.scall sys_epoll_pwait2,0xfffffffffffff1b9,0xfff,globl diff --git a/libc/sysv/calls/sys_epoll_wait.S b/libc/sysv/calls/sys_epoll_wait.S index 50b55caf2..8045a8eaa 100644 --- a/libc/sysv/calls/sys_epoll_wait.S +++ b/libc/sysv/calls/sys_epoll_wait.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_epoll_wait,0xfffffffffffff8e8,globl,hidden +.scall sys_epoll_wait,0xfffffffffffff8e8,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_eventfd.S b/libc/sysv/calls/sys_eventfd.S index e311d095f..9c8c238e5 100644 --- a/libc/sysv/calls/sys_eventfd.S +++ b/libc/sysv/calls/sys_eventfd.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_eventfd,0xfffffffffffff11c,globl +.scall sys_eventfd,0xfffffffffffff11c,0xfff,globl diff --git a/libc/sysv/calls/sys_eventfd2.S b/libc/sysv/calls/sys_eventfd2.S index 761a83aa5..01da687c7 100644 --- a/libc/sysv/calls/sys_eventfd2.S +++ b/libc/sysv/calls/sys_eventfd2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_eventfd2,0xfffffffffffff122,globl +.scall sys_eventfd2,0xfffffffffffff122,0x013,globl diff --git a/libc/sysv/calls/sys_execveat.S b/libc/sysv/calls/sys_execveat.S index 89eb6a0ff..3ed459a08 100644 --- a/libc/sysv/calls/sys_execveat.S +++ b/libc/sysv/calls/sys_execveat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_execveat,0xfffffffffffff142,globl +.scall sys_execveat,0xfffffffffffff142,0x119,globl diff --git a/libc/sysv/calls/sys_exit.S b/libc/sysv/calls/sys_exit.S index d846bbe5c..d4ac9a8ae 100644 --- a/libc/sysv/calls/sys_exit.S +++ b/libc/sysv/calls/sys_exit.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_exit,0x00100100120010e7,globl,hidden +.scall sys_exit,0x00100100120010e7,0x05e,globl,hidden diff --git a/libc/sysv/calls/sys_faccessat.S b/libc/sysv/calls/sys_faccessat.S index d558f157b..3b0680b0b 100644 --- a/libc/sysv/calls/sys_faccessat.S +++ b/libc/sysv/calls/sys_faccessat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_faccessat,0x1ce1391e921d210d,globl,hidden +.scall sys_faccessat,0x1ce1391e921d210d,0x030,globl,hidden diff --git a/libc/sysv/calls/sys_faccessat2.S b/libc/sysv/calls/sys_faccessat2.S index 5a092fce5..9bcbbb1c2 100644 --- a/libc/sysv/calls/sys_faccessat2.S +++ b/libc/sysv/calls/sys_faccessat2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_faccessat2,0xfffffffffffff1b7,globl,hidden +.scall sys_faccessat2,0xfffffffffffff1b7,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_fadvise.S b/libc/sysv/calls/sys_fadvise.S index 0d3ceec58..9d415c2bc 100644 --- a/libc/sysv/calls/sys_fadvise.S +++ b/libc/sysv/calls/sys_fadvise.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fadvise,0x1a0fff213ffff0dd,globl,hidden +.scall sys_fadvise,0x1a0fff213ffff0dd,0x0df,globl,hidden diff --git a/libc/sysv/calls/sys_fallocate.S b/libc/sysv/calls/sys_fallocate.S index 2a32722cc..39906260b 100644 --- a/libc/sysv/calls/sys_fallocate.S +++ b/libc/sysv/calls/sys_fallocate.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fallocate,0xfffffffffffff91d,globl +.scall sys_fallocate,0xfffffffffffff91d,0x02f,globl diff --git a/libc/sysv/calls/sys_fanotify_init.S b/libc/sysv/calls/sys_fanotify_init.S index 7e1f5b691..7f0e5f6f0 100644 --- a/libc/sysv/calls/sys_fanotify_init.S +++ b/libc/sysv/calls/sys_fanotify_init.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fanotify_init,0xfffffffffffff12c,globl +.scall sys_fanotify_init,0xfffffffffffff12c,0x106,globl diff --git a/libc/sysv/calls/sys_fanotify_mark.S b/libc/sysv/calls/sys_fanotify_mark.S index 87c940c7b..3ef12fa43 100644 --- a/libc/sysv/calls/sys_fanotify_mark.S +++ b/libc/sysv/calls/sys_fanotify_mark.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fanotify_mark,0xfffffffffffff12d,globl +.scall sys_fanotify_mark,0xfffffffffffff12d,0x107,globl diff --git a/libc/sysv/calls/sys_fchdir.S b/libc/sysv/calls/sys_fchdir.S index a962d67d5..7b9eab7e6 100644 --- a/libc/sysv/calls/sys_fchdir.S +++ b/libc/sysv/calls/sys_fchdir.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fchdir,0x00d00d00d200d051,globl,hidden +.scall sys_fchdir,0x00d00d00d200d051,0x032,globl,hidden diff --git a/libc/sysv/calls/sys_fchflags.S b/libc/sysv/calls/sys_fchflags.S index 4db3899f3..d548803a9 100644 --- a/libc/sysv/calls/sys_fchflags.S +++ b/libc/sysv/calls/sys_fchflags.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fchflags,0x0230230232023fff,globl +.scall sys_fchflags,0x0230230232023fff,0xfff,globl diff --git a/libc/sysv/calls/sys_fchmod.S b/libc/sysv/calls/sys_fchmod.S index f8d97d9b4..07151d4ba 100644 --- a/libc/sysv/calls/sys_fchmod.S +++ b/libc/sysv/calls/sys_fchmod.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fchmod,0x07c07c07c207c05b,globl,hidden +.scall sys_fchmod,0x07c07c07c207c05b,0x034,globl,hidden diff --git a/libc/sysv/calls/sys_fchmodat.S b/libc/sysv/calls/sys_fchmodat.S index 7deffd315..26a19d2a8 100644 --- a/libc/sysv/calls/sys_fchmodat.S +++ b/libc/sysv/calls/sys_fchmodat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fchmodat,0x1cf13a1ea21d310c,globl,hidden +.scall sys_fchmodat,0x1cf13a1ea21d310c,0x035,globl,hidden diff --git a/libc/sysv/calls/sys_fchown.S b/libc/sysv/calls/sys_fchown.S index 3408c0246..971541e0e 100644 --- a/libc/sysv/calls/sys_fchown.S +++ b/libc/sysv/calls/sys_fchown.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fchown,0x07b07b07b207b05d,globl,hidden +.scall sys_fchown,0x07b07b07b207b05d,0x037,globl,hidden diff --git a/libc/sysv/calls/sys_fchownat.S b/libc/sysv/calls/sys_fchownat.S index 3544dceb2..66093a175 100644 --- a/libc/sysv/calls/sys_fchownat.S +++ b/libc/sysv/calls/sys_fchownat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fchownat,0x1d013b1eb21d4104,globl,hidden +.scall sys_fchownat,0x1d013b1eb21d4104,0x036,globl,hidden diff --git a/libc/sysv/calls/sys_fdatasync.S b/libc/sysv/calls/sys_fdatasync.S index f58429976..2a9b3aeeb 100644 --- a/libc/sysv/calls/sys_fdatasync.S +++ b/libc/sysv/calls/sys_fdatasync.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fdatasync,0x8f185fa2628bb84b,globl,hidden +.scall sys_fdatasync,0x8f185fa2628bb84b,0x053,globl,hidden diff --git a/libc/sysv/calls/sys_fexecve.S b/libc/sysv/calls/sys_fexecve.S index ff5497546..b82aa7ff6 100644 --- a/libc/sysv/calls/sys_fexecve.S +++ b/libc/sysv/calls/sys_fexecve.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fexecve,0xffffff1ecfffffff,globl,hidden +.scall sys_fexecve,0xffffff1ecfffffff,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_fgetxattr.S b/libc/sysv/calls/sys_fgetxattr.S index 1990af12c..070c276da 100644 --- a/libc/sysv/calls/sys_fgetxattr.S +++ b/libc/sysv/calls/sys_fgetxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fgetxattr,0x17cffffff20eb0c1,globl +.scall sys_fgetxattr,0x17cffffff20eb0c1,0x00a,globl diff --git a/libc/sysv/calls/sys_fhopen.S b/libc/sysv/calls/sys_fhopen.S index 65d14f812..89c48aa92 100644 --- a/libc/sysv/calls/sys_fhopen.S +++ b/libc/sysv/calls/sys_fhopen.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fhopen,0x18c10812a20f8fff,globl +.scall sys_fhopen,0x18c10812a20f8fff,0xfff,globl diff --git a/libc/sysv/calls/sys_fhstat.S b/libc/sysv/calls/sys_fhstat.S index 3271be951..21efd5ad0 100644 --- a/libc/sysv/calls/sys_fhstat.S +++ b/libc/sysv/calls/sys_fhstat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fhstat,0x1c3126229fffffff,globl +.scall sys_fhstat,0x1c3126229fffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_fhstatfs.S b/libc/sysv/calls/sys_fhstatfs.S index 6d6c8d68a..43647e504 100644 --- a/libc/sysv/calls/sys_fhstatfs.S +++ b/libc/sysv/calls/sys_fhstatfs.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fhstatfs,0xfff04122efffffff,globl +.scall sys_fhstatfs,0xfff04122efffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_finit_module.S b/libc/sysv/calls/sys_finit_module.S index 77851c63d..5fcbadeda 100644 --- a/libc/sysv/calls/sys_finit_module.S +++ b/libc/sysv/calls/sys_finit_module.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_finit_module,0xfffffffffffff139,globl +.scall sys_finit_module,0xfffffffffffff139,0x111,globl diff --git a/libc/sysv/calls/sys_flistxattr.S b/libc/sysv/calls/sys_flistxattr.S index 556f327c7..62c63bbc2 100644 --- a/libc/sysv/calls/sys_flistxattr.S +++ b/libc/sysv/calls/sys_flistxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_flistxattr,0x17fffffff20f10c4,globl +.scall sys_flistxattr,0x17fffffff20f10c4,0x00d,globl diff --git a/libc/sysv/calls/sys_flock.S b/libc/sysv/calls/sys_flock.S index 31b1936f1..5b4a24755 100644 --- a/libc/sysv/calls/sys_flock.S +++ b/libc/sysv/calls/sys_flock.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_flock,0x8838838832883849,globl,hidden +.scall sys_flock,0x8838838832883849,0x020,globl,hidden diff --git a/libc/sysv/calls/sys_fpathconf.S b/libc/sysv/calls/sys_fpathconf.S index 2a211b140..15d4607c6 100644 --- a/libc/sysv/calls/sys_fpathconf.S +++ b/libc/sysv/calls/sys_fpathconf.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fpathconf,0x0c00c00c020c0fff,globl +.scall sys_fpathconf,0x0c00c00c020c0fff,0xfff,globl diff --git a/libc/sysv/calls/sys_fremovexattr.S b/libc/sysv/calls/sys_fremovexattr.S index 3b6e05f9a..4465078b2 100644 --- a/libc/sysv/calls/sys_fremovexattr.S +++ b/libc/sysv/calls/sys_fremovexattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fremovexattr,0x182ffffff20ef0c7,globl +.scall sys_fremovexattr,0x182ffffff20ef0c7,0x010,globl diff --git a/libc/sysv/calls/sys_fsconfig.S b/libc/sysv/calls/sys_fsconfig.S index 65e95e09d..f17922306 100644 --- a/libc/sysv/calls/sys_fsconfig.S +++ b/libc/sysv/calls/sys_fsconfig.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fsconfig,0xfffffffffffff1af,globl +.scall sys_fsconfig,0xfffffffffffff1af,0xfff,globl diff --git a/libc/sysv/calls/sys_fsetxattr.S b/libc/sysv/calls/sys_fsetxattr.S index 96a205a06..9f4b809a2 100644 --- a/libc/sysv/calls/sys_fsetxattr.S +++ b/libc/sysv/calls/sys_fsetxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fsetxattr,0x179ffffff20ed0be,globl +.scall sys_fsetxattr,0x179ffffff20ed0be,0x007,globl diff --git a/libc/sysv/calls/sys_fsmount.S b/libc/sysv/calls/sys_fsmount.S index 5c193a96b..a1e390889 100644 --- a/libc/sysv/calls/sys_fsmount.S +++ b/libc/sysv/calls/sys_fsmount.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fsmount,0xfffffffffffff1b0,globl +.scall sys_fsmount,0xfffffffffffff1b0,0xfff,globl diff --git a/libc/sysv/calls/sys_fsopen.S b/libc/sysv/calls/sys_fsopen.S index 9eeec3603..0cae85ecb 100644 --- a/libc/sysv/calls/sys_fsopen.S +++ b/libc/sysv/calls/sys_fsopen.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fsopen,0xfffffffffffff1ae,globl +.scall sys_fsopen,0xfffffffffffff1ae,0xfff,globl diff --git a/libc/sysv/calls/sys_fspick.S b/libc/sysv/calls/sys_fspick.S index f484585dd..4addd3e8e 100644 --- a/libc/sysv/calls/sys_fspick.S +++ b/libc/sysv/calls/sys_fspick.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fspick,0xfffffffffffff1b1,globl +.scall sys_fspick,0xfffffffffffff1b1,0xfff,globl diff --git a/libc/sysv/calls/sys_fstatfs.S b/libc/sysv/calls/sys_fstatfs.S index a551423b0..7fa9eec2c 100644 --- a/libc/sysv/calls/sys_fstatfs.S +++ b/libc/sysv/calls/sys_fstatfs.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fstatfs,0x89e840a2c295a88a,globl,hidden +.scall sys_fstatfs,0x89e840a2c295a88a,0x02c,globl,hidden diff --git a/libc/sysv/calls/sys_fsync.S b/libc/sysv/calls/sys_fsync.S index bf0d81e33..8e04a0d1c 100644 --- a/libc/sysv/calls/sys_fsync.S +++ b/libc/sysv/calls/sys_fsync.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fsync,0x85f85f85f285f84a,globl,hidden +.scall sys_fsync,0x85f85f85f285f84a,0x052,globl,hidden diff --git a/libc/sysv/calls/sys_ftruncate.S b/libc/sysv/calls/sys_ftruncate.S index 06a63bd42..84b9675b5 100644 --- a/libc/sysv/calls/sys_ftruncate.S +++ b/libc/sysv/calls/sys_ftruncate.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ftruncate,0x8c98c99e028c984d,globl,hidden +.scall sys_ftruncate,0x8c98c99e028c984d,0x02e,globl,hidden diff --git a/libc/sysv/calls/sys_futex.S b/libc/sysv/calls/sys_futex.S index 0b036a3d0..4c38fc929 100644 --- a/libc/sysv/calls/sys_futex.S +++ b/libc/sysv/calls/sys_futex.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_futex,0x0a60531c6ffff0ca,globl,hidden +.scall sys_futex,0x0a60531c6ffff0ca,0x062,globl,hidden diff --git a/libc/sysv/calls/sys_futex_cp.S b/libc/sysv/calls/sys_futex_cp.S index cd43c68e5..e6e4564c8 100644 --- a/libc/sysv/calls/sys_futex_cp.S +++ b/libc/sysv/calls/sys_futex_cp.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_futex_cp,0x8a68539c6ffff8ca,globl,hidden +.scall sys_futex_cp,0x8a68539c6ffff8ca,0x062,globl,hidden diff --git a/libc/sysv/calls/sys_futex_waitv.S b/libc/sysv/calls/sys_futex_waitv.S index efdacf3df..fc6fc1f4f 100644 --- a/libc/sysv/calls/sys_futex_waitv.S +++ b/libc/sysv/calls/sys_futex_waitv.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_futex_waitv,0xfffffffffffff1c1,globl +.scall sys_futex_waitv,0xfffffffffffff1c1,0xfff,globl diff --git a/libc/sysv/calls/sys_futimens.S b/libc/sysv/calls/sys_futimens.S index 05fae361d..570c8de2c 100644 --- a/libc/sysv/calls/sys_futimens.S +++ b/libc/sysv/calls/sys_futimens.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_futimens,0x1d8055222fffffff,globl,hidden +.scall sys_futimens,0x1d8055222fffffff,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_futimes.S b/libc/sysv/calls/sys_futimes.S index c233b8235..c8fe8930d 100644 --- a/libc/sysv/calls/sys_futimes.S +++ b/libc/sysv/calls/sys_futimes.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_futimes,0x1a704d0ce208bfff,globl,hidden +.scall sys_futimes,0x1a704d0ce208bfff,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_futimesat.S b/libc/sysv/calls/sys_futimesat.S index a44065327..19c1a96a3 100644 --- a/libc/sysv/calls/sys_futimesat.S +++ b/libc/sysv/calls/sys_futimesat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_futimesat,0xffffff1eeffff105,globl,hidden +.scall sys_futimesat,0xffffff1eeffff105,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_get_robust_list.S b/libc/sysv/calls/sys_get_robust_list.S index b244cd441..234ba084b 100644 --- a/libc/sysv/calls/sys_get_robust_list.S +++ b/libc/sysv/calls/sys_get_robust_list.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_get_robust_list,0x0a8ffffffffff112,globl +.scall sys_get_robust_list,0x0a8ffffffffff112,0x064,globl diff --git a/libc/sysv/calls/sys_getaudit_addr.S b/libc/sysv/calls/sys_getaudit_addr.S index 6069ae47c..0366e0d68 100644 --- a/libc/sysv/calls/sys_getaudit_addr.S +++ b/libc/sysv/calls/sys_getaudit_addr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getaudit_addr,0xffffff1c32165fff,globl +.scall sys_getaudit_addr,0xffffff1c32165fff,0xfff,globl diff --git a/libc/sysv/calls/sys_getauid.S b/libc/sysv/calls/sys_getauid.S index 86033d41c..6300aee95 100644 --- a/libc/sysv/calls/sys_getauid.S +++ b/libc/sysv/calls/sys_getauid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getauid,0xffffff1bf2161fff,globl +.scall sys_getauid,0xffffff1bf2161fff,0xfff,globl diff --git a/libc/sysv/calls/sys_getcontext.S b/libc/sysv/calls/sys_getcontext.S index cef8f1384..fa7081054 100644 --- a/libc/sysv/calls/sys_getcontext.S +++ b/libc/sysv/calls/sys_getcontext.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getcontext,0x133fff1a5fffffff,globl,hidden +.scall sys_getcontext,0x133fff1a5fffffff,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_getcpu.S b/libc/sysv/calls/sys_getcpu.S index 19a680b1f..8f3eb0b2e 100644 --- a/libc/sysv/calls/sys_getcpu.S +++ b/libc/sysv/calls/sys_getcpu.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getcpu,0xfffffffffffff135,globl +.scall sys_getcpu,0xfffffffffffff135,0x0a8,globl diff --git a/libc/sysv/calls/sys_getcwd.S b/libc/sysv/calls/sys_getcwd.S index 57fe5fa14..71f35b0a9 100644 --- a/libc/sysv/calls/sys_getcwd.S +++ b/libc/sysv/calls/sys_getcwd.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getcwd,0x128130146ffff04f,globl,hidden +.scall sys_getcwd,0x128130146ffff04f,0x011,globl,hidden diff --git a/libc/sysv/calls/sys_getdents.S b/libc/sysv/calls/sys_getdents.S index 6f2d3456c..a269b60be 100644 --- a/libc/sysv/calls/sys_getdents.S +++ b/libc/sysv/calls/sys_getdents.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getdents,0x18606311020c40d9,globl,hidden +.scall sys_getdents,0x18606311020c40d9,0x03d,globl,hidden diff --git a/libc/sysv/calls/sys_getdirentries.S b/libc/sysv/calls/sys_getdirentries.S index 1af6bbdf1..4150ab7f9 100644 --- a/libc/sysv/calls/sys_getdirentries.S +++ b/libc/sysv/calls/sys_getdirentries.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getdirentries,0xffffff22a20c4fff,globl +.scall sys_getdirentries,0xffffff22a20c4fff,0xfff,globl diff --git a/libc/sysv/calls/sys_getdtablesize.S b/libc/sysv/calls/sys_getdtablesize.S index 9551af776..cd5eae0a4 100644 --- a/libc/sysv/calls/sys_getdtablesize.S +++ b/libc/sysv/calls/sys_getdtablesize.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getdtablesize,0xffffff0592059fff,globl +.scall sys_getdtablesize,0xffffff0592059fff,0xfff,globl diff --git a/libc/sysv/calls/sys_getegid.S b/libc/sysv/calls/sys_getegid.S index 9fd7f0b0e..d9039be87 100644 --- a/libc/sysv/calls/sys_getegid.S +++ b/libc/sysv/calls/sys_getegid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getegid,0x02b02b02b202b06c,globl,hidden +.scall sys_getegid,0x02b02b02b202b06c,0x0b1,globl,hidden diff --git a/libc/sysv/calls/sys_geteuid.S b/libc/sysv/calls/sys_geteuid.S index 1d9e1f736..dc72a27bc 100644 --- a/libc/sysv/calls/sys_geteuid.S +++ b/libc/sysv/calls/sys_geteuid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_geteuid,0x019019019201906b,globl,hidden +.scall sys_geteuid,0x019019019201906b,0x0af,globl,hidden diff --git a/libc/sysv/calls/sys_getfh.S b/libc/sysv/calls/sys_getfh.S index bfd264227..2476f73c1 100644 --- a/libc/sysv/calls/sys_getfh.S +++ b/libc/sysv/calls/sys_getfh.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getfh,0x18b0a10a120a1fff,globl +.scall sys_getfh,0x18b0a10a120a1fff,0xfff,globl diff --git a/libc/sysv/calls/sys_getfsstat.S b/libc/sysv/calls/sys_getfsstat.S index b4be818a6..79492316b 100644 --- a/libc/sysv/calls/sys_getfsstat.S +++ b/libc/sysv/calls/sys_getfsstat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getfsstat,0xfff03e22d215bfff,globl +.scall sys_getfsstat,0xfff03e22d215bfff,0xfff,globl diff --git a/libc/sysv/calls/sys_getgid.S b/libc/sysv/calls/sys_getgid.S index 47cdc0acf..cea80453b 100644 --- a/libc/sysv/calls/sys_getgid.S +++ b/libc/sysv/calls/sys_getgid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getgid,0x02f02f02f202f068,globl,hidden +.scall sys_getgid,0x02f02f02f202f068,0x0b0,globl,hidden diff --git a/libc/sysv/calls/sys_getgroups.S b/libc/sysv/calls/sys_getgroups.S index 9cebbc86c..6793a0b64 100644 --- a/libc/sysv/calls/sys_getgroups.S +++ b/libc/sysv/calls/sys_getgroups.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getgroups,0x04f04f04f204f073,globl,hidden +.scall sys_getgroups,0x04f04f04f204f073,0x09e,globl,hidden diff --git a/libc/sysv/calls/sys_getitimer.S b/libc/sysv/calls/sys_getitimer.S index 3094f1ec2..dd91a402d 100644 --- a/libc/sysv/calls/sys_getitimer.S +++ b/libc/sysv/calls/sys_getitimer.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getitimer,0x1aa0460562056024,globl,hidden +.scall sys_getitimer,0x1aa0460562056024,0x066,globl,hidden diff --git a/libc/sysv/calls/sys_getlogin.S b/libc/sysv/calls/sys_getlogin.S index 77620317e..b7283fba5 100644 --- a/libc/sysv/calls/sys_getlogin.S +++ b/libc/sysv/calls/sys_getlogin.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getlogin,0x03108d0312031fff,globl,hidden +.scall sys_getlogin,0x03108d0312031fff,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_getpgid.S b/libc/sysv/calls/sys_getpgid.S index e9bdc0f26..9b213718b 100644 --- a/libc/sysv/calls/sys_getpgid.S +++ b/libc/sysv/calls/sys_getpgid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getpgid,0x0cf0cf0cf2097079,globl,hidden +.scall sys_getpgid,0x0cf0cf0cf2097079,0x09b,globl,hidden diff --git a/libc/sysv/calls/sys_getpgrp.S b/libc/sysv/calls/sys_getpgrp.S index 3f5b9e40d..c1da5858a 100644 --- a/libc/sysv/calls/sys_getpgrp.S +++ b/libc/sysv/calls/sys_getpgrp.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getpgrp,0x051051051205106f,globl,hidden +.scall sys_getpgrp,0x051051051205106f,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_getpid.S b/libc/sysv/calls/sys_getpid.S index 4e438f8d8..d9d4a10c5 100644 --- a/libc/sysv/calls/sys_getpid.S +++ b/libc/sysv/calls/sys_getpid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getpid,0x0140140142014027,globl,hidden +.scall sys_getpid,0x0140140142014027,0x0ac,globl,hidden diff --git a/libc/sysv/calls/sys_getppid.S b/libc/sysv/calls/sys_getppid.S index adde764bf..67a86cb16 100644 --- a/libc/sysv/calls/sys_getppid.S +++ b/libc/sysv/calls/sys_getppid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getppid,0xfff027027202706e,globl,hidden +.scall sys_getppid,0xfff027027202706e,0x0ad,globl,hidden diff --git a/libc/sysv/calls/sys_getpriority.S b/libc/sysv/calls/sys_getpriority.S index d7aa70518..af26ab36a 100644 --- a/libc/sysv/calls/sys_getpriority.S +++ b/libc/sysv/calls/sys_getpriority.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getpriority,0x064064064206408c,globl,hidden +.scall sys_getpriority,0x064064064206408c,0x08d,globl,hidden diff --git a/libc/sysv/calls/sys_getrandom.S b/libc/sysv/calls/sys_getrandom.S index 22b8f9c1a..f3d6d9566 100644 --- a/libc/sysv/calls/sys_getrandom.S +++ b/libc/sysv/calls/sys_getrandom.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getrandom,0x85b007a3321f493e,globl,hidden +.scall sys_getrandom,0x85b007a3321f493e,0x116,globl,hidden diff --git a/libc/sysv/calls/sys_getresgid.S b/libc/sysv/calls/sys_getresgid.S index a6d65ae27..1805687fd 100644 --- a/libc/sysv/calls/sys_getresgid.S +++ b/libc/sysv/calls/sys_getresgid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getresgid,0xfff11b169ffff078,globl,hidden +.scall sys_getresgid,0xfff11b169ffff078,0x096,globl,hidden diff --git a/libc/sysv/calls/sys_getresuid.S b/libc/sysv/calls/sys_getresuid.S index 08351d887..f664317e6 100644 --- a/libc/sysv/calls/sys_getresuid.S +++ b/libc/sysv/calls/sys_getresuid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getresuid,0xfff119168ffff076,globl,hidden +.scall sys_getresuid,0xfff119168ffff076,0x094,globl,hidden diff --git a/libc/sysv/calls/sys_getrlimit.S b/libc/sysv/calls/sys_getrlimit.S index 2ec051895..17d94910f 100644 --- a/libc/sysv/calls/sys_getrlimit.S +++ b/libc/sysv/calls/sys_getrlimit.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getrlimit,0x0c20c20c220c2061,globl,hidden +.scall sys_getrlimit,0x0c20c20c220c2061,0x0a3,globl,hidden diff --git a/libc/sysv/calls/sys_getsid.S b/libc/sysv/calls/sys_getsid.S index 5c0933ebd..75e7ff5f4 100644 --- a/libc/sysv/calls/sys_getsid.S +++ b/libc/sysv/calls/sys_getsid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getsid,0x11e0ff136213607c,globl,hidden +.scall sys_getsid,0x11e0ff136213607c,0x09c,globl,hidden diff --git a/libc/sysv/calls/sys_getsockopt.S b/libc/sysv/calls/sys_getsockopt.S index 23f01fefa..1ad681bb4 100644 --- a/libc/sysv/calls/sys_getsockopt.S +++ b/libc/sysv/calls/sys_getsockopt.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getsockopt,0x0760760762076037,globl,hidden +.scall sys_getsockopt,0x0760760762076037,0x0d1,globl,hidden diff --git a/libc/sysv/calls/sys_gettimeofday.S b/libc/sysv/calls/sys_gettimeofday.S index 1ca1ceb19..e8f1daf62 100644 --- a/libc/sysv/calls/sys_gettimeofday.S +++ b/libc/sysv/calls/sys_gettimeofday.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_gettimeofday,0x1a20430742074060,globl,hidden +.scall sys_gettimeofday,0x1a20430742074060,0x0a9,globl,hidden diff --git a/libc/sysv/calls/sys_getuid.S b/libc/sysv/calls/sys_getuid.S index 3e81cc43a..75c769ea6 100644 --- a/libc/sysv/calls/sys_getuid.S +++ b/libc/sysv/calls/sys_getuid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getuid,0x0180180182018066,globl,hidden +.scall sys_getuid,0x0180180182018066,0x0ae,globl,hidden diff --git a/libc/sysv/calls/sys_getxattr.S b/libc/sysv/calls/sys_getxattr.S index 2125005c5..b6135fe9e 100644 --- a/libc/sysv/calls/sys_getxattr.S +++ b/libc/sysv/calls/sys_getxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getxattr,0x17affffff20ea0bf,globl +.scall sys_getxattr,0x17affffff20ea0bf,0x008,globl diff --git a/libc/sysv/calls/sys_init_module.S b/libc/sysv/calls/sys_init_module.S index d48bb1f62..d7370fcc4 100644 --- a/libc/sysv/calls/sys_init_module.S +++ b/libc/sysv/calls/sys_init_module.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_init_module,0xfffffffffffff0af,globl +.scall sys_init_module,0xfffffffffffff0af,0x069,globl diff --git a/libc/sysv/calls/sys_inotify_add_watch.S b/libc/sysv/calls/sys_inotify_add_watch.S index 559ec838f..6ee0c8799 100644 --- a/libc/sysv/calls/sys_inotify_add_watch.S +++ b/libc/sysv/calls/sys_inotify_add_watch.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_inotify_add_watch,0xfffffffffffff0fe,globl +.scall sys_inotify_add_watch,0xfffffffffffff0fe,0xfff,globl diff --git a/libc/sysv/calls/sys_inotify_init.S b/libc/sysv/calls/sys_inotify_init.S index b2c3a86ec..8b5b58f2f 100644 --- a/libc/sysv/calls/sys_inotify_init.S +++ b/libc/sysv/calls/sys_inotify_init.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_inotify_init,0xfffffffffffff0fd,globl +.scall sys_inotify_init,0xfffffffffffff0fd,0xfff,globl diff --git a/libc/sysv/calls/sys_inotify_init1.S b/libc/sysv/calls/sys_inotify_init1.S index eb0f59b18..039e4793b 100644 --- a/libc/sysv/calls/sys_inotify_init1.S +++ b/libc/sysv/calls/sys_inotify_init1.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_inotify_init1,0xfffffffffffff126,globl +.scall sys_inotify_init1,0xfffffffffffff126,0x01a,globl diff --git a/libc/sysv/calls/sys_inotify_rm_watch.S b/libc/sysv/calls/sys_inotify_rm_watch.S index 536702852..5d0f16735 100644 --- a/libc/sysv/calls/sys_inotify_rm_watch.S +++ b/libc/sysv/calls/sys_inotify_rm_watch.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_inotify_rm_watch,0xfffffffffffff0ff,globl +.scall sys_inotify_rm_watch,0xfffffffffffff0ff,0xfff,globl diff --git a/libc/sysv/calls/sys_io_cancel.S b/libc/sysv/calls/sys_io_cancel.S index d2c592444..52b4bcccf 100644 --- a/libc/sysv/calls/sys_io_cancel.S +++ b/libc/sysv/calls/sys_io_cancel.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_cancel,0xfffffffffffff0d2,globl +.scall sys_io_cancel,0xfffffffffffff0d2,0x003,globl diff --git a/libc/sysv/calls/sys_io_destroy.S b/libc/sysv/calls/sys_io_destroy.S index 5e04fe231..ef445cb51 100644 --- a/libc/sysv/calls/sys_io_destroy.S +++ b/libc/sysv/calls/sys_io_destroy.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_destroy,0xfffffffffffff0cf,globl +.scall sys_io_destroy,0xfffffffffffff0cf,0x001,globl diff --git a/libc/sysv/calls/sys_io_getevents.S b/libc/sysv/calls/sys_io_getevents.S index 4e87b195e..883c41050 100644 --- a/libc/sysv/calls/sys_io_getevents.S +++ b/libc/sysv/calls/sys_io_getevents.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_getevents,0xfffffffffffff0d0,globl +.scall sys_io_getevents,0xfffffffffffff0d0,0x004,globl diff --git a/libc/sysv/calls/sys_io_pgetevents.S b/libc/sysv/calls/sys_io_pgetevents.S index f9de4fa26..addabd3cd 100644 --- a/libc/sysv/calls/sys_io_pgetevents.S +++ b/libc/sysv/calls/sys_io_pgetevents.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_pgetevents,0xfffffffffffff14d,globl +.scall sys_io_pgetevents,0xfffffffffffff14d,0xfff,globl diff --git a/libc/sysv/calls/sys_io_setup.S b/libc/sysv/calls/sys_io_setup.S index f03d3166c..f31d40383 100644 --- a/libc/sysv/calls/sys_io_setup.S +++ b/libc/sysv/calls/sys_io_setup.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_setup,0xfffffffffffff0ce,globl +.scall sys_io_setup,0xfffffffffffff0ce,0x000,globl diff --git a/libc/sysv/calls/sys_io_submit.S b/libc/sysv/calls/sys_io_submit.S index 39beacc7a..0986487c1 100644 --- a/libc/sysv/calls/sys_io_submit.S +++ b/libc/sysv/calls/sys_io_submit.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_submit,0xfffffffffffff0d1,globl +.scall sys_io_submit,0xfffffffffffff0d1,0x002,globl diff --git a/libc/sysv/calls/sys_io_uring_enter.S b/libc/sysv/calls/sys_io_uring_enter.S index cdf6d1df5..2253d81d9 100644 --- a/libc/sysv/calls/sys_io_uring_enter.S +++ b/libc/sysv/calls/sys_io_uring_enter.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_uring_enter,0xfffffffffffff1aa,globl +.scall sys_io_uring_enter,0xfffffffffffff1aa,0xfff,globl diff --git a/libc/sysv/calls/sys_io_uring_register.S b/libc/sysv/calls/sys_io_uring_register.S index 124cd3a54..978a421e0 100644 --- a/libc/sysv/calls/sys_io_uring_register.S +++ b/libc/sysv/calls/sys_io_uring_register.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_uring_register,0xfffffffffffff1ab,globl +.scall sys_io_uring_register,0xfffffffffffff1ab,0xfff,globl diff --git a/libc/sysv/calls/sys_io_uring_setup.S b/libc/sysv/calls/sys_io_uring_setup.S index 365510063..b6be5a100 100644 --- a/libc/sysv/calls/sys_io_uring_setup.S +++ b/libc/sysv/calls/sys_io_uring_setup.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_uring_setup,0xfffffffffffff1a9,globl +.scall sys_io_uring_setup,0xfffffffffffff1a9,0xfff,globl diff --git a/libc/sysv/calls/sys_ioctl.S b/libc/sysv/calls/sys_ioctl.S index 0cc94d6f6..34813dc8a 100644 --- a/libc/sysv/calls/sys_ioctl.S +++ b/libc/sysv/calls/sys_ioctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ioctl,0x0360360362036010,globl,hidden +.scall sys_ioctl,0x0360360362036010,0x01d,globl,hidden diff --git a/libc/sysv/calls/sys_ioctl_cp.S b/libc/sysv/calls/sys_ioctl_cp.S index 9489f1ac8..082611b6e 100644 --- a/libc/sysv/calls/sys_ioctl_cp.S +++ b/libc/sysv/calls/sys_ioctl_cp.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ioctl_cp,0x8368368362836810,globl,hidden +.scall sys_ioctl_cp,0x8368368362836810,0x01d,globl,hidden diff --git a/libc/sysv/calls/sys_ioperm.S b/libc/sysv/calls/sys_ioperm.S index 48ed55bbf..036b533a6 100644 --- a/libc/sysv/calls/sys_ioperm.S +++ b/libc/sysv/calls/sys_ioperm.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ioperm,0xfffffffffffff0ad,globl +.scall sys_ioperm,0xfffffffffffff0ad,0xfff,globl diff --git a/libc/sysv/calls/sys_iopl.S b/libc/sysv/calls/sys_iopl.S index 08c42b031..022072db9 100644 --- a/libc/sysv/calls/sys_iopl.S +++ b/libc/sysv/calls/sys_iopl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_iopl,0xfffffffffffff0ac,globl +.scall sys_iopl,0xfffffffffffff0ac,0xfff,globl diff --git a/libc/sysv/calls/sys_issetugid.S b/libc/sysv/calls/sys_issetugid.S index d9130f965..8f77c4479 100644 --- a/libc/sysv/calls/sys_issetugid.S +++ b/libc/sysv/calls/sys_issetugid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_issetugid,0xfff0fd0fd2147fff,globl,hidden +.scall sys_issetugid,0xfff0fd0fd2147fff,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_kcmp.S b/libc/sysv/calls/sys_kcmp.S index 78bfde562..1ef94d085 100644 --- a/libc/sysv/calls/sys_kcmp.S +++ b/libc/sysv/calls/sys_kcmp.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_kcmp,0xfffffffffffff138,globl +.scall sys_kcmp,0xfffffffffffff138,0x110,globl diff --git a/libc/sysv/calls/sys_kevent.S b/libc/sysv/calls/sys_kevent.S index eb5dc71b9..11cd50387 100644 --- a/libc/sysv/calls/sys_kevent.S +++ b/libc/sysv/calls/sys_kevent.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_kevent,0x1b30482302171fff,globl +.scall sys_kevent,0x1b30482302171fff,0xfff,globl diff --git a/libc/sysv/calls/sys_kexec_file_load.S b/libc/sysv/calls/sys_kexec_file_load.S index 6ac9f890e..2e943b88a 100644 --- a/libc/sysv/calls/sys_kexec_file_load.S +++ b/libc/sysv/calls/sys_kexec_file_load.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_kexec_file_load,0xfffffffffffff140,globl +.scall sys_kexec_file_load,0xfffffffffffff140,0xfff,globl diff --git a/libc/sysv/calls/sys_kexec_load.S b/libc/sysv/calls/sys_kexec_load.S index c9f27f0bb..e7b91449e 100644 --- a/libc/sysv/calls/sys_kexec_load.S +++ b/libc/sysv/calls/sys_kexec_load.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_kexec_load,0xfffffffffffff0f6,globl +.scall sys_kexec_load,0xfffffffffffff0f6,0x068,globl diff --git a/libc/sysv/calls/sys_keyctl.S b/libc/sysv/calls/sys_keyctl.S index ef2197d94..734a954b6 100644 --- a/libc/sysv/calls/sys_keyctl.S +++ b/libc/sysv/calls/sys_keyctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_keyctl,0xfffffffffffff0fa,globl +.scall sys_keyctl,0xfffffffffffff0fa,0x0db,globl diff --git a/libc/sysv/calls/sys_kill.S b/libc/sysv/calls/sys_kill.S index 12f67bde5..bc56ac038 100644 --- a/libc/sysv/calls/sys_kill.S +++ b/libc/sysv/calls/sys_kill.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_kill,0x02507a025202503e,globl,hidden +.scall sys_kill,0x02507a025202503e,0x081,globl,hidden diff --git a/libc/sysv/calls/sys_killpg.S b/libc/sysv/calls/sys_killpg.S index 6daf72232..f00daaf9b 100644 --- a/libc/sysv/calls/sys_killpg.S +++ b/libc/sysv/calls/sys_killpg.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_killpg,0x092fff092fffffff,globl,hidden +.scall sys_killpg,0x092fff092fffffff,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_kqueue.S b/libc/sysv/calls/sys_kqueue.S index b1a49b769..ab0e3a89d 100644 --- a/libc/sysv/calls/sys_kqueue.S +++ b/libc/sysv/calls/sys_kqueue.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_kqueue,0x15810d16a216afff,globl +.scall sys_kqueue,0x15810d16a216afff,0xfff,globl diff --git a/libc/sysv/calls/sys_ktimer_create.S b/libc/sysv/calls/sys_ktimer_create.S index 6e1790230..ef5342a9c 100644 --- a/libc/sysv/calls/sys_ktimer_create.S +++ b/libc/sysv/calls/sys_ktimer_create.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ktimer_create,0xffffff0ebfffffff,globl +.scall sys_ktimer_create,0xffffff0ebfffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_ktimer_delete.S b/libc/sysv/calls/sys_ktimer_delete.S index cfa21a4d8..48071a3ef 100644 --- a/libc/sysv/calls/sys_ktimer_delete.S +++ b/libc/sysv/calls/sys_ktimer_delete.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ktimer_delete,0xffffff0ecfffffff,globl +.scall sys_ktimer_delete,0xffffff0ecfffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_ktimer_getoverrun.S b/libc/sysv/calls/sys_ktimer_getoverrun.S index f100aa31e..bdbf4faf6 100644 --- a/libc/sysv/calls/sys_ktimer_getoverrun.S +++ b/libc/sysv/calls/sys_ktimer_getoverrun.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ktimer_getoverrun,0xffffff0effffffff,globl +.scall sys_ktimer_getoverrun,0xffffff0effffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_ktimer_gettime.S b/libc/sysv/calls/sys_ktimer_gettime.S index 2da2894b6..0dae76064 100644 --- a/libc/sysv/calls/sys_ktimer_gettime.S +++ b/libc/sysv/calls/sys_ktimer_gettime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ktimer_gettime,0xffffff0eefffffff,globl +.scall sys_ktimer_gettime,0xffffff0eefffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_ktimer_settime.S b/libc/sysv/calls/sys_ktimer_settime.S index 1f3671818..d723a303c 100644 --- a/libc/sysv/calls/sys_ktimer_settime.S +++ b/libc/sysv/calls/sys_ktimer_settime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ktimer_settime,0xffffff0edfffffff,globl +.scall sys_ktimer_settime,0xffffff0edfffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_ktrace.S b/libc/sysv/calls/sys_ktrace.S index 07e65372c..f70cf2ffe 100644 --- a/libc/sysv/calls/sys_ktrace.S +++ b/libc/sysv/calls/sys_ktrace.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ktrace,0x02d02d02dfffffff,globl +.scall sys_ktrace,0x02d02d02dfffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_landlock_add_rule.S b/libc/sysv/calls/sys_landlock_add_rule.S index b9402e48d..57861a4b7 100644 --- a/libc/sysv/calls/sys_landlock_add_rule.S +++ b/libc/sysv/calls/sys_landlock_add_rule.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_landlock_add_rule,0xfffffffffffff1bd,globl,hidden +.scall sys_landlock_add_rule,0xfffffffffffff1bd,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_landlock_create_ruleset.S b/libc/sysv/calls/sys_landlock_create_ruleset.S index 7d9993cba..3bd3aefb3 100644 --- a/libc/sysv/calls/sys_landlock_create_ruleset.S +++ b/libc/sysv/calls/sys_landlock_create_ruleset.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_landlock_create_ruleset,0xfffffffffffff1bc,globl,hidden +.scall sys_landlock_create_ruleset,0xfffffffffffff1bc,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_landlock_restrict_self.S b/libc/sysv/calls/sys_landlock_restrict_self.S index 76115e073..233702323 100644 --- a/libc/sysv/calls/sys_landlock_restrict_self.S +++ b/libc/sysv/calls/sys_landlock_restrict_self.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_landlock_restrict_self,0xfffffffffffff1be,globl,hidden +.scall sys_landlock_restrict_self,0xfffffffffffff1be,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_lchown.S b/libc/sysv/calls/sys_lchown.S index 017bf5ff5..002c6135c 100644 --- a/libc/sysv/calls/sys_lchown.S +++ b/libc/sysv/calls/sys_lchown.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_lchown,0x1130fe0fe216c05e,globl,hidden +.scall sys_lchown,0x1130fe0fe216c05e,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_lgetxattr.S b/libc/sysv/calls/sys_lgetxattr.S index 1ddd72301..a134cebbe 100644 --- a/libc/sysv/calls/sys_lgetxattr.S +++ b/libc/sysv/calls/sys_lgetxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_lgetxattr,0x17bffffffffff0c0,globl +.scall sys_lgetxattr,0x17bffffffffff0c0,0x009,globl diff --git a/libc/sysv/calls/sys_link.S b/libc/sysv/calls/sys_link.S index 988cc668e..3ab035f1b 100644 --- a/libc/sysv/calls/sys_link.S +++ b/libc/sysv/calls/sys_link.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_link,0x0090090092009056,globl,hidden +.scall sys_link,0x0090090092009056,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_linkat.S b/libc/sysv/calls/sys_linkat.S index e56f7b783..c1d81bf45 100644 --- a/libc/sysv/calls/sys_linkat.S +++ b/libc/sysv/calls/sys_linkat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_linkat,0x1c913d1ef21d7109,globl,hidden +.scall sys_linkat,0x1c913d1ef21d7109,0x025,globl,hidden diff --git a/libc/sysv/calls/sys_lio_listio.S b/libc/sysv/calls/sys_lio_listio.S index 5e64a09fc..cfff209e0 100644 --- a/libc/sysv/calls/sys_lio_listio.S +++ b/libc/sysv/calls/sys_lio_listio.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_lio_listio,0x196fff1402140fff,globl +.scall sys_lio_listio,0x196fff1402140fff,0xfff,globl diff --git a/libc/sysv/calls/sys_listen.S b/libc/sysv/calls/sys_listen.S index 6874282e9..6508c8a98 100644 --- a/libc/sysv/calls/sys_listen.S +++ b/libc/sysv/calls/sys_listen.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_listen,0x06a06a06a206a032,globl,hidden +.scall sys_listen,0x06a06a06a206a032,0x0c9,globl,hidden diff --git a/libc/sysv/calls/sys_listxattr.S b/libc/sysv/calls/sys_listxattr.S index ff4a76b65..5c2f28570 100644 --- a/libc/sysv/calls/sys_listxattr.S +++ b/libc/sysv/calls/sys_listxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_listxattr,0x17dffffff20f00c2,globl +.scall sys_listxattr,0x17dffffff20f00c2,0x00b,globl diff --git a/libc/sysv/calls/sys_llistxattr.S b/libc/sysv/calls/sys_llistxattr.S index 89f509db1..be63233d0 100644 --- a/libc/sysv/calls/sys_llistxattr.S +++ b/libc/sysv/calls/sys_llistxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_llistxattr,0x17effffffffff0c3,globl +.scall sys_llistxattr,0x17effffffffff0c3,0x00c,globl diff --git a/libc/sysv/calls/sys_lookup_dcookie.S b/libc/sysv/calls/sys_lookup_dcookie.S index 9ab903220..74e1976fe 100644 --- a/libc/sysv/calls/sys_lookup_dcookie.S +++ b/libc/sysv/calls/sys_lookup_dcookie.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_lookup_dcookie,0xfffffffffffff0d4,globl +.scall sys_lookup_dcookie,0xfffffffffffff0d4,0x012,globl diff --git a/libc/sysv/calls/sys_lremovexattr.S b/libc/sysv/calls/sys_lremovexattr.S index 3aa10983c..f064d453c 100644 --- a/libc/sysv/calls/sys_lremovexattr.S +++ b/libc/sysv/calls/sys_lremovexattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_lremovexattr,0x181ffffffffff0c6,globl +.scall sys_lremovexattr,0x181ffffffffff0c6,0x00f,globl diff --git a/libc/sysv/calls/sys_lseek.S b/libc/sysv/calls/sys_lseek.S index 0e2803cc0..a63bcbe71 100644 --- a/libc/sysv/calls/sys_lseek.S +++ b/libc/sysv/calls/sys_lseek.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_lseek,0x0c70c71de20c7008,globl,hidden +.scall sys_lseek,0x0c70c71de20c7008,0x03e,globl,hidden diff --git a/libc/sysv/calls/sys_lsetxattr.S b/libc/sysv/calls/sys_lsetxattr.S index 2dfce0c84..ec67cfc44 100644 --- a/libc/sysv/calls/sys_lsetxattr.S +++ b/libc/sysv/calls/sys_lsetxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_lsetxattr,0x178ffffffffff0bd,globl +.scall sys_lsetxattr,0x178ffffffffff0bd,0x006,globl diff --git a/libc/sysv/calls/sys_lutimes.S b/libc/sysv/calls/sys_lutimes.S index f80e69cbd..fe75e6c0c 100644 --- a/libc/sysv/calls/sys_lutimes.S +++ b/libc/sysv/calls/sys_lutimes.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_lutimes,0x1a8fff114fffffff,globl,hidden +.scall sys_lutimes,0x1a8fff114fffffff,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_madvise.S b/libc/sysv/calls/sys_madvise.S index 2e78cfd86..c7ec94f9a 100644 --- a/libc/sysv/calls/sys_madvise.S +++ b/libc/sysv/calls/sys_madvise.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_madvise,0x04b04b04b204b01c,globl,hidden +.scall sys_madvise,0x04b04b04b204b01c,0x0e9,globl,hidden diff --git a/libc/sysv/calls/sys_mbind.S b/libc/sysv/calls/sys_mbind.S index 6f78b25e6..d855d8eca 100644 --- a/libc/sysv/calls/sys_mbind.S +++ b/libc/sysv/calls/sys_mbind.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mbind,0xfffffffffffff0ed,globl +.scall sys_mbind,0xfffffffffffff0ed,0x0eb,globl diff --git a/libc/sysv/calls/sys_membarrier.S b/libc/sysv/calls/sys_membarrier.S index be1bfb655..cebb63679 100644 --- a/libc/sysv/calls/sys_membarrier.S +++ b/libc/sysv/calls/sys_membarrier.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_membarrier,0xfffffffffffff144,globl +.scall sys_membarrier,0xfffffffffffff144,0x11b,globl diff --git a/libc/sysv/calls/sys_memfd_create.S b/libc/sysv/calls/sys_memfd_create.S index 33d3776d0..621de7c65 100644 --- a/libc/sysv/calls/sys_memfd_create.S +++ b/libc/sysv/calls/sys_memfd_create.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_memfd_create,0xfffffffffffff13f,globl,hidden +.scall sys_memfd_create,0xfffffffffffff13f,0x117,globl,hidden diff --git a/libc/sysv/calls/sys_memfd_secret.S b/libc/sysv/calls/sys_memfd_secret.S index 4164bdbe0..45e92eb0e 100644 --- a/libc/sysv/calls/sys_memfd_secret.S +++ b/libc/sysv/calls/sys_memfd_secret.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_memfd_secret,0xfffffffffffff1bf,globl +.scall sys_memfd_secret,0xfffffffffffff1bf,0xfff,globl diff --git a/libc/sysv/calls/sys_migrate_pages.S b/libc/sysv/calls/sys_migrate_pages.S index 563e850ab..925f05b85 100644 --- a/libc/sysv/calls/sys_migrate_pages.S +++ b/libc/sysv/calls/sys_migrate_pages.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_migrate_pages,0xfffffffffffff100,globl +.scall sys_migrate_pages,0xfffffffffffff100,0x0ee,globl diff --git a/libc/sysv/calls/sys_mincore.S b/libc/sysv/calls/sys_mincore.S index 71b5a0604..5aefbd5c0 100644 --- a/libc/sysv/calls/sys_mincore.S +++ b/libc/sysv/calls/sys_mincore.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mincore,0x04e04e04e204e01b,globl,hidden +.scall sys_mincore,0x04e04e04e204e01b,0x0e8,globl,hidden diff --git a/libc/sysv/calls/sys_minherit.S b/libc/sysv/calls/sys_minherit.S index 3d38563bc..784c8953e 100644 --- a/libc/sysv/calls/sys_minherit.S +++ b/libc/sysv/calls/sys_minherit.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_minherit,0x1110fa0fa20fafff,globl +.scall sys_minherit,0x1110fa0fa20fafff,0xfff,globl diff --git a/libc/sysv/calls/sys_mkdir.S b/libc/sysv/calls/sys_mkdir.S index f4e38c3c8..c82b8b568 100644 --- a/libc/sysv/calls/sys_mkdir.S +++ b/libc/sysv/calls/sys_mkdir.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mkdir,0x0880880882088053,globl,hidden +.scall sys_mkdir,0x0880880882088053,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_mkdirat.S b/libc/sysv/calls/sys_mkdirat.S index 2e3fc16d4..0e0adec64 100644 --- a/libc/sysv/calls/sys_mkdirat.S +++ b/libc/sysv/calls/sys_mkdirat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mkdirat,0x1cd13e1f021db102,globl,hidden +.scall sys_mkdirat,0x1cd13e1f021db102,0x022,globl,hidden diff --git a/libc/sysv/calls/sys_mkfifo.S b/libc/sysv/calls/sys_mkfifo.S index 6bcb645f1..59fbab005 100644 --- a/libc/sysv/calls/sys_mkfifo.S +++ b/libc/sysv/calls/sys_mkfifo.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mkfifo,0x0840840842084fff,globl,hidden +.scall sys_mkfifo,0x0840840842084fff,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_mkfifoat.S b/libc/sysv/calls/sys_mkfifoat.S index 7e287268e..54ecc76b1 100644 --- a/libc/sysv/calls/sys_mkfifoat.S +++ b/libc/sysv/calls/sys_mkfifoat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mkfifoat,0x1cb13f1f1fffffff,globl +.scall sys_mkfifoat,0x1cb13f1f1fffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_mknod.S b/libc/sysv/calls/sys_mknod.S index b9dbe097d..3b7c4ffe3 100644 --- a/libc/sysv/calls/sys_mknod.S +++ b/libc/sysv/calls/sys_mknod.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mknod,0x1c200e00e200e085,globl,hidden +.scall sys_mknod,0x1c200e00e200e085,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_mknodat.S b/libc/sysv/calls/sys_mknodat.S index 864b2bde0..f0807c409 100644 --- a/libc/sysv/calls/sys_mknodat.S +++ b/libc/sysv/calls/sys_mknodat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mknodat,0x1cc14022fffff103,globl +.scall sys_mknodat,0x1cc14022fffff103,0x021,globl diff --git a/libc/sysv/calls/sys_mlock.S b/libc/sysv/calls/sys_mlock.S index 6889a8e73..4486a6612 100644 --- a/libc/sysv/calls/sys_mlock.S +++ b/libc/sysv/calls/sys_mlock.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mlock,0x0cb0cb0cb20cb095,globl +.scall sys_mlock,0x0cb0cb0cb20cb095,0x0e4,globl diff --git a/libc/sysv/calls/sys_mlock2.S b/libc/sysv/calls/sys_mlock2.S index 661da244e..207df488d 100644 --- a/libc/sysv/calls/sys_mlock2.S +++ b/libc/sysv/calls/sys_mlock2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mlock2,0xfffffffffffff145,globl +.scall sys_mlock2,0xfffffffffffff145,0x11c,globl diff --git a/libc/sysv/calls/sys_mlockall.S b/libc/sysv/calls/sys_mlockall.S index b08b70b3f..06a46768f 100644 --- a/libc/sysv/calls/sys_mlockall.S +++ b/libc/sysv/calls/sys_mlockall.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mlockall,0x0f210f1442144097,globl +.scall sys_mlockall,0x0f210f1442144097,0x0e6,globl diff --git a/libc/sysv/calls/sys_modify_ldt.S b/libc/sysv/calls/sys_modify_ldt.S index bc0c3238f..83cdfc4f0 100644 --- a/libc/sysv/calls/sys_modify_ldt.S +++ b/libc/sysv/calls/sys_modify_ldt.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_modify_ldt,0xfffffffffffff09a,globl +.scall sys_modify_ldt,0xfffffffffffff09a,0xfff,globl diff --git a/libc/sysv/calls/sys_mount.S b/libc/sysv/calls/sys_mount.S index efff95663..ab40ceeef 100644 --- a/libc/sysv/calls/sys_mount.S +++ b/libc/sysv/calls/sys_mount.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mount,0x19a01501520a70a5,globl,hidden +.scall sys_mount,0x19a01501520a70a5,0x028,globl,hidden diff --git a/libc/sysv/calls/sys_mount_setattr.S b/libc/sysv/calls/sys_mount_setattr.S index e7ca308b1..04be79dd2 100644 --- a/libc/sysv/calls/sys_mount_setattr.S +++ b/libc/sysv/calls/sys_mount_setattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mount_setattr,0xfffffffffffff1ba,globl +.scall sys_mount_setattr,0xfffffffffffff1ba,0xfff,globl diff --git a/libc/sysv/calls/sys_move_mount.S b/libc/sysv/calls/sys_move_mount.S index c82408148..878d51fd5 100644 --- a/libc/sysv/calls/sys_move_mount.S +++ b/libc/sysv/calls/sys_move_mount.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_move_mount,0xfffffffffffff1ad,globl +.scall sys_move_mount,0xfffffffffffff1ad,0xfff,globl diff --git a/libc/sysv/calls/sys_move_pages.S b/libc/sysv/calls/sys_move_pages.S index 8894d685a..4ab16b055 100644 --- a/libc/sysv/calls/sys_move_pages.S +++ b/libc/sysv/calls/sys_move_pages.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_move_pages,0xfffffffffffff117,globl +.scall sys_move_pages,0xfffffffffffff117,0x0ef,globl diff --git a/libc/sysv/calls/sys_mprotect.S b/libc/sysv/calls/sys_mprotect.S index db7508d2a..2b33e8844 100644 --- a/libc/sysv/calls/sys_mprotect.S +++ b/libc/sysv/calls/sys_mprotect.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mprotect,0x04a04a04a204a00a,globl,hidden +.scall sys_mprotect,0x04a04a04a204a00a,0x0e2,globl,hidden diff --git a/libc/sysv/calls/sys_mq_getsetattr.S b/libc/sysv/calls/sys_mq_getsetattr.S index 0037e5b9d..3c9d04c2c 100644 --- a/libc/sysv/calls/sys_mq_getsetattr.S +++ b/libc/sysv/calls/sys_mq_getsetattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mq_getsetattr,0xfffffffffffff0f5,globl +.scall sys_mq_getsetattr,0xfffffffffffff0f5,0x0b9,globl diff --git a/libc/sysv/calls/sys_mq_notify.S b/libc/sysv/calls/sys_mq_notify.S index 1074dcca1..5c2704849 100644 --- a/libc/sysv/calls/sys_mq_notify.S +++ b/libc/sysv/calls/sys_mq_notify.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mq_notify,0x106ffffffffff0f4,globl +.scall sys_mq_notify,0x106ffffffffff0f4,0x0b8,globl diff --git a/libc/sysv/calls/sys_mq_open.S b/libc/sysv/calls/sys_mq_open.S index a6ef36190..e3efb1731 100644 --- a/libc/sysv/calls/sys_mq_open.S +++ b/libc/sysv/calls/sys_mq_open.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mq_open,0x101ffffffffff0f0,globl +.scall sys_mq_open,0x101ffffffffff0f0,0x0b4,globl diff --git a/libc/sysv/calls/sys_mq_timedreceive.S b/libc/sysv/calls/sys_mq_timedreceive.S index 02ad62d16..29f8f2a35 100644 --- a/libc/sysv/calls/sys_mq_timedreceive.S +++ b/libc/sysv/calls/sys_mq_timedreceive.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mq_timedreceive,0x1b1ffffffffff0f3,globl +.scall sys_mq_timedreceive,0x1b1ffffffffff0f3,0x0b7,globl diff --git a/libc/sysv/calls/sys_mq_timedsend.S b/libc/sysv/calls/sys_mq_timedsend.S index 7b463e8e3..bb05514c9 100644 --- a/libc/sysv/calls/sys_mq_timedsend.S +++ b/libc/sysv/calls/sys_mq_timedsend.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mq_timedsend,0x1b0ffffffffff0f2,globl +.scall sys_mq_timedsend,0x1b0ffffffffff0f2,0x0b6,globl diff --git a/libc/sysv/calls/sys_mq_unlink.S b/libc/sysv/calls/sys_mq_unlink.S index bf1787554..d1c7baf7e 100644 --- a/libc/sysv/calls/sys_mq_unlink.S +++ b/libc/sysv/calls/sys_mq_unlink.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mq_unlink,0x103ffffffffff0f1,globl +.scall sys_mq_unlink,0x103ffffffffff0f1,0x0b5,globl diff --git a/libc/sysv/calls/sys_msgctl.S b/libc/sysv/calls/sys_msgctl.S index 0e45b13d5..4a21cf3b6 100644 --- a/libc/sysv/calls/sys_msgctl.S +++ b/libc/sysv/calls/sys_msgctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_msgctl,0x1bc1291ff2102047,globl +.scall sys_msgctl,0x1bc1291ff2102047,0x0bb,globl diff --git a/libc/sysv/calls/sys_msgget.S b/libc/sysv/calls/sys_msgget.S index d08cc7631..00b63d759 100644 --- a/libc/sysv/calls/sys_msgget.S +++ b/libc/sysv/calls/sys_msgget.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_msgget,0x0e10e10e12103044,globl +.scall sys_msgget,0x0e10e10e12103044,0x0ba,globl diff --git a/libc/sysv/calls/sys_msgrcv.S b/libc/sysv/calls/sys_msgrcv.S index 2c28af9b4..9b3fb5b0e 100644 --- a/libc/sysv/calls/sys_msgrcv.S +++ b/libc/sysv/calls/sys_msgrcv.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_msgrcv,0x8e38e38e32905846,globl +.scall sys_msgrcv,0x8e38e38e32905846,0x0bc,globl diff --git a/libc/sysv/calls/sys_msgsnd.S b/libc/sysv/calls/sys_msgsnd.S index 10ffd866a..9c398b7b2 100644 --- a/libc/sysv/calls/sys_msgsnd.S +++ b/libc/sysv/calls/sys_msgsnd.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_msgsnd,0x8e28e28e22904845,globl +.scall sys_msgsnd,0x8e28e28e22904845,0x0bd,globl diff --git a/libc/sysv/calls/sys_msgsys.S b/libc/sysv/calls/sys_msgsys.S index fbf56e389..e33234692 100644 --- a/libc/sysv/calls/sys_msgsys.S +++ b/libc/sysv/calls/sys_msgsys.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_msgsys,0xffffff0aa20fcfff,globl +.scall sys_msgsys,0xffffff0aa20fcfff,0xfff,globl diff --git a/libc/sysv/calls/sys_msync.S b/libc/sysv/calls/sys_msync.S index 2489083be..2644aeba6 100644 --- a/libc/sysv/calls/sys_msync.S +++ b/libc/sysv/calls/sys_msync.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_msync,0x915900841284181a,globl,hidden +.scall sys_msync,0x915900841284181a,0x0e3,globl,hidden diff --git a/libc/sysv/calls/sys_msyscall.S b/libc/sysv/calls/sys_msyscall.S index 30b1fe054..d04c16d9b 100644 --- a/libc/sysv/calls/sys_msyscall.S +++ b/libc/sysv/calls/sys_msyscall.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_msyscall,0xfff025ffffffffff,globl +.scall sys_msyscall,0xfff025ffffffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_munlock.S b/libc/sysv/calls/sys_munlock.S index 7161024f7..e6a8d2fae 100644 --- a/libc/sysv/calls/sys_munlock.S +++ b/libc/sysv/calls/sys_munlock.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_munlock,0x0cc0cc0cc20cc096,globl +.scall sys_munlock,0x0cc0cc0cc20cc096,0x0e5,globl diff --git a/libc/sysv/calls/sys_munlockall.S b/libc/sysv/calls/sys_munlockall.S index 0deb346eb..0baf24310 100644 --- a/libc/sysv/calls/sys_munlockall.S +++ b/libc/sysv/calls/sys_munlockall.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_munlockall,0x0f31101452145098,globl +.scall sys_munlockall,0x0f31101452145098,0x0e7,globl diff --git a/libc/sysv/calls/sys_name_to_handle_at.S b/libc/sysv/calls/sys_name_to_handle_at.S index cfb53bafc..57092ffc5 100644 --- a/libc/sysv/calls/sys_name_to_handle_at.S +++ b/libc/sysv/calls/sys_name_to_handle_at.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_name_to_handle_at,0xfffffffffffff12f,globl +.scall sys_name_to_handle_at,0xfffffffffffff12f,0x108,globl diff --git a/libc/sysv/calls/sys_nanosleep.S b/libc/sysv/calls/sys_nanosleep.S index 466365dd4..efef47332 100644 --- a/libc/sysv/calls/sys_nanosleep.S +++ b/libc/sysv/calls/sys_nanosleep.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_nanosleep,0x9ae85b8f0ffff823,globl,hidden +.scall sys_nanosleep,0x9ae85b8f0ffff823,0x065,globl,hidden diff --git a/libc/sysv/calls/sys_nfssvc.S b/libc/sysv/calls/sys_nfssvc.S index f8f587b71..0f6a9570e 100644 --- a/libc/sysv/calls/sys_nfssvc.S +++ b/libc/sysv/calls/sys_nfssvc.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_nfssvc,0x09b09b09b209bfff,globl +.scall sys_nfssvc,0x09b09b09b209bfff,0xfff,globl diff --git a/libc/sysv/calls/sys_ntp_adjtime.S b/libc/sysv/calls/sys_ntp_adjtime.S index 7fb3ea35c..b401cd1de 100644 --- a/libc/sysv/calls/sys_ntp_adjtime.S +++ b/libc/sysv/calls/sys_ntp_adjtime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ntp_adjtime,0x0b0fff0b0220ffff,globl +.scall sys_ntp_adjtime,0x0b0fff0b0220ffff,0xfff,globl diff --git a/libc/sysv/calls/sys_ntp_gettime.S b/libc/sysv/calls/sys_ntp_gettime.S index 5a0851f47..80d08b495 100644 --- a/libc/sysv/calls/sys_ntp_gettime.S +++ b/libc/sysv/calls/sys_ntp_gettime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ntp_gettime,0x1c0fff0f82210fff,globl +.scall sys_ntp_gettime,0x1c0fff0f82210fff,0xfff,globl diff --git a/libc/sysv/calls/sys_open.S b/libc/sysv/calls/sys_open.S index 5e9dfc89e..993e1b233 100644 --- a/libc/sysv/calls/sys_open.S +++ b/libc/sysv/calls/sys_open.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_open,0x8058058052805802,globl,hidden +.scall sys_open,0x8058058052805802,0x0b4,globl,hidden diff --git a/libc/sysv/calls/sys_open_by_handle_at.S b/libc/sysv/calls/sys_open_by_handle_at.S index 5622e7e91..1189d6140 100644 --- a/libc/sysv/calls/sys_open_by_handle_at.S +++ b/libc/sysv/calls/sys_open_by_handle_at.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_open_by_handle_at,0xfffffffffffff130,globl +.scall sys_open_by_handle_at,0xfffffffffffff130,0x109,globl diff --git a/libc/sysv/calls/sys_open_tree.S b/libc/sysv/calls/sys_open_tree.S index 4f427f7c1..8bca182f4 100644 --- a/libc/sysv/calls/sys_open_tree.S +++ b/libc/sysv/calls/sys_open_tree.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_open_tree,0xfffffffffffff1ac,globl +.scall sys_open_tree,0xfffffffffffff1ac,0xfff,globl diff --git a/libc/sysv/calls/sys_openat2.S b/libc/sysv/calls/sys_openat2.S index 9dd11c6f8..df02c6e7f 100644 --- a/libc/sysv/calls/sys_openat2.S +++ b/libc/sysv/calls/sys_openat2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_openat2,0xfffffffffffff1b5,globl,hidden +.scall sys_openat2,0xfffffffffffff1b5,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_pathconf.S b/libc/sysv/calls/sys_pathconf.S index 75c70e6e7..14fe95dad 100644 --- a/libc/sysv/calls/sys_pathconf.S +++ b/libc/sysv/calls/sys_pathconf.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pathconf,0x0bf0bf0bf20bffff,globl +.scall sys_pathconf,0x0bf0bf0bf20bffff,0xfff,globl diff --git a/libc/sysv/calls/sys_pause.S b/libc/sysv/calls/sys_pause.S index 91b349a8b..92ec87b10 100644 --- a/libc/sysv/calls/sys_pause.S +++ b/libc/sysv/calls/sys_pause.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pause,0xfffffffffffff022,globl,hidden +.scall sys_pause,0xfffffffffffff022,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_perf_event_open.S b/libc/sysv/calls/sys_perf_event_open.S index ac9f74565..3a8bee54f 100644 --- a/libc/sysv/calls/sys_perf_event_open.S +++ b/libc/sysv/calls/sys_perf_event_open.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_perf_event_open,0xfffffffffffff12a,globl +.scall sys_perf_event_open,0xfffffffffffff12a,0x0f1,globl diff --git a/libc/sysv/calls/sys_personality.S b/libc/sysv/calls/sys_personality.S index e907a4ebd..b15a731ac 100644 --- a/libc/sysv/calls/sys_personality.S +++ b/libc/sysv/calls/sys_personality.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_personality,0xfffffffffffff087,globl +.scall sys_personality,0xfffffffffffff087,0x05c,globl diff --git a/libc/sysv/calls/sys_pidfd_getfd.S b/libc/sysv/calls/sys_pidfd_getfd.S index fa840b9ec..32486c4e0 100644 --- a/libc/sysv/calls/sys_pidfd_getfd.S +++ b/libc/sysv/calls/sys_pidfd_getfd.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pidfd_getfd,0xfffffffffffff1b6,globl +.scall sys_pidfd_getfd,0xfffffffffffff1b6,0xfff,globl diff --git a/libc/sysv/calls/sys_pidfd_open.S b/libc/sysv/calls/sys_pidfd_open.S index ffeed3163..f25e5898c 100644 --- a/libc/sysv/calls/sys_pidfd_open.S +++ b/libc/sysv/calls/sys_pidfd_open.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pidfd_open,0xfffffffffffff1b2,globl +.scall sys_pidfd_open,0xfffffffffffff1b2,0xfff,globl diff --git a/libc/sysv/calls/sys_pidfd_send_signal.S b/libc/sysv/calls/sys_pidfd_send_signal.S index 66b8b2923..a22b9c331 100644 --- a/libc/sysv/calls/sys_pidfd_send_signal.S +++ b/libc/sysv/calls/sys_pidfd_send_signal.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pidfd_send_signal,0xfffffffffffff1a8,globl +.scall sys_pidfd_send_signal,0xfffffffffffff1a8,0xfff,globl diff --git a/libc/sysv/calls/sys_pivot_root.S b/libc/sysv/calls/sys_pivot_root.S index 5aed951e3..3e9b0bc2b 100644 --- a/libc/sysv/calls/sys_pivot_root.S +++ b/libc/sysv/calls/sys_pivot_root.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pivot_root,0xfffffffffffff09b,globl,hidden +.scall sys_pivot_root,0xfffffffffffff09b,0x029,globl,hidden diff --git a/libc/sysv/calls/sys_pkey_alloc.S b/libc/sysv/calls/sys_pkey_alloc.S index a32ab89d8..38ec7ebb7 100644 --- a/libc/sysv/calls/sys_pkey_alloc.S +++ b/libc/sysv/calls/sys_pkey_alloc.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pkey_alloc,0xfffffffffffff14a,globl +.scall sys_pkey_alloc,0xfffffffffffff14a,0x121,globl diff --git a/libc/sysv/calls/sys_pkey_free.S b/libc/sysv/calls/sys_pkey_free.S index 63a6f3a7a..f05bbf9dd 100644 --- a/libc/sysv/calls/sys_pkey_free.S +++ b/libc/sysv/calls/sys_pkey_free.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pkey_free,0xfffffffffffff14b,globl +.scall sys_pkey_free,0xfffffffffffff14b,0x122,globl diff --git a/libc/sysv/calls/sys_pkey_mprotect.S b/libc/sysv/calls/sys_pkey_mprotect.S index 7a7887dd1..3e7785597 100644 --- a/libc/sysv/calls/sys_pkey_mprotect.S +++ b/libc/sysv/calls/sys_pkey_mprotect.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pkey_mprotect,0xfffffffffffff149,globl +.scall sys_pkey_mprotect,0xfffffffffffff149,0x120,globl diff --git a/libc/sysv/calls/sys_pledge.S b/libc/sysv/calls/sys_pledge.S index 2bd1b6b7a..d503e9590 100644 --- a/libc/sysv/calls/sys_pledge.S +++ b/libc/sysv/calls/sys_pledge.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pledge,0xfff06cffffffffff,globl,hidden +.scall sys_pledge,0xfff06cffffffffff,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_poll.S b/libc/sysv/calls/sys_poll.S index 5b36e05f0..bbc19abe1 100644 --- a/libc/sysv/calls/sys_poll.S +++ b/libc/sysv/calls/sys_poll.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_poll,0x8d18fc8d128e6807,globl,hidden +.scall sys_poll,0x8d18fc8d128e6807,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_posix_openpt.S b/libc/sysv/calls/sys_posix_openpt.S index 23ed53926..fd676a7ab 100644 --- a/libc/sysv/calls/sys_posix_openpt.S +++ b/libc/sysv/calls/sys_posix_openpt.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_posix_openpt,0xffffff1f8fffffff,globl,hidden +.scall sys_posix_openpt,0xffffff1f8fffffff,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_posix_spawn.S b/libc/sysv/calls/sys_posix_spawn.S index b9cef019b..48f7ce84d 100644 --- a/libc/sysv/calls/sys_posix_spawn.S +++ b/libc/sysv/calls/sys_posix_spawn.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_posix_spawn,0x1daffffff20f4fff,globl,hidden +.scall sys_posix_spawn,0x1daffffff20f4fff,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_ppoll.S b/libc/sysv/calls/sys_ppoll.S index cc20b0522..6febdd82c 100644 --- a/libc/sysv/calls/sys_ppoll.S +++ b/libc/sysv/calls/sys_ppoll.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ppoll,0xfff86da21ffff90f,globl,hidden +.scall sys_ppoll,0xfff86da21ffff90f,0x049,globl,hidden diff --git a/libc/sysv/calls/sys_pread.S b/libc/sysv/calls/sys_pread.S index b59d330e9..045da6aed 100644 --- a/libc/sysv/calls/sys_pread.S +++ b/libc/sysv/calls/sys_pread.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pread,0x8ad8ad9db2899811,globl,hidden +.scall sys_pread,0x8ad8ad9db2899811,0x043,globl,hidden diff --git a/libc/sysv/calls/sys_preadv.S b/libc/sysv/calls/sys_preadv.S index c989621e7..518c3710c 100644 --- a/libc/sysv/calls/sys_preadv.S +++ b/libc/sysv/calls/sys_preadv.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_preadv,0x92190b9212a1c927,globl,hidden +.scall sys_preadv,0x92190b9212a1c927,0x045,globl,hidden diff --git a/libc/sysv/calls/sys_preadv2.S b/libc/sysv/calls/sys_preadv2.S index d0f10f70a..ef5724ba0 100644 --- a/libc/sysv/calls/sys_preadv2.S +++ b/libc/sysv/calls/sys_preadv2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_preadv2,0xfffffffffffff147,globl +.scall sys_preadv2,0xfffffffffffff147,0x11e,globl diff --git a/libc/sysv/calls/sys_prlimit.S b/libc/sysv/calls/sys_prlimit.S index bf61b92a6..506b6a78d 100644 --- a/libc/sysv/calls/sys_prlimit.S +++ b/libc/sysv/calls/sys_prlimit.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_prlimit,0xfffffffffffff12e,globl +.scall sys_prlimit,0xfffffffffffff12e,0x105,globl diff --git a/libc/sysv/calls/sys_process_madvise.S b/libc/sysv/calls/sys_process_madvise.S index c0434e43e..80dad473c 100644 --- a/libc/sysv/calls/sys_process_madvise.S +++ b/libc/sysv/calls/sys_process_madvise.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_process_madvise,0xfffffffffffff1b8,globl +.scall sys_process_madvise,0xfffffffffffff1b8,0xfff,globl diff --git a/libc/sysv/calls/sys_process_mrelease.S b/libc/sysv/calls/sys_process_mrelease.S index e18aa9c87..e84394dcd 100644 --- a/libc/sysv/calls/sys_process_mrelease.S +++ b/libc/sysv/calls/sys_process_mrelease.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_process_mrelease,0xfffffffffffff1c0,globl +.scall sys_process_mrelease,0xfffffffffffff1c0,0xfff,globl diff --git a/libc/sysv/calls/sys_process_vm_readv.S b/libc/sysv/calls/sys_process_vm_readv.S index 4e897af12..e0119cae2 100644 --- a/libc/sysv/calls/sys_process_vm_readv.S +++ b/libc/sysv/calls/sys_process_vm_readv.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_process_vm_readv,0xfffffffffffff136,globl +.scall sys_process_vm_readv,0xfffffffffffff136,0x10e,globl diff --git a/libc/sysv/calls/sys_process_vm_writev.S b/libc/sysv/calls/sys_process_vm_writev.S index ff2729c08..553e4897a 100644 --- a/libc/sysv/calls/sys_process_vm_writev.S +++ b/libc/sysv/calls/sys_process_vm_writev.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_process_vm_writev,0xfffffffffffff137,globl +.scall sys_process_vm_writev,0xfffffffffffff137,0x10f,globl diff --git a/libc/sysv/calls/sys_profil.S b/libc/sysv/calls/sys_profil.S index ade8bedbe..724eaaa81 100644 --- a/libc/sysv/calls/sys_profil.S +++ b/libc/sysv/calls/sys_profil.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_profil,0x02c02c02cfffffff,globl +.scall sys_profil,0x02c02c02cfffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_pselect.S b/libc/sysv/calls/sys_pselect.S index 7f0590008..62bcd149c 100644 --- a/libc/sysv/calls/sys_pselect.S +++ b/libc/sysv/calls/sys_pselect.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pselect,0x9b486ea0a298a90e,globl,hidden +.scall sys_pselect,0x9b486ea0a298a90e,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_pwrite.S b/libc/sysv/calls/sys_pwrite.S index 135919311..267efb1dd 100644 --- a/libc/sysv/calls/sys_pwrite.S +++ b/libc/sysv/calls/sys_pwrite.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pwrite,0x8ae8ae9dc289a812,globl,hidden +.scall sys_pwrite,0x8ae8ae9dc289a812,0x044,globl,hidden diff --git a/libc/sysv/calls/sys_pwritev.S b/libc/sysv/calls/sys_pwritev.S index a963e2840..d9dc467a6 100644 --- a/libc/sysv/calls/sys_pwritev.S +++ b/libc/sysv/calls/sys_pwritev.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pwritev,0x92290c9222a1d928,globl,hidden +.scall sys_pwritev,0x92290c9222a1d928,0x046,globl,hidden diff --git a/libc/sysv/calls/sys_pwritev2.S b/libc/sysv/calls/sys_pwritev2.S index 0b744fa10..9bf675d10 100644 --- a/libc/sysv/calls/sys_pwritev2.S +++ b/libc/sysv/calls/sys_pwritev2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pwritev2,0xfffffffffffff148,globl +.scall sys_pwritev2,0xfffffffffffff148,0x11f,globl diff --git a/libc/sysv/calls/sys_quotactl.S b/libc/sysv/calls/sys_quotactl.S index a96df606c..006ece2fa 100644 --- a/libc/sysv/calls/sys_quotactl.S +++ b/libc/sysv/calls/sys_quotactl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_quotactl,0xfff09409420a50b3,globl +.scall sys_quotactl,0xfff09409420a50b3,0x03c,globl diff --git a/libc/sysv/calls/sys_quotactl_fd.S b/libc/sysv/calls/sys_quotactl_fd.S index e8f04e211..4a9768233 100644 --- a/libc/sysv/calls/sys_quotactl_fd.S +++ b/libc/sysv/calls/sys_quotactl_fd.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_quotactl_fd,0xfffffffffffff1bb,globl +.scall sys_quotactl_fd,0xfffffffffffff1bb,0xfff,globl diff --git a/libc/sysv/calls/sys_read.S b/libc/sysv/calls/sys_read.S index 91e20f37f..54c434f38 100644 --- a/libc/sysv/calls/sys_read.S +++ b/libc/sysv/calls/sys_read.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_read,0x8038038032803800,globl,hidden +.scall sys_read,0x8038038032803800,0x03f,globl,hidden diff --git a/libc/sysv/calls/sys_readahead.S b/libc/sysv/calls/sys_readahead.S index 9d5e56add..c3c150efb 100644 --- a/libc/sysv/calls/sys_readahead.S +++ b/libc/sysv/calls/sys_readahead.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_readahead,0xfffffffffffff0bb,globl +.scall sys_readahead,0xfffffffffffff0bb,0x0d5,globl diff --git a/libc/sysv/calls/sys_readlink.S b/libc/sysv/calls/sys_readlink.S index 642ba4dfa..e39733a9e 100644 --- a/libc/sysv/calls/sys_readlink.S +++ b/libc/sysv/calls/sys_readlink.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_readlink,0x03a03a03a203a059,globl,hidden +.scall sys_readlink,0x03a03a03a203a059,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_readlinkat.S b/libc/sysv/calls/sys_readlinkat.S index cca8beae2..70b91c70a 100644 --- a/libc/sysv/calls/sys_readlinkat.S +++ b/libc/sysv/calls/sys_readlinkat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_readlinkat,0x1d51421f421d910b,globl,hidden +.scall sys_readlinkat,0x1d51421f421d910b,0x04e,globl,hidden diff --git a/libc/sysv/calls/sys_readv.S b/libc/sysv/calls/sys_readv.S index 752226653..d9cd4774a 100644 --- a/libc/sysv/calls/sys_readv.S +++ b/libc/sysv/calls/sys_readv.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_readv,0x8788788782878813,globl,hidden +.scall sys_readv,0x8788788782878813,0x041,globl,hidden diff --git a/libc/sysv/calls/sys_reboot.S b/libc/sysv/calls/sys_reboot.S index a7d7786b6..d8af8baf9 100644 --- a/libc/sysv/calls/sys_reboot.S +++ b/libc/sysv/calls/sys_reboot.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_reboot,0x0d003703720370a9,globl,hidden +.scall sys_reboot,0x0d003703720370a9,0x08e,globl,hidden diff --git a/libc/sysv/calls/sys_recvfrom.S b/libc/sysv/calls/sys_recvfrom.S index a77b33ba8..91a2207ab 100644 --- a/libc/sysv/calls/sys_recvfrom.S +++ b/libc/sysv/calls/sys_recvfrom.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_recvfrom,0x81d81d81d281d82d,globl,hidden +.scall sys_recvfrom,0x81d81d81d281d82d,0x0cf,globl,hidden diff --git a/libc/sysv/calls/sys_recvmmsg.S b/libc/sysv/calls/sys_recvmmsg.S index 1957fbfa4..167ba803b 100644 --- a/libc/sysv/calls/sys_recvmmsg.S +++ b/libc/sysv/calls/sys_recvmmsg.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_recvmmsg,0x1dbffffffffff12b,globl +.scall sys_recvmmsg,0x1dbffffffffff12b,0x0f3,globl diff --git a/libc/sysv/calls/sys_recvmsg.S b/libc/sysv/calls/sys_recvmsg.S index 0973b1194..526817bc0 100644 --- a/libc/sysv/calls/sys_recvmsg.S +++ b/libc/sysv/calls/sys_recvmsg.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_recvmsg,0x81b81b81b281b82f,globl,hidden +.scall sys_recvmsg,0x81b81b81b281b82f,0x0d4,globl,hidden diff --git a/libc/sysv/calls/sys_removexattr.S b/libc/sysv/calls/sys_removexattr.S index 0995468ed..ec6fa6d02 100644 --- a/libc/sysv/calls/sys_removexattr.S +++ b/libc/sysv/calls/sys_removexattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_removexattr,0x180ffffff20ee0c5,globl +.scall sys_removexattr,0x180ffffff20ee0c5,0x00e,globl diff --git a/libc/sysv/calls/sys_rename.S b/libc/sysv/calls/sys_rename.S index 7fe88c467..16b220d59 100644 --- a/libc/sysv/calls/sys_rename.S +++ b/libc/sysv/calls/sys_rename.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_rename,0x0800800802080052,globl,hidden +.scall sys_rename,0x0800800802080052,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_renameat.S b/libc/sysv/calls/sys_renameat.S index 73dd26f9c..1e7b432ee 100644 --- a/libc/sysv/calls/sys_renameat.S +++ b/libc/sysv/calls/sys_renameat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_renameat,0x1ca1431f521d1108,globl,hidden +.scall sys_renameat,0x1ca1431f521d1108,0x026,globl,hidden diff --git a/libc/sysv/calls/sys_renameat2.S b/libc/sysv/calls/sys_renameat2.S index 384054023..d669e91c2 100644 --- a/libc/sysv/calls/sys_renameat2.S +++ b/libc/sysv/calls/sys_renameat2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_renameat2,0xfffffffffffff13c,globl +.scall sys_renameat2,0xfffffffffffff13c,0x114,globl diff --git a/libc/sysv/calls/sys_request_key.S b/libc/sysv/calls/sys_request_key.S index 669b0801b..c71a658ce 100644 --- a/libc/sysv/calls/sys_request_key.S +++ b/libc/sysv/calls/sys_request_key.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_request_key,0xfffffffffffff0f9,globl +.scall sys_request_key,0xfffffffffffff0f9,0x0da,globl diff --git a/libc/sysv/calls/sys_restart_syscall.S b/libc/sysv/calls/sys_restart_syscall.S index ab3dc9ff9..585d7d433 100644 --- a/libc/sysv/calls/sys_restart_syscall.S +++ b/libc/sysv/calls/sys_restart_syscall.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_restart_syscall,0xfffffffffffff0db,globl +.scall sys_restart_syscall,0xfffffffffffff0db,0x080,globl diff --git a/libc/sysv/calls/sys_revoke.S b/libc/sysv/calls/sys_revoke.S index ea9a3b71f..5d99c9ff0 100644 --- a/libc/sysv/calls/sys_revoke.S +++ b/libc/sysv/calls/sys_revoke.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_revoke,0x0380380382038fff,globl +.scall sys_revoke,0x0380380382038fff,0xfff,globl diff --git a/libc/sysv/calls/sys_rmdir.S b/libc/sysv/calls/sys_rmdir.S index 886d4974a..f11d0bd5b 100644 --- a/libc/sysv/calls/sys_rmdir.S +++ b/libc/sysv/calls/sys_rmdir.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_rmdir,0x0890890892089054,globl,hidden +.scall sys_rmdir,0x0890890892089054,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_rseq.S b/libc/sysv/calls/sys_rseq.S index 284a60028..af9e0a1f6 100644 --- a/libc/sysv/calls/sys_rseq.S +++ b/libc/sysv/calls/sys_rseq.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_rseq,0xfffffffffffff14e,globl +.scall sys_rseq,0xfffffffffffff14e,0xfff,globl diff --git a/libc/sysv/calls/sys_rt_tgsigqueueinfo.S b/libc/sysv/calls/sys_rt_tgsigqueueinfo.S index 3eaa222a0..ad40201fe 100644 --- a/libc/sysv/calls/sys_rt_tgsigqueueinfo.S +++ b/libc/sysv/calls/sys_rt_tgsigqueueinfo.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_rt_tgsigqueueinfo,0xfffffffffffff129,globl +.scall sys_rt_tgsigqueueinfo,0xfffffffffffff129,0x0f0,globl diff --git a/libc/sysv/calls/sys_rtprio_thread.S b/libc/sysv/calls/sys_rtprio_thread.S index c24033f85..690bf7a1e 100644 --- a/libc/sysv/calls/sys_rtprio_thread.S +++ b/libc/sysv/calls/sys_rtprio_thread.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_rtprio_thread,0xffffff1d2fffffff,globl +.scall sys_rtprio_thread,0xffffff1d2fffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_sched_get_priority_max.S b/libc/sysv/calls/sys_sched_get_priority_max.S index 91ca91f67..b70ba7e8f 100644 --- a/libc/sysv/calls/sys_sched_get_priority_max.S +++ b/libc/sysv/calls/sys_sched_get_priority_max.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_get_priority_max,0xffffff14cffff092,globl,hidden +.scall sys_sched_get_priority_max,0xffffff14cffff092,0x07d,globl,hidden diff --git a/libc/sysv/calls/sys_sched_get_priority_min.S b/libc/sysv/calls/sys_sched_get_priority_min.S index befd9e6c5..0db8d8898 100644 --- a/libc/sysv/calls/sys_sched_get_priority_min.S +++ b/libc/sysv/calls/sys_sched_get_priority_min.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_get_priority_min,0xffffff14dffff093,globl,hidden +.scall sys_sched_get_priority_min,0xffffff14dffff093,0x07e,globl,hidden diff --git a/libc/sysv/calls/sys_sched_getaffinity.S b/libc/sysv/calls/sys_sched_getaffinity.S index e14798655..b52a82445 100644 --- a/libc/sysv/calls/sys_sched_getaffinity.S +++ b/libc/sysv/calls/sys_sched_getaffinity.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_getaffinity,0x15dfff1e7ffff0cc,globl,hidden +.scall sys_sched_getaffinity,0x15dfff1e7ffff0cc,0x07b,globl,hidden diff --git a/libc/sysv/calls/sys_sched_getattr.S b/libc/sysv/calls/sys_sched_getattr.S index 565282795..e3fd53b2b 100644 --- a/libc/sysv/calls/sys_sched_getattr.S +++ b/libc/sysv/calls/sys_sched_getattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_getattr,0xfffffffffffff13b,globl +.scall sys_sched_getattr,0xfffffffffffff13b,0x113,globl diff --git a/libc/sysv/calls/sys_sched_getparam.S b/libc/sysv/calls/sys_sched_getparam.S index 828634a88..30b3795d2 100644 --- a/libc/sysv/calls/sys_sched_getparam.S +++ b/libc/sysv/calls/sys_sched_getparam.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_getparam,0x15bfff148ffff08f,globl,hidden +.scall sys_sched_getparam,0x15bfff148ffff08f,0x079,globl,hidden diff --git a/libc/sysv/calls/sys_sched_getscheduler.S b/libc/sysv/calls/sys_sched_getscheduler.S index b0e28ae82..6ca4ce836 100644 --- a/libc/sysv/calls/sys_sched_getscheduler.S +++ b/libc/sysv/calls/sys_sched_getscheduler.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_getscheduler,0xffffff14affff091,globl,hidden +.scall sys_sched_getscheduler,0xffffff14affff091,0x078,globl,hidden diff --git a/libc/sysv/calls/sys_sched_rr_get_interval.S b/libc/sysv/calls/sys_sched_rr_get_interval.S index 18f94df06..aa7f63d9c 100644 --- a/libc/sysv/calls/sys_sched_rr_get_interval.S +++ b/libc/sysv/calls/sys_sched_rr_get_interval.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_rr_get_interval,0xffffff14effff094,globl,hidden +.scall sys_sched_rr_get_interval,0xffffff14effff094,0x07f,globl,hidden diff --git a/libc/sysv/calls/sys_sched_setaffinity.S b/libc/sysv/calls/sys_sched_setaffinity.S index e42e793d8..224a580eb 100644 --- a/libc/sysv/calls/sys_sched_setaffinity.S +++ b/libc/sysv/calls/sys_sched_setaffinity.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_setaffinity,0x15cfff1e8ffff0cb,globl,hidden +.scall sys_sched_setaffinity,0x15cfff1e8ffff0cb,0x07a,globl,hidden diff --git a/libc/sysv/calls/sys_sched_setattr.S b/libc/sysv/calls/sys_sched_setattr.S index 72a0e3d8e..31babd196 100644 --- a/libc/sysv/calls/sys_sched_setattr.S +++ b/libc/sysv/calls/sys_sched_setattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_setattr,0xfffffffffffff13a,globl +.scall sys_sched_setattr,0xfffffffffffff13a,0x112,globl diff --git a/libc/sysv/calls/sys_sched_setparam.S b/libc/sysv/calls/sys_sched_setparam.S index d1ff616df..b8a5defbf 100644 --- a/libc/sysv/calls/sys_sched_setparam.S +++ b/libc/sysv/calls/sys_sched_setparam.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_setparam,0x15afff147ffff08e,globl,hidden +.scall sys_sched_setparam,0x15afff147ffff08e,0x076,globl,hidden diff --git a/libc/sysv/calls/sys_sched_setscheduler.S b/libc/sysv/calls/sys_sched_setscheduler.S index 5f4ff0aa0..05baf5286 100644 --- a/libc/sysv/calls/sys_sched_setscheduler.S +++ b/libc/sysv/calls/sys_sched_setscheduler.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_setscheduler,0xffffff149ffff090,globl,hidden +.scall sys_sched_setscheduler,0xffffff149ffff090,0x077,globl,hidden diff --git a/libc/sysv/calls/sys_sched_yield.S b/libc/sysv/calls/sys_sched_yield.S index 6595e695c..ea7f20d16 100644 --- a/libc/sysv/calls/sys_sched_yield.S +++ b/libc/sysv/calls/sys_sched_yield.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_yield,0x15e12a14bf25d018,globl,hidden +.scall sys_sched_yield,0x15e12a14bf25d018,0x07c,globl,hidden diff --git a/libc/sysv/calls/sys_select.S b/libc/sysv/calls/sys_select.S index db371908f..3cc1238a7 100644 --- a/libc/sysv/calls/sys_select.S +++ b/libc/sysv/calls/sys_select.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_select,0x9a184785d285d817,globl,hidden +.scall sys_select,0x9a184785d285d817,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_sem_close.S b/libc/sysv/calls/sys_sem_close.S index 553d38b87..ead40d119 100644 --- a/libc/sysv/calls/sys_sem_close.S +++ b/libc/sysv/calls/sys_sem_close.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_close,0x0fafff190210dfff,globl +.scall sys_sem_close,0x0fafff190210dfff,0xfff,globl diff --git a/libc/sysv/calls/sys_sem_destroy.S b/libc/sysv/calls/sys_sem_destroy.S index a4a20d2c1..04c150c84 100644 --- a/libc/sysv/calls/sys_sem_destroy.S +++ b/libc/sysv/calls/sys_sem_destroy.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_destroy,0x0fffff198fffffff,globl +.scall sys_sem_destroy,0x0fffff198fffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_sem_getvalue.S b/libc/sysv/calls/sys_sem_getvalue.S index 958d1ac5d..deef93913 100644 --- a/libc/sysv/calls/sys_sem_getvalue.S +++ b/libc/sysv/calls/sys_sem_getvalue.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_getvalue,0x0fefff197fffffff,globl +.scall sys_sem_getvalue,0x0fefff197fffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_sem_init.S b/libc/sysv/calls/sys_sem_init.S index 73f54219e..b7b67b291 100644 --- a/libc/sysv/calls/sys_sem_init.S +++ b/libc/sysv/calls/sys_sem_init.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_init,0x0f7fff194fffffff,globl +.scall sys_sem_init,0x0f7fff194fffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_sem_open.S b/libc/sysv/calls/sys_sem_open.S index 13c19d02d..c6fcb1875 100644 --- a/libc/sysv/calls/sys_sem_open.S +++ b/libc/sysv/calls/sys_sem_open.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_open,0x0f8fff195210cfff,globl +.scall sys_sem_open,0x0f8fff195210cfff,0xfff,globl diff --git a/libc/sysv/calls/sys_sem_post.S b/libc/sysv/calls/sys_sem_post.S index 5e189f5f4..274cc3e2e 100644 --- a/libc/sysv/calls/sys_sem_post.S +++ b/libc/sysv/calls/sys_sem_post.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_post,0x0fbfff1912111fff,globl +.scall sys_sem_post,0x0fbfff1912111fff,0xfff,globl diff --git a/libc/sysv/calls/sys_sem_timedwait.S b/libc/sysv/calls/sys_sem_timedwait.S index b2726f367..d63a2696c 100644 --- a/libc/sysv/calls/sys_sem_timedwait.S +++ b/libc/sysv/calls/sys_sem_timedwait.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_timedwait,0x900fff9b9fffffff,globl +.scall sys_sem_timedwait,0x900fff9b9fffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_sem_trywait.S b/libc/sysv/calls/sys_sem_trywait.S index 7e8e3e321..7669979dc 100644 --- a/libc/sysv/calls/sys_sem_trywait.S +++ b/libc/sysv/calls/sys_sem_trywait.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_trywait,0x0fdfff1932110fff,globl +.scall sys_sem_trywait,0x0fdfff1932110fff,0xfff,globl diff --git a/libc/sysv/calls/sys_sem_unlink.S b/libc/sysv/calls/sys_sem_unlink.S index 7cb5dcdef..a3ced8ade 100644 --- a/libc/sysv/calls/sys_sem_unlink.S +++ b/libc/sysv/calls/sys_sem_unlink.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_unlink,0x0f9fff196210efff,globl +.scall sys_sem_unlink,0x0f9fff196210efff,0xfff,globl diff --git a/libc/sysv/calls/sys_sem_wait.S b/libc/sysv/calls/sys_sem_wait.S index 80fa09f4e..0fc070af8 100644 --- a/libc/sysv/calls/sys_sem_wait.S +++ b/libc/sysv/calls/sys_sem_wait.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_wait,0x8fcfff992290ffff,globl +.scall sys_sem_wait,0x8fcfff992290ffff,0xfff,globl diff --git a/libc/sysv/calls/sys_sem_wait_nocancel.S b/libc/sysv/calls/sys_sem_wait_nocancel.S index cc38902fe..162c2c96b 100644 --- a/libc/sysv/calls/sys_sem_wait_nocancel.S +++ b/libc/sysv/calls/sys_sem_wait_nocancel.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_wait_nocancel,0xfffffffff21a4fff,globl +.scall sys_sem_wait_nocancel,0xfffffffff21a4fff,0xfff,globl diff --git a/libc/sysv/calls/sys_semctl.S b/libc/sysv/calls/sys_semctl.S index f005e3b34..f7e66b46e 100644 --- a/libc/sysv/calls/sys_semctl.S +++ b/libc/sysv/calls/sys_semctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_semctl,0xfff1271fe20fe042,globl +.scall sys_semctl,0xfff1271fe20fe042,0x0bf,globl diff --git a/libc/sysv/calls/sys_semget.S b/libc/sysv/calls/sys_semget.S index a2033ff9c..ba72cd89c 100644 --- a/libc/sysv/calls/sys_semget.S +++ b/libc/sysv/calls/sys_semget.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_semget,0x0dd0dd0dd20ff040,globl +.scall sys_semget,0x0dd0dd0dd20ff040,0x0be,globl diff --git a/libc/sysv/calls/sys_semop.S b/libc/sysv/calls/sys_semop.S index 01b75c1c7..b82565565 100644 --- a/libc/sysv/calls/sys_semop.S +++ b/libc/sysv/calls/sys_semop.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_semop,0x0de1220de2100041,globl +.scall sys_semop,0x0de1220de2100041,0x0c1,globl diff --git a/libc/sysv/calls/sys_semsys.S b/libc/sysv/calls/sys_semsys.S index 52261022e..dc683b157 100644 --- a/libc/sysv/calls/sys_semsys.S +++ b/libc/sysv/calls/sys_semsys.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_semsys,0xffffff0a920fbfff,globl +.scall sys_semsys,0xffffff0a920fbfff,0xfff,globl diff --git a/libc/sysv/calls/sys_semtimedop.S b/libc/sysv/calls/sys_semtimedop.S index 4ed2596af..677d1838e 100644 --- a/libc/sysv/calls/sys_semtimedop.S +++ b/libc/sysv/calls/sys_semtimedop.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_semtimedop,0xfffffffffffff0dc,globl +.scall sys_semtimedop,0xfffffffffffff0dc,0x0c0,globl diff --git a/libc/sysv/calls/sys_sendfile.S b/libc/sysv/calls/sys_sendfile.S index 7f703eb2f..ef0098d67 100644 --- a/libc/sysv/calls/sys_sendfile.S +++ b/libc/sysv/calls/sys_sendfile.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sendfile,0xffffff1892151028,globl,hidden +.scall sys_sendfile,0xffffff1892151028,0x047,globl,hidden diff --git a/libc/sysv/calls/sys_sendmsg.S b/libc/sysv/calls/sys_sendmsg.S index 95d5c29a4..b4578709f 100644 --- a/libc/sysv/calls/sys_sendmsg.S +++ b/libc/sysv/calls/sys_sendmsg.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sendmsg,0x81c81c81c281c82e,globl,hidden +.scall sys_sendmsg,0x81c81c81c281c82e,0x0d3,globl,hidden diff --git a/libc/sysv/calls/sys_sendto.S b/libc/sysv/calls/sys_sendto.S index 9f6a3e028..397417c91 100644 --- a/libc/sysv/calls/sys_sendto.S +++ b/libc/sysv/calls/sys_sendto.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sendto,0x885885885288582c,globl,hidden +.scall sys_sendto,0x885885885288582c,0x0ce,globl,hidden diff --git a/libc/sysv/calls/sys_set_mempolicy_home_node.S b/libc/sysv/calls/sys_set_mempolicy_home_node.S index a8ef2c339..61d9accb9 100644 --- a/libc/sysv/calls/sys_set_mempolicy_home_node.S +++ b/libc/sysv/calls/sys_set_mempolicy_home_node.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_set_mempolicy_home_node,0xfffffffffffff1c2,globl +.scall sys_set_mempolicy_home_node,0xfffffffffffff1c2,0xfff,globl diff --git a/libc/sysv/calls/sys_set_robust_list.S b/libc/sysv/calls/sys_set_robust_list.S index fb2d68c3b..22185ba79 100644 --- a/libc/sysv/calls/sys_set_robust_list.S +++ b/libc/sysv/calls/sys_set_robust_list.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_set_robust_list,0x0a7ffffffffff111,globl +.scall sys_set_robust_list,0x0a7ffffffffff111,0x063,globl diff --git a/libc/sysv/calls/sys_set_tid_address.S b/libc/sysv/calls/sys_set_tid_address.S index 0d89942bc..99f983d74 100644 --- a/libc/sysv/calls/sys_set_tid_address.S +++ b/libc/sysv/calls/sys_set_tid_address.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_set_tid_address,0xfffffffffffff0da,globl +.scall sys_set_tid_address,0xfffffffffffff0da,0x060,globl diff --git a/libc/sysv/calls/sys_set_tls.S b/libc/sysv/calls/sys_set_tls.S index 074ba6fd5..34279f450 100644 --- a/libc/sysv/calls/sys_set_tls.S +++ b/libc/sysv/calls/sys_set_tls.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_set_tls,0x13d1490a5300309e,globl,hidden +.scall sys_set_tls,0x13d1490a5300309e,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_setaudit_addr.S b/libc/sysv/calls/sys_setaudit_addr.S index b87d545ad..c90fe8823 100644 --- a/libc/sysv/calls/sys_setaudit_addr.S +++ b/libc/sysv/calls/sys_setaudit_addr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setaudit_addr,0xffffff1c42166fff,globl +.scall sys_setaudit_addr,0xffffff1c42166fff,0xfff,globl diff --git a/libc/sysv/calls/sys_setauid.S b/libc/sysv/calls/sys_setauid.S index c59724d08..851833155 100644 --- a/libc/sysv/calls/sys_setauid.S +++ b/libc/sysv/calls/sys_setauid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setauid,0xffffff1c02162fff,globl +.scall sys_setauid,0xffffff1c02162fff,0xfff,globl diff --git a/libc/sysv/calls/sys_setdomainname.S b/libc/sysv/calls/sys_setdomainname.S index a83fb252e..2cc432704 100644 --- a/libc/sysv/calls/sys_setdomainname.S +++ b/libc/sysv/calls/sys_setdomainname.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setdomainname,0xffffff0a3ffff0ab,globl +.scall sys_setdomainname,0xffffff0a3ffff0ab,0x0a2,globl diff --git a/libc/sysv/calls/sys_setfsgid.S b/libc/sysv/calls/sys_setfsgid.S index e79652945..73dca7090 100644 --- a/libc/sysv/calls/sys_setfsgid.S +++ b/libc/sysv/calls/sys_setfsgid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setfsgid,0xfffffffffffff07b,globl,hidden +.scall sys_setfsgid,0xfffffffffffff07b,0x098,globl,hidden diff --git a/libc/sysv/calls/sys_setfsuid.S b/libc/sysv/calls/sys_setfsuid.S index 61f070500..0168c6138 100644 --- a/libc/sysv/calls/sys_setfsuid.S +++ b/libc/sysv/calls/sys_setfsuid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setfsuid,0xfffffffffffff07a,globl,hidden +.scall sys_setfsuid,0xfffffffffffff07a,0x097,globl,hidden diff --git a/libc/sysv/calls/sys_setgid.S b/libc/sysv/calls/sys_setgid.S index f6b4e073d..b184bec48 100644 --- a/libc/sysv/calls/sys_setgid.S +++ b/libc/sysv/calls/sys_setgid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setgid,0x0b50b50b520b506a,globl,hidden +.scall sys_setgid,0x0b50b50b520b506a,0x090,globl,hidden diff --git a/libc/sysv/calls/sys_setgroups.S b/libc/sysv/calls/sys_setgroups.S index 69c1ddcc2..be44d71ba 100644 --- a/libc/sysv/calls/sys_setgroups.S +++ b/libc/sysv/calls/sys_setgroups.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setgroups,0x0500500502050074,globl,hidden +.scall sys_setgroups,0x0500500502050074,0x09f,globl,hidden diff --git a/libc/sysv/calls/sys_sethostname.S b/libc/sysv/calls/sys_sethostname.S index 8a9b638b2..aead5b1b7 100644 --- a/libc/sysv/calls/sys_sethostname.S +++ b/libc/sysv/calls/sys_sethostname.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sethostname,0xffffff058ffff0aa,globl +.scall sys_sethostname,0xffffff058ffff0aa,0x0a1,globl diff --git a/libc/sysv/calls/sys_setitimer.S b/libc/sysv/calls/sys_setitimer.S index 761408716..785aa9e61 100644 --- a/libc/sysv/calls/sys_setitimer.S +++ b/libc/sysv/calls/sys_setitimer.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setitimer,0x1a90450532053026,globl,hidden +.scall sys_setitimer,0x1a90450532053026,0x067,globl,hidden diff --git a/libc/sysv/calls/sys_setlogin.S b/libc/sysv/calls/sys_setlogin.S index a38d84471..0b4945434 100644 --- a/libc/sysv/calls/sys_setlogin.S +++ b/libc/sysv/calls/sys_setlogin.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setlogin,0xfff0320322032fff,globl +.scall sys_setlogin,0xfff0320322032fff,0xfff,globl diff --git a/libc/sysv/calls/sys_setns.S b/libc/sysv/calls/sys_setns.S index dbfdf1c4a..1468ef888 100644 --- a/libc/sysv/calls/sys_setns.S +++ b/libc/sysv/calls/sys_setns.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setns,0xfffffffffffff134,globl +.scall sys_setns,0xfffffffffffff134,0x10c,globl diff --git a/libc/sysv/calls/sys_setpgid.S b/libc/sysv/calls/sys_setpgid.S index 9e9b2e4e6..9ab6ee3a3 100644 --- a/libc/sysv/calls/sys_setpgid.S +++ b/libc/sysv/calls/sys_setpgid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setpgid,0x052052052205206d,globl,hidden +.scall sys_setpgid,0x052052052205206d,0x09a,globl,hidden diff --git a/libc/sysv/calls/sys_setpriority.S b/libc/sysv/calls/sys_setpriority.S index 380867919..cf38c8a98 100644 --- a/libc/sysv/calls/sys_setpriority.S +++ b/libc/sysv/calls/sys_setpriority.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setpriority,0x060060060206008d,globl,hidden +.scall sys_setpriority,0x060060060206008d,0x08c,globl,hidden diff --git a/libc/sysv/calls/sys_setregid.S b/libc/sysv/calls/sys_setregid.S index 19ff071af..b4cdbc04d 100644 --- a/libc/sysv/calls/sys_setregid.S +++ b/libc/sysv/calls/sys_setregid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setregid,0x07f07f07f207f072,globl,hidden +.scall sys_setregid,0x07f07f07f207f072,0x08f,globl,hidden diff --git a/libc/sysv/calls/sys_setresgid.S b/libc/sysv/calls/sys_setresgid.S index a80e3ac55..c516e9803 100644 --- a/libc/sysv/calls/sys_setresgid.S +++ b/libc/sysv/calls/sys_setresgid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setresgid,0xfff11c138ffff077,globl,hidden +.scall sys_setresgid,0xfff11c138ffff077,0x095,globl,hidden diff --git a/libc/sysv/calls/sys_setresuid.S b/libc/sysv/calls/sys_setresuid.S index 311eb699d..d4f76f48a 100644 --- a/libc/sysv/calls/sys_setresuid.S +++ b/libc/sysv/calls/sys_setresuid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setresuid,0xfff11a137ffff075,globl,hidden +.scall sys_setresuid,0xfff11a137ffff075,0x093,globl,hidden diff --git a/libc/sysv/calls/sys_setreuid.S b/libc/sysv/calls/sys_setreuid.S index 43ade96f0..62e72807f 100644 --- a/libc/sysv/calls/sys_setreuid.S +++ b/libc/sysv/calls/sys_setreuid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setreuid,0x07e07e07e207e071,globl,hidden +.scall sys_setreuid,0x07e07e07e207e071,0x091,globl,hidden diff --git a/libc/sysv/calls/sys_setrlimit.S b/libc/sysv/calls/sys_setrlimit.S index d4cce89e0..a24a02e2a 100644 --- a/libc/sysv/calls/sys_setrlimit.S +++ b/libc/sysv/calls/sys_setrlimit.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setrlimit,0x0c30c30c320c30a0,globl,hidden +.scall sys_setrlimit,0x0c30c30c320c30a0,0x0a4,globl,hidden diff --git a/libc/sysv/calls/sys_setsid.S b/libc/sysv/calls/sys_setsid.S index bd4c435d0..c1c898aec 100644 --- a/libc/sysv/calls/sys_setsid.S +++ b/libc/sysv/calls/sys_setsid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setsid,0x0930930932093070,globl,hidden +.scall sys_setsid,0x0930930932093070,0x09d,globl,hidden diff --git a/libc/sysv/calls/sys_setsockopt.S b/libc/sysv/calls/sys_setsockopt.S index b47d967e5..4675ae845 100644 --- a/libc/sysv/calls/sys_setsockopt.S +++ b/libc/sysv/calls/sys_setsockopt.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setsockopt,0x0690690692069036,globl,hidden +.scall sys_setsockopt,0x0690690692069036,0x0d0,globl,hidden diff --git a/libc/sysv/calls/sys_settimeofday.S b/libc/sysv/calls/sys_settimeofday.S index 3d1316f2b..5c8149b74 100644 --- a/libc/sysv/calls/sys_settimeofday.S +++ b/libc/sysv/calls/sys_settimeofday.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_settimeofday,0x1a304407a207a0a4,globl +.scall sys_settimeofday,0x1a304407a207a0a4,0x0aa,globl diff --git a/libc/sysv/calls/sys_setuid.S b/libc/sysv/calls/sys_setuid.S index 491942a1d..1d348f64a 100644 --- a/libc/sysv/calls/sys_setuid.S +++ b/libc/sysv/calls/sys_setuid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setuid,0x0170170172017069,globl,hidden +.scall sys_setuid,0x0170170172017069,0x092,globl,hidden diff --git a/libc/sysv/calls/sys_setxattr.S b/libc/sysv/calls/sys_setxattr.S index 2d765e869..ac6a6c83d 100644 --- a/libc/sysv/calls/sys_setxattr.S +++ b/libc/sysv/calls/sys_setxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setxattr,0x177ffffff20ec0bc,globl +.scall sys_setxattr,0x177ffffff20ec0bc,0x005,globl diff --git a/libc/sysv/calls/sys_shm_open.S b/libc/sysv/calls/sys_shm_open.S index f301c82f8..c5cfdafa0 100644 --- a/libc/sysv/calls/sys_shm_open.S +++ b/libc/sysv/calls/sys_shm_open.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_shm_open,0xffffff1e2210afff,globl +.scall sys_shm_open,0xffffff1e2210afff,0xfff,globl diff --git a/libc/sysv/calls/sys_shm_unlink.S b/libc/sysv/calls/sys_shm_unlink.S index 1e702b3be..b5fdfbfec 100644 --- a/libc/sysv/calls/sys_shm_unlink.S +++ b/libc/sysv/calls/sys_shm_unlink.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_shm_unlink,0xffffff1e3210bfff,globl +.scall sys_shm_unlink,0xffffff1e3210bfff,0xfff,globl diff --git a/libc/sysv/calls/sys_shmat.S b/libc/sysv/calls/sys_shmat.S index 64058325f..0bfbd2e79 100644 --- a/libc/sysv/calls/sys_shmat.S +++ b/libc/sysv/calls/sys_shmat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_shmat,0x0e40e40e4210601e,globl +.scall sys_shmat,0x0e40e40e4210601e,0x0c4,globl diff --git a/libc/sysv/calls/sys_shmctl.S b/libc/sysv/calls/sys_shmctl.S index 6e8cbed78..2266f0869 100644 --- a/libc/sysv/calls/sys_shmctl.S +++ b/libc/sysv/calls/sys_shmctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_shmctl,0x1bb128200210701f,globl +.scall sys_shmctl,0x1bb128200210701f,0x0c3,globl diff --git a/libc/sysv/calls/sys_shmdt.S b/libc/sysv/calls/sys_shmdt.S index 05d62f886..1d2a4477e 100644 --- a/libc/sysv/calls/sys_shmdt.S +++ b/libc/sysv/calls/sys_shmdt.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_shmdt,0x0e60e60e62108043,globl +.scall sys_shmdt,0x0e60e60e62108043,0x0c5,globl diff --git a/libc/sysv/calls/sys_shmget.S b/libc/sysv/calls/sys_shmget.S index e6de2cad0..5f359a27e 100644 --- a/libc/sysv/calls/sys_shmget.S +++ b/libc/sysv/calls/sys_shmget.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_shmget,0x0e71210e7210901d,globl +.scall sys_shmget,0x0e71210e7210901d,0x0c2,globl diff --git a/libc/sysv/calls/sys_shmsys.S b/libc/sysv/calls/sys_shmsys.S index c76c8abde..964060c05 100644 --- a/libc/sysv/calls/sys_shmsys.S +++ b/libc/sysv/calls/sys_shmsys.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_shmsys,0xffffff0ab20fdfff,globl +.scall sys_shmsys,0xffffff0ab20fdfff,0xfff,globl diff --git a/libc/sysv/calls/sys_shutdown.S b/libc/sysv/calls/sys_shutdown.S index 4eca760f5..355a1b9a6 100644 --- a/libc/sysv/calls/sys_shutdown.S +++ b/libc/sysv/calls/sys_shutdown.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_shutdown,0x0860860862086030,globl,hidden +.scall sys_shutdown,0x0860860862086030,0x0d2,globl,hidden diff --git a/libc/sysv/calls/sys_sigaction.S b/libc/sysv/calls/sys_sigaction.S index 91b2dc3fd..9f5adc56b 100644 --- a/libc/sysv/calls/sys_sigaction.S +++ b/libc/sysv/calls/sys_sigaction.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sigaction,0x15402e1a0202e00d,globl,hidden +.scall sys_sigaction,0x15402e1a0202e00d,0x086,globl,hidden diff --git a/libc/sysv/calls/sys_sigaltstack.S b/libc/sysv/calls/sys_sigaltstack.S index cef8c5dc6..2132923c3 100644 --- a/libc/sysv/calls/sys_sigaltstack.S +++ b/libc/sysv/calls/sys_sigaltstack.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sigaltstack,0x1191200352035083,globl,hidden +.scall sys_sigaltstack,0x1191200352035083,0x084,globl,hidden diff --git a/libc/sysv/calls/sys_signalfd.S b/libc/sysv/calls/sys_signalfd.S index fce082633..7f7ddc15b 100644 --- a/libc/sysv/calls/sys_signalfd.S +++ b/libc/sysv/calls/sys_signalfd.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_signalfd,0xfffffffffffff11a,globl +.scall sys_signalfd,0xfffffffffffff11a,0xfff,globl diff --git a/libc/sysv/calls/sys_signalfd4.S b/libc/sysv/calls/sys_signalfd4.S index 7a136bc2d..62f0843bb 100644 --- a/libc/sysv/calls/sys_signalfd4.S +++ b/libc/sysv/calls/sys_signalfd4.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_signalfd4,0xfffffffffffff121,globl +.scall sys_signalfd4,0xfffffffffffff121,0x04a,globl diff --git a/libc/sysv/calls/sys_sigpending.S b/libc/sysv/calls/sys_sigpending.S index 7e8784607..07b31bbc3 100644 --- a/libc/sysv/calls/sys_sigpending.S +++ b/libc/sysv/calls/sys_sigpending.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sigpending,0x124034157203407f,globl,hidden +.scall sys_sigpending,0x124034157203407f,0x088,globl,hidden diff --git a/libc/sysv/calls/sys_sigqueue.S b/libc/sysv/calls/sys_sigqueue.S index 3ce31f53d..a1874343c 100644 --- a/libc/sysv/calls/sys_sigqueue.S +++ b/libc/sysv/calls/sys_sigqueue.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sigqueue,0xffffff1c8fffffff,globl,hidden +.scall sys_sigqueue,0xffffff1c8fffffff,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_sigqueueinfo.S b/libc/sysv/calls/sys_sigqueueinfo.S index dba6b5303..7fea33a6e 100644 --- a/libc/sysv/calls/sys_sigqueueinfo.S +++ b/libc/sysv/calls/sys_sigqueueinfo.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sigqueueinfo,0x0f5ffffffffff081,globl,hidden +.scall sys_sigqueueinfo,0x0f5ffffffffff081,0x08a,globl,hidden diff --git a/libc/sysv/calls/sys_sigsuspend.S b/libc/sysv/calls/sys_sigsuspend.S index a9bd1b421..072373df0 100644 --- a/libc/sysv/calls/sys_sigsuspend.S +++ b/libc/sysv/calls/sys_sigsuspend.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sigsuspend,0x92686f955286f882,globl,hidden +.scall sys_sigsuspend,0x92686f955286f882,0x085,globl,hidden diff --git a/libc/sysv/calls/sys_sigtimedwait.S b/libc/sysv/calls/sys_sigtimedwait.S index 60a497f06..6f40fb5e9 100644 --- a/libc/sysv/calls/sys_sigtimedwait.S +++ b/libc/sysv/calls/sys_sigtimedwait.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sigtimedwait,0x9affff959ffff880,globl,hidden +.scall sys_sigtimedwait,0x9affff959ffff880,0x089,globl,hidden diff --git a/libc/sysv/calls/sys_sigwait.S b/libc/sysv/calls/sys_sigwait.S index ab70b6e97..b34e0dd6d 100644 --- a/libc/sysv/calls/sys_sigwait.S +++ b/libc/sysv/calls/sys_sigwait.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sigwait,0xffffff1ad214afff,globl +.scall sys_sigwait,0xffffff1ad214afff,0xfff,globl diff --git a/libc/sysv/calls/sys_splice.S b/libc/sysv/calls/sys_splice.S index 568c9da0d..066ff1531 100644 --- a/libc/sysv/calls/sys_splice.S +++ b/libc/sysv/calls/sys_splice.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_splice,0xfffffffffffff113,globl,hidden +.scall sys_splice,0xfffffffffffff113,0x04c,globl,hidden diff --git a/libc/sysv/calls/sys_statfs.S b/libc/sysv/calls/sys_statfs.S index 7a6dd8aef..bb11530bb 100644 --- a/libc/sysv/calls/sys_statfs.S +++ b/libc/sysv/calls/sys_statfs.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_statfs,0x89d83fa2b2959889,globl,hidden +.scall sys_statfs,0x89d83fa2b2959889,0x02b,globl,hidden diff --git a/libc/sysv/calls/sys_statx.S b/libc/sysv/calls/sys_statx.S index 5f4e99f5d..6b260042e 100644 --- a/libc/sysv/calls/sys_statx.S +++ b/libc/sysv/calls/sys_statx.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_statx,0xfffffffffffff14c,globl +.scall sys_statx,0xfffffffffffff14c,0x123,globl diff --git a/libc/sysv/calls/sys_swapoff.S b/libc/sysv/calls/sys_swapoff.S index a7a191f6e..b75beccb9 100644 --- a/libc/sysv/calls/sys_swapoff.S +++ b/libc/sysv/calls/sys_swapoff.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_swapoff,0xffffff1a8ffff0a8,globl +.scall sys_swapoff,0xffffff1a8ffff0a8,0x0e1,globl diff --git a/libc/sysv/calls/sys_swapon.S b/libc/sysv/calls/sys_swapon.S index 8aa47910d..f01ba7ed1 100644 --- a/libc/sysv/calls/sys_swapon.S +++ b/libc/sysv/calls/sys_swapon.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_swapon,0xffffff05520550a7,globl +.scall sys_swapon,0xffffff05520550a7,0x0e0,globl diff --git a/libc/sysv/calls/sys_symlink.S b/libc/sysv/calls/sys_symlink.S index 8c5cd5bbe..788834de4 100644 --- a/libc/sysv/calls/sys_symlink.S +++ b/libc/sysv/calls/sys_symlink.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_symlink,0x0390390392039058,globl,hidden +.scall sys_symlink,0x0390390392039058,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_symlinkat.S b/libc/sysv/calls/sys_symlinkat.S index 9cba7b5ab..4ac189a6b 100644 --- a/libc/sysv/calls/sys_symlinkat.S +++ b/libc/sysv/calls/sys_symlinkat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_symlinkat,0x1d61441f621da10a,globl,hidden +.scall sys_symlinkat,0x1d61441f621da10a,0x024,globl,hidden diff --git a/libc/sysv/calls/sys_sync.S b/libc/sysv/calls/sys_sync.S index c0ef6f68c..8c4a05094 100644 --- a/libc/sysv/calls/sys_sync.S +++ b/libc/sysv/calls/sys_sync.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sync,0x02402402420240a2,globl,hidden +.scall sys_sync,0x02402402420240a2,0x051,globl,hidden diff --git a/libc/sysv/calls/sys_sync_file_range.S b/libc/sysv/calls/sys_sync_file_range.S index bf63225cf..db8abad48 100644 --- a/libc/sysv/calls/sys_sync_file_range.S +++ b/libc/sysv/calls/sys_sync_file_range.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sync_file_range,0xfffffffffffff115,globl,hidden +.scall sys_sync_file_range,0xfffffffffffff115,0x054,globl,hidden diff --git a/libc/sysv/calls/sys_syncfs.S b/libc/sysv/calls/sys_syncfs.S index 441c48c97..8d9493bbe 100644 --- a/libc/sysv/calls/sys_syncfs.S +++ b/libc/sysv/calls/sys_syncfs.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_syncfs,0xfffffffffffff132,globl +.scall sys_syncfs,0xfffffffffffff132,0x10b,globl diff --git a/libc/sysv/calls/sys_sysctl.S b/libc/sysv/calls/sys_sysctl.S index 652ebc48e..a83406750 100644 --- a/libc/sysv/calls/sys_sysctl.S +++ b/libc/sysv/calls/sys_sysctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sysctl,0x0ca0ca0ca20cafff,globl +.scall sys_sysctl,0x0ca0ca0ca20cafff,0xfff,globl diff --git a/libc/sysv/calls/sys_sysfs.S b/libc/sysv/calls/sys_sysfs.S index 8b8b9ea95..71049323a 100644 --- a/libc/sysv/calls/sys_sysfs.S +++ b/libc/sysv/calls/sys_sysfs.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sysfs,0xfffffffffffff08b,globl +.scall sys_sysfs,0xfffffffffffff08b,0xfff,globl diff --git a/libc/sysv/calls/sys_sysinfo.S b/libc/sysv/calls/sys_sysinfo.S index 133323c67..2aaac57bb 100644 --- a/libc/sysv/calls/sys_sysinfo.S +++ b/libc/sysv/calls/sys_sysinfo.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sysinfo,0xfffffffffffff063,globl,hidden +.scall sys_sysinfo,0xfffffffffffff063,0x0b3,globl,hidden diff --git a/libc/sysv/calls/sys_syslog.S b/libc/sysv/calls/sys_syslog.S index 528277629..b8baee3d9 100644 --- a/libc/sysv/calls/sys_syslog.S +++ b/libc/sysv/calls/sys_syslog.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_syslog,0xfffffffffffff067,globl,hidden +.scall sys_syslog,0xfffffffffffff067,0x074,globl,hidden diff --git a/libc/sysv/calls/sys_tee.S b/libc/sysv/calls/sys_tee.S index 407445da1..10729933f 100644 --- a/libc/sysv/calls/sys_tee.S +++ b/libc/sysv/calls/sys_tee.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_tee,0xfffffffffffff114,globl +.scall sys_tee,0xfffffffffffff114,0x04d,globl diff --git a/libc/sysv/calls/sys_tgkill.S b/libc/sysv/calls/sys_tgkill.S index dff277c86..0adedfde5 100644 --- a/libc/sysv/calls/sys_tgkill.S +++ b/libc/sysv/calls/sys_tgkill.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_tgkill,0xffffff1e1ffff0ea,globl,hidden +.scall sys_tgkill,0xffffff1e1ffff0ea,0x083,globl,hidden diff --git a/libc/sysv/calls/sys_timer_create.S b/libc/sysv/calls/sys_timer_create.S index ec7955257..87643f801 100644 --- a/libc/sysv/calls/sys_timer_create.S +++ b/libc/sysv/calls/sys_timer_create.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_timer_create,0x0ebffffffffff0de,globl +.scall sys_timer_create,0x0ebffffffffff0de,0x06b,globl diff --git a/libc/sysv/calls/sys_timer_delete.S b/libc/sysv/calls/sys_timer_delete.S index 543dfdf45..bc1e0e55a 100644 --- a/libc/sysv/calls/sys_timer_delete.S +++ b/libc/sysv/calls/sys_timer_delete.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_timer_delete,0x0ecffffffffff0e2,globl +.scall sys_timer_delete,0x0ecffffffffff0e2,0x06f,globl diff --git a/libc/sysv/calls/sys_timer_getoverrun.S b/libc/sysv/calls/sys_timer_getoverrun.S index 6b51a2787..d23800018 100644 --- a/libc/sysv/calls/sys_timer_getoverrun.S +++ b/libc/sysv/calls/sys_timer_getoverrun.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_timer_getoverrun,0x0efffffffffff0e1,globl +.scall sys_timer_getoverrun,0x0efffffffffff0e1,0x06d,globl diff --git a/libc/sysv/calls/sys_timer_gettime.S b/libc/sysv/calls/sys_timer_gettime.S index 35d48e742..e56818a11 100644 --- a/libc/sysv/calls/sys_timer_gettime.S +++ b/libc/sysv/calls/sys_timer_gettime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_timer_gettime,0x1bfffffffffff0e0,globl +.scall sys_timer_gettime,0x1bfffffffffff0e0,0x06c,globl diff --git a/libc/sysv/calls/sys_timer_settime.S b/libc/sysv/calls/sys_timer_settime.S index 6e71dd1b5..4e5aa9672 100644 --- a/libc/sysv/calls/sys_timer_settime.S +++ b/libc/sysv/calls/sys_timer_settime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_timer_settime,0x1beffffffffff0df,globl +.scall sys_timer_settime,0x1beffffffffff0df,0x06e,globl diff --git a/libc/sysv/calls/sys_timerfd_create.S b/libc/sysv/calls/sys_timerfd_create.S index bfb6a5030..db7d921e9 100644 --- a/libc/sysv/calls/sys_timerfd_create.S +++ b/libc/sysv/calls/sys_timerfd_create.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_timerfd_create,0xfffffffffffff11b,globl +.scall sys_timerfd_create,0xfffffffffffff11b,0x055,globl diff --git a/libc/sysv/calls/sys_timerfd_gettime.S b/libc/sysv/calls/sys_timerfd_gettime.S index 4bd9a6dbb..24b7c72e0 100644 --- a/libc/sysv/calls/sys_timerfd_gettime.S +++ b/libc/sysv/calls/sys_timerfd_gettime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_timerfd_gettime,0xfffffffffffff11f,globl +.scall sys_timerfd_gettime,0xfffffffffffff11f,0x057,globl diff --git a/libc/sysv/calls/sys_timerfd_settime.S b/libc/sysv/calls/sys_timerfd_settime.S index d08ad7203..3d26c0ca0 100644 --- a/libc/sysv/calls/sys_timerfd_settime.S +++ b/libc/sysv/calls/sys_timerfd_settime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_timerfd_settime,0xfffffffffffff11e,globl +.scall sys_timerfd_settime,0xfffffffffffff11e,0x056,globl diff --git a/libc/sysv/calls/sys_times.S b/libc/sysv/calls/sys_times.S index 5f63a4987..05ba0972f 100644 --- a/libc/sysv/calls/sys_times.S +++ b/libc/sysv/calls/sys_times.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_times,0xfffffffffffff064,globl,hidden +.scall sys_times,0xfffffffffffff064,0x099,globl,hidden diff --git a/libc/sysv/calls/sys_tkill.S b/libc/sysv/calls/sys_tkill.S index 49ff12ba2..d9bef6987 100644 --- a/libc/sysv/calls/sys_tkill.S +++ b/libc/sysv/calls/sys_tkill.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_tkill,0x13e0771b121480c8,globl,hidden +.scall sys_tkill,0x13e0771b121480c8,0x082,globl,hidden diff --git a/libc/sysv/calls/sys_truncate.S b/libc/sysv/calls/sys_truncate.S index bbe8803d0..a53ea6906 100644 --- a/libc/sysv/calls/sys_truncate.S +++ b/libc/sysv/calls/sys_truncate.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_truncate,0x8c88c89df28c884c,globl,hidden +.scall sys_truncate,0x8c88c89df28c884c,0x02d,globl,hidden diff --git a/libc/sysv/calls/sys_umask.S b/libc/sysv/calls/sys_umask.S index b759334bd..a48cb80fd 100644 --- a/libc/sysv/calls/sys_umask.S +++ b/libc/sysv/calls/sys_umask.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_umask,0x03c03c03c203c05f,globl,hidden +.scall sys_umask,0x03c03c03c203c05f,0x0a6,globl,hidden diff --git a/libc/sysv/calls/sys_umount2.S b/libc/sysv/calls/sys_umount2.S index dccd88183..6d1c91311 100644 --- a/libc/sysv/calls/sys_umount2.S +++ b/libc/sysv/calls/sys_umount2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_umount2,0x016016016209f0a6,globl +.scall sys_umount2,0x016016016209f0a6,0x027,globl diff --git a/libc/sysv/calls/sys_uname.S b/libc/sysv/calls/sys_uname.S index 64aefb73b..92b8f0f17 100644 --- a/libc/sysv/calls/sys_uname.S +++ b/libc/sysv/calls/sys_uname.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_uname,0x0a4fff0a4ffff03f,globl,hidden +.scall sys_uname,0x0a4fff0a4ffff03f,0x0a0,globl,hidden diff --git a/libc/sysv/calls/sys_undelete.S b/libc/sysv/calls/sys_undelete.S index 398d27dbc..cc948e021 100644 --- a/libc/sysv/calls/sys_undelete.S +++ b/libc/sysv/calls/sys_undelete.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_undelete,0x0cdfff0cd20cdfff,globl +.scall sys_undelete,0x0cdfff0cd20cdfff,0xfff,globl diff --git a/libc/sysv/calls/sys_unlink.S b/libc/sysv/calls/sys_unlink.S index f2b10d65f..8161ff1a8 100644 --- a/libc/sysv/calls/sys_unlink.S +++ b/libc/sysv/calls/sys_unlink.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_unlink,0x00a00a00a200a057,globl,hidden +.scall sys_unlink,0x00a00a00a200a057,0x0b5,globl,hidden diff --git a/libc/sysv/calls/sys_unlinkat.S b/libc/sysv/calls/sys_unlinkat.S index a6136b611..1ecb0fbd4 100644 --- a/libc/sysv/calls/sys_unlinkat.S +++ b/libc/sysv/calls/sys_unlinkat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_unlinkat,0x1d71451f721d8107,globl,hidden +.scall sys_unlinkat,0x1d71451f721d8107,0x023,globl,hidden diff --git a/libc/sysv/calls/sys_unmount.S b/libc/sysv/calls/sys_unmount.S index 190faa126..1c1844dc9 100644 --- a/libc/sysv/calls/sys_unmount.S +++ b/libc/sysv/calls/sys_unmount.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_unmount,0x016016016209f0a6,globl +.scall sys_unmount,0x016016016209f0a6,0xfff,globl diff --git a/libc/sysv/calls/sys_unshare.S b/libc/sysv/calls/sys_unshare.S index fd5858fe8..25a182b42 100644 --- a/libc/sysv/calls/sys_unshare.S +++ b/libc/sysv/calls/sys_unshare.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_unshare,0xfffffffffffff110,globl +.scall sys_unshare,0xfffffffffffff110,0x061,globl diff --git a/libc/sysv/calls/sys_unveil.S b/libc/sysv/calls/sys_unveil.S index d92da87d8..ff8736529 100644 --- a/libc/sysv/calls/sys_unveil.S +++ b/libc/sysv/calls/sys_unveil.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_unveil,0xfff072ffffffffff,globl,hidden +.scall sys_unveil,0xfff072ffffffffff,0xfff,globl,hidden diff --git a/libc/sysv/calls/sys_userfaultfd.S b/libc/sysv/calls/sys_userfaultfd.S index c7faafa5d..e96bf7ca8 100644 --- a/libc/sysv/calls/sys_userfaultfd.S +++ b/libc/sysv/calls/sys_userfaultfd.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_userfaultfd,0xfffffffffffff143,globl +.scall sys_userfaultfd,0xfffffffffffff143,0x11a,globl diff --git a/libc/sysv/calls/sys_ustat.S b/libc/sysv/calls/sys_ustat.S index f19a1448e..0cc1d0481 100644 --- a/libc/sysv/calls/sys_ustat.S +++ b/libc/sysv/calls/sys_ustat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ustat,0xfffffffffffff088,globl +.scall sys_ustat,0xfffffffffffff088,0xfff,globl diff --git a/libc/sysv/calls/sys_utime.S b/libc/sysv/calls/sys_utime.S index 70b79ccdd..4ccd6ecc7 100644 --- a/libc/sysv/calls/sys_utime.S +++ b/libc/sysv/calls/sys_utime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_utime,0xfffffffffffff084,globl,hidden +.scall sys_utime,0xfffffffffffff084,0x062,globl,hidden diff --git a/libc/sysv/calls/sys_utimes.S b/libc/sysv/calls/sys_utimes.S index 8b7540d47..c1754c339 100644 --- a/libc/sysv/calls/sys_utimes.S +++ b/libc/sysv/calls/sys_utimes.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_utimes,0x1a404c08a208a0eb,globl,hidden +.scall sys_utimes,0x1a404c08a208a0eb,0x058,globl,hidden diff --git a/libc/sysv/calls/sys_utrace.S b/libc/sysv/calls/sys_utrace.S index 2227202c0..e0be17884 100644 --- a/libc/sysv/calls/sys_utrace.S +++ b/libc/sysv/calls/sys_utrace.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_utrace,0x1320d114ffffffff,globl +.scall sys_utrace,0x1320d114ffffffff,0xfff,globl diff --git a/libc/sysv/calls/sys_vhangup.S b/libc/sysv/calls/sys_vhangup.S index 4223ee59b..ea5bfab24 100644 --- a/libc/sysv/calls/sys_vhangup.S +++ b/libc/sysv/calls/sys_vhangup.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_vhangup,0xfffffffffffff099,globl +.scall sys_vhangup,0xfffffffffffff099,0x03a,globl diff --git a/libc/sysv/calls/sys_vmsplice.S b/libc/sysv/calls/sys_vmsplice.S index d6e9112c9..acc7d4099 100644 --- a/libc/sysv/calls/sys_vmsplice.S +++ b/libc/sysv/calls/sys_vmsplice.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_vmsplice,0xfffffffffffff116,globl,hidden +.scall sys_vmsplice,0xfffffffffffff116,0x04b,globl,hidden diff --git a/libc/sysv/calls/sys_waitid.S b/libc/sysv/calls/sys_waitid.S index ee2d02f09..598dbb34e 100644 --- a/libc/sysv/calls/sys_waitid.S +++ b/libc/sysv/calls/sys_waitid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_waitid,0xfffffffff28ad8f7,globl +.scall sys_waitid,0xfffffffff28ad8f7,0x05f,globl diff --git a/libc/sysv/calls/sys_write.S b/libc/sysv/calls/sys_write.S index 0e05e1a75..5e8f16b53 100644 --- a/libc/sysv/calls/sys_write.S +++ b/libc/sysv/calls/sys_write.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_write,0x8048048042804801,globl,hidden +.scall sys_write,0x8048048042804801,0x040,globl,hidden diff --git a/libc/sysv/calls/sys_writev.S b/libc/sysv/calls/sys_writev.S index ca9955de5..1cdc7e4fc 100644 --- a/libc/sysv/calls/sys_writev.S +++ b/libc/sysv/calls/sys_writev.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_writev,0x8798798792879814,globl,hidden +.scall sys_writev,0x8798798792879814,0x042,globl,hidden diff --git a/libc/sysv/consts/nrlinux.h b/libc/sysv/consts/nrlinux.h index 1b76b0595..acab8a110 100644 --- a/libc/sysv/consts/nrlinux.h +++ b/libc/sysv/consts/nrlinux.h @@ -1,5 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_SYSV_CONSTS_NRLINUX_H_ #define COSMOPOLITAN_LIBC_SYSV_CONSTS_NRLINUX_H_ +#ifdef __x86_64__ #define __NR_linux_exit 0x003c #define __NR_linux_exit_group 0x00e7 @@ -347,4 +348,5 @@ #define __NR_linux_futex_waitv 0x01c1 #define __NR_linux_set_mempolicy_home_node 0x01c2 +#endif /* __x86_64__ */ #endif /* COSMOPOLITAN_LIBC_SYSV_CONSTS_NRLINUX_H_ */ diff --git a/libc/sysv/macros.internal.h b/libc/sysv/macros.internal.h index bef6b5843..edf6d610d 100644 --- a/libc/sysv/macros.internal.h +++ b/libc/sysv/macros.internal.h @@ -15,21 +15,30 @@ * risk of slowing down builds too much with complicated headers. */ -.macro .scall name:req num:req kw1 kw2 +.macro .scall name:req amd:req arm:req kw1 kw2 .section .privileged,"ax",@progbits +#ifdef __x86_64__ .ifnb \kw2 .align 16 -\name: movabs $\num,%rax +\name: movabs $\amd,%rax jmp *__systemfive(%rip) .else \name: push %rbp mov %rsp,%rbp - movabs $\num,%rax + movabs $\amd,%rax .hookable call *__systemfive(%rip) pop %rbp ret .endif +#elif defined(__aarch64__) +\name: mov x8,#\arm + svc #0 + b _sysret + .hidden _sysret +#else +#error "architecture unsupported" +#endif .endfn \name,\kw1,\kw2 .previous .endm diff --git a/libc/sysv/restorert.S b/libc/sysv/restorert.S index 511d6aee1..6728fd303 100644 --- a/libc/sysv/restorert.S +++ b/libc/sysv/restorert.S @@ -24,10 +24,18 @@ __restore_bt: nop .endfn __restore_bt,globl,hidden - nop # gap so that __get_symbol(st, addr - 1) fails + nop // gap so that __get_symbol(st, addr - 1) fails .balign 16 -__restore_rt: # @see gdb/amd64-linux-tdep.c - mov $__NR_linux_sigreturn,%rax # [sic] +__restore_rt: // @see gdb/amd64-linux-tdep.c +#ifdef __x86_64__ + mov $__NR_linux_sigreturn,%rax // [sic] syscall +#elif defined(__aarch64__) + mov x8,#139 // __NR_rt_sigreturn + svc #0 +#elif defined(__powerpc64__) + li 0,172 // __NR_rt_sigreturn + sc +#endif /* __x86_64__ */ .balign 16 .endfn __restore_rt,globl,hidden diff --git a/libc/sysv/syscall.S b/libc/sysv/syscall.S index 61a925f21..b0003200e 100644 --- a/libc/sysv/syscall.S +++ b/libc/sysv/syscall.S @@ -39,15 +39,15 @@ syscall: .profilable // slide arguments into their right places - mov %rdi,%rax # nr - mov %rsi,%rdi # arg 1 - mov %rdx,%rsi # arg 2 - mov %rcx,%rdx # arg 3 - mov %r8,%rcx # arg 4 - mov %r9,%r8 # arg 5 - mov 16(%rbp),%r9 # arg 6 - push 32(%rbp) # arg 8 - push 24(%rbp) # arg 7 + mov %rdi,%rax // nr + mov %rsi,%rdi // arg 1 + mov %rdx,%rsi // arg 2 + mov %rcx,%rdx // arg 3 + mov %r8,%rcx // arg 4 + mov %r9,%r8 // arg 5 + mov 16(%rbp),%r9 // arg 6 + push 32(%rbp) // arg 8 + push 24(%rbp) // arg 7 // convert from consts.sh to syscalls.sh encoding push %rcx diff --git a/libc/sysv/syscalls.sh b/libc/sysv/syscalls.sh index 3a4730fb5..581404dcf 100755 --- a/libc/sysv/syscalls.sh +++ b/libc/sysv/syscalls.sh @@ -32,374 +32,374 @@ dir=libc/sysv/calls # 6.4+│ │ │ │ │ # NetBSD┐ │ │ │ │ │ # 9.1+│ │ │ │ │ │ -# Symbol ┌┴┐┌┴┐┌┴┐│┬┴┐┌┴┐ Directives & Commentary -scall sys_exit 0x00100100120010e7 globl hidden # a.k.a. exit_group -scall sys_read 0x8038038032803800 globl hidden -scall sys_write 0x8048048042804801 globl hidden -scall sys_open 0x8058058052805802 globl hidden -scall sys_close 0x0060060062006003 globl hidden -scall __sys_stat 0x1b7026fff2152004 globl hidden # FreeBSD 11→12 fumble; use sys_fstatat(); blocked on Android -scall __sys_fstat 0x1b80352272153005 globl hidden # needs __stat2linux() -scall __sys_lstat 0x1b90280282154006 globl hidden # needs __stat2linux(); blocked on Android -scall sys_poll 0x8d18fc8d128e6807 globl hidden -scall sys_ppoll 0xfff86da21ffff90f globl hidden # consider INTON/INTOFF tutorial in examples/unbourne.c -scall sys_lseek 0x0c70c71de20c7008 globl hidden # netbsd+openbsd:evilpad -scall __sys_mmap 0x0c50c51dd20c5009 globl hidden # netbsd+openbsd:pad -scall sys_msync 0x915900841284181a globl hidden -scall sys_mprotect 0x04a04a04a204a00a globl hidden -scall __sys_munmap 0x049049049204900b globl hidden -scall sys_sigaction 0x15402e1a0202e00d globl hidden # rt_sigaction on Lunix; __sigaction_sigtramp() on NetBSD -scall __sys_sigprocmask 0x125030154214900e globl hidden # a.k.a. rt_sigprocmask, openbsd:byvalue, a.k.a. pthread_sigmask -scall sys_ioctl 0x0360360362036010 globl hidden -scall sys_ioctl_cp 0x8368368362836810 globl hidden # intended for TCSBRK -scall sys_pread 0x8ad8ad9db2899811 globl hidden # a.k.a. pread64; netbsd+openbsd:pad -scall sys_pwrite 0x8ae8ae9dc289a812 globl hidden # a.k.a. pwrite64; netbsd+openbsd:pad -scall sys_readv 0x8788788782878813 globl hidden -scall sys_writev 0x8798798792879814 globl hidden -scall sys_access 0x0210210212021015 globl hidden -scall __sys_pipe 0x02a10721e202a016 globl hidden # NOTE: pipe2() on FreeBSD; XNU is pipe(void)→eax:edx -scall sys_select 0x9a184785d285d817 globl hidden -scall sys_pselect 0x9b486ea0a298a90e globl hidden # pselect6() on gnu/systemd -scall sys_sched_yield 0x15e12a14bf25d018 globl hidden # select() on XNU (previously swtch() but removed in 12.4) -scall __sys_mremap 0x19bffffffffff019 globl hidden -scall sys_mincore 0x04e04e04e204e01b globl hidden -scall sys_madvise 0x04b04b04b204b01c globl hidden -scall sys_shmget 0x0e71210e7210901d globl # no wrapper -scall sys_shmat 0x0e40e40e4210601e globl # no wrapper -scall sys_shmctl 0x1bb128200210701f globl # no wrapper -scall sys_dup 0x0290290292029020 globl hidden -scall sys_dup2 0x05a05a05a205a021 globl hidden -scall sys_pause 0xfffffffffffff022 globl hidden -scall sys_nanosleep 0x9ae85b8f0ffff823 globl hidden -scall __sys_clock_nanosleep 0x9ddfff8f4ffff8e6 globl hidden -scall sys_getitimer 0x1aa0460562056024 globl hidden -scall sys_setitimer 0x1a90450532053026 globl hidden -scall sys_alarm 0xfffffffffffff025 globl hidden -scall sys_getpid 0x0140140142014027 globl hidden # netbsd returns ppid in edx -scall sys_sendfile 0xffffff1892151028 globl hidden # Linux vs. XNU/BSD ABIs very different -scall __sys_socket 0x18a0610612061029 globl hidden -scall __sys_connect 0x862862862286282a globl hidden -scall __sys_accept 0x81e81ea1d281e82b globl hidden # accept4 on freebsd -scall sys_sendto 0x885885885288582c globl hidden -scall sys_recvfrom 0x81d81d81d281d82d globl hidden -scall sys_sendmsg 0x81c81c81c281c82e globl hidden -scall sys_recvmsg 0x81b81b81b281b82f globl hidden -scall sys_shutdown 0x0860860862086030 globl hidden -scall __sys_bind 0x0680680682068031 globl hidden -scall sys_listen 0x06a06a06a206a032 globl hidden -scall __sys_getsockname 0x0200200202020033 globl hidden -scall __sys_getpeername 0x01f01f08d201f034 globl hidden -scall __sys_socketpair 0x0870870872087035 globl hidden -scall sys_setsockopt 0x0690690692069036 globl hidden -scall sys_getsockopt 0x0760760762076037 globl hidden -scall __sys_fork 0x0020020022002039 globl hidden # xnu needs eax&=~-edx bc eax always holds pid and edx is 0 for parent and 1 for child -#scall vfork 0x042042042204203a globl # this syscall is from the moon so we implement it by hand in libc/runtime/vfork.S; probably removed from XNU in 12.5 -scall sys_posix_spawn 0x1daffffff20f4fff globl hidden # good luck figuring out how xnu defines this -scall __sys_execve 0x03b03b03b203b03b globl hidden -scall __sys_wait4 0x9c180b807280783d globl hidden -scall sys_kill 0x02507a025202503e globl hidden # kill(pid, sig, 1) b/c xnu -scall sys_killpg 0x092fff092fffffff globl hidden -scall sys_clone 0x11fffffffffff038 globl hidden -scall sys_tkill 0x13e0771b121480c8 globl hidden # thr_kill() on FreeBSD; _lwp_kill() on NetBSD; thrkill() on OpenBSD where arg3 should be 0 or tcb; __pthread_kill() on XNU -scall sys_tgkill 0xffffff1e1ffff0ea globl hidden # thr_kill2() on FreeBSD -scall sys_futex 0x0a60531c6ffff0ca globl hidden # raises SIGSYS on NetBSD; _umtx_op() on FreeBSD -scall sys_futex_cp 0x8a68539c6ffff8ca globl hidden # intended for futex wait ops -scall sys_set_robust_list 0x0a7ffffffffff111 globl # no wrapper -scall sys_get_robust_list 0x0a8ffffffffff112 globl # no wrapper -scall sys_uname 0x0a4fff0a4ffff03f globl hidden -scall sys_semget 0x0dd0dd0dd20ff040 globl # no wrapper -scall sys_semop 0x0de1220de2100041 globl # no wrapper -scall sys_semctl 0xfff1271fe20fe042 globl # no wrapper -scall sys_shmdt 0x0e60e60e62108043 globl # no wrapper -scall sys_msgget 0x0e10e10e12103044 globl # no wrapper -scall sys_msgsnd 0x8e28e28e22904845 globl # no wrapper -scall sys_msgrcv 0x8e38e38e32905846 globl # no wrapper -scall sys_msgctl 0x1bc1291ff2102047 globl # no wrapper -scall __sys_fcntl 0x05c05c05c205c048 globl hidden -scall __sys_fcntl_cp 0x85c85c85c285c848 globl hidden # intended for F_SETLKW and F_OFD_SETLKW -scall sys_flock 0x8838838832883849 globl hidden -scall sys_fsync 0x85f85f85f285f84a globl hidden -scall sys_fdatasync 0x8f185fa2628bb84b globl hidden # fsync() on openbsd -scall sys_truncate 0x8c88c89df28c884c globl hidden # netbsd+openbsd:pad -scall sys_ftruncate 0x8c98c99e028c984d globl hidden # netbsd+openbsd:pad -scall sys_getcwd 0x128130146ffff04f globl hidden -scall sys_chdir 0x00c00c00c200c050 globl hidden -scall sys_fchdir 0x00d00d00d200d051 globl hidden -scall sys_rename 0x0800800802080052 globl hidden -scall sys_mkdir 0x0880880882088053 globl hidden -scall sys_rmdir 0x0890890892089054 globl hidden -scall sys_creat 0x008fff008ffff055 globl hidden -scall sys_link 0x0090090092009056 globl hidden -scall sys_unlink 0x00a00a00a200a057 globl hidden -scall sys_symlink 0x0390390392039058 globl hidden -scall sys_readlink 0x03a03a03a203a059 globl hidden # usually an anti-pattern -scall sys_chmod 0x00f00f00f200f05a globl hidden -scall sys_fchmod 0x07c07c07c207c05b globl hidden -scall sys_chown 0x010010010201005c globl hidden # impl. w/ fchownat() @asyncsignalsafe -scall sys_fchown 0x07b07b07b207b05d globl hidden # @asyncsignalsafe -scall sys_lchown 0x1130fe0fe216c05e globl hidden # impl. w/ fchownat() -scall sys_umask 0x03c03c03c203c05f globl hidden -scall sys_gettimeofday 0x1a20430742074060 globl hidden # xnu esi/edx=0 -scall sys_getrlimit 0x0c20c20c220c2061 globl hidden -scall __sys_getrusage 0x1bd0130752075062 globl hidden -scall sys_sysinfo 0xfffffffffffff063 globl hidden -scall sys_times 0xfffffffffffff064 globl hidden -scall __sys_ptrace 0x01a01a01a201a065 globl hidden # ptrace() wrapper api is terrible -scall sys_syslog 0xfffffffffffff067 globl hidden -scall sys_getuid 0x0180180182018066 globl hidden -scall sys_getgid 0x02f02f02f202f068 globl hidden -scall sys_getppid 0xfff027027202706e globl hidden # see sys_getpid()→edx for netbsd -scall sys_getpgrp 0x051051051205106f globl hidden -scall sys_setsid 0x0930930932093070 globl hidden -scall sys_getsid 0x11e0ff136213607c globl hidden -scall sys_getpgid 0x0cf0cf0cf2097079 globl hidden -scall sys_setpgid 0x052052052205206d globl hidden -scall sys_geteuid 0x019019019201906b globl hidden -scall sys_getegid 0x02b02b02b202b06c globl hidden -scall sys_getgroups 0x04f04f04f204f073 globl hidden -scall sys_setgroups 0x0500500502050074 globl hidden -scall sys_setreuid 0x07e07e07e207e071 globl hidden -scall sys_setregid 0x07f07f07f207f072 globl hidden -scall sys_setuid 0x0170170172017069 globl hidden -scall sys_setgid 0x0b50b50b520b506a globl hidden -scall sys_setresuid 0xfff11a137ffff075 globl hidden # polyfilled for xnu -scall sys_setresgid 0xfff11c138ffff077 globl hidden # polyfilled for xnu -scall sys_getresuid 0xfff119168ffff076 globl hidden # semantics aren't well-defined -scall sys_getresgid 0xfff11b169ffff078 globl hidden # semantics aren't well-defined -scall sys_sigpending 0x124034157203407f globl hidden # a.k.a. rt_sigpending on linux -scall sys_sigsuspend 0x92686f955286f882 globl hidden # a.k.a. rt_sigsuspend on Linux; openbsd:byvalue, sigsuspend_nocancel on XNU -scall sys_sigaltstack 0x1191200352035083 globl hidden -scall sys_mknod 0x1c200e00e200e085 globl hidden -scall sys_mknodat 0x1cc14022fffff103 globl # no wrapper; FreeBSD 12+ -scall sys_mkfifo 0x0840840842084fff globl hidden -scall sys_mkfifoat 0x1cb13f1f1fffffff globl # no wrapper -scall sys_statfs 0x89d83fa2b2959889 globl hidden -scall sys_fstatfs 0x89e840a2c295a88a globl hidden -scall sys_getpriority 0x064064064206408c globl hidden -scall sys_setpriority 0x060060060206008d globl hidden # modern nice() -scall sys_mlock 0x0cb0cb0cb20cb095 globl # no wrapper -scall sys_munlock 0x0cc0cc0cc20cc096 globl # no wrapper -scall sys_mlockall 0x0f210f1442144097 globl # no wrapper -scall sys_munlockall 0x0f31101452145098 globl # no wrapper -scall sys_setrlimit 0x0c30c30c320c30a0 globl hidden -scall sys_chroot 0x03d03d03d203d0a1 globl hidden -scall sys_sync 0x02402402420240a2 globl hidden -scall sys_acct 0x03303303320330a3 globl # no wrapper -scall sys_settimeofday 0x1a304407a207a0a4 globl # no wrapper -scall sys_mount 0x19a01501520a70a5 globl hidden -scall sys_unmount 0x016016016209f0a6 globl # no wrapper; umount2() on linux -scall sys_umount2 0x016016016209f0a6 globl # no wrapper; unmount() on bsd -scall sys_reboot 0x0d003703720370a9 globl hidden # two arguments b/c netbsd/sparc lool -scall sys_quotactl 0xfff09409420a50b3 globl # no wrapper -scall sys_setfsuid 0xfffffffffffff07a globl hidden -scall sys_setfsgid 0xfffffffffffff07b globl hidden -scall sys_capget 0xfffffffffffff07d globl # no wrapper -scall sys_capset 0xfffffffffffff07e globl # no wrapper -scall sys_sigtimedwait 0x9affff959ffff880 globl hidden -scall sys_sigqueue 0xffffff1c8fffffff globl hidden -scall sys_sigqueueinfo 0x0f5ffffffffff081 globl hidden # a.k.a. rt_sigqueueinfo on linux -scall sys_personality 0xfffffffffffff087 globl # no wrapper -scall sys_ustat 0xfffffffffffff088 globl # no wrapper -scall sys_sysfs 0xfffffffffffff08b globl # no wrapper -scall sys_sched_setparam 0x15afff147ffff08e globl hidden -scall sys_sched_getparam 0x15bfff148ffff08f globl hidden -scall sys_sched_setscheduler 0xffffff149ffff090 globl hidden -scall sys_sched_getscheduler 0xffffff14affff091 globl hidden -scall sys_sched_setaffinity 0x15cfff1e8ffff0cb globl hidden # hairy; cpuset_setaffinity on FreeBSD -scall sys_sched_getaffinity 0x15dfff1e7ffff0cc globl hidden # hairy; cpuset_getaffinity on FreeBSD -scall sys_sched_get_priority_max 0xffffff14cffff092 globl hidden -scall sys_sched_get_priority_min 0xffffff14dffff093 globl hidden -scall sys_sched_rr_get_interval 0xffffff14effff094 globl hidden -scall sys_vhangup 0xfffffffffffff099 globl # no wrapper -scall sys_modify_ldt 0xfffffffffffff09a globl # no wrapper -scall sys_pivot_root 0xfffffffffffff09b globl hidden -#scall prctl 0xfffffffffffff09d globl # wrapped manually -scall sys_arch_prctl 0x0a50a50a5ffff09e globl hidden # sysarch() on bsd -scall sys_set_tls 0x13d1490a5300309e globl hidden # arch_prctl on linux, sysarch on freebsd, _lwp_setprivate on netbsd, __set_tcb on openbsd, _lwp_setprivate on netbsd, thread_fast_set_cthread_self on xnu -scall sys_adjtimex 0xfffffffffffff09f globl # no wrapper -scall sys_swapon 0xffffff05520550a7 globl # no wrapper -scall sys_swapoff 0xffffff1a8ffff0a8 globl # no wrapper -scall sys_sethostname 0xffffff058ffff0aa globl # no wrapper -scall sys_setdomainname 0xffffff0a3ffff0ab globl # no wrapper -scall sys_iopl 0xfffffffffffff0ac globl # no wrapper -scall sys_ioperm 0xfffffffffffff0ad globl # no wrapper -scall sys_init_module 0xfffffffffffff0af globl # no wrapper -scall sys_delete_module 0xfffffffffffff0b0 globl # no wrapper -scall __sys_gettid 0x13712b1b0101b0ba globl hidden # thread_self_trap (or gettid? on xnu), _lwp_self on netbsd, thr_self on freebsd, getthrid on openbsd -scall sys_readahead 0xfffffffffffff0bb globl # no wrapper; consider fadvise() / madvise() -scall sys_setxattr 0x177ffffff20ec0bc globl # no wrapper -scall sys_fsetxattr 0x179ffffff20ed0be globl # no wrapper -scall sys_getxattr 0x17affffff20ea0bf globl # no wrapper -scall sys_fgetxattr 0x17cffffff20eb0c1 globl # no wrapper -scall sys_listxattr 0x17dffffff20f00c2 globl # no wrapper -scall sys_flistxattr 0x17fffffff20f10c4 globl # no wrapper -scall sys_removexattr 0x180ffffff20ee0c5 globl # no wrapper -scall sys_fremovexattr 0x182ffffff20ef0c7 globl # no wrapper -scall sys_lsetxattr 0x178ffffffffff0bd globl # no wrapper -scall sys_lgetxattr 0x17bffffffffff0c0 globl # no wrapper -scall sys_llistxattr 0x17effffffffff0c3 globl # no wrapper -scall sys_lremovexattr 0x181ffffffffff0c6 globl # no wrapper -scall sys_io_setup 0xfffffffffffff0ce globl # no wrapper -scall sys_io_destroy 0xfffffffffffff0cf globl # no wrapper -scall sys_io_getevents 0xfffffffffffff0d0 globl # no wrapper -scall sys_io_submit 0xfffffffffffff0d1 globl # no wrapper -scall sys_io_cancel 0xfffffffffffff0d2 globl # no wrapper -scall sys_lookup_dcookie 0xfffffffffffff0d4 globl # no wrapper -scall sys_epoll_create 0xfffffffffffff0d5 globl hidden -scall sys_epoll_wait 0xfffffffffffff8e8 globl hidden -scall sys_epoll_ctl 0xfffffffffffff0e9 globl hidden -scall sys_getdents 0x18606311020c40d9 globl hidden # use opendir/readdir; four args b/c xnu, getdirentries on xnu, 32-bit on xnu/freebsd, a.k.a. getdents64 on linux, 64-bit on openbsd -scall sys_set_tid_address 0xfffffffffffff0da globl # no wrapper -scall sys_restart_syscall 0xfffffffffffff0db globl # no wrapper -scall sys_semtimedop 0xfffffffffffff0dc globl # no wrapper -scall sys_fadvise 0x1a0fff213ffff0dd globl hidden -scall sys_timer_create 0x0ebffffffffff0de globl # no wrapper -scall sys_timer_settime 0x1beffffffffff0df globl # no wrapper -scall sys_timer_gettime 0x1bfffffffffff0e0 globl # no wrapper -scall sys_timer_getoverrun 0x0efffffffffff0e1 globl # no wrapper -scall sys_timer_delete 0x0ecffffffffff0e2 globl # no wrapper -scall sys_ktimer_create 0xffffff0ebfffffff globl # no wrapper -scall sys_ktimer_delete 0xffffff0ecfffffff globl # no wrapper -scall sys_ktimer_getoverrun 0xffffff0effffffff globl # no wrapper -scall sys_ktimer_gettime 0xffffff0eefffffff globl # no wrapper -scall sys_ktimer_settime 0xffffff0edfffffff globl # no wrapper -scall sys_clock_settime 0x1ac0580e9ffff0e3 globl # no wrapper -scall sys_clock_gettime 0x1ab0570e8ffff0e4 globl hidden # Linux 2.6+ (c. 2003); XNU uses magic address -scall sys_clock_getres 0x1ad0590eaffff0e5 globl hidden -scall sys_mbind 0xfffffffffffff0ed globl # no wrapper; numa numa yeah -scall set_mempolicy 0xfffffffffffff0ee globl -scall get_mempolicy 0xfffffffffffff0ef globl -scall sys_mq_open 0x101ffffffffff0f0 globl # won't polyfill -scall sys_mq_unlink 0x103ffffffffff0f1 globl # won't polyfill -scall sys_mq_timedsend 0x1b0ffffffffff0f2 globl # won't polyfill -scall sys_mq_timedreceive 0x1b1ffffffffff0f3 globl # won't polyfill -scall sys_mq_notify 0x106ffffffffff0f4 globl # won't polyfill -scall sys_mq_getsetattr 0xfffffffffffff0f5 globl # won't polyfill -scall sys_kexec_load 0xfffffffffffff0f6 globl # no wrapper -scall sys_waitid 0xfffffffff28ad8f7 globl # Linux 2.6.9+; no wrapper -scall sys_add_key 0xfffffffffffff0f8 globl # no wrapper -scall sys_request_key 0xfffffffffffff0f9 globl # no wrapper -scall sys_keyctl 0xfffffffffffff0fa globl # no wrapper -scall ioprio_set 0xfffffffffffff0fb globl -scall ioprio_get 0xfffffffffffff0fc globl -scall sys_inotify_init 0xfffffffffffff0fd globl # no wrapper -scall sys_inotify_add_watch 0xfffffffffffff0fe globl # no wrapper -scall sys_inotify_rm_watch 0xfffffffffffff0ff globl # no wrapper -scall __sys_openat 0x9d49419f329cf901 globl hidden # Linux 2.6.16+ (c. 2007) -scall __sys_openat_nc 0x1d41411f321d0101 globl hidden # openat_nocancel() on xnu -scall sys_mkdirat 0x1cd13e1f021db102 globl hidden -scall sys_fchownat 0x1d013b1eb21d4104 globl hidden # @asyncsignalsafe -scall sys_utime 0xfffffffffffff084 globl hidden -scall sys_utimes 0x1a404c08a208a0eb globl hidden -scall sys_futimesat 0xffffff1eeffff105 globl hidden # @asyncsignalsafe -scall sys_futimes 0x1a704d0ce208bfff globl hidden -scall sys_futimens 0x1d8055222fffffff globl hidden -scall __sys_fstatat 0x1d202a22821d6106 globl hidden # a.k.a. newfstatat(); FreeBSD 12+; needs __stat2linux() -scall sys_unlinkat 0x1d71451f721d8107 globl hidden -scall sys_renameat 0x1ca1431f521d1108 globl hidden -scall sys_linkat 0x1c913d1ef21d7109 globl hidden -scall sys_symlinkat 0x1d61441f621da10a globl hidden -scall sys_readlinkat 0x1d51421f421d910b globl hidden -scall sys_fchmodat 0x1cf13a1ea21d310c globl hidden -scall sys_faccessat 0x1ce1391e921d210d globl hidden -scall sys_unshare 0xfffffffffffff110 globl # no wrapper -scall sys_splice 0xfffffffffffff113 globl hidden # Linux 2.6.17+ (c. 2007) -scall sys_tee 0xfffffffffffff114 globl # Linux 2.6.17+; no wrapper -scall sys_sync_file_range 0xfffffffffffff115 globl hidden # Linux 2.6.17+ -scall sys_vmsplice 0xfffffffffffff116 globl hidden -scall sys_migrate_pages 0xfffffffffffff100 globl # no wrapper; numa numa yay -scall sys_move_pages 0xfffffffffffff117 globl # no wrapper; NOTE: We view Red Hat versions as "epochs" for all distros. +# Symbol ┌┴┐┌┴┐┌┴┐│┬┴┐┌┴┐ ARM Directives & Commentary +scall sys_exit 0x00100100120010e7 0x05e globl hidden # a.k.a. exit_group +scall sys_read 0x8038038032803800 0x03f globl hidden +scall sys_write 0x8048048042804801 0x040 globl hidden +scall sys_open 0x8058058052805802 0x0b4 globl hidden +scall sys_close 0x0060060062006003 0x039 globl hidden +scall __sys_stat 0x1b7026fff2152004 0x04f globl hidden # FreeBSD 11→12 fumble; use sys_fstatat(); blocked on Android +scall __sys_fstat 0x1b80352272153005 0x050 globl hidden # needs __stat2linux() +scall __sys_lstat 0x1b90280282154006 0xfff globl hidden # needs __stat2linux(); blocked on Android +scall sys_poll 0x8d18fc8d128e6807 0xfff globl hidden +scall sys_ppoll 0xfff86da21ffff90f 0x049 globl hidden # consider INTON/INTOFF tutorial in examples/unbourne.c +scall sys_lseek 0x0c70c71de20c7008 0x03e globl hidden # netbsd+openbsd:evilpad +scall __sys_mmap 0x0c50c51dd20c5009 0x0de globl hidden # netbsd+openbsd:pad +scall sys_msync 0x915900841284181a 0x0e3 globl hidden +scall sys_mprotect 0x04a04a04a204a00a 0x0e2 globl hidden +scall __sys_munmap 0x049049049204900b 0x0d7 globl hidden +scall sys_sigaction 0x15402e1a0202e00d 0x086 globl hidden # rt_sigaction on Lunix; __sigaction_sigtramp() on NetBSD +scall __sys_sigprocmask 0x125030154214900e 0x087 globl hidden # a.k.a. rt_sigprocmask, openbsd:byvalue, a.k.a. pthread_sigmask +scall sys_ioctl 0x0360360362036010 0x01d globl hidden +scall sys_ioctl_cp 0x8368368362836810 0x01d globl hidden # intended for TCSBRK +scall sys_pread 0x8ad8ad9db2899811 0x043 globl hidden # a.k.a. pread64; netbsd+openbsd:pad +scall sys_pwrite 0x8ae8ae9dc289a812 0x044 globl hidden # a.k.a. pwrite64; netbsd+openbsd:pad +scall sys_readv 0x8788788782878813 0x041 globl hidden +scall sys_writev 0x8798798792879814 0x042 globl hidden +scall sys_access 0x0210210212021015 0xfff globl hidden +scall __sys_pipe 0x02a10721e202a016 0xfff globl hidden # NOTE: pipe2() on FreeBSD; XNU is pipe(void)→eax:edx +scall sys_select 0x9a184785d285d817 0xfff globl hidden +scall sys_pselect 0x9b486ea0a298a90e 0xfff globl hidden # pselect6() on gnu/systemd +scall sys_sched_yield 0x15e12a14bf25d018 0x07c globl hidden # select() on XNU (previously swtch() but removed in 12.4) +scall __sys_mremap 0x19bffffffffff019 0x0d8 globl hidden +scall sys_mincore 0x04e04e04e204e01b 0x0e8 globl hidden +scall sys_madvise 0x04b04b04b204b01c 0x0e9 globl hidden +scall sys_shmget 0x0e71210e7210901d 0x0c2 globl # no wrapper +scall sys_shmat 0x0e40e40e4210601e 0x0c4 globl # no wrapper +scall sys_shmctl 0x1bb128200210701f 0x0c3 globl # no wrapper +scall sys_dup 0x0290290292029020 0x017 globl hidden +scall sys_dup2 0x05a05a05a205a021 0xfff globl hidden +scall sys_pause 0xfffffffffffff022 0xfff globl hidden +scall sys_nanosleep 0x9ae85b8f0ffff823 0x065 globl hidden +scall __sys_clock_nanosleep 0x9ddfff8f4ffff8e6 0x073 globl hidden +scall sys_getitimer 0x1aa0460562056024 0x066 globl hidden +scall sys_setitimer 0x1a90450532053026 0x067 globl hidden +scall sys_alarm 0xfffffffffffff025 0xfff globl hidden +scall sys_getpid 0x0140140142014027 0x0ac globl hidden # netbsd returns ppid in edx +scall sys_sendfile 0xffffff1892151028 0x047 globl hidden # Linux vs. XNU/BSD ABIs very different +scall __sys_socket 0x18a0610612061029 0x0c6 globl hidden +scall __sys_connect 0x862862862286282a 0x0cb globl hidden +scall __sys_accept 0x81e81ea1d281e82b 0x0ca globl hidden # accept4 on freebsd +scall sys_sendto 0x885885885288582c 0x0ce globl hidden +scall sys_recvfrom 0x81d81d81d281d82d 0x0cf globl hidden +scall sys_sendmsg 0x81c81c81c281c82e 0x0d3 globl hidden +scall sys_recvmsg 0x81b81b81b281b82f 0x0d4 globl hidden +scall sys_shutdown 0x0860860862086030 0x0d2 globl hidden +scall __sys_bind 0x0680680682068031 0x0c8 globl hidden +scall sys_listen 0x06a06a06a206a032 0x0c9 globl hidden +scall __sys_getsockname 0x0200200202020033 0x0cc globl hidden +scall __sys_getpeername 0x01f01f08d201f034 0x0cd globl hidden +scall __sys_socketpair 0x0870870872087035 0x0c7 globl hidden +scall sys_setsockopt 0x0690690692069036 0x0d0 globl hidden +scall sys_getsockopt 0x0760760762076037 0x0d1 globl hidden +scall __sys_fork 0x0020020022002039 0xfff globl hidden # xnu needs eax&=~-edx bc eax always holds pid and edx is 0 for parent and 1 for child +#scall vfork 0x042042042204203a 0xfff globl # this syscall is from the moon so we implement it by hand in libc/runtime/vfork.S; probably removed from XNU in 12.5 +scall sys_posix_spawn 0x1daffffff20f4fff 0xfff globl hidden # good luck figuring out how xnu defines this +scall __sys_execve 0x03b03b03b203b03b 0x0dd globl hidden +scall __sys_wait4 0x9c180b807280783d 0x0104 globl hidden +scall sys_kill 0x02507a025202503e 0x081 globl hidden # kill(pid, sig, 1) b/c xnu +scall sys_killpg 0x092fff092fffffff 0xfff globl hidden +scall sys_clone 0x11fffffffffff038 0x0dc globl hidden +scall sys_tkill 0x13e0771b121480c8 0x082 globl hidden # thr_kill() on FreeBSD; _lwp_kill() on NetBSD; thrkill() on OpenBSD where arg3 should be 0 or tcb; __pthread_kill() on XNU +scall sys_tgkill 0xffffff1e1ffff0ea 0x083 globl hidden # thr_kill2() on FreeBSD +scall sys_futex 0x0a60531c6ffff0ca 0x062 globl hidden # raises SIGSYS on NetBSD; _umtx_op() on FreeBSD +scall sys_futex_cp 0x8a68539c6ffff8ca 0x062 globl hidden # intended for futex wait ops +scall sys_set_robust_list 0x0a7ffffffffff111 0x063 globl # no wrapper +scall sys_get_robust_list 0x0a8ffffffffff112 0x064 globl # no wrapper +scall sys_uname 0x0a4fff0a4ffff03f 0x0a0 globl hidden +scall sys_semget 0x0dd0dd0dd20ff040 0x0be globl # no wrapper +scall sys_semop 0x0de1220de2100041 0x0c1 globl # no wrapper +scall sys_semctl 0xfff1271fe20fe042 0x0bf globl # no wrapper +scall sys_shmdt 0x0e60e60e62108043 0x0c5 globl # no wrapper +scall sys_msgget 0x0e10e10e12103044 0x0ba globl # no wrapper +scall sys_msgsnd 0x8e28e28e22904845 0x0bd globl # no wrapper +scall sys_msgrcv 0x8e38e38e32905846 0x0bc globl # no wrapper +scall sys_msgctl 0x1bc1291ff2102047 0x0bb globl # no wrapper +scall __sys_fcntl 0x05c05c05c205c048 0x019 globl hidden +scall __sys_fcntl_cp 0x85c85c85c285c848 0x019 globl hidden # intended for F_SETLKW and F_OFD_SETLKW +scall sys_flock 0x8838838832883849 0x020 globl hidden +scall sys_fsync 0x85f85f85f285f84a 0x052 globl hidden +scall sys_fdatasync 0x8f185fa2628bb84b 0x053 globl hidden # fsync() on openbsd +scall sys_truncate 0x8c88c89df28c884c 0x02d globl hidden # netbsd+openbsd:pad +scall sys_ftruncate 0x8c98c99e028c984d 0x02e globl hidden # netbsd+openbsd:pad +scall sys_getcwd 0x128130146ffff04f 0x011 globl hidden +scall sys_chdir 0x00c00c00c200c050 0x031 globl hidden +scall sys_fchdir 0x00d00d00d200d051 0x032 globl hidden +scall sys_rename 0x0800800802080052 0xfff globl hidden +scall sys_mkdir 0x0880880882088053 0xfff globl hidden +scall sys_rmdir 0x0890890892089054 0xfff globl hidden +scall sys_creat 0x008fff008ffff055 0xfff globl hidden +scall sys_link 0x0090090092009056 0xfff globl hidden +scall sys_unlink 0x00a00a00a200a057 0x0b5 globl hidden +scall sys_symlink 0x0390390392039058 0xfff globl hidden +scall sys_readlink 0x03a03a03a203a059 0xfff globl hidden # usually an anti-pattern +scall sys_chmod 0x00f00f00f200f05a 0xfff globl hidden +scall sys_fchmod 0x07c07c07c207c05b 0x034 globl hidden +scall sys_chown 0x010010010201005c 0xfff globl hidden # impl. w/ fchownat() @asyncsignalsafe +scall sys_fchown 0x07b07b07b207b05d 0x037 globl hidden # @asyncsignalsafe +scall sys_lchown 0x1130fe0fe216c05e 0xfff globl hidden # impl. w/ fchownat() +scall sys_umask 0x03c03c03c203c05f 0x0a6 globl hidden +scall sys_gettimeofday 0x1a20430742074060 0x0a9 globl hidden # xnu esi/edx=0 +scall sys_getrlimit 0x0c20c20c220c2061 0x0a3 globl hidden +scall __sys_getrusage 0x1bd0130752075062 0x0a5 globl hidden +scall sys_sysinfo 0xfffffffffffff063 0x0b3 globl hidden +scall sys_times 0xfffffffffffff064 0x099 globl hidden +scall __sys_ptrace 0x01a01a01a201a065 0x075 globl hidden # ptrace() wrapper api is terrible +scall sys_syslog 0xfffffffffffff067 0x074 globl hidden +scall sys_getuid 0x0180180182018066 0x0ae globl hidden +scall sys_getgid 0x02f02f02f202f068 0x0b0 globl hidden +scall sys_getppid 0xfff027027202706e 0x0ad globl hidden # see sys_getpid()→edx for netbsd +scall sys_getpgrp 0x051051051205106f 0xfff globl hidden +scall sys_setsid 0x0930930932093070 0x09d globl hidden +scall sys_getsid 0x11e0ff136213607c 0x09c globl hidden +scall sys_getpgid 0x0cf0cf0cf2097079 0x09b globl hidden +scall sys_setpgid 0x052052052205206d 0x09a globl hidden +scall sys_geteuid 0x019019019201906b 0x0af globl hidden +scall sys_getegid 0x02b02b02b202b06c 0x0b1 globl hidden +scall sys_getgroups 0x04f04f04f204f073 0x09e globl hidden +scall sys_setgroups 0x0500500502050074 0x09f globl hidden +scall sys_setreuid 0x07e07e07e207e071 0x091 globl hidden +scall sys_setregid 0x07f07f07f207f072 0x08f globl hidden +scall sys_setuid 0x0170170172017069 0x092 globl hidden +scall sys_setgid 0x0b50b50b520b506a 0x090 globl hidden +scall sys_setresuid 0xfff11a137ffff075 0x093 globl hidden # polyfilled for xnu +scall sys_setresgid 0xfff11c138ffff077 0x095 globl hidden # polyfilled for xnu +scall sys_getresuid 0xfff119168ffff076 0x094 globl hidden # semantics aren't well-defined +scall sys_getresgid 0xfff11b169ffff078 0x096 globl hidden # semantics aren't well-defined +scall sys_sigpending 0x124034157203407f 0x088 globl hidden # a.k.a. rt_sigpending on linux +scall sys_sigsuspend 0x92686f955286f882 0x085 globl hidden # a.k.a. rt_sigsuspend on Linux; openbsd:byvalue, sigsuspend_nocancel on XNU +scall sys_sigaltstack 0x1191200352035083 0x084 globl hidden +scall sys_mknod 0x1c200e00e200e085 0xfff globl hidden +scall sys_mknodat 0x1cc14022fffff103 0x021 globl # no wrapper; FreeBSD 12+ +scall sys_mkfifo 0x0840840842084fff 0xfff globl hidden +scall sys_mkfifoat 0x1cb13f1f1fffffff 0xfff globl # no wrapper +scall sys_statfs 0x89d83fa2b2959889 0x02b globl hidden +scall sys_fstatfs 0x89e840a2c295a88a 0x02c globl hidden +scall sys_getpriority 0x064064064206408c 0x08d globl hidden +scall sys_setpriority 0x060060060206008d 0x08c globl hidden # modern nice() +scall sys_mlock 0x0cb0cb0cb20cb095 0x0e4 globl # no wrapper +scall sys_munlock 0x0cc0cc0cc20cc096 0x0e5 globl # no wrapper +scall sys_mlockall 0x0f210f1442144097 0x0e6 globl # no wrapper +scall sys_munlockall 0x0f31101452145098 0x0e7 globl # no wrapper +scall sys_setrlimit 0x0c30c30c320c30a0 0x0a4 globl hidden +scall sys_chroot 0x03d03d03d203d0a1 0x033 globl hidden +scall sys_sync 0x02402402420240a2 0x051 globl hidden +scall sys_acct 0x03303303320330a3 0x059 globl # no wrapper +scall sys_settimeofday 0x1a304407a207a0a4 0x0aa globl # no wrapper +scall sys_mount 0x19a01501520a70a5 0x028 globl hidden +scall sys_unmount 0x016016016209f0a6 0xfff globl # no wrapper; umount2() on linux +scall sys_umount2 0x016016016209f0a6 0x027 globl # no wrapper; unmount() on bsd +scall sys_reboot 0x0d003703720370a9 0x08e globl hidden # two arguments b/c netbsd/sparc lool +scall sys_quotactl 0xfff09409420a50b3 0x03c globl # no wrapper +scall sys_setfsuid 0xfffffffffffff07a 0x097 globl hidden +scall sys_setfsgid 0xfffffffffffff07b 0x098 globl hidden +scall sys_capget 0xfffffffffffff07d 0x05a globl # no wrapper +scall sys_capset 0xfffffffffffff07e 0x05b globl # no wrapper +scall sys_sigtimedwait 0x9affff959ffff880 0x089 globl hidden +scall sys_sigqueue 0xffffff1c8fffffff 0xfff globl hidden +scall sys_sigqueueinfo 0x0f5ffffffffff081 0x08a globl hidden # a.k.a. rt_sigqueueinfo on linux +scall sys_personality 0xfffffffffffff087 0x05c globl # no wrapper +scall sys_ustat 0xfffffffffffff088 0xfff globl # no wrapper +scall sys_sysfs 0xfffffffffffff08b 0xfff globl # no wrapper +scall sys_sched_setparam 0x15afff147ffff08e 0x076 globl hidden +scall sys_sched_getparam 0x15bfff148ffff08f 0x079 globl hidden +scall sys_sched_setscheduler 0xffffff149ffff090 0x077 globl hidden +scall sys_sched_getscheduler 0xffffff14affff091 0x078 globl hidden +scall sys_sched_setaffinity 0x15cfff1e8ffff0cb 0x07a globl hidden # hairy; cpuset_setaffinity on FreeBSD +scall sys_sched_getaffinity 0x15dfff1e7ffff0cc 0x07b globl hidden # hairy; cpuset_getaffinity on FreeBSD +scall sys_sched_get_priority_max 0xffffff14cffff092 0x07d globl hidden +scall sys_sched_get_priority_min 0xffffff14dffff093 0x07e globl hidden +scall sys_sched_rr_get_interval 0xffffff14effff094 0x07f globl hidden +scall sys_vhangup 0xfffffffffffff099 0x03a globl # no wrapper +scall sys_modify_ldt 0xfffffffffffff09a 0xfff globl # no wrapper +scall sys_pivot_root 0xfffffffffffff09b 0x029 globl hidden +#scall prctl 0xfffffffffffff09d 0x0a7 globl # wrapped manually +scall sys_arch_prctl 0x0a50a50a5ffff09e 0xfff globl hidden # sysarch() on bsd +scall sys_set_tls 0x13d1490a5300309e 0xfff globl hidden # arch_prctl on linux, sysarch on freebsd, _lwp_setprivate on netbsd, __set_tcb on openbsd, _lwp_setprivate on netbsd, thread_fast_set_cthread_self on xnu +scall sys_adjtimex 0xfffffffffffff09f 0x0ab globl # no wrapper +scall sys_swapon 0xffffff05520550a7 0x0e0 globl # no wrapper +scall sys_swapoff 0xffffff1a8ffff0a8 0x0e1 globl # no wrapper +scall sys_sethostname 0xffffff058ffff0aa 0x0a1 globl # no wrapper +scall sys_setdomainname 0xffffff0a3ffff0ab 0x0a2 globl # no wrapper +scall sys_iopl 0xfffffffffffff0ac 0xfff globl # no wrapper +scall sys_ioperm 0xfffffffffffff0ad 0xfff globl # no wrapper +scall sys_init_module 0xfffffffffffff0af 0x069 globl # no wrapper +scall sys_delete_module 0xfffffffffffff0b0 0x06a globl # no wrapper +scall __sys_gettid 0x13712b1b0101b0ba 0x0b2 globl hidden # thread_self_trap (or gettid? on xnu), _lwp_self on netbsd, thr_self on freebsd, getthrid on openbsd +scall sys_readahead 0xfffffffffffff0bb 0x0d5 globl # no wrapper; consider fadvise() / madvise() +scall sys_setxattr 0x177ffffff20ec0bc 0x005 globl # no wrapper +scall sys_fsetxattr 0x179ffffff20ed0be 0x007 globl # no wrapper +scall sys_getxattr 0x17affffff20ea0bf 0x008 globl # no wrapper +scall sys_fgetxattr 0x17cffffff20eb0c1 0x00a globl # no wrapper +scall sys_listxattr 0x17dffffff20f00c2 0x00b globl # no wrapper +scall sys_flistxattr 0x17fffffff20f10c4 0x00d globl # no wrapper +scall sys_removexattr 0x180ffffff20ee0c5 0x00e globl # no wrapper +scall sys_fremovexattr 0x182ffffff20ef0c7 0x010 globl # no wrapper +scall sys_lsetxattr 0x178ffffffffff0bd 0x006 globl # no wrapper +scall sys_lgetxattr 0x17bffffffffff0c0 0x009 globl # no wrapper +scall sys_llistxattr 0x17effffffffff0c3 0x00c globl # no wrapper +scall sys_lremovexattr 0x181ffffffffff0c6 0x00f globl # no wrapper +scall sys_io_setup 0xfffffffffffff0ce 0x000 globl # no wrapper +scall sys_io_destroy 0xfffffffffffff0cf 0x001 globl # no wrapper +scall sys_io_getevents 0xfffffffffffff0d0 0x004 globl # no wrapper +scall sys_io_submit 0xfffffffffffff0d1 0x002 globl # no wrapper +scall sys_io_cancel 0xfffffffffffff0d2 0x003 globl # no wrapper +scall sys_lookup_dcookie 0xfffffffffffff0d4 0x012 globl # no wrapper +scall sys_epoll_create 0xfffffffffffff0d5 0xfff globl hidden +scall sys_epoll_wait 0xfffffffffffff8e8 0xfff globl hidden +scall sys_epoll_ctl 0xfffffffffffff0e9 0x015 globl hidden +scall sys_getdents 0x18606311020c40d9 0x03d globl hidden # use opendir/readdir; four args b/c xnu, getdirentries on xnu, 32-bit on xnu/freebsd, a.k.a. getdents64 on linux, 64-bit on openbsd +scall sys_set_tid_address 0xfffffffffffff0da 0x060 globl # no wrapper +scall sys_restart_syscall 0xfffffffffffff0db 0x080 globl # no wrapper +scall sys_semtimedop 0xfffffffffffff0dc 0x0c0 globl # no wrapper +scall sys_fadvise 0x1a0fff213ffff0dd 0x0df globl hidden +scall sys_timer_create 0x0ebffffffffff0de 0x06b globl # no wrapper +scall sys_timer_settime 0x1beffffffffff0df 0x06e globl # no wrapper +scall sys_timer_gettime 0x1bfffffffffff0e0 0x06c globl # no wrapper +scall sys_timer_getoverrun 0x0efffffffffff0e1 0x06d globl # no wrapper +scall sys_timer_delete 0x0ecffffffffff0e2 0x06f globl # no wrapper +scall sys_ktimer_create 0xffffff0ebfffffff 0xfff globl # no wrapper +scall sys_ktimer_delete 0xffffff0ecfffffff 0xfff globl # no wrapper +scall sys_ktimer_getoverrun 0xffffff0effffffff 0xfff globl # no wrapper +scall sys_ktimer_gettime 0xffffff0eefffffff 0xfff globl # no wrapper +scall sys_ktimer_settime 0xffffff0edfffffff 0xfff globl # no wrapper +scall sys_clock_settime 0x1ac0580e9ffff0e3 0x070 globl # no wrapper +scall sys_clock_gettime 0x1ab0570e8ffff0e4 0x071 globl hidden # Linux 2.6+ (c. 2003); XNU uses magic address +scall sys_clock_getres 0x1ad0590eaffff0e5 0x072 globl hidden +scall sys_mbind 0xfffffffffffff0ed 0x0eb globl # no wrapper; numa numa yeah +scall set_mempolicy 0xfffffffffffff0ee 0xfff globl +scall get_mempolicy 0xfffffffffffff0ef 0xfff globl +scall sys_mq_open 0x101ffffffffff0f0 0x0b4 globl # won't polyfill +scall sys_mq_unlink 0x103ffffffffff0f1 0x0b5 globl # won't polyfill +scall sys_mq_timedsend 0x1b0ffffffffff0f2 0x0b6 globl # won't polyfill +scall sys_mq_timedreceive 0x1b1ffffffffff0f3 0x0b7 globl # won't polyfill +scall sys_mq_notify 0x106ffffffffff0f4 0x0b8 globl # won't polyfill +scall sys_mq_getsetattr 0xfffffffffffff0f5 0x0b9 globl # won't polyfill +scall sys_kexec_load 0xfffffffffffff0f6 0x068 globl # no wrapper +scall sys_waitid 0xfffffffff28ad8f7 0x05f globl # Linux 2.6.9+; no wrapper +scall sys_add_key 0xfffffffffffff0f8 0x0d9 globl # no wrapper +scall sys_request_key 0xfffffffffffff0f9 0x0da globl # no wrapper +scall sys_keyctl 0xfffffffffffff0fa 0x0db globl # no wrapper +scall ioprio_set 0xfffffffffffff0fb 0xfff globl +scall ioprio_get 0xfffffffffffff0fc 0xfff globl +scall sys_inotify_init 0xfffffffffffff0fd 0xfff globl # no wrapper +scall sys_inotify_add_watch 0xfffffffffffff0fe 0xfff globl # no wrapper +scall sys_inotify_rm_watch 0xfffffffffffff0ff 0xfff globl # no wrapper +scall __sys_openat 0x9d49419f329cf901 0x038 globl hidden # Linux 2.6.16+ (c. 2007) +scall __sys_openat_nc 0x1d41411f321d0101 0x038 globl hidden # openat_nocancel() on xnu +scall sys_mkdirat 0x1cd13e1f021db102 0x022 globl hidden +scall sys_fchownat 0x1d013b1eb21d4104 0x036 globl hidden # @asyncsignalsafe +scall sys_utime 0xfffffffffffff084 0x062 globl hidden +scall sys_utimes 0x1a404c08a208a0eb 0x058 globl hidden +scall sys_futimesat 0xffffff1eeffff105 0xfff globl hidden # @asyncsignalsafe +scall sys_futimes 0x1a704d0ce208bfff 0xfff globl hidden +scall sys_futimens 0x1d8055222fffffff 0xfff globl hidden +scall __sys_fstatat 0x1d202a22821d6106 0x04f globl hidden # a.k.a. newfstatat(); FreeBSD 12+; needs __stat2linux() +scall sys_unlinkat 0x1d71451f721d8107 0x023 globl hidden +scall sys_renameat 0x1ca1431f521d1108 0x026 globl hidden +scall sys_linkat 0x1c913d1ef21d7109 0x025 globl hidden +scall sys_symlinkat 0x1d61441f621da10a 0x024 globl hidden +scall sys_readlinkat 0x1d51421f421d910b 0x04e globl hidden +scall sys_fchmodat 0x1cf13a1ea21d310c 0x035 globl hidden +scall sys_faccessat 0x1ce1391e921d210d 0x030 globl hidden +scall sys_unshare 0xfffffffffffff110 0x061 globl # no wrapper +scall sys_splice 0xfffffffffffff113 0x04c globl hidden # Linux 2.6.17+ (c. 2007) +scall sys_tee 0xfffffffffffff114 0x04d globl # Linux 2.6.17+; no wrapper +scall sys_sync_file_range 0xfffffffffffff115 0x054 globl hidden # Linux 2.6.17+ +scall sys_vmsplice 0xfffffffffffff116 0x04b globl hidden +scall sys_migrate_pages 0xfffffffffffff100 0x0ee globl # no wrapper; numa numa yay +scall sys_move_pages 0xfffffffffffff117 0x0ef globl # no wrapper; NOTE: We view Red Hat versions as "epochs" for all distros. #──────────────────────RHEL 5.0 LIMIT──────────────────────── # ←┬─ last distro with gplv2 licensed compiler c. 2007 -scall sys_preadv 0x92190b9212a1c927 globl hidden # ├─ last distro with system v shell script init -scall sys_pwritev 0x92290c9222a1d928 globl hidden # ├─ rob landley unleashes busybox gpl lawsuits -scall __sys_utimensat 0x1d3054223ffff118 globl hidden # ├─ python modules need this due to pep513 -scall sys_fallocate 0xfffffffffffff91d globl # ├─ end of life 2020-11-30 (extended) -scall posix_fallocate 0x9dffffa12fffffff globl hidden # └─ cosmopolitan supports rhel5+ -scall __sys_accept4 0xfff85da1dffff920 globl hidden # Linux 2.6.28+ -scall __sys_dup3 0x1c6066fffffff124 globl hidden # Linux 2.6.27+ -scall __sys_pipe2 0x1c506521effff125 globl hidden # Linux 2.6.27+ -scall sys_epoll_pwait 0xfffffffffffff119 globl # no wrapper -scall sys_epoll_create1 0xfffffffffffff123 globl hidden -scall sys_perf_event_open 0xfffffffffffff12a globl # no wrapper -scall sys_inotify_init1 0xfffffffffffff126 globl # no wrapper -scall sys_rt_tgsigqueueinfo 0xfffffffffffff129 globl # no wrapper -scall sys_signalfd 0xfffffffffffff11a globl # no wrapper -scall sys_signalfd4 0xfffffffffffff121 globl # no wrapper -scall sys_eventfd 0xfffffffffffff11c globl # no wrapper -scall sys_eventfd2 0xfffffffffffff122 globl # no wrapper -scall sys_timerfd_create 0xfffffffffffff11b globl # no wrapper -scall sys_timerfd_settime 0xfffffffffffff11e globl # no wrapper -scall sys_timerfd_gettime 0xfffffffffffff11f globl # no wrapper +scall sys_preadv 0x92190b9212a1c927 0x045 globl hidden # ├─ last distro with system v shell script init +scall sys_pwritev 0x92290c9222a1d928 0x046 globl hidden # ├─ rob landley unleashes busybox gpl lawsuits +scall __sys_utimensat 0x1d3054223ffff118 0x058 globl hidden # ├─ python modules need this due to pep513 +scall sys_fallocate 0xfffffffffffff91d 0x02f globl # ├─ end of life 2020-11-30 (extended) +scall posix_fallocate 0x9dffffa12fffffff 0xfff globl hidden # └─ cosmopolitan supports rhel5+ +scall __sys_accept4 0xfff85da1dffff920 0x0f2 globl hidden # Linux 2.6.28+ +scall __sys_dup3 0x1c6066fffffff124 0x018 globl hidden # Linux 2.6.27+ +scall __sys_pipe2 0x1c506521effff125 0x03b globl hidden # Linux 2.6.27+ +scall sys_epoll_pwait 0xfffffffffffff119 0x016 globl # no wrapper +scall sys_epoll_create1 0xfffffffffffff123 0x014 globl hidden +scall sys_perf_event_open 0xfffffffffffff12a 0x0f1 globl # no wrapper +scall sys_inotify_init1 0xfffffffffffff126 0x01a globl # no wrapper +scall sys_rt_tgsigqueueinfo 0xfffffffffffff129 0x0f0 globl # no wrapper +scall sys_signalfd 0xfffffffffffff11a 0xfff globl # no wrapper +scall sys_signalfd4 0xfffffffffffff121 0x04a globl # no wrapper +scall sys_eventfd 0xfffffffffffff11c 0xfff globl # no wrapper +scall sys_eventfd2 0xfffffffffffff122 0x013 globl # no wrapper +scall sys_timerfd_create 0xfffffffffffff11b 0x055 globl # no wrapper +scall sys_timerfd_settime 0xfffffffffffff11e 0x056 globl # no wrapper +scall sys_timerfd_gettime 0xfffffffffffff11f 0x057 globl # no wrapper #──────────────────────RHEL 6.0 LIMIT──────────────────────── # ←┬─ modern glibc needs rhel6+ c. 2011 -scall sys_recvmmsg 0x1dbffffffffff12b globl # ├─ end of life 2024-06-30 (extended) -scall sys_fanotify_init 0xfffffffffffff12c globl # ├─ last distro with the original gnome desktop -scall sys_fanotify_mark 0xfffffffffffff12d globl # └─ apple and google condemn the gplv3/gccrtev3 -scall sys_prlimit 0xfffffffffffff12e globl # a.k.a. prlimit64() -scall sys_name_to_handle_at 0xfffffffffffff12f globl -scall sys_open_by_handle_at 0xfffffffffffff130 globl -scall sys_clock_adjtime 0xfffffffffffff131 globl # no wrapper -scall sys_syncfs 0xfffffffffffff132 globl # no wrapper -#scall sendmmsg 0x1dcffffffffff133 globl -scall sys_setns 0xfffffffffffff134 globl # no wrapper -scall sys_getcpu 0xfffffffffffff135 globl # no wrapper -scall sys_process_vm_readv 0xfffffffffffff136 globl # no wrapper -scall sys_process_vm_writev 0xfffffffffffff137 globl # no wrapper -scall sys_kcmp 0xfffffffffffff138 globl # no wrapper -scall sys_finit_module 0xfffffffffffff139 globl # no wrapper +scall sys_recvmmsg 0x1dbffffffffff12b 0x0f3 globl # ├─ end of life 2024-06-30 (extended) +scall sys_fanotify_init 0xfffffffffffff12c 0x106 globl # ├─ last distro with the original gnome desktop +scall sys_fanotify_mark 0xfffffffffffff12d 0x107 globl # └─ apple and google condemn the gplv3/gccrtev3 +scall sys_prlimit 0xfffffffffffff12e 0x105 globl # a.k.a. prlimit64() +scall sys_name_to_handle_at 0xfffffffffffff12f 0x108 globl +scall sys_open_by_handle_at 0xfffffffffffff130 0x109 globl +scall sys_clock_adjtime 0xfffffffffffff131 0x10a globl # no wrapper +scall sys_syncfs 0xfffffffffffff132 0x10b globl # no wrapper +#scall sendmmsg 0x1dcffffffffff133 0x10d globl +scall sys_setns 0xfffffffffffff134 0x10c globl # no wrapper +scall sys_getcpu 0xfffffffffffff135 0x0a8 globl # no wrapper +scall sys_process_vm_readv 0xfffffffffffff136 0x10e globl # no wrapper +scall sys_process_vm_writev 0xfffffffffffff137 0x10f globl # no wrapper +scall sys_kcmp 0xfffffffffffff138 0x110 globl # no wrapper +scall sys_finit_module 0xfffffffffffff139 0x111 globl # no wrapper #──────────────────────RHEL 7.0 LIMIT──────────────────────── # ←┬─ anything that links or uses c++11 code needs rhel7+ c. 2014 -scall sys_sched_setattr 0xfffffffffffff13a globl # ├─ desktop replaced with tablet-first gui inspired by mac os x -scall sys_sched_getattr 0xfffffffffffff13b globl # ├─ karen sandler requires systemd init and boot for tablet gui -scall sys_renameat2 0xfffffffffffff13c globl # └─ debian founder ian murdock found strangled with vacuum cord -#scall seccomp 0xfffffffffffff13d globl # wrapped manually -scall sys_getrandom 0x85b007a3321f493e globl hidden # Linux 3.17+; FreeBSD 12+; NetBSD v9.2+; getentropy() on XNU/OpenBSD -scall sys_memfd_create 0xfffffffffffff13f globl hidden -scall sys_kexec_file_load 0xfffffffffffff140 globl # no wrapper -scall sys_bpf 0xfffffffffffff141 globl # no wrapper -scall sys_execveat 0xfffffffffffff142 globl # no wrapper -scall sys_userfaultfd 0xfffffffffffff143 globl # no wrapper; Linux 4.3+ (c. 2015) -scall sys_membarrier 0xfffffffffffff144 globl # no wrapper; Linux 4.3+ (c. 2015) -scall sys_mlock2 0xfffffffffffff145 globl # no wrapper; Linux 4.5+ (c. 2016) -scall sys_copy_file_range 0xffffffa39ffff946 globl hidden # Linux 4.5+ (c. 2016), FreeBSD 13+ -scall sys_preadv2 0xfffffffffffff147 globl # no wrapper -scall sys_pwritev2 0xfffffffffffff148 globl # no wrapper -scall sys_pkey_mprotect 0xfffffffffffff149 globl # no wrapper -scall sys_pkey_alloc 0xfffffffffffff14a globl # no wrapper -scall sys_pkey_free 0xfffffffffffff14b globl # no wrapper -scall sys_statx 0xfffffffffffff14c globl # no wrapper; lool https://lkml.org/lkml/2010/7/22/249 -scall sys_io_pgetevents 0xfffffffffffff14d globl # no wrapper -scall sys_rseq 0xfffffffffffff14e globl # no wrapper; Linux 4.18+ (c. 2018) +scall sys_sched_setattr 0xfffffffffffff13a 0x112 globl # ├─ desktop replaced with tablet-first gui inspired by mac os x +scall sys_sched_getattr 0xfffffffffffff13b 0x113 globl # ├─ karen sandler requires systemd init and boot for tablet gui +scall sys_renameat2 0xfffffffffffff13c 0x114 globl # └─ debian founder ian murdock found strangled with vacuum cord +#scall seccomp 0xfffffffffffff13d 0x115 globl # wrapped manually +scall sys_getrandom 0x85b007a3321f493e 0x116 globl hidden # Linux 3.17+; FreeBSD 12+; NetBSD v9.2+; getentropy() on XNU/OpenBSD +scall sys_memfd_create 0xfffffffffffff13f 0x117 globl hidden +scall sys_kexec_file_load 0xfffffffffffff140 0xfff globl # no wrapper +scall sys_bpf 0xfffffffffffff141 0x118 globl # no wrapper +scall sys_execveat 0xfffffffffffff142 0x119 globl # no wrapper +scall sys_userfaultfd 0xfffffffffffff143 0x11a globl # no wrapper; Linux 4.3+ (c. 2015) +scall sys_membarrier 0xfffffffffffff144 0x11b globl # no wrapper; Linux 4.3+ (c. 2015) +scall sys_mlock2 0xfffffffffffff145 0x11c globl # no wrapper; Linux 4.5+ (c. 2016) +scall sys_copy_file_range 0xffffffa39ffff946 0x11d globl hidden # Linux 4.5+ (c. 2016), FreeBSD 13+ +scall sys_preadv2 0xfffffffffffff147 0x11e globl # no wrapper +scall sys_pwritev2 0xfffffffffffff148 0x11f globl # no wrapper +scall sys_pkey_mprotect 0xfffffffffffff149 0x120 globl # no wrapper +scall sys_pkey_alloc 0xfffffffffffff14a 0x121 globl # no wrapper +scall sys_pkey_free 0xfffffffffffff14b 0x122 globl # no wrapper +scall sys_statx 0xfffffffffffff14c 0x123 globl # no wrapper; lool https://lkml.org/lkml/2010/7/22/249 +scall sys_io_pgetevents 0xfffffffffffff14d 0xfff globl # no wrapper +scall sys_rseq 0xfffffffffffff14e 0xfff globl # no wrapper; Linux 4.18+ (c. 2018) #──────────────────────LINUX 4.18 LIMIT────────────────────── # ←┬─ last version of linux kernel buildable with only gplv2 -scall sys_pidfd_send_signal 0xfffffffffffff1a8 globl # ├─ linux conferences ban linux founder linus torvalds -scall sys_io_uring_setup 0xfffffffffffff1a9 globl # └─ gnu founder richard stallman publicly disgraced -scall sys_io_uring_enter 0xfffffffffffff1aa globl -scall sys_io_uring_register 0xfffffffffffff1ab globl +scall sys_pidfd_send_signal 0xfffffffffffff1a8 0xfff globl # ├─ linux conferences ban linux founder linus torvalds +scall sys_io_uring_setup 0xfffffffffffff1a9 0xfff globl # └─ gnu founder richard stallman publicly disgraced +scall sys_io_uring_enter 0xfffffffffffff1aa 0xfff globl +scall sys_io_uring_register 0xfffffffffffff1ab 0xfff globl #────────────────────────RHEL CLOUD────────────────────────── # ←──────┬─ red hat terminates community release of enterprise linux circa 2020 -scall sys_pledge 0xfff06cffffffffff globl hidden # └─ online linux services ban the president of united states of america -scall sys_msyscall 0xfff025ffffffffff globl # no wrapper -scall sys_bogus 0x00b5005002500500 globl -scall sys_open_tree 0xfffffffffffff1ac globl # no wrapper -scall sys_move_mount 0xfffffffffffff1ad globl # no wrapper -scall sys_fsopen 0xfffffffffffff1ae globl # no wrapper -scall sys_fsconfig 0xfffffffffffff1af globl # no wrapper -scall sys_fsmount 0xfffffffffffff1b0 globl # no wrapper -scall sys_fspick 0xfffffffffffff1b1 globl # no wrapper -scall sys_pidfd_open 0xfffffffffffff1b2 globl # no wrapper -scall sys_clone3 0xfffffffffffff1b3 globl # no wrapper -scall sys_close_range 0xffffff23fffff1b4 globl hidden # Linux 5.9 -scall sys_openat2 0xfffffffffffff1b5 globl hidden # Linux 5.6 -scall sys_pidfd_getfd 0xfffffffffffff1b6 globl # no wrapper -scall sys_faccessat2 0xfffffffffffff1b7 globl hidden -scall sys_process_madvise 0xfffffffffffff1b8 globl # no wrapper -scall sys_epoll_pwait2 0xfffffffffffff1b9 globl # no wrapper -scall sys_mount_setattr 0xfffffffffffff1ba globl # no wrapper -scall sys_quotactl_fd 0xfffffffffffff1bb globl # no wrapper -scall sys_landlock_create_ruleset 0xfffffffffffff1bc globl hidden # Linux 5.13+ -scall sys_landlock_add_rule 0xfffffffffffff1bd globl hidden -scall sys_landlock_restrict_self 0xfffffffffffff1be globl hidden -scall sys_memfd_secret 0xfffffffffffff1bf globl # no wrapper -scall sys_process_mrelease 0xfffffffffffff1c0 globl # no wrapper -scall sys_futex_waitv 0xfffffffffffff1c1 globl # no wrapper -scall sys_set_mempolicy_home_node 0xfffffffffffff1c2 globl # no wrapper +scall sys_pledge 0xfff06cffffffffff 0xfff globl hidden # └─ online linux services ban the president of united states of america +scall sys_msyscall 0xfff025ffffffffff 0xfff globl # no wrapper +scall sys_bogus 0x00b5005002500500 0xfff globl +scall sys_open_tree 0xfffffffffffff1ac 0xfff globl # no wrapper +scall sys_move_mount 0xfffffffffffff1ad 0xfff globl # no wrapper +scall sys_fsopen 0xfffffffffffff1ae 0xfff globl # no wrapper +scall sys_fsconfig 0xfffffffffffff1af 0xfff globl # no wrapper +scall sys_fsmount 0xfffffffffffff1b0 0xfff globl # no wrapper +scall sys_fspick 0xfffffffffffff1b1 0xfff globl # no wrapper +scall sys_pidfd_open 0xfffffffffffff1b2 0xfff globl # no wrapper +scall sys_clone3 0xfffffffffffff1b3 0xfff globl # no wrapper +scall sys_close_range 0xffffff23fffff1b4 0xfff globl hidden # Linux 5.9 +scall sys_openat2 0xfffffffffffff1b5 0xfff globl hidden # Linux 5.6 +scall sys_pidfd_getfd 0xfffffffffffff1b6 0xfff globl # no wrapper +scall sys_faccessat2 0xfffffffffffff1b7 0xfff globl hidden +scall sys_process_madvise 0xfffffffffffff1b8 0xfff globl # no wrapper +scall sys_epoll_pwait2 0xfffffffffffff1b9 0xfff globl # no wrapper +scall sys_mount_setattr 0xfffffffffffff1ba 0xfff globl # no wrapper +scall sys_quotactl_fd 0xfffffffffffff1bb 0xfff globl # no wrapper +scall sys_landlock_create_ruleset 0xfffffffffffff1bc 0xfff globl hidden # Linux 5.13+ +scall sys_landlock_add_rule 0xfffffffffffff1bd 0xfff globl hidden +scall sys_landlock_restrict_self 0xfffffffffffff1be 0xfff globl hidden +scall sys_memfd_secret 0xfffffffffffff1bf 0xfff globl # no wrapper +scall sys_process_mrelease 0xfffffffffffff1c0 0xfff globl # no wrapper +scall sys_futex_waitv 0xfffffffffffff1c1 0xfff globl # no wrapper +scall sys_set_mempolicy_home_node 0xfffffffffffff1c2 0xfff globl # no wrapper # The Fifth Bell System Interface, Community Edition # » besiyata dishmaya @@ -409,407 +409,407 @@ scall sys_set_mempolicy_home_node 0xfffffffffffff1c2 globl # no wrapper # OpenBSD┐ │ ┌─│──│── XnuClass{1:Mach,2:Unix} # NetBSD┐ │ │ │ │ │ # Symbol ┌┴┐┌┴┐┌┴┐│┬┴┐┌┴┐ Directives & Commentary -scall sys_ktrace 0x02d02d02dfffffff globl # no wrapper -scall sys_kqueue 0x15810d16a216afff globl # no wrapper -scall sys_kevent 0x1b30482302171fff globl # no wrapper -scall sys_revoke 0x0380380382038fff globl # no wrapper -scall sys_setlogin 0xfff0320322032fff globl # no wrapper -scall sys_getfh 0x18b0a10a120a1fff globl # no wrapper -scall sys_chflags 0x0220220222022fff globl # no wrapper -scall sys_getfsstat 0xfff03e22d215bfff globl # no wrapper -scall sys_nfssvc 0x09b09b09b209bfff globl # no wrapper -scall sys_adjtime 0x1a508c08c208cfff globl # no wrapper -scall sys_fchflags 0x0230230232023fff globl # no wrapper -scall __bsd_seteuid 0xfff0b70b720b7fff globl hidden # wrapped via setreuid() -scall __bsd_setegid 0xfff0b60b620b6fff globl hidden # wrapped via setregid() -scall sys_fpathconf 0x0c00c00c020c0fff globl # no wrapper -scall sys_fhopen 0x18c10812a20f8fff globl # no wrapper -scall sys_issetugid 0xfff0fd0fd2147fff globl hidden -scall sys_minherit 0x1110fa0fa20fafff globl # no wrapper -scall sys_pathconf 0x0bf0bf0bf20bffff globl # no wrapper -scall sys_sysctl 0x0ca0ca0ca20cafff globl # no wrapper +scall sys_ktrace 0x02d02d02dfffffff 0xfff globl # no wrapper +scall sys_kqueue 0x15810d16a216afff 0xfff globl # no wrapper +scall sys_kevent 0x1b30482302171fff 0xfff globl # no wrapper +scall sys_revoke 0x0380380382038fff 0xfff globl # no wrapper +scall sys_setlogin 0xfff0320322032fff 0xfff globl # no wrapper +scall sys_getfh 0x18b0a10a120a1fff 0xfff globl # no wrapper +scall sys_chflags 0x0220220222022fff 0xfff globl # no wrapper +scall sys_getfsstat 0xfff03e22d215bfff 0xfff globl # no wrapper +scall sys_nfssvc 0x09b09b09b209bfff 0xfff globl # no wrapper +scall sys_adjtime 0x1a508c08c208cfff 0xfff globl # no wrapper +scall sys_fchflags 0x0230230232023fff 0xfff globl # no wrapper +scall __bsd_seteuid 0xfff0b70b720b7fff 0xfff globl hidden # wrapped via setreuid() +scall __bsd_setegid 0xfff0b60b620b6fff 0xfff globl hidden # wrapped via setregid() +scall sys_fpathconf 0x0c00c00c020c0fff 0xfff globl # no wrapper +scall sys_fhopen 0x18c10812a20f8fff 0xfff globl # no wrapper +scall sys_issetugid 0xfff0fd0fd2147fff 0xfff globl hidden +scall sys_minherit 0x1110fa0fa20fafff 0xfff globl # no wrapper +scall sys_pathconf 0x0bf0bf0bf20bffff 0xfff globl # no wrapper +scall sys_sysctl 0x0ca0ca0ca20cafff 0xfff globl # no wrapper #──────────────────XNU & FREEBSD & NETBSD──────────────────── -scall sys_sem_init 0x0f7fff194fffffff globl -scall sys_sem_destroy 0x0fffff198fffffff globl -scall sys_sem_open 0x0f8fff195210cfff globl -scall sys_sem_close 0x0fafff190210dfff globl -scall sys_sem_unlink 0x0f9fff196210efff globl -scall sys_sem_post 0x0fbfff1912111fff globl -scall sys_sem_wait 0x8fcfff992290ffff globl -scall sys_sem_trywait 0x0fdfff1932110fff globl -scall sys_sem_timedwait 0x900fff9b9fffffff globl -scall sys_sem_wait_nocancel 0xfffffffff21a4fff globl # no wrapper -scall sys_sem_getvalue 0x0fefff197fffffff globl +scall sys_sem_init 0x0f7fff194fffffff 0xfff globl +scall sys_sem_destroy 0x0fffff198fffffff 0xfff globl +scall sys_sem_open 0x0f8fff195210cfff 0xfff globl +scall sys_sem_close 0x0fafff190210dfff 0xfff globl +scall sys_sem_unlink 0x0f9fff196210efff 0xfff globl +scall sys_sem_post 0x0fbfff1912111fff 0xfff globl +scall sys_sem_wait 0x8fcfff992290ffff 0xfff globl +scall sys_sem_trywait 0x0fdfff1932110fff 0xfff globl +scall sys_sem_timedwait 0x900fff9b9fffffff 0xfff globl +scall sys_sem_wait_nocancel 0xfffffffff21a4fff 0xfff globl # no wrapper +scall sys_sem_getvalue 0x0fefff197fffffff 0xfff globl #───────────────────────XNU & FREEBSD──────────────────────── -scall sys_ntp_adjtime 0x0b0fff0b0220ffff globl # no wrapper -scall sys_ntp_gettime 0x1c0fff0f82210fff globl # no wrapper -scall sys_shm_unlink 0xffffff1e3210bfff globl # no wrapper -scall sys_shm_open 0xffffff1e2210afff globl # no wrapper -scall sys_aio_read 0x192fff13e213efff globl # no wrapper -scall sys_aio_suspend 0x1b6fff13b213bfff globl # no wrapper -scall sys_aio_cancel 0x18ffff13c213cfff globl # no wrapper -scall sys_aio_fsync 0x191fff1d12139fff globl # no wrapper -scall sys_aio_error 0x190fff13d213dfff globl # no wrapper -scall sys_aio_return 0x193fff13a213afff globl # no wrapper -scall sys_aio_write 0x195fff13f213ffff globl # no wrapper -scall sys_aio_waitcomplete 0xffffff167fffffff globl # no wrapper -scall sys_aio_suspend_nocancel 0xfffffffff21a5fff globl # no wrapper -scall sys_aio_mlock 0xffffff21ffffffff globl # no wrapper -scall sys_sigwait 0xffffff1ad214afff globl # no wrapper -scall sys_undelete 0x0cdfff0cd20cdfff globl # no wrapper -scall sys_getlogin 0x03108d0312031fff globl hidden -scall sys_getdtablesize 0xffffff0592059fff globl # no wrapper -scall sys_setauid 0xffffff1c02162fff globl # no wrapper -scall sys_audit 0xffffff1bd215efff globl # no wrapper -scall sys_auditctl 0xffffff1c52167fff globl # no wrapper -scall sys_getaudit_addr 0xffffff1c32165fff globl # no wrapper -scall sys_getdirentries 0xffffff22a20c4fff globl # xnu getdirentries64 is 0x158 -scall sys_lio_listio 0x196fff1402140fff globl # no wrapper -scall sys_setaudit_addr 0xffffff1c42166fff globl # no wrapper -scall sys_getauid 0xffffff1bf2161fff globl # no wrapper -scall sys_semsys 0xffffff0a920fbfff globl # no wrapper -scall sys_auditon 0xffffff1be215ffff globl # no wrapper -scall sys_msgsys 0xffffff0aa20fcfff globl # no wrapper -scall sys_shmsys 0xffffff0ab20fdfff globl # no wrapper +scall sys_ntp_adjtime 0x0b0fff0b0220ffff 0xfff globl # no wrapper +scall sys_ntp_gettime 0x1c0fff0f82210fff 0xfff globl # no wrapper +scall sys_shm_unlink 0xffffff1e3210bfff 0xfff globl # no wrapper +scall sys_shm_open 0xffffff1e2210afff 0xfff globl # no wrapper +scall sys_aio_read 0x192fff13e213efff 0xfff globl # no wrapper +scall sys_aio_suspend 0x1b6fff13b213bfff 0xfff globl # no wrapper +scall sys_aio_cancel 0x18ffff13c213cfff 0xfff globl # no wrapper +scall sys_aio_fsync 0x191fff1d12139fff 0xfff globl # no wrapper +scall sys_aio_error 0x190fff13d213dfff 0xfff globl # no wrapper +scall sys_aio_return 0x193fff13a213afff 0xfff globl # no wrapper +scall sys_aio_write 0x195fff13f213ffff 0xfff globl # no wrapper +scall sys_aio_waitcomplete 0xffffff167fffffff 0xfff globl # no wrapper +scall sys_aio_suspend_nocancel 0xfffffffff21a5fff 0xfff globl # no wrapper +scall sys_aio_mlock 0xffffff21ffffffff 0xfff globl # no wrapper +scall sys_sigwait 0xffffff1ad214afff 0xfff globl # no wrapper +scall sys_undelete 0x0cdfff0cd20cdfff 0xfff globl # no wrapper +scall sys_getlogin 0x03108d0312031fff 0xfff globl hidden +scall sys_getdtablesize 0xffffff0592059fff 0xfff globl # no wrapper +scall sys_setauid 0xffffff1c02162fff 0xfff globl # no wrapper +scall sys_audit 0xffffff1bd215efff 0xfff globl # no wrapper +scall sys_auditctl 0xffffff1c52167fff 0xfff globl # no wrapper +scall sys_getaudit_addr 0xffffff1c32165fff 0xfff globl # no wrapper +scall sys_getdirentries 0xffffff22a20c4fff 0xfff globl # xnu getdirentries64 is 0x158 +scall sys_lio_listio 0x196fff1402140fff 0xfff globl # no wrapper +scall sys_setaudit_addr 0xffffff1c42166fff 0xfff globl # no wrapper +scall sys_getauid 0xffffff1bf2161fff 0xfff globl # no wrapper +scall sys_semsys 0xffffff0a920fbfff 0xfff globl # no wrapper +scall sys_auditon 0xffffff1be215ffff 0xfff globl # no wrapper +scall sys_msgsys 0xffffff0aa20fcfff 0xfff globl # no wrapper +scall sys_shmsys 0xffffff0ab20fdfff 0xfff globl # no wrapper #─────────────────────FREEBSD & OPENBSD────────────────────── -scall sys_fhstat 0x1c3126229fffffff globl # no wrapper -scall sys_chflagsat 0xfff06b21cfffffff globl # no wrapper -scall sys_profil 0x02c02c02cfffffff globl # no wrapper -scall sys_fhstatfs 0xfff04122efffffff globl # no wrapper -scall sys_utrace 0x1320d114ffffffff globl # no wrapper -scall sys_closefrom 0xfff11f1fdfffffff globl hidden +scall sys_fhstat 0x1c3126229fffffff 0xfff globl # no wrapper +scall sys_chflagsat 0xfff06b21cfffffff 0xfff globl # no wrapper +scall sys_profil 0x02c02c02cfffffff 0xfff globl # no wrapper +scall sys_fhstatfs 0xfff04122efffffff 0xfff globl # no wrapper +scall sys_utrace 0x1320d114ffffffff 0xfff globl # no wrapper +scall sys_closefrom 0xfff11f1fdfffffff 0xfff globl hidden #───────────────────────────XNU────────────────────────────── -#scall __pthread_markcancel 0xfffffffff214cfff globl -#scall __pthread_kill 0xfffffffff2148fff globl -#scall __pthread_fchdir 0xfffffffff215dfff globl -#scall __pthread_sigmask 0xfffffffff2149fff globl -#scall __pthread_chdir 0xfffffffff215cfff globl -#scall __pthread_canceled 0xfffffffff214dfff globl -#scall __disable_threadsignal 0xfffffffff214bfff globl -#scall abort_with_payload 0xfffffffff2209fff globl -#scall accept_nocancel 0xfffffffff2194fff globl -#scall access_extended 0xfffffffff211cfff globl -#scall audit_session_join 0xfffffffff21adfff globl -#scall audit_session_port 0xfffffffff21b0fff globl -#scall audit_session_self 0xfffffffff21acfff globl -#scall sys_bsdthread_create 0xfffffffff2168fff globl -#scall bsdthread_ctl 0xfffffffff21defff globl -scall sys_bsdthread_register 0xfffffffff216efff globl hidden -#scall bsdthread_terminate 0xfffffffff2169fff globl -#scall change_fdguard_np 0xfffffffff21bcfff globl -#scall chmod_extended 0xfffffffff211afff globl -#scall clonefileat 0xfffffffff21cefff globl -#scall close_nocancel 0xfffffffff218ffff globl -#scall coalition 0xfffffffff21cafff globl -#scall coalition_info 0xfffffffff21cbfff globl -#scall connect_nocancel 0xfffffffff2199fff globl -#scall connectx 0xfffffffff21bffff globl -#scall copyfile 0xfffffffff20e3fff globl -#scall csops 0xfffffffff20a9fff globl -#scall csops_audittoken 0xfffffffff20aafff globl -#scall csrctl 0xfffffffff21e3fff globl -#scall delete 0xfffffffff20e2fff globl -#scall disconnectx 0xfffffffff21c0fff globl -#scall exchangedata 0xfffffffff20dffff globl -#scall fchmod_extended 0xfffffffff211bfff globl -#scall fclonefileat 0xfffffffff2205fff globl -#scall fcntl_nocancel 0xfffffffff2196fff globl -#scall ffsctl 0xfffffffff20f5fff globl -#scall fgetattrlist 0xfffffffff20e4fff globl -#scall fileport_makefd 0xfffffffff21affff globl -#scall fileport_makeport 0xfffffffff21aefff globl -#scall fmount 0xfffffffff220efff globl -#scall fs_snapshot 0xfffffffff2206fff globl -#scall fsctl 0xfffffffff20f2fff globl -#scall fsetattrlist 0xfffffffff20e5fff globl -#scall fstat_extended 0xfffffffff2119fff globl -#scall fsync_nocancel 0xfffffffff2198fff globl -#scall getattrlist 0xfffffffff20dcfff globl -#scall getattrlistat 0xfffffffff21dcfff globl -#scall getattrlistbulk 0xfffffffff21cdfff globl -#scall getdirentriesattr 0xfffffffff20defff globl -#scall gethostuuid 0xfffffffff208efff globl -#scall getsgroups 0xfffffffff2120fff globl -#scall getwgroups 0xfffffffff2122fff globl -#scall grab_pgo_data 0xfffffffff21edfff globl -#scall guarded_close_np 0xfffffffff21bafff globl -#scall guarded_kqueue_np 0xfffffffff21bbfff globl -#scall guarded_open_np 0xfffffffff21b9fff globl -#scall guarded_pwrite_np 0xfffffffff21e6fff globl -#scall guarded_write_np 0xfffffffff21e5fff globl -#scall guarded_writev_np 0xfffffffff21e7fff globl -#scall identitysvc 0xfffffffff2125fff globl -#scall initgroups 0xfffffffff20f3fff globl -#scall iopolicysys 0xfffffffff2142fff globl -#scall kas_info 0xfffffffff21b7fff globl -#scall kdebug_trace 0xfffffffff20b3fff globl -#scall kdebug_trace_string 0xfffffffff20b2fff globl -#scall kdebug_typefilter 0xfffffffff20b1fff globl -#scall kevent_id 0xfffffffff2177fff globl -#scall kevent_qos 0xfffffffff2176fff globl -#scall ledger 0xfffffffff2175fff globl -#scall lstat_extended 0xfffffffff2156fff globl -#scall memorystatus_control 0xfffffffff21b8fff globl -#scall memorystatus_get_level 0xfffffffff21c5fff globl -#scall microstackshot 0xfffffffff21ecfff globl -#scall mkdir_extended 0xfffffffff2124fff globl -#scall mkfifo_extended 0xfffffffff2123fff globl -#scall modwatch 0xfffffffff20e9fff globl -#scall mremap_encrypted 0xfffffffff21e9fff globl -#scall msgrcv_nocancel 0xfffffffff21a3fff globl -#scall msgsnd_nocancel 0xfffffffff21a2fff globl -#scall msync_nocancel 0xfffffffff2195fff globl -#scall necp_client_action 0xfffffffff21f6fff globl -#scall necp_match_policy 0xfffffffff21ccfff globl -#scall necp_open 0xfffffffff21f5fff globl -#scall necp_session_action 0xfffffffff220bfff globl -#scall necp_session_open 0xfffffffff220afff globl -#scall net_qos_guideline 0xfffffffff220dfff globl -#scall netagent_trigger 0xfffffffff21eafff globl -#scall nfsclnt 0xfffffffff20f7fff globl -#scall open_dprotected_np 0xfffffffff20d8fff globl -#scall open_extended 0xfffffffff2115fff globl -#scall open_nocancel 0xfffffffff218efff globl -#scall openat_nocancel 0xfffffffff21d0fff globl -#scall openbyid_np 0xfffffffff21dffff globl -#scall os_fault_with_payload 0xfffffffff2211fff globl -#scall peeloff 0xfffffffff21c1fff globl -#scall persona 0xfffffffff21eefff globl -#scall pid_hibernate 0xfffffffff21b3fff globl -#scall pid_resume 0xfffffffff21b2fff globl -#scall pid_shutdown_sockets 0xfffffffff21b4fff globl -#scall pid_suspend 0xfffffffff21b1fff globl -#scall poll_nocancel 0xfffffffff21a1fff globl -#scall pread_nocancel 0xfffffffff219efff globl -#scall proc_info 0xfffffffff2150fff globl -#scall proc_rlimit_control 0xfffffffff21befff globl -#scall proc_trace_log 0xfffffffff21ddfff globl -#scall proc_uuid_policy 0xfffffffff21c4fff globl -#scall process_policy 0xfffffffff2143fff globl -#scall pselect_nocancel 0xfffffffff218bfff globl -#scall psynch_cvbroad 0xfffffffff212ffff globl -#scall psynch_cvclrprepost 0xfffffffff2138fff globl -#scall psynch_cvsignal 0xfffffffff2130fff globl -#scall psynch_mutexdrop 0xfffffffff212efff globl -#scall psynch_mutexwait 0xfffffffff212dfff globl -#scall psynch_rw_downgrade 0xfffffffff212bfff globl -#scall psynch_rw_longrdlock 0xfffffffff2129fff globl -#scall psynch_rw_rdlock 0xfffffffff2132fff globl -#scall psynch_rw_unlock 0xfffffffff2134fff globl -#scall psynch_rw_unlock2 0xfffffffff2135fff globl -#scall psynch_rw_upgrade 0xfffffffff212cfff globl -#scall psynch_rw_wrlock 0xfffffffff2133fff globl -#scall psynch_rw_yieldwrlock 0xfffffffff212afff globl -#scall pwrite_nocancel 0xfffffffff219ffff globl -#scall read_nocancel 0xfffffffff218cfff globl -#scall readv_nocancel 0xfffffffff219bfff globl -#scall recvfrom_nocancel 0xfffffffff2193fff globl -#scall recvmsg_nocancel 0xfffffffff2191fff globl -#scall recvmsg_x 0xfffffffff21e0fff globl -#scall renameatx_np 0xfffffffff21e8fff globl -#scall searchfs 0xfffffffff20e1fff globl -#scall select_nocancel 0xfffffffff2197fff globl -#scall sendmsg_nocancel 0xfffffffff2192fff globl -#scall sendmsg_x 0xfffffffff21e1fff globl -#scall sendto_nocancel 0xfffffffff219dfff globl -#scall setattrlist 0xfffffffff20ddfff globl -#scall setattrlistat 0xfffffffff220cfff globl -#scall setprivexec 0xfffffffff2098fff globl -#scall setsgroups 0xfffffffff211ffff globl -#scall settid 0xfffffffff211dfff globl -#scall settid_with_pid 0xfffffffff2137fff globl -#scall setwgroups 0xfffffffff2121fff globl -#scall sfi_ctl 0xfffffffff21c8fff globl -#scall sfi_pidctl 0xfffffffff21c9fff globl -#scall shared_region_check_np 0xfffffffff2126fff globl -#scall sigsuspend_nocancel 0xfffffffff219afff globl -#scall socket_delegate 0xfffffffff21c2fff globl -#scall stat_extended 0xfffffffff2155fff globl -#scall sysctlbyname 0xfffffffff2112fff globl -#scall system_override 0xfffffffff21c6fff globl -#scall telemetry 0xfffffffff21c3fff globl -#scall terminate_with_payload 0xfffffffff2208fff globl -#scall thread_selfcounts 0xfffffffff20bafff globl -#scall thread_selfid 0xfffffffff2174fff globl -#scall thread_selfusage 0xfffffffff21e2fff globl -#scall ulock_wait 0xfffffffff2203fff globl -#scall ulock_wake 0xfffffffff2204fff globl -#scall umask_extended 0xfffffffff2116fff globl -#scall usrctl 0xfffffffff21bdfff globl -#scall vfs_purge 0xfffffffff21c7fff globl -#scall vm_pressure_monitor 0xfffffffff2128fff globl -#scall wait4_nocancel 0xfffffffff2190fff globl -#scall waitevent 0xfffffffff20e8fff globl -#scall waitid_nocancel 0xfffffffff21a0fff globl -#scall watchevent 0xfffffffff20e7fff globl -#scall work_interval_ctl 0xfffffffff21f3fff globl -#scall workq_kernreturn 0xfffffffff2170fff globl -#scall workq_open 0xfffffffff216ffff globl -#scall write_nocancel 0xfffffffff218dfff globl -#scall writev_nocancel 0xfffffffff219cfff globl +#scall __pthread_markcancel 0xfffffffff214cfff 0xfff globl +#scall __pthread_kill 0xfffffffff2148fff 0xfff globl +#scall __pthread_fchdir 0xfffffffff215dfff 0xfff globl +#scall __pthread_sigmask 0xfffffffff2149fff 0xfff globl +#scall __pthread_chdir 0xfffffffff215cfff 0xfff globl +#scall __pthread_canceled 0xfffffffff214dfff 0xfff globl +#scall __disable_threadsignal 0xfffffffff214bfff 0xfff globl +#scall abort_with_payload 0xfffffffff2209fff 0xfff globl +#scall accept_nocancel 0xfffffffff2194fff 0xfff globl +#scall access_extended 0xfffffffff211cfff 0xfff globl +#scall audit_session_join 0xfffffffff21adfff 0xfff globl +#scall audit_session_port 0xfffffffff21b0fff 0xfff globl +#scall audit_session_self 0xfffffffff21acfff 0xfff globl +#scall sys_bsdthread_create 0xfffffffff2168fff 0xfff globl +#scall bsdthread_ctl 0xfffffffff21defff 0xfff globl +scall sys_bsdthread_register 0xfffffffff216efff 0xfff globl hidden +#scall bsdthread_terminate 0xfffffffff2169fff 0xfff globl +#scall change_fdguard_np 0xfffffffff21bcfff 0xfff globl +#scall chmod_extended 0xfffffffff211afff 0xfff globl +#scall clonefileat 0xfffffffff21cefff 0xfff globl +#scall close_nocancel 0xfffffffff218ffff 0xfff globl +#scall coalition 0xfffffffff21cafff 0xfff globl +#scall coalition_info 0xfffffffff21cbfff 0xfff globl +#scall connect_nocancel 0xfffffffff2199fff 0xfff globl +#scall connectx 0xfffffffff21bffff 0xfff globl +#scall copyfile 0xfffffffff20e3fff 0xfff globl +#scall csops 0xfffffffff20a9fff 0xfff globl +#scall csops_audittoken 0xfffffffff20aafff 0xfff globl +#scall csrctl 0xfffffffff21e3fff 0xfff globl +#scall delete 0xfffffffff20e2fff 0xfff globl +#scall disconnectx 0xfffffffff21c0fff 0xfff globl +#scall exchangedata 0xfffffffff20dffff 0xfff globl +#scall fchmod_extended 0xfffffffff211bfff 0xfff globl +#scall fclonefileat 0xfffffffff2205fff 0xfff globl +#scall fcntl_nocancel 0xfffffffff2196fff 0xfff globl +#scall ffsctl 0xfffffffff20f5fff 0xfff globl +#scall fgetattrlist 0xfffffffff20e4fff 0xfff globl +#scall fileport_makefd 0xfffffffff21affff 0xfff globl +#scall fileport_makeport 0xfffffffff21aefff 0xfff globl +#scall fmount 0xfffffffff220efff 0xfff globl +#scall fs_snapshot 0xfffffffff2206fff 0xfff globl +#scall fsctl 0xfffffffff20f2fff 0xfff globl +#scall fsetattrlist 0xfffffffff20e5fff 0xfff globl +#scall fstat_extended 0xfffffffff2119fff 0xfff globl +#scall fsync_nocancel 0xfffffffff2198fff 0xfff globl +#scall getattrlist 0xfffffffff20dcfff 0xfff globl +#scall getattrlistat 0xfffffffff21dcfff 0xfff globl +#scall getattrlistbulk 0xfffffffff21cdfff 0xfff globl +#scall getdirentriesattr 0xfffffffff20defff 0xfff globl +#scall gethostuuid 0xfffffffff208efff 0xfff globl +#scall getsgroups 0xfffffffff2120fff 0xfff globl +#scall getwgroups 0xfffffffff2122fff 0xfff globl +#scall grab_pgo_data 0xfffffffff21edfff 0xfff globl +#scall guarded_close_np 0xfffffffff21bafff 0xfff globl +#scall guarded_kqueue_np 0xfffffffff21bbfff 0xfff globl +#scall guarded_open_np 0xfffffffff21b9fff 0xfff globl +#scall guarded_pwrite_np 0xfffffffff21e6fff 0xfff globl +#scall guarded_write_np 0xfffffffff21e5fff 0xfff globl +#scall guarded_writev_np 0xfffffffff21e7fff 0xfff globl +#scall identitysvc 0xfffffffff2125fff 0xfff globl +#scall initgroups 0xfffffffff20f3fff 0xfff globl +#scall iopolicysys 0xfffffffff2142fff 0xfff globl +#scall kas_info 0xfffffffff21b7fff 0xfff globl +#scall kdebug_trace 0xfffffffff20b3fff 0xfff globl +#scall kdebug_trace_string 0xfffffffff20b2fff 0xfff globl +#scall kdebug_typefilter 0xfffffffff20b1fff 0xfff globl +#scall kevent_id 0xfffffffff2177fff 0xfff globl +#scall kevent_qos 0xfffffffff2176fff 0xfff globl +#scall ledger 0xfffffffff2175fff 0xfff globl +#scall lstat_extended 0xfffffffff2156fff 0xfff globl +#scall memorystatus_control 0xfffffffff21b8fff 0xfff globl +#scall memorystatus_get_level 0xfffffffff21c5fff 0xfff globl +#scall microstackshot 0xfffffffff21ecfff 0xfff globl +#scall mkdir_extended 0xfffffffff2124fff 0xfff globl +#scall mkfifo_extended 0xfffffffff2123fff 0xfff globl +#scall modwatch 0xfffffffff20e9fff 0xfff globl +#scall mremap_encrypted 0xfffffffff21e9fff 0xfff globl +#scall msgrcv_nocancel 0xfffffffff21a3fff 0xfff globl +#scall msgsnd_nocancel 0xfffffffff21a2fff 0xfff globl +#scall msync_nocancel 0xfffffffff2195fff 0xfff globl +#scall necp_client_action 0xfffffffff21f6fff 0xfff globl +#scall necp_match_policy 0xfffffffff21ccfff 0xfff globl +#scall necp_open 0xfffffffff21f5fff 0xfff globl +#scall necp_session_action 0xfffffffff220bfff 0xfff globl +#scall necp_session_open 0xfffffffff220afff 0xfff globl +#scall net_qos_guideline 0xfffffffff220dfff 0xfff globl +#scall netagent_trigger 0xfffffffff21eafff 0xfff globl +#scall nfsclnt 0xfffffffff20f7fff 0xfff globl +#scall open_dprotected_np 0xfffffffff20d8fff 0xfff globl +#scall open_extended 0xfffffffff2115fff 0xfff globl +#scall open_nocancel 0xfffffffff218efff 0xfff globl +#scall openat_nocancel 0xfffffffff21d0fff 0xfff globl +#scall openbyid_np 0xfffffffff21dffff 0xfff globl +#scall os_fault_with_payload 0xfffffffff2211fff 0xfff globl +#scall peeloff 0xfffffffff21c1fff 0xfff globl +#scall persona 0xfffffffff21eefff 0xfff globl +#scall pid_hibernate 0xfffffffff21b3fff 0xfff globl +#scall pid_resume 0xfffffffff21b2fff 0xfff globl +#scall pid_shutdown_sockets 0xfffffffff21b4fff 0xfff globl +#scall pid_suspend 0xfffffffff21b1fff 0xfff globl +#scall poll_nocancel 0xfffffffff21a1fff 0xfff globl +#scall pread_nocancel 0xfffffffff219efff 0xfff globl +#scall proc_info 0xfffffffff2150fff 0xfff globl +#scall proc_rlimit_control 0xfffffffff21befff 0xfff globl +#scall proc_trace_log 0xfffffffff21ddfff 0xfff globl +#scall proc_uuid_policy 0xfffffffff21c4fff 0xfff globl +#scall process_policy 0xfffffffff2143fff 0xfff globl +#scall pselect_nocancel 0xfffffffff218bfff 0xfff globl +#scall psynch_cvbroad 0xfffffffff212ffff 0xfff globl +#scall psynch_cvclrprepost 0xfffffffff2138fff 0xfff globl +#scall psynch_cvsignal 0xfffffffff2130fff 0xfff globl +#scall psynch_mutexdrop 0xfffffffff212efff 0xfff globl +#scall psynch_mutexwait 0xfffffffff212dfff 0xfff globl +#scall psynch_rw_downgrade 0xfffffffff212bfff 0xfff globl +#scall psynch_rw_longrdlock 0xfffffffff2129fff 0xfff globl +#scall psynch_rw_rdlock 0xfffffffff2132fff 0xfff globl +#scall psynch_rw_unlock 0xfffffffff2134fff 0xfff globl +#scall psynch_rw_unlock2 0xfffffffff2135fff 0xfff globl +#scall psynch_rw_upgrade 0xfffffffff212cfff 0xfff globl +#scall psynch_rw_wrlock 0xfffffffff2133fff 0xfff globl +#scall psynch_rw_yieldwrlock 0xfffffffff212afff 0xfff globl +#scall pwrite_nocancel 0xfffffffff219ffff 0xfff globl +#scall read_nocancel 0xfffffffff218cfff 0xfff globl +#scall readv_nocancel 0xfffffffff219bfff 0xfff globl +#scall recvfrom_nocancel 0xfffffffff2193fff 0xfff globl +#scall recvmsg_nocancel 0xfffffffff2191fff 0xfff globl +#scall recvmsg_x 0xfffffffff21e0fff 0xfff globl +#scall renameatx_np 0xfffffffff21e8fff 0xfff globl +#scall searchfs 0xfffffffff20e1fff 0xfff globl +#scall select_nocancel 0xfffffffff2197fff 0xfff globl +#scall sendmsg_nocancel 0xfffffffff2192fff 0xfff globl +#scall sendmsg_x 0xfffffffff21e1fff 0xfff globl +#scall sendto_nocancel 0xfffffffff219dfff 0xfff globl +#scall setattrlist 0xfffffffff20ddfff 0xfff globl +#scall setattrlistat 0xfffffffff220cfff 0xfff globl +#scall setprivexec 0xfffffffff2098fff 0xfff globl +#scall setsgroups 0xfffffffff211ffff 0xfff globl +#scall settid 0xfffffffff211dfff 0xfff globl +#scall settid_with_pid 0xfffffffff2137fff 0xfff globl +#scall setwgroups 0xfffffffff2121fff 0xfff globl +#scall sfi_ctl 0xfffffffff21c8fff 0xfff globl +#scall sfi_pidctl 0xfffffffff21c9fff 0xfff globl +#scall shared_region_check_np 0xfffffffff2126fff 0xfff globl +#scall sigsuspend_nocancel 0xfffffffff219afff 0xfff globl +#scall socket_delegate 0xfffffffff21c2fff 0xfff globl +#scall stat_extended 0xfffffffff2155fff 0xfff globl +#scall sysctlbyname 0xfffffffff2112fff 0xfff globl +#scall system_override 0xfffffffff21c6fff 0xfff globl +#scall telemetry 0xfffffffff21c3fff 0xfff globl +#scall terminate_with_payload 0xfffffffff2208fff 0xfff globl +#scall thread_selfcounts 0xfffffffff20bafff 0xfff globl +#scall thread_selfid 0xfffffffff2174fff 0xfff globl +#scall thread_selfusage 0xfffffffff21e2fff 0xfff globl +#scall ulock_wait 0xfffffffff2203fff 0xfff globl +#scall ulock_wake 0xfffffffff2204fff 0xfff globl +#scall umask_extended 0xfffffffff2116fff 0xfff globl +#scall usrctl 0xfffffffff21bdfff 0xfff globl +#scall vfs_purge 0xfffffffff21c7fff 0xfff globl +#scall vm_pressure_monitor 0xfffffffff2128fff 0xfff globl +#scall wait4_nocancel 0xfffffffff2190fff 0xfff globl +#scall waitevent 0xfffffffff20e8fff 0xfff globl +#scall waitid_nocancel 0xfffffffff21a0fff 0xfff globl +#scall watchevent 0xfffffffff20e7fff 0xfff globl +#scall work_interval_ctl 0xfffffffff21f3fff 0xfff globl +#scall workq_kernreturn 0xfffffffff2170fff 0xfff globl +#scall workq_open 0xfffffffff216ffff 0xfff globl +#scall write_nocancel 0xfffffffff218dfff 0xfff globl +#scall writev_nocancel 0xfffffffff219cfff 0xfff globl #──────────────────────────FREEBSD─────────────────────────── -#scall sys_umtx_op 0xffffff1c6fffffff globl -#scall abort2 0xffffff1cffffffff globl -#scall afs3_syscall 0xffffff179fffffff globl -#scall bindat 0xffffff21afffffff globl -#scall cap_enter 0xffffff204fffffff globl -#scall cap_fcntls_get 0xffffff219fffffff globl -#scall cap_fcntls_limit 0xffffff218fffffff globl -#scall cap_getmode 0xffffff205fffffff globl -#scall cap_ioctls_get 0xffffff217fffffff globl -#scall cap_ioctls_limit 0xffffff216fffffff globl -#scall cap_rights_limit 0xffffff215fffffff globl -#scall clock_getcpuclockid2 0x1e2fff0f7fffffff globl -#scall connectat 0xffffff21bfffffff globl -#scall cpuset 0xffffff1e4fffffff globl -#scall cpuset_getdomain 0xffffff231fffffff globl -#scall cpuset_getid 0xffffff1e6fffffff globl -#scall cpuset_setdomain 0xffffff232fffffff globl -#scall cpuset_setid 0xffffff1e5fffffff globl -#scall eaccess 0xffffff178fffffff globl -#scall extattr_delete_fd 0x16efff175fffffff globl -#scall extattr_delete_file 0x16bfff166fffffff globl -#scall extattr_delete_link 0x171fff19efffffff globl -#scall extattr_get_fd 0x16dfff174fffffff globl -#scall extattr_get_file 0x16afff165fffffff globl -#scall extattr_get_link 0x170fff19dfffffff globl -#scall extattr_list_fd 0x172fff1b5fffffff globl -#scall extattr_list_file 0x173fff1b6fffffff globl -#scall extattr_list_link 0x174fff1b7fffffff globl -#scall extattr_set_fd 0x16cfff173fffffff globl -#scall extattr_set_file 0x169fff164fffffff globl -#scall extattr_set_link 0x16ffff19cfffffff globl -#scall extattrctl 0x168fff163fffffff globl -scall sys_fexecve 0xffffff1ecfffffff globl hidden -#scall ffclock_getcounter 0xffffff0f1fffffff globl -#scall ffclock_getestimate 0xffffff0f3fffffff globl -#scall ffclock_setestimate 0xffffff0f2fffffff globl -#scall fhlink 0xffffff235fffffff globl -#scall fhlinkat 0xffffff236fffffff globl -#scall fhreadlink 0xffffff237fffffff globl -#scall getaudit 0xffffff1c1fffffff globl -scall sys_getcontext 0x133fff1a5fffffff globl hidden -#scall getdomainname 0xffff00a2ffffffff globl -#scall getfhat 0xffffff234fffffff globl -#scall gethostid 0xffffff08efffffff globl -#scall gethostname 0xffff0057ffffffff globl -#scall getkerninfo 0xffffff03ffffffff globl -#scall getloginclass 0xffffff20bfffffff globl -scall getpagesize_freebsd 0xffffff040fffffff globl hidden -#scall gssd_syscall 0xffffff1f9fffffff globl -#scall jail 0xffffff152fffffff globl -#scall jail_attach 0xffffff1b4fffffff globl -#scall jail_get 0xffffff1fafffffff globl -#scall jail_remove 0xffffff1fcfffffff globl -#scall jail_set 0xffffff1fbfffffff globl -#scall kenv 0xffffff186fffffff globl -#scall kldfind 0xffffff132fffffff globl -#scall kldfirstmod 0xffffff135fffffff globl -#scall kldload 0xffffff130fffffff globl -#scall kldnext 0xffffff133fffffff globl -#scall kldstat 0xffffff134fffffff globl -#scall kldsym 0xffffff151fffffff globl -#scall kldunload 0xffffff131fffffff globl -#scall kldunloadf 0xffffff1bcfffffff globl -#scall kmq_notify 0xffffff1cdfffffff globl -#scall kmq_setattr 0xffffff1cafffffff globl -#scall kmq_timedreceive 0xffffff1cbfffffff globl -#scall kmq_timedsend 0xffffff1ccfffffff globl -#scall kmq_unlink 0xffffff1cefffffff globl -#scall lchflags 0x130fff187fffffff globl -#scall lchmod 0x112fff112fffffff globl -#scall lgetfh 0xffffff0a0fffffff globl -#scall lpathconf 0x1f3fff201fffffff globl -scall sys_lutimes 0x1a8fff114fffffff globl hidden -#scall mac_syscall 0xffffff18afffffff globl -#scall modfind 0xffffff12ffffffff globl -#scall modfnext 0xffffff12efffffff globl -#scall modnext 0xffffff12cfffffff globl -#scall modstat 0xffffff12dfffffff globl -#scall nfstat 0xffffff117fffffff globl -#scall nlm_syscall 0xffffff09afffffff globl -#scall nlstat 0xffffff118fffffff globl -#scall nmount 0xffffff17afffffff globl -#scall nnpfs_syscall 0xffffff153fffffff globl -#scall nstat 0xffffff116fffffff globl -#scall pdfork 0xffffff206fffffff globl -#scall pdgetpid 0xffffff208fffffff globl -#scall pdkill 0xffffff207fffffff globl -scall sys_posix_openpt 0xffffff1f8fffffff globl hidden -#scall procctl 0xffffff220fffffff globl -#scall psynch_cvwait 0xfffffffff2131fff globl -#scall quota 0xffffff095fffffff globl -#scall rctl_add_rule 0xffffff210fffffff globl -#scall rctl_get_limits 0xffffff20ffffffff globl -#scall rctl_get_racct 0xffffff20dfffffff globl -#scall rctl_get_rules 0xffffff20efffffff globl -#scall rctl_remove_rule 0xffffff211fffffff globl -#scall recv 0xffffff066fffffff globl -#scall rfork 0xffffff0fbfffffff globl -#scall rtprio 0xffffff0a6fffffff globl -scall sys_rtprio_thread 0xffffff1d2fffffff globl # no wrapper -#scall send 0xffffff065fffffff globl -#scall setaudit 0xffffff1c2fffffff globl -#scall setcontext 0x134fff1a6fffffff globl -#scall setfib 0xffffff0affffffff globl -#scall sethostid 0xffffff08ffffffff globl -#scall setloginclass 0xffffff20cfffffff globl -#scall sigblock 0xffffff06dfffffff globl -#scall sigsetmask 0xffffff06efffffff globl -#scall sigstack 0xffffff070fffffff globl -#scall sigvec 0xffffff06cfffffff globl -#scall sigwaitinfo 0xffffff15afffffff globl -#scall sstk 0xffffff046fffffff globl -#scall swapcontext 0xffffff1a7fffffff globl -#scall thr_create 0xffffff1aefffffff globl -#scall thr_exit 0xffffff1affffffff globl -#scall thr_kill 0xffffff1b1fffffff globl -#scall thr_kill2 0xffffff1e1fffffff globl -#scall thr_new 0xffffff1c7fffffff globl -#scall thr_self 0xffffff1b0fffffff globl -#scall thr_set_name 0xffffff1d0fffffff globl -#scall thr_suspend 0xffffff1bafffffff globl -#scall thr_wake 0xffffff1bbfffffff globl -#scall uuidgen 0x163fff188fffffff globl -#scall vadvise 0xffffff048fffffff globl -#scall wait 0xffffff054fffffff globl -#scall wait6 0x1e1fff214fffffff globl -#scall yield 0xffffff141fffffff globl +#scall sys_umtx_op 0xffffff1c6fffffff 0xfff globl +#scall abort2 0xffffff1cffffffff 0xfff globl +#scall afs3_syscall 0xffffff179fffffff 0xfff globl +#scall bindat 0xffffff21afffffff 0xfff globl +#scall cap_enter 0xffffff204fffffff 0xfff globl +#scall cap_fcntls_get 0xffffff219fffffff 0xfff globl +#scall cap_fcntls_limit 0xffffff218fffffff 0xfff globl +#scall cap_getmode 0xffffff205fffffff 0xfff globl +#scall cap_ioctls_get 0xffffff217fffffff 0xfff globl +#scall cap_ioctls_limit 0xffffff216fffffff 0xfff globl +#scall cap_rights_limit 0xffffff215fffffff 0xfff globl +#scall clock_getcpuclockid2 0x1e2fff0f7fffffff 0xfff globl +#scall connectat 0xffffff21bfffffff 0xfff globl +#scall cpuset 0xffffff1e4fffffff 0xfff globl +#scall cpuset_getdomain 0xffffff231fffffff 0xfff globl +#scall cpuset_getid 0xffffff1e6fffffff 0xfff globl +#scall cpuset_setdomain 0xffffff232fffffff 0xfff globl +#scall cpuset_setid 0xffffff1e5fffffff 0xfff globl +#scall eaccess 0xffffff178fffffff 0xfff globl +#scall extattr_delete_fd 0x16efff175fffffff 0xfff globl +#scall extattr_delete_file 0x16bfff166fffffff 0xfff globl +#scall extattr_delete_link 0x171fff19efffffff 0xfff globl +#scall extattr_get_fd 0x16dfff174fffffff 0xfff globl +#scall extattr_get_file 0x16afff165fffffff 0xfff globl +#scall extattr_get_link 0x170fff19dfffffff 0xfff globl +#scall extattr_list_fd 0x172fff1b5fffffff 0xfff globl +#scall extattr_list_file 0x173fff1b6fffffff 0xfff globl +#scall extattr_list_link 0x174fff1b7fffffff 0xfff globl +#scall extattr_set_fd 0x16cfff173fffffff 0xfff globl +#scall extattr_set_file 0x169fff164fffffff 0xfff globl +#scall extattr_set_link 0x16ffff19cfffffff 0xfff globl +#scall extattrctl 0x168fff163fffffff 0xfff globl +scall sys_fexecve 0xffffff1ecfffffff 0xfff globl hidden +#scall ffclock_getcounter 0xffffff0f1fffffff 0xfff globl +#scall ffclock_getestimate 0xffffff0f3fffffff 0xfff globl +#scall ffclock_setestimate 0xffffff0f2fffffff 0xfff globl +#scall fhlink 0xffffff235fffffff 0xfff globl +#scall fhlinkat 0xffffff236fffffff 0xfff globl +#scall fhreadlink 0xffffff237fffffff 0xfff globl +#scall getaudit 0xffffff1c1fffffff 0xfff globl +scall sys_getcontext 0x133fff1a5fffffff 0xfff globl hidden +#scall getdomainname 0xffff00a2ffffffff 0xfff globl +#scall getfhat 0xffffff234fffffff 0xfff globl +#scall gethostid 0xffffff08efffffff 0xfff globl +#scall gethostname 0xffff0057ffffffff 0xfff globl +#scall getkerninfo 0xffffff03ffffffff 0xfff globl +#scall getloginclass 0xffffff20bfffffff 0xfff globl +scall getpagesize_freebsd 0xffffff040fffffff 0xfff globl hidden +#scall gssd_syscall 0xffffff1f9fffffff 0xfff globl +#scall jail 0xffffff152fffffff 0xfff globl +#scall jail_attach 0xffffff1b4fffffff 0xfff globl +#scall jail_get 0xffffff1fafffffff 0xfff globl +#scall jail_remove 0xffffff1fcfffffff 0xfff globl +#scall jail_set 0xffffff1fbfffffff 0xfff globl +#scall kenv 0xffffff186fffffff 0xfff globl +#scall kldfind 0xffffff132fffffff 0xfff globl +#scall kldfirstmod 0xffffff135fffffff 0xfff globl +#scall kldload 0xffffff130fffffff 0xfff globl +#scall kldnext 0xffffff133fffffff 0xfff globl +#scall kldstat 0xffffff134fffffff 0xfff globl +#scall kldsym 0xffffff151fffffff 0xfff globl +#scall kldunload 0xffffff131fffffff 0xfff globl +#scall kldunloadf 0xffffff1bcfffffff 0xfff globl +#scall kmq_notify 0xffffff1cdfffffff 0xfff globl +#scall kmq_setattr 0xffffff1cafffffff 0xfff globl +#scall kmq_timedreceive 0xffffff1cbfffffff 0xfff globl +#scall kmq_timedsend 0xffffff1ccfffffff 0xfff globl +#scall kmq_unlink 0xffffff1cefffffff 0xfff globl +#scall lchflags 0x130fff187fffffff 0xfff globl +#scall lchmod 0x112fff112fffffff 0xfff globl +#scall lgetfh 0xffffff0a0fffffff 0xfff globl +#scall lpathconf 0x1f3fff201fffffff 0xfff globl +scall sys_lutimes 0x1a8fff114fffffff 0xfff globl hidden +#scall mac_syscall 0xffffff18afffffff 0xfff globl +#scall modfind 0xffffff12ffffffff 0xfff globl +#scall modfnext 0xffffff12efffffff 0xfff globl +#scall modnext 0xffffff12cfffffff 0xfff globl +#scall modstat 0xffffff12dfffffff 0xfff globl +#scall nfstat 0xffffff117fffffff 0xfff globl +#scall nlm_syscall 0xffffff09afffffff 0xfff globl +#scall nlstat 0xffffff118fffffff 0xfff globl +#scall nmount 0xffffff17afffffff 0xfff globl +#scall nnpfs_syscall 0xffffff153fffffff 0xfff globl +#scall nstat 0xffffff116fffffff 0xfff globl +#scall pdfork 0xffffff206fffffff 0xfff globl +#scall pdgetpid 0xffffff208fffffff 0xfff globl +#scall pdkill 0xffffff207fffffff 0xfff globl +scall sys_posix_openpt 0xffffff1f8fffffff 0xfff globl hidden +#scall procctl 0xffffff220fffffff 0xfff globl +#scall psynch_cvwait 0xfffffffff2131fff 0xfff globl +#scall quota 0xffffff095fffffff 0xfff globl +#scall rctl_add_rule 0xffffff210fffffff 0xfff globl +#scall rctl_get_limits 0xffffff20ffffffff 0xfff globl +#scall rctl_get_racct 0xffffff20dfffffff 0xfff globl +#scall rctl_get_rules 0xffffff20efffffff 0xfff globl +#scall rctl_remove_rule 0xffffff211fffffff 0xfff globl +#scall recv 0xffffff066fffffff 0xfff globl +#scall rfork 0xffffff0fbfffffff 0xfff globl +#scall rtprio 0xffffff0a6fffffff 0xfff globl +scall sys_rtprio_thread 0xffffff1d2fffffff 0xfff globl # no wrapper +#scall send 0xffffff065fffffff 0xfff globl +#scall setaudit 0xffffff1c2fffffff 0xfff globl +#scall setcontext 0x134fff1a6fffffff 0xfff globl +#scall setfib 0xffffff0affffffff 0xfff globl +#scall sethostid 0xffffff08ffffffff 0xfff globl +#scall setloginclass 0xffffff20cfffffff 0xfff globl +#scall sigblock 0xffffff06dfffffff 0xfff globl +#scall sigsetmask 0xffffff06efffffff 0xfff globl +#scall sigstack 0xffffff070fffffff 0xfff globl +#scall sigvec 0xffffff06cfffffff 0xfff globl +#scall sigwaitinfo 0xffffff15afffffff 0xfff globl +#scall sstk 0xffffff046fffffff 0xfff globl +#scall swapcontext 0xffffff1a7fffffff 0xfff globl +#scall thr_create 0xffffff1aefffffff 0xfff globl +#scall thr_exit 0xffffff1affffffff 0xfff globl +#scall thr_kill 0xffffff1b1fffffff 0xfff globl +#scall thr_kill2 0xffffff1e1fffffff 0xfff globl +#scall thr_new 0xffffff1c7fffffff 0xfff globl +#scall thr_self 0xffffff1b0fffffff 0xfff globl +#scall thr_set_name 0xffffff1d0fffffff 0xfff globl +#scall thr_suspend 0xffffff1bafffffff 0xfff globl +#scall thr_wake 0xffffff1bbfffffff 0xfff globl +#scall uuidgen 0x163fff188fffffff 0xfff globl +#scall vadvise 0xffffff048fffffff 0xfff globl +#scall wait 0xffffff054fffffff 0xfff globl +#scall wait6 0x1e1fff214fffffff 0xfff globl +#scall yield 0xffffff141fffffff 0xfff globl #──────────────────────────OPENBSD─────────────────────────── -#scall __thrsleep 0xfff05effffffffff globl -#scall __thrwakeup 0xfff12dffffffffff globl -#scall __threxit 0xfff12effffffffff globl -#scall __thrsigdivert 0xfff12fffffffffff globl -#scall __set_tcb 0xfff149ffffffffff globl -#scall __get_tcb 0xfff14affffffffff globl -#scall adjfreq 0xfff131ffffffffff globl -#scall getdtablecount 0xfff012ffffffffff globl -#scall getlogin_r 0xfff08dffffffffff globl -#scall getrtable 0xfff137ffffffffff globl -#scall getthrid 0xfff12bffffffffff globl -#scall kbind 0xfff056ffffffffff globl -#scall mquery 0xfff11effffffffff globl # openbsd:pad -#scall obreak 0x011011ffffffffff globl -#scall sendsyslog 0xfff070ffffffffff globl -#scall setrtable 0xfff136ffffffffff globl -#scall swapctl 0x10f0c1ffffffffff globl -#scall thrkill 0xfff077ffffffffff globl -scall sys_unveil 0xfff072ffffffffff globl hidden +#scall __thrsleep 0xfff05effffffffff 0xfff globl +#scall __thrwakeup 0xfff12dffffffffff 0xfff globl +#scall __threxit 0xfff12effffffffff 0xfff globl +#scall __thrsigdivert 0xfff12fffffffffff 0xfff globl +#scall __set_tcb 0xfff149ffffffffff 0xfff globl +#scall __get_tcb 0xfff14affffffffff 0xfff globl +#scall adjfreq 0xfff131ffffffffff 0xfff globl +#scall getdtablecount 0xfff012ffffffffff 0xfff globl +#scall getlogin_r 0xfff08dffffffffff 0xfff globl +#scall getrtable 0xfff137ffffffffff 0xfff globl +#scall getthrid 0xfff12bffffffffff 0xfff globl +#scall kbind 0xfff056ffffffffff 0xfff globl +#scall mquery 0xfff11effffffffff 0xfff globl # openbsd:pad +#scall obreak 0x011011ffffffffff 0xfff globl +#scall sendsyslog 0xfff070ffffffffff 0xfff globl +#scall setrtable 0xfff136ffffffffff 0xfff globl +#scall swapctl 0x10f0c1ffffffffff 0xfff globl +#scall thrkill 0xfff077ffffffffff 0xfff globl +scall sys_unveil 0xfff072ffffffffff 0xfff globl hidden #──────────────────────────NETBSD──────────────────────────── -#scall _lwp_create 0x135fffffffffffff globl # int _lwp_create(const struct ucontext_netbsd *ucp, uint64_t flags, int *new_lwp) -#scall _lwp_exit 0x136fffffffffffff globl # int _lwp_exit(void) -#scall _lwp_self 0x137fffffffffffff globl # int _lwp_self(void) -#scall _lwp_wait 0x138fffffffffffff globl # int _lwp_wait(int wait_for, int *departed) -#scall _lwp_suspend 0x139fffffffffffff globl # int _lwp_suspend(int target) -#scall _lwp_continue 0x13afffffffffffff globl # int _lwp_continue(int target) -#scall _lwp_wakeup 0x13bfffffffffffff globl # int _lwp_wakeup(int target) -#scall _lwp_getprivate 0x13cfffffffffffff globl # void *_lwp_getprivate(void) -#scall _lwp_setprivate 0x13dfffffffffffff globl # int _lwp_setprivate(void *ptr) -#scall _lwp_kill 0x13efffffffffffff globl # int _lwp_kill(int target, int signo) -#scall _lwp_detach 0x13ffffffffffffff globl # int _lwp_park(int clock_id, int flags, struct timespec *ts, int unpark, const void *hint, const void *unparkhint) -#scall _lwp_park 0x1defffffffffffff globl # int _lwp_park(int clock_id, int flags, struct timespec *ts, int unpark, const void *hint, const void *unparkhint) -#scall _lwp_unpark 0x141fffffffffffff globl # int _lwp_unpark_all(int target, const void *hint) -#scall _lwp_unpark_all 0x142fffffffffffff globl # int _lwp_unpark_all(const int *targets, size_t ntargets, const void *hint) -#scall _lwp_setname 0x143fffffffffffff globl # int _lwp_setname(int target, const char *name) -#scall _lwp_getname 0x144fffffffffffff globl # int _lwp_getname(int target, char *name, size_t len) -#scall _lwp_ctl 0x145fffffffffffff globl # int _lwp_ctl(int features, struct lwpctl **address) +#scall _lwp_create 0x135fffffffffffff 0xfff globl # int _lwp_create(const struct ucontext_netbsd *ucp, uint64_t flags, int *new_lwp) +#scall _lwp_exit 0x136fffffffffffff 0xfff globl # int _lwp_exit(void) +#scall _lwp_self 0x137fffffffffffff 0xfff globl # int _lwp_self(void) +#scall _lwp_wait 0x138fffffffffffff 0xfff globl # int _lwp_wait(int wait_for, int *departed) +#scall _lwp_suspend 0x139fffffffffffff 0xfff globl # int _lwp_suspend(int target) +#scall _lwp_continue 0x13afffffffffffff 0xfff globl # int _lwp_continue(int target) +#scall _lwp_wakeup 0x13bfffffffffffff 0xfff globl # int _lwp_wakeup(int target) +#scall _lwp_getprivate 0x13cfffffffffffff 0xfff globl # void *_lwp_getprivate(void) +#scall _lwp_setprivate 0x13dfffffffffffff 0xfff globl # int _lwp_setprivate(void *ptr) +#scall _lwp_kill 0x13efffffffffffff 0xfff globl # int _lwp_kill(int target, int signo) +#scall _lwp_detach 0x13ffffffffffffff 0xfff globl # int _lwp_park(int clock_id, int flags, struct timespec *ts, int unpark, const void *hint, const void *unparkhint) +#scall _lwp_park 0x1defffffffffffff 0xfff globl # int _lwp_park(int clock_id, int flags, struct timespec *ts, int unpark, const void *hint, const void *unparkhint) +#scall _lwp_unpark 0x141fffffffffffff 0xfff globl # int _lwp_unpark_all(int target, const void *hint) +#scall _lwp_unpark_all 0x142fffffffffffff 0xfff globl # int _lwp_unpark_all(const int *targets, size_t ntargets, const void *hint) +#scall _lwp_setname 0x143fffffffffffff 0xfff globl # int _lwp_setname(int target, const char *name) +#scall _lwp_getname 0x144fffffffffffff 0xfff globl # int _lwp_getname(int target, char *name, size_t len) +#scall _lwp_ctl 0x145fffffffffffff 0xfff globl # int _lwp_ctl(int features, struct lwpctl **address) diff --git a/libc/sysv/sysret.c b/libc/sysv/sysret.c index 691af988d..17278e980 100644 --- a/libc/sysv/sysret.c +++ b/libc/sysv/sysret.c @@ -16,11 +16,14 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/calls/syscall_support-sysv.internal.h" +#include "libc/calls/syscall-sysv.internal.h" #include "libc/errno.h" -long _sysret(long res) { - if ((unsigned long)res >= (unsigned long)-4095) { +/** + * Handles return path of system call on Linux. + */ +unsigned long _sysret(unsigned long res) { + if (res > -4096) { errno = -res; res = -1; } diff --git a/libc/sysv/sysv.mk b/libc/sysv/sysv.mk index 631f2e027..993b3b051 100644 --- a/libc/sysv/sysv.mk +++ b/libc/sysv/sysv.mk @@ -127,6 +127,10 @@ $(LIBC_SYSV_MACHCALLS_A).pkg: \ #─────────────────────────────────────────────────────────────────────────────── # let aarch64 compile these +o/$(MODE)/libc/sysv/restorert.o: libc/sysv/restorert.S + @$(COMPILE) -AOBJECTIFY.S $(OBJECTIFY.S) $(OUTPUT_OPTION) $< +o/$(MODE)/libc/sysv/calls/%.o: libc/sysv/calls/%.S + @$(COMPILE) -AOBJECTIFY.S $(OBJECTIFY.S) $(OUTPUT_OPTION) $< o/$(MODE)/libc/sysv/consts/%.o: libc/sysv/consts/%.S @$(COMPILE) -AOBJECTIFY.S $(OBJECTIFY.S) $(OUTPUT_OPTION) $< o/$(MODE)/libc/sysv/dos2errno/%.o: libc/sysv/dos2errno/%.S diff --git a/third_party/xed/x86ild.greg.c b/third_party/xed/x86ild.greg.c index b2eef63e0..5984a3de6 100644 --- a/third_party/xed/x86ild.greg.c +++ b/third_party/xed/x86ild.greg.c @@ -101,12 +101,116 @@ asm(".include \"libc/disclaimer.inc\""); #define XED_LF_UIMMv_IMM_WIDTH_OSZ_NONTERM_IMMUNE_REXW_EOSZ_l2(X) \ xed_set_uimmv_imm_width_eosz(X, kXed.OSZ_NONTERM_IMMUNE_REXW_EOSZ) -extern const uint32_t xed_prefix_table_bit[8] _Hide; -extern const uint8_t xed_imm_bits_2d[2][256] _Hide; -extern const uint8_t xed_has_modrm_2d[XED_ILD_MAP2][256] _Hide; -extern const uint8_t xed_has_sib_table[3][4][8] _Hide; -extern const uint8_t xed_has_disp_regular[3][4][8] _Hide; -extern const uint8_t xed_disp_bits_2d[XED_ILD_MAP2][256] _Hide; +static const uint32_t xed_prefix_table_bit[8] = { + 0x00000000, 0x40404040, 0x0000ffff, 0x000000f0, + 0x00000000, 0x00000000, 0x00000000, 0x000d0000, +}; + +static const uint8_t xed_imm_bits_2d[2][256] = { + {1, 1, 1, 1, 5, 7, 1, 1, 1, 1, 1, 1, 9, 7, 1, 0, 1, 1, 1, 1, 5, 7, + 1, 1, 1, 1, 1, 1, 5, 7, 1, 1, 1, 1, 1, 1, 5, 7, 0, 1, 1, 1, 1, 1, + 5, 7, 0, 1, 1, 1, 1, 1, 9, 7, 0, 1, 1, 1, 1, 1, 5, 7, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 6, 7, 5, 5, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 7, 5, 5, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 7, 1, 1, 1, 1, 1, 1, + 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 9, 9, 8, 1, 1, 1, + 9, 2, 11, 1, 8, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 9, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 1, 1, 8, 1, 1, 1, 1, 1, 0, 1, + 0, 0, 1, 1, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1}, + {1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 1, 1, 1, 1, + 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 0, 0, + 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, + 1, 1, 9, 1, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, +}; + +static const uint8_t xed_has_modrm_2d[XED_ILD_MAP2][256] = { + {1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 3, 1, 1, 1, 1, 0, 0, 0, 0, + 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 3, 0, 1, 1, 1, 1, 0, 0, 3, 0, + 1, 1, 1, 1, 0, 0, 3, 0, 1, 1, 1, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 1, 3, 3, 3, 3, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 3, 3, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1}, + {1, 1, 1, 1, 3, 0, 0, 0, 0, 0, 3, 0, 3, 1, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 0, 0, 0, 0, 0, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 3, 3, + 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, +}; + +static const uint8_t xed_has_sib_table[3][4][8] = { + {{0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}}, + {{0, 0, 0, 0, 1, 0, 0, 0}, + {0, 0, 0, 0, 1, 0, 0, 0}, + {0, 0, 0, 0, 1, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}}, + {{0, 0, 0, 0, 1, 0, 0, 0}, + {0, 0, 0, 0, 1, 0, 0, 0}, + {0, 0, 0, 0, 1, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}}, +}; + +static const uint8_t xed_has_disp_regular[3][4][8] = { + {{0, 0, 0, 0, 0, 0, 2, 0}, + {1, 1, 1, 1, 1, 1, 1, 1}, + {2, 2, 2, 2, 2, 2, 2, 2}, + {0, 0, 0, 0, 0, 0, 0, 0}}, + {{0, 0, 0, 0, 0, 4, 0, 0}, + {1, 1, 1, 1, 1, 1, 1, 1}, + {4, 4, 4, 4, 4, 4, 4, 4}, + {0, 0, 0, 0, 0, 0, 0, 0}}, + {{0, 0, 0, 0, 0, 4, 0, 0}, + {1, 1, 1, 1, 1, 1, 1, 1}, + {4, 4, 4, 4, 4, 4, 4, 4}, + {0, 0, 0, 0, 0, 0, 0, 0}}, +}; + +static const uint8_t xed_disp_bits_2d[XED_ILD_MAP2][256] = { + {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 0, 4, + 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 5, 5, 5, 5, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 3, 3, 2, 1, 4, 4, 4, 4, + 0, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}, + {4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 0, 4, 0, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}, +}; static const struct XedDenseMagnums { unsigned vex_prefix_recoding[4]; diff --git a/third_party/xed/x86tab.S b/third_party/xed/x86tab.S deleted file mode 100644 index 2abb847ff..000000000 --- a/third_party/xed/x86tab.S +++ /dev/null @@ -1,336 +0,0 @@ -/*-*- mode:unix-assembly; indent-tabs-mode:t; tab-width:8; coding:utf-8 -*-│ -│vi: set et ft=asm ts=8 sw=8 fenc=utf-8 :vi│ -╞══════════════════════════════════════════════════════════════════════════════╡ -│ Copyright 2018 Intel Corporation │ -│ Copyright 2020 Justine Alexandra Roberts Tunney │ -│ │ -│ Licensed under the Apache License, Version 2.0 (the "License"); │ -│ you may not use this file except in compliance with the License. │ -│ You may obtain a copy of the License at │ -│ │ -│ http://www.apache.org/licenses/LICENSE-2.0 │ -│ │ -│ Unless required by applicable law or agreed to in writing, software │ -│ distributed under the License is distributed on an "AS IS" BASIS, │ -│ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. │ -│ See the License for the specific language governing permissions and │ -│ limitations under the License. │ -╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/macros.internal.h" - -// Phash tables for instruction length decoding. -// @see build/rle.py for more context here - - .initbss 300,_init_x86tab -xed_prefix_table_bit: - .zero 32 - .endobj xed_prefix_table_bit,globl,hidden -xed_has_modrm_2d: - .zero 512 - .endobj xed_has_modrm_2d,globl,hidden -xed_has_disp_regular: - .zero 96 - .endobj xed_has_disp_regular,globl,hidden -xed_has_sib_table: - .zero 96 - .endobj xed_has_sib_table,globl,hidden -xed_disp_bits_2d: - .zero 512 - .endobj xed_disp_bits_2d,globl,hidden -xed_imm_bits_2d: - .zero 512 - .endobj xed_imm_bits_2d,globl,hidden - .previous - - .initro 300,_init_x86tab # 536 bytes (30%) -xed_prefix_table_bit.rodata: - .byte 4,0x00 # 00─03 ∅─♥ - .byte 4,0x40 # 04─07 ♦─• - .byte 2,0xff # 08─09 ◘─○ - .byte 2,0x00 # 0a─0b ◙─♂ - .byte 1,0xf0 # 0c─0c ♀ - .byte 17,0x00 # 0d─1d ♪─↔ - .byte 1,0x0d # 1e─1e ▲ - .byte 1,0x00 # 1f─1f ▼ - .endobj xed_prefix_table_bit.rodata - -xed_has_modrm_2d.rodata: - .byte 4,0x01 # 00─03 ∅─♥ - .byte 4,0x00 # 04─07 ♦─• - .byte 4,0x01 # 08─0b ◘─♂ - .byte 3,0x00 # 0c─0e ♀─♫ - .byte 1,0x03 # 0f─0f ☼ - .byte 4,0x01 # 10─13 ►─‼ - .byte 4,0x00 # 14─17 ¶─↨ - .byte 4,0x01 # 18─1b ↑─← - .byte 4,0x00 # 1c─1f ∟─▼ - .byte 4,0x01 # 20─23 ─# - .byte 2,0x00 # 24─25 $─% - .byte 1,0x03 # 26─26 & - .byte 1,0x00 # 27─27 ' - .byte 4,0x01 # 28─2b (─+ - .byte 2,0x00 # 2c─2d ,── - .byte 1,0x03 # 2e─2e . - .byte 1,0x00 # 2f─2f / - .byte 4,0x01 # 30─33 0─3 - .byte 2,0x00 # 34─35 4─5 - .byte 1,0x03 # 36─36 6 - .byte 1,0x00 # 37─37 7 - .byte 4,0x01 # 38─3b 8─; - .byte 2,0x00 # 3c─3d <─= - .byte 1,0x03 # 3e─3e > - .byte 35,0x00 # 3f─61 ?─a - .byte 2,0x01 # 62─63 b─c - .byte 4,0x03 # 64─67 d─g - .byte 1,0x00 # 68─68 h - .byte 1,0x01 # 69─69 i - .byte 1,0x00 # 6a─6a j - .byte 1,0x01 # 6b─6b k - .byte 20,0x00 # 6c─7f l─⌂ - .byte 16,0x01 # 80─8f Ç─Å - .byte 48,0x00 # 90─bf É─┐ - .byte 2,0x01 # c0─c1 └─┴ - .byte 2,0x00 # c2─c3 ┬─├ - .byte 4,0x01 # c4─c7 ──╟ - .byte 8,0x00 # c8─cf ╚─╧ - .byte 4,0x01 # d0─d3 ╨─╙ - .byte 4,0x00 # d4─d7 ╘─╫ - .byte 8,0x01 # d8─df ╪─▀ - .byte 16,0x00 # e0─ef α─∩ - .byte 1,0x03 # f0─f0 ≡ - .byte 1,0x00 # f1─f1 ± - .byte 2,0x03 # f2─f3 ≥─≤ - .byte 2,0x00 # f4─f5 ⌠─⌡ - .byte 2,0x01 # f6─f7 ÷─≈ - .byte 6,0x00 # f8─fd °─² - .byte 6,0x01 # fe─103 - .byte 1,0x03 # 104─104 - .byte 5,0x00 # 105─109 - .byte 1,0x03 # 10a─10a - .byte 1,0x00 # 10b─10b - .byte 1,0x03 # 10c─10c - .byte 1,0x01 # 10d─10d - .byte 1,0x00 # 10e─10e - .byte 1,0x03 # 10f─10f - .byte 16,0x01 # 110─11f - .byte 4,0x02 # 120─123 - .byte 4,0x03 # 124─127 - .byte 8,0x01 # 128─12f - .byte 6,0x00 # 130─135 - .byte 1,0x03 # 136─136 - .byte 1,0x00 # 137─137 - .byte 8,0x03 # 138─13f - .byte 55,0x01 # 140─176 - .byte 1,0x00 # 177─177 - .byte 8,0x01 # 178─17f - .byte 16,0x00 # 180─18f - .byte 16,0x01 # 190─19f - .byte 3,0x00 # 1a0─1a2 - .byte 3,0x01 # 1a3─1a5 - .byte 2,0x03 # 1a6─1a7 - .byte 3,0x00 # 1a8─1aa - .byte 29,0x01 # 1ab─1c7 - .byte 8,0x00 # 1c8─1cf - .byte 48,0x01 # 1d0─1ff - .endobj xed_has_modrm_2d.rodata - -xed_has_disp_regular.rodata: - .byte 6,0x00 # 00─05 ∅─♣ - .byte 1,0x02 # 06─06 ♠ - .byte 1,0x00 # 07─07 • - .byte 8,0x01 # 08─0f ◘─☼ - .byte 8,0x02 # 10─17 ►─↨ - .byte 13,0x00 # 18─24 ↑─$ - .byte 1,0x04 # 25─25 % - .byte 2,0x00 # 26─27 &─' - .byte 8,0x01 # 28─2f (─/ - .byte 8,0x04 # 30─37 0─7 - .byte 13,0x00 # 38─44 8─D - .byte 1,0x04 # 45─45 E - .byte 2,0x00 # 46─47 F─G - .byte 8,0x01 # 48─4f H─O - .byte 8,0x04 # 50─57 P─W - .byte 8,0x00 # 58─5f X─_ - .endobj xed_has_disp_regular.rodata - -xed_has_sib_table.rodata: - .byte 36,FALSE # 00─23 ∅─# - .byte 1,TRUE # 24─24 $ - .byte 7,FALSE # 25─2b %─+ - .byte 1,TRUE # 2c─2c , - .byte 7,FALSE # 2d─33 ──3 - .byte 1,TRUE # 34─34 4 - .byte 15,FALSE # 35─43 5─C - .byte 1,TRUE # 44─44 D - .byte 7,FALSE # 45─4b E─K - .byte 1,TRUE # 4c─4c L - .byte 7,FALSE # 4d─53 M─S - .byte 1,TRUE # 54─54 T - .byte 11,FALSE # 55─5f U─_ - .endobj xed_has_sib_table.rodata - -xed_disp_bits_2d.rodata: - .byte 15,0x04 # 00─0e ∅─♫ - .byte 1,0x00 # 0f─0f ☼ - .byte 22,0x04 # 10─25 ►─% - .byte 1,0x00 # 26─26 & - .byte 7,0x04 # 27─2d '── - .byte 1,0x00 # 2e─2e . - .byte 7,0x04 # 2f─35 /─5 - .byte 1,0x00 # 36─36 6 - .byte 7,0x04 # 37─3d 7─= - .byte 1,0x00 # 3e─3e > - .byte 37,0x04 # 3f─63 ?─c - .byte 4,0x00 # 64─67 d─g - .byte 8,0x04 # 68─6f h─o - .byte 16,0x01 # 70─7f p─⌂ - .byte 26,0x04 # 80─99 Ç─Ö - .byte 1,0x02 # 9a─9a Ü - .byte 5,0x04 # 9b─9f ¢─ƒ - .byte 4,0x05 # a0─a3 á─ú - .byte 35,0x04 # a4─c6 ñ─╞ - .byte 1,0x06 # c7─c7 ╟ - .byte 24,0x04 # c8─df ╚─▀ - .byte 4,0x01 # e0─e3 α─π - .byte 4,0x04 # e4─e7 Σ─τ - .byte 2,0x03 # e8─e9 Φ─Θ - .byte 1,0x02 # ea─ea Ω - .byte 1,0x01 # eb─eb δ - .byte 4,0x04 # ec─ef ∞─∩ - .byte 1,0x00 # f0─f0 ≡ - .byte 1,0x04 # f1─f1 ± - .byte 2,0x00 # f2─f3 ≥─≤ - .byte 16,0x04 # f4─103 - .byte 1,0x00 # 104─104 - .byte 5,0x04 # 105─109 - .byte 1,0x00 # 10a─10a - .byte 1,0x04 # 10b─10b - .byte 1,0x00 # 10c─10c - .byte 2,0x04 # 10d─10e - .byte 1,0x00 # 10f─10f - .byte 20,0x04 # 110─123 - .byte 4,0x00 # 124─127 - .byte 14,0x04 # 128─135 - .byte 1,0x00 # 136─136 - .byte 1,0x04 # 137─137 - .byte 8,0x00 # 138─13f - .byte 64,0x04 # 140─17f - .byte 16,0x03 # 180─18f - .byte 22,0x04 # 190─1a5 - .byte 2,0x00 # 1a6─1a7 - .byte 88,0x04 # 1a8─1ff - .endobj xed_disp_bits_2d.rodata - -xed_imm_bits_2d.rodata: - .byte 4,0x01 # 00─03 ∅─♥ - .byte 1,0x05 # 04─04 ♦ - .byte 1,0x07 # 05─05 ♣ - .byte 6,0x01 # 06─0b ♠─♂ - .byte 1,0x09 # 0c─0c ♀ - .byte 1,0x07 # 0d─0d ♪ - .byte 1,0x01 # 0e─0e ♫ - .byte 1,0x00 # 0f─0f ☼ - .byte 4,0x01 # 10─13 ►─‼ - .byte 1,0x05 # 14─14 ¶ - .byte 1,0x07 # 15─15 § - .byte 6,0x01 # 16─1b ▬─← - .byte 1,0x05 # 1c─1c ∟ - .byte 1,0x07 # 1d─1d ↔ - .byte 6,0x01 # 1e─23 ▲─# - .byte 1,0x05 # 24─24 $ - .byte 1,0x07 # 25─25 % - .byte 1,0x00 # 26─26 & - .byte 5,0x01 # 27─2b '─+ - .byte 1,0x05 # 2c─2c , - .byte 1,0x07 # 2d─2d ─ - .byte 1,0x00 # 2e─2e . - .byte 5,0x01 # 2f─33 /─3 - .byte 1,0x09 # 34─34 4 - .byte 1,0x07 # 35─35 5 - .byte 1,0x00 # 36─36 6 - .byte 5,0x01 # 37─3b 7─; - .byte 1,0x05 # 3c─3c < - .byte 1,0x07 # 3d─3d = - .byte 1,0x00 # 3e─3e > - .byte 37,0x01 # 3f─63 ?─c - .byte 4,0x00 # 64─67 d─g - .byte 1,0x06 # 68─68 h - .byte 1,0x07 # 69─69 i - .byte 2,0x05 # 6a─6b j─k - .byte 20,0x01 # 6c─7f l─⌂ - .byte 1,0x05 # 80─80 Ç - .byte 1,0x07 # 81─81 ü - .byte 2,0x05 # 82─83 é─â - .byte 22,0x01 # 84─99 ä─Ö - .byte 1,0x08 # 9a─9a Ü - .byte 13,0x01 # 9b─a7 ¢─º - .byte 1,0x05 # a8─a8 ¿ - .byte 1,0x07 # a9─a9 ⌐ - .byte 6,0x01 # aa─af ¬─» - .byte 8,0x09 # b0─b7 ░─╖ - .byte 8,0x0a # b8─bf ╕─┐ - .byte 2,0x09 # c0─c1 └─┴ - .byte 1,0x08 # c2─c2 ┬ - .byte 3,0x01 # c3─c5 ├─┼ - .byte 1,0x09 # c6─c6 ╞ - .byte 1,0x02 # c7─c7 ╟ - .byte 1,0x0b # c8─c8 ╚ - .byte 1,0x01 # c9─c9 ╔ - .byte 1,0x08 # ca─ca ╩ - .byte 2,0x01 # cb─cc ╦─╠ - .byte 1,0x09 # cd─cd ═ - .byte 6,0x01 # ce─d3 ╬─╙ - .byte 2,0x09 # d4─d5 ╘─╒ - .byte 14,0x01 # d6─e3 ╓─π - .byte 4,0x09 # e4─e7 Σ─τ - .byte 2,0x01 # e8─e9 Φ─Θ - .byte 1,0x08 # ea─ea Ω - .byte 5,0x01 # eb─ef δ─∩ - .byte 1,0x00 # f0─f0 ≡ - .byte 1,0x01 # f1─f1 ± - .byte 2,0x00 # f2─f3 ≥─≤ - .byte 2,0x01 # f4─f5 ⌠─⌡ - .byte 1,0x03 # f6─f6 ÷ - .byte 1,0x04 # f7─f7 ≈ - .byte 12,0x01 # f8─103 - .byte 1,0x00 # 104─104 - .byte 5,0x01 # 105─109 - .byte 1,0x00 # 10a─10a - .byte 1,0x01 # 10b─10b - .byte 1,0x00 # 10c─10c - .byte 2,0x01 # 10d─10e - .byte 1,0x00 # 10f─10f - .byte 20,0x01 # 110─123 - .byte 4,0x00 # 124─127 - .byte 14,0x01 # 128─135 - .byte 1,0x00 # 136─136 - .byte 1,0x01 # 137─137 - .byte 8,0x00 # 138─13f - .byte 48,0x01 # 140─16f - .byte 4,0x09 # 170─173 - .byte 4,0x01 # 174─177 - .byte 1,0x0c # 178─178 - .byte 43,0x01 # 179─1a3 - .byte 1,0x09 # 1a4─1a4 - .byte 1,0x01 # 1a5─1a5 - .byte 2,0x00 # 1a6─1a7 - .byte 4,0x01 # 1a8─1ab - .byte 1,0x09 # 1ac─1ac - .byte 13,0x01 # 1ad─1b9 - .byte 1,0x09 # 1ba─1ba - .byte 7,0x01 # 1bb─1c1 - .byte 1,0x09 # 1c2─1c2 - .byte 1,0x01 # 1c3─1c3 - .byte 3,0x09 # 1c4─1c6 - .byte 57,0x01 # 1c7─1ff - .endobj xed_imm_bits_2d.rodata - - .byte 0,0 # terminator - .byte 0,0,0,0,0,0 # padding - .previous - - .init.start 300,_init_x86tab - call rldecode - lodsl - lodsw - .init.end 300,_init_x86tab diff --git a/third_party/xed/xed.mk b/third_party/xed/xed.mk index 3fe120a64..65ea29ebd 100644 --- a/third_party/xed/xed.mk +++ b/third_party/xed/xed.mk @@ -16,16 +16,8 @@ THIRD_PARTY_XED = $(THIRD_PARTY_XED_A_DEPS) $(THIRD_PARTY_XED_A) THIRD_PARTY_XED_A = o/$(MODE)/third_party/xed/xed.a THIRD_PARTY_XED_A_FILES := $(wildcard third_party/xed/*) THIRD_PARTY_XED_A_HDRS = $(filter %.h,$(THIRD_PARTY_XED_A_FILES)) -THIRD_PARTY_XED_A_SRCS_S = $(filter %.S,$(THIRD_PARTY_XED_A_FILES)) -THIRD_PARTY_XED_A_SRCS_C = $(filter %.c,$(THIRD_PARTY_XED_A_FILES)) - -THIRD_PARTY_XED_A_SRCS = \ - $(THIRD_PARTY_XED_A_SRCS_S) \ - $(THIRD_PARTY_XED_A_SRCS_C) - -THIRD_PARTY_XED_A_OBJS = \ - $(THIRD_PARTY_XED_A_SRCS_S:%.S=o/$(MODE)/%.o) \ - $(THIRD_PARTY_XED_A_SRCS_C:%.c=o/$(MODE)/%.o) +THIRD_PARTY_XED_A_SRCS = $(filter %.c,$(THIRD_PARTY_XED_A_FILES)) +THIRD_PARTY_XED_A_OBJS = $(THIRD_PARTY_XED_A_SRCS:%.c=o/$(MODE)/%.o) THIRD_PARTY_XED_A_CHECKS = \ $(THIRD_PARTY_XED_A).pkg \ @@ -40,9 +32,11 @@ THIRD_PARTY_XED_A_DIRECTDEPS = \ THIRD_PARTY_XED_A_DEPS := \ $(call uniq,$(foreach x,$(THIRD_PARTY_XED_A_DIRECTDEPS),$($(x)))) +ifneq ($(MODE), aarch64) o/$(MODE)/third_party/xed/x86ild.greg.o: private \ OVERRIDE_CFLAGS += \ -mstringop-strategy=unrolled_loop +endif $(THIRD_PARTY_XED_A): \ third_party/xed/ \