Add scouts honor escape hatch for source embedding

This commit is contained in:
Justine Tunney 2020-06-15 19:01:28 -07:00
parent c91b3c5006
commit b4269930f7
547 changed files with 1516 additions and 944 deletions

View file

@ -36,4 +36,4 @@ __atomic_is_lock_free:
cmovnz %ecx,%eax
.leafepilogue
.endfn __atomic_is_lock_free,globl,hidden
.yoink __FILE__
.source __FILE__

View file

@ -30,4 +30,4 @@
/ @return 0 if equal or nonzero
bcmp: jmp *hook$memcmp(%rip)
.endfn bcmp,globl
.yoink __FILE__
.source __FILE__

View file

@ -28,5 +28,5 @@
/ @param rdx is number of bytes
bcopy: jmp memmove
.endfn bcopy,globl
.yoink __FILE__
.yoink __FILE__
.source __FILE__
.source __FILE__

View file

@ -40,4 +40,4 @@ bsf: .leafprologue
bsf %edi,%eax
.leafepilogue
.endfn bsf,globl
.yoink __FILE__
.source __FILE__

View file

@ -41,4 +41,4 @@ bsfl: .leafprologue
.leafepilogue
.endfn bsfl,globl
.alias bsfl,bsfll
.yoink __FILE__
.source __FILE__

View file

@ -40,4 +40,4 @@ bsr: .leafprologue
bsr %edi,%eax
.leafepilogue
.endfn bsr,globl
.yoink __FILE__
.source __FILE__

View file

@ -41,4 +41,4 @@ bsrl: .leafprologue
.leafepilogue
.endfn bsrl,globl
.alias bsrl,bsrll
.yoink __FILE__
.source __FILE__

View file

@ -44,4 +44,4 @@ bsrmax: .leafprologue
2: add $64,%eax
jmp 1b
.endfn bsrmax,globl
.yoink __FILE__
.source __FILE__

View file

@ -32,4 +32,4 @@ bzero: mov %rsi,%rdx
xor %esi,%esi
jmp _memset
.endfn bzero,globl
.yoink __FILE__
.source __FILE__

View file

@ -130,4 +130,4 @@ cescapectab:
add $(8-.Lcescapectab.ro.size%8),%rsi
.endif
.init.end 300,_init_cescapec
.yoink __FILE__
.source __FILE__

View file

@ -32,4 +32,4 @@ clamp1: .leafprologue
.Lmax: .rept 4
.float 0.99609375
.endr
.yoink __FILE__
.source __FILE__

View file

@ -40,4 +40,4 @@ cmpsb: .leafprologue
.Lneg1: .long -1
.endobj .Lneg1
.previous
.yoink __FILE__
.source __FILE__

View file

@ -40,4 +40,4 @@ cmpsl: .leafprologue
.Lneg1: .long -1
.endobj .Lneg1
.previous
.yoink __FILE__
.source __FILE__

View file

@ -40,4 +40,4 @@ cmpsq: .leafprologue
.Lneg1: .long -1
.endobj .Lneg1
.previous
.yoink __FILE__
.source __FILE__

View file

@ -40,4 +40,4 @@ cmpsw: .leafprologue
.Lneg1: .long -1
.endobj .Lneg1
.previous
.yoink __FILE__
.source __FILE__

View file

@ -40,4 +40,4 @@ cmpub: .leafprologue
.Lneg1: .long -1
.endobj .Lneg1
.previous
.yoink __FILE__
.source __FILE__

View file

@ -40,4 +40,4 @@ cmpul: .leafprologue
.Lneg1: .long -1
.endobj .Lneg1
.previous
.yoink __FILE__
.source __FILE__

View file

@ -40,4 +40,4 @@ cmpuq: .leafprologue
.Lneg1: .long -1
.endobj .Lneg1
.previous
.yoink __FILE__
.source __FILE__

View file

@ -40,4 +40,4 @@ cmpuw: .leafprologue
.Lneg1: .long -1
.endobj .Lneg1
.previous
.yoink __FILE__
.source __FILE__

View file

@ -260,4 +260,4 @@ crc32$pclmul:
4194304 7.025 7.059 7.030 462
8388607 7.082 6.980 6.997 464
8388608 7.051 6.985 6.999 464 */
.yoink __FILE__
.source __FILE__

View file

@ -27,4 +27,4 @@
crc32: movslq %edx,%rdx
jmp crc32_z
.endfn crc32,globl
.yoink __FILE__
.source __FILE__

View file

@ -43,4 +43,4 @@ crc32c: .quad 0
#endif
stosq
.init.end 300,_init_crc32c
.yoink __FILE__
.source __FILE__

View file

@ -69,4 +69,4 @@ crc32init:
leave
ret
.endfn crc32init,globl
.yoink __FILE__
.source __FILE__

View file

@ -98,4 +98,4 @@ ctypep: pop %rsi
and %esi,%eax
ret
.endfn ctypep
.yoink __FILE__
.source __FILE__

View file

@ -116,4 +116,4 @@ div10: .leafprologue
pop %rbx
.leafepilogue
.endfn div10,globl,hidden
.yoink __FILE__
.source __FILE__

View file

@ -29,4 +29,4 @@ div1000000000int64:
jmp tinydivsi
.globl tinydivsi
.endfn div1000000000int64,globl
.yoink __FILE__
.source __FILE__

View file

@ -28,4 +28,4 @@ div1000000int64:
movabs $0x431bde82d7b634db,%rdx
jmp tinydivsi
.endfn div1000000int64,globl
.yoink __FILE__
.source __FILE__

View file

@ -28,4 +28,4 @@ div1000int64:
movabs $0x20c49ba5e353f7cf,%rdx
jmp tinydivsi
.endfn div1000int64,globl
.yoink __FILE__
.source __FILE__

View file

@ -28,4 +28,4 @@ div10int64:
movabs $0x6666666666666667,%rdx
jmp tinydivsi
.endfn div10int64,globl
.yoink __FILE__
.source __FILE__

View file

@ -30,4 +30,4 @@ environ:.quad 0
.init.start 300,_init_environ
mov %r14,environ(%rip)
.init.end 300,_init_environ
.yoink __FILE__
.source __FILE__

View file

@ -47,4 +47,4 @@ explicit_bzero:
xorps %xmm5,%xmm5
.leafepilogue
.endfn explicit_bzero,globl
.yoink __FILE__
.source __FILE__

View file

@ -44,4 +44,4 @@ ffs: .leafprologue
inc %eax
.leafepilogue
.endfn ffs,globl
.yoink __FILE__
.source __FILE__

View file

@ -45,4 +45,4 @@ ffsl: .leafprologue
.leafepilogue
.endfn ffsl,globl
.alias ffsl,ffsll
.yoink __FILE__
.source __FILE__

View file

@ -29,4 +29,4 @@ g_argv: .quad 0
mov %r13,%rax
stosq
.init.end 300,_init_g_argv
.yoink __FILE__
.source __FILE__

View file

@ -28,4 +28,4 @@ g_auxv: .quad 0
mov %r15,%rax
stosq
.init.end 300,_init_g_auxv
.yoink __FILE__
.source __FILE__

View file

@ -20,4 +20,4 @@
#include "libc/macros.h"
.comm g_runstate,4
.yoink __FILE__
.source __FILE__

View file

@ -88,4 +88,4 @@ __garbage:
stosq
pop %rdi
.init.end 100,_init_garbage
.yoink __FILE__
.source __FILE__

View file

@ -59,4 +59,4 @@ gclongjmp:
pop %rdi
jmp 0b
.endfn gclongjmp,globl
.yoink __FILE__
.source __FILE__

View file

@ -30,4 +30,4 @@ hextoint:
and $15,%eax
.leafepilogue
.endfn hextoint,globl
.yoink __FILE__
.source __FILE__

View file

@ -26,4 +26,4 @@ identity:
mov %rdi,%rax
ret
.endfn identity,globl
.yoink __FILE__
.source __FILE__

View file

@ -38,4 +38,4 @@ imapxlatab:
loop 1b
.leafepilogue
.endfn imapxlatab,globl,hidden
.yoink __FILE__
.source __FILE__

View file

@ -32,4 +32,4 @@ iscntrl:.leafprologue
and $1,%eax
1: .leafepilogue
.endfn iscntrl,globl
.yoink __FILE__
.source __FILE__

View file

@ -35,4 +35,4 @@ isgraph:.leafprologue
and %edx,%eax
1: .leafepilogue
.endfn isgraph,globl
.yoink __FILE__
.source __FILE__

View file

@ -38,4 +38,4 @@ ispunct:.leafprologue
sete %al
1: .leafepilogue
.endfn ispunct,globl
.yoink __FILE__
.source __FILE__

View file

@ -30,4 +30,4 @@ iswalnum:
andl $6,%eax
1: .leafepilogue
.endfn iswalnum,globl
.yoink __FILE__
.source __FILE__

View file

@ -31,4 +31,4 @@ iswalpha:
movzbl %al,%eax
1: .leafepilogue
.endfn iswalpha,globl
.yoink __FILE__
.source __FILE__

View file

@ -31,4 +31,4 @@ iswblank:
movzbl %al,%eax
1: .leafepilogue
.endfn iswblank,globl
.yoink __FILE__
.source __FILE__

View file

@ -32,4 +32,4 @@ iswcntrl:
and $1,%eax
1: .leafepilogue
.endfn iswcntrl,globl
.yoink __FILE__
.source __FILE__

View file

@ -31,4 +31,4 @@ iswdigit:
movzbl %al,%eax
1: .leafepilogue
.endfn iswdigit,globl
.yoink __FILE__
.source __FILE__

View file

@ -35,4 +35,4 @@ iswgraph:
andl %edx,%eax
1: .leafepilogue
.endfn iswgraph,globl
.yoink __FILE__
.source __FILE__

View file

@ -31,4 +31,4 @@ iswlower:
movzbl %al,%eax
1: .leafepilogue
.endfn iswlower,globl
.yoink __FILE__
.source __FILE__

View file

@ -32,4 +32,4 @@ iswprint:
andl $1,%eax
1: .leafepilogue
.endfn iswprint,globl
.yoink __FILE__
.source __FILE__

View file

@ -36,4 +36,4 @@ iswpunct:
sete %al
1: .leafepilogue
.endfn iswpunct,globl
.yoink __FILE__
.source __FILE__

View file

@ -30,4 +30,4 @@ iswspace:
andl $1,%eax
1: .leafepilogue
.endfn iswspace,globl
.yoink __FILE__
.source __FILE__

View file

@ -31,4 +31,4 @@ iswupper:
movzbl %al,%eax
1: .leafepilogue
.endfn iswupper,globl
.yoink __FILE__
.source __FILE__

View file

@ -31,4 +31,4 @@ iswxdigit:
movzbl %al,%eax
1: .leafepilogue
.endfn iswxdigit,globl
.yoink __FILE__
.source __FILE__

View file

@ -44,4 +44,4 @@ kBase36:.zero 256
loop 0b
add $255-'Z,%rdi
.init.end 300,_init_kBase36
.yoink __FILE__
.source __FILE__

View file

@ -93,4 +93,4 @@ kCp437:
.short 0x00b0,0x2219,0x00b7,0x221a,0x207f,0x00b2,0x25a0,0x03bb #f8:°·²λ
.endobj kCp437,globl
.previous
.yoink __FILE__
.source __FILE__

View file

@ -85,4 +85,4 @@ kCpuids:.long 0,0,0,0 # EAX=0 (Basic Processor Info)
#endif
5: pop %rbx
.init.end 201,_init_kCpuids
.yoink __FILE__
.source __FILE__

View file

@ -39,4 +39,4 @@ kCrc32cTab:
call crc32init
pop %rsi
.init.end 300,_init_kCrc32cTab
.yoink __FILE__
.source __FILE__

View file

@ -39,4 +39,4 @@ kCrc32Tab:
call crc32init
pop %rsi
.init.end 300,_init_kCrc32Tab
.yoink __FILE__
.source __FILE__

View file

@ -60,4 +60,4 @@ kCtype: .rept 256
.init.start 300,_init_kCtype
call rldecode
.init.end 300,_init_kCtype
.yoink __FILE__
.source __FILE__

View file

@ -87,4 +87,4 @@ kReverseBits:
.byte 0b00111111,0b10111111,0b01111111,0b11111111
.endobj kReverseBits,globl
.previous
.yoink __FILE__
.source __FILE__

View file

@ -30,4 +30,4 @@ kSha256Tab:
.long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
.endobj kSha256Tab,globl,hidden
.previous
.yoink __FILE__
.source __FILE__

View file

@ -36,4 +36,4 @@ kSigsetEmpty:
.init.start 300,_init_kSigsetEmpty
add $NSIG/8,%rdi
.init.end 300,_init_kSigsetEmpty
.yoink __FILE__
.source __FILE__

View file

@ -39,4 +39,4 @@ kSigsetFull:
stosq
.endr
.init.end 300,_init_kSigsetFull
.yoink __FILE__
.source __FILE__

View file

@ -34,4 +34,4 @@ kStartTsc:
xchg %edx,%eax
stosl
.init.end 200,_init_kStartTsc
.yoink __FILE__
.source __FILE__

View file

@ -58,4 +58,4 @@ kToLower16:
.type gperf_downcase,@object
.globl gperf_downcase
gperf_downcase = kToLower
.yoink __FILE__
.source __FILE__

View file

@ -32,4 +32,4 @@ kToUpper:
0: subb $0x20,(%r8,%rcx)
loop 0b
.init.end 300,_init_kToUpper
.yoink __FILE__
.source __FILE__

View file

@ -64,4 +64,4 @@ llog10data:
.quad 100000000000000000
.endobj llog10data
.previous
.yoink __FILE__
.source __FILE__

View file

@ -43,4 +43,4 @@ loadxmm:.leafprologue
movaps 0x70(%rdi),%xmm15
.leafepilogue
.endfn loadxmm,globl,hidden
.yoink __FILE__
.source __FILE__

View file

@ -76,4 +76,4 @@ htons: movzwl %di,%eax
.endfn htole16,globl
.endfn ntohs,globl
.endfn bswap_16,globl
.yoink __FILE__
.source __FILE__

View file

@ -41,4 +41,4 @@ longjmp:mov %esi,%eax
mov 48(%rdi),%r15
jmp *56(%rdi)
.endfn longjmp,globl
.yoink __FILE__
.source __FILE__

View file

@ -44,4 +44,4 @@ lzcnt: .leafprologue
sub %ecx,%eax
.leafepilogue
.endfn lzcnt,globl
.yoink __FILE__
.source __FILE__

View file

@ -44,4 +44,4 @@ lzcntl: .leafprologue
sub %ecx,%eax
.endfn lzcntl,globl
.alias lzcntl,lzcntll
.yoink __FILE__
.source __FILE__

View file

@ -61,4 +61,4 @@ memcmp$avx2:
8: vxorps %ymm0,%ymm0,%ymm0
.leafepilogue
.endfn memcmp$avx2,globl,hidden
.yoink __FILE__
.source __FILE__

View file

@ -47,4 +47,4 @@ hook$memcmp:
#endif /* TINY */
stosq
.init.end 300,_init_memcmp
.yoink __FILE__
.source __FILE__

View file

@ -59,4 +59,4 @@ memcmp$sse2:
7: xor %eax,%eax
8: .leafepilogue
.endfn memcmp$sse2,globl,hidden
.yoink __FILE__
.source __FILE__

View file

@ -28,7 +28,7 @@
/ @asyncsignalsafe
memcmp: jmp *hook$memcmp(%rip)
.endfn memcmp,globl
.yoink __FILE__
.source __FILE__
/* cosmo memcmp() avx2 for #c per n where c 0.273ns
N x1 x8 x64 mBps

View file

@ -43,7 +43,7 @@
/ @mode long
/ @asyncsignalsafe
.align 16
.yoink __FILE__
.source __FILE__
memcpy: mov %rdi,%rax
/ 𝑠𝑙𝑖𝑑𝑒

View file

@ -47,4 +47,4 @@ memeqmask:
1: mov %rdi,%rax
.leafepilogue
.endfn memeqmask,globl
.yoink __FILE__
.source __FILE__

View file

@ -46,4 +46,4 @@ memjmpinit:
lodsq
ret
.endfn memjmpinit,globl,hidden
.yoink __FILE__
.source __FILE__

View file

@ -51,4 +51,4 @@ _memmove:
.leafepilogue
.endfn _memmove,globl,hidden
.endfn memmove,globl
.yoink __FILE__
.source __FILE__

View file

@ -30,4 +30,4 @@
mempcpy:lea (%rdi,%rdx),%rax
jmp _memcpy
.endfn mempcpy,globl
.yoink __FILE__
.source __FILE__

View file

@ -60,4 +60,4 @@ memrchr:.leafprologue
lea (%rdi,%rcx),%rax
9: .leafepilogue
.endfn memrchr,globl
.yoink __FILE__
.source __FILE__

View file

@ -61,4 +61,4 @@ memrchr16:
lea (%rdi,%rcx,2),%rax
9: .leafepilogue
.endfn memrchr16,globl
.yoink __FILE__
.source __FILE__

View file

@ -61,4 +61,4 @@ wmemrchr:
lea (%rdi,%rcx,4),%rax
9: .leafepilogue
.endfn wmemrchr,globl
.yoink __FILE__
.source __FILE__

View file

@ -24,7 +24,7 @@
#include "libc/nexgen32e/x86feature.h"
#include "libc/nexgen32e/macros.h"
#include "libc/macros.h"
.yoink __FILE__
.source __FILE__
/ Sets memory.
/

View file

@ -37,4 +37,4 @@ mod1000000000int64:
mov %rdi,%rax
ret
.endfn mod1000000000int64,globl
.yoink __FILE__
.source __FILE__

View file

@ -33,4 +33,4 @@ mod1000000int64:
mov %rdi,%rax
ret
.endfn mod1000000int64,globl
.yoink __FILE__
.source __FILE__

View file

@ -33,4 +33,4 @@ mod1000int64:
mov %rdi,%rax
ret
.endfn mod1000int64,globl
.yoink __FILE__
.source __FILE__

View file

@ -34,4 +34,4 @@ mod10int64:
mov %rdi,%rax
ret
.endfn mod10int64,globl
.yoink __FILE__
.source __FILE__

View file

@ -54,4 +54,4 @@ nt2sysv:push %rbp
leave
ret
.endfn nt2sysv,globl,hidden
.yoink __FILE__
.source __FILE__

View file

@ -30,4 +30,4 @@ program_invocation_name:
mov (%r13),%rax
stosq
.init.end 300,_init_program_invocation_name
.yoink __FILE__
.source __FILE__

View file

@ -38,4 +38,4 @@ rldecode:
jmp 0b
2: .leafepilogue
.endfn rldecode,globl
.yoink __FILE__
.source __FILE__

View file

@ -43,4 +43,4 @@ savexmm:.leafprologue
movaps %xmm15,0x70(%rdi)
.leafepilogue
.endfn savexmm,globl,hidden
.yoink __FILE__
.source __FILE__

View file

@ -40,4 +40,4 @@ setjmp: lea 8(%rsp),%rax
xor %eax,%eax
ret
.endfn setjmp,globl
.yoink __FILE__
.source __FILE__

View file

@ -46,4 +46,4 @@ sgetc: push %bp
pop %bp
ret
.endfn sgetc,globl
.yoink __FILE__
.source __FILE__

View file

@ -82,4 +82,4 @@ slowcall:
pop %rbp
ret
.endfn slowcall,globl
.yoink __FILE__
.source __FILE__

View file

@ -63,4 +63,4 @@ strncasecmp:
4: pop %rbx
.leafepilogue
.endfn strncasecmp,globl
.yoink __FILE__
.source __FILE__

Some files were not shown because too many files have changed in this diff Show more