diff options
Diffstat (limited to 'vendor/modernc.org/libc/musl_darwin_arm64.go')
-rw-r--r-- | vendor/modernc.org/libc/musl_darwin_arm64.go | 442 |
1 files changed, 374 insertions, 68 deletions
diff --git a/vendor/modernc.org/libc/musl_darwin_arm64.go b/vendor/modernc.org/libc/musl_darwin_arm64.go index 5ae6a3b46..6b8b9dedf 100644 --- a/vendor/modernc.org/libc/musl_darwin_arm64.go +++ b/vendor/modernc.org/libc/musl_darwin_arm64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -D__environ=environ -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_darwin_arm64.go -pkgname libc -static-locals-prefix _s -Iarch/aarch64 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isupper.c src/ctype/isxdigit.c src/env/putenv.c src/env/setenv.c src/env/unsetenv.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/rint.c src/math/scalbn.c src/math/scalbnl.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__toread.c src/stdio/__uflow.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strchrnul.c src/string/strdup.c src/string/strlcat.c src/string/strlcpy.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c', DO NOT EDIT. +// Code generated by 'ccgo -D__environ=environ -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -hide isascii,isspace,tolower,toupper -nostdinc -nostdlib -o ../musl_darwin_arm64.go -pkgname libc -static-locals-prefix _s -Iarch/aarch64 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c ../darwin/table.c src/env/putenv.c src/env/setenv.c src/env/unsetenv.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/locale/localeconv.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/rint.c src/math/scalbn.c src/math/scalbnl.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__toread.c src/stdio/__uflow.c src/stdlib/bsearch.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strchrnul.c src/string/strdup.c src/string/strlcat.c src/string/strlcpy.c src/string/strncasecmp.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c', DO NOT EDIT. package libc @@ -357,83 +357,289 @@ type size_t = uint64 /* <builtin>:9:23 */ type wchar_t = int32 /* <builtin>:15:24 */ -func __isspace(tls *TLS, _c int32) int32 { /* ctype.h:26:21: */ - return Bool32(_c == ' ' || uint32(_c)-uint32('\t') < uint32(5)) +var X__darwin_check_fd_set_overflow uintptr /* <builtin>:146:5: */ + +// pthread opaque structures + +type __darwin_pthread_handler_rec = struct { + __routine uintptr + __arg uintptr + __next uintptr +} /* table.c:1396:1 */ + +type _opaque_pthread_attr_t = struct { + __sig int64 + __opaque [56]int8 +} /* table.c:1402:1 */ + +type _opaque_pthread_cond_t = struct { + __sig int64 + __opaque [40]int8 +} /* table.c:1407:1 */ + +type _opaque_pthread_condattr_t = struct { + __sig int64 + __opaque [8]int8 +} /* table.c:1412:1 */ + +type _opaque_pthread_mutex_t = struct { + __sig int64 + __opaque [56]int8 +} /* table.c:1417:1 */ + +type _opaque_pthread_mutexattr_t = struct { + __sig int64 + __opaque [8]int8 +} /* table.c:1422:1 */ + +type _opaque_pthread_once_t = struct { + __sig int64 + __opaque [8]int8 +} /* table.c:1427:1 */ + +type _opaque_pthread_rwlock_t = struct { + __sig int64 + __opaque [192]int8 +} /* table.c:1432:1 */ + +type _opaque_pthread_rwlockattr_t = struct { + __sig int64 + __opaque [16]int8 +} /* table.c:1437:1 */ + +type _opaque_pthread_t = struct { + __sig int64 + __cleanup_stack uintptr + __opaque [8176]int8 +} /* table.c:1442:1 */ + +type ct_rune_t = int32 /* table.c:1527:28 */ + +type rune_t = int32 /* table.c:1536:25 */ + +type wint_t = int32 /* table.c:1558:25 */ + +type _RuneEntry = struct { + __min int32 + __max int32 + __map int32 + _ [4]byte + __types uintptr +} /* table.c:1575:3 */ + +type _RuneRange = struct { + __nranges int32 + _ [4]byte + __ranges uintptr +} /* table.c:1580:3 */ + +type _RuneCharClass = struct { + __name [14]int8 + _ [2]byte + __mask uint32 +} /* table.c:1585:3 */ + +type _RuneLocale = struct { + __magic [8]int8 + __encoding [32]int8 + __sgetrune uintptr + __sputrune uintptr + __invalid_rune int32 + __runetype [256]uint32 + __maplower [256]int32 + __mapupper [256]int32 + _ [4]byte + __runetype_ext _RuneRange + __maplower_ext _RuneRange + __mapupper_ext _RuneRange + __variable uintptr + __variable_len int32 + __ncharclasses int32 + __charclasses uintptr +} /* table.c:1616:3 */ + +func X__istype(tls *TLS, _c int32, _f uint64) int32 { /* table.c:1670:1: */ + + return func() int32 { + if Xisascii(tls, _c) != 0 { + return BoolInt32(!!(uint64(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_DefaultRuneLocale)) + 60 + uintptr(_c)*4)))&_f != 0)) + } + return BoolInt32(!!(X__maskrune(tls, _c, _f) != 0)) + }() + } -type locale_t = uintptr /* alltypes.h:351:32 */ +func X__isctype(tls *TLS, _c int32, _f uint64) int32 { /* table.c:1681:1: */ -func Xisalnum(tls *TLS, c int32) int32 { /* isalnum.c:3:5: */ - return Bool32(func() int32 { - if 0 != 0 { - return Xisalpha(tls, c) - } - return Bool32(uint32(c)|uint32(32)-uint32('a') < uint32(26)) - }() != 0 || func() int32 { - if 0 != 0 { - return Xisdigit(tls, c) + if _c < 0 || _c >= int32(1)<<8 { + return 0 + } + return BoolInt32(!!(uint64(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_DefaultRuneLocale)) + 60 + uintptr(_c)*4)))&_f != 0)) + +} + +func X__wcwidth(tls *TLS, _c int32) int32 { /* table.c:1700:1: */ + var _x uint32 + + if _c == 0 { + return 0 + } + _x = uint32(X__maskrune(tls, _c, uint64(0xe0000000|0x00040000))) + if int64(_x)&0xe0000000 != int64(0) { + return int32(int64(_x) & 0xe0000000 >> 30) + } + return func() int32 { + if int64(_x)&0x00040000 != int64(0) { + return 1 } - return Bool32(uint32(c)-uint32('0') < uint32(10)) - }() != 0) + return -1 + }() } -func X__isalnum_l(tls *TLS, c int32, l locale_t) int32 { /* isalnum.c:8:5: */ - return Xisalnum(tls, c) +func Xisalnum(tls *TLS, _c int32) int32 { /* table.c:1718:1: */ + return X__istype(tls, _c, uint64(0x00000100|0x00000400)) } -func Xisalpha(tls *TLS, c int32) int32 { /* isalpha.c:4:5: */ - return Bool32(uint32(c)|uint32(32)-uint32('a') < uint32(26)) +func Xisalpha(tls *TLS, _c int32) int32 { /* table.c:1724:1: */ + return X__istype(tls, _c, uint64(0x00000100)) } -func X__isalpha_l(tls *TLS, c int32, l locale_t) int32 { /* isalpha.c:9:5: */ - return Xisalpha(tls, c) +func Xisblank(tls *TLS, _c int32) int32 { /* table.c:1730:1: */ + return X__istype(tls, _c, uint64(0x00020000)) } -func Xisdigit(tls *TLS, c int32) int32 { /* isdigit.c:4:5: */ - return Bool32(uint32(c)-uint32('0') < uint32(10)) +func Xiscntrl(tls *TLS, _c int32) int32 { /* table.c:1736:1: */ + return X__istype(tls, _c, uint64(0x00000200)) } -func X__isdigit_l(tls *TLS, c int32, l locale_t) int32 { /* isdigit.c:9:5: */ - return Xisdigit(tls, c) +func Xisdigit(tls *TLS, _c int32) int32 { /* table.c:1743:1: */ + return X__isctype(tls, _c, uint64(0x00000400)) } -func Xislower(tls *TLS, c int32) int32 { /* islower.c:4:5: */ - return Bool32(uint32(c)-uint32('a') < uint32(26)) +func Xisgraph(tls *TLS, _c int32) int32 { /* table.c:1749:1: */ + return X__istype(tls, _c, uint64(0x00000800)) } -func X__islower_l(tls *TLS, c int32, l locale_t) int32 { /* islower.c:9:5: */ - return Xislower(tls, c) +func Xislower(tls *TLS, _c int32) int32 { /* table.c:1755:1: */ + return X__istype(tls, _c, uint64(0x00001000)) } -func Xisprint(tls *TLS, c int32) int32 { /* isprint.c:4:5: */ - return Bool32(uint32(c)-uint32(0x20) < uint32(0x5f)) +func Xisprint(tls *TLS, _c int32) int32 { /* table.c:1761:1: */ + return X__istype(tls, _c, uint64(0x00040000)) } -func X__isprint_l(tls *TLS, c int32, l locale_t) int32 { /* isprint.c:9:5: */ - return Xisprint(tls, c) +func Xispunct(tls *TLS, _c int32) int32 { /* table.c:1767:1: */ + return X__istype(tls, _c, uint64(0x00002000)) } -func Xisupper(tls *TLS, c int32) int32 { /* isupper.c:4:5: */ - return Bool32(uint32(c)-uint32('A') < uint32(26)) +func Xisupper(tls *TLS, _c int32) int32 { /* table.c:1779:1: */ + return X__istype(tls, _c, uint64(0x00008000)) } -func X__isupper_l(tls *TLS, c int32, l locale_t) int32 { /* isupper.c:9:5: */ - return Xisupper(tls, c) +func Xisxdigit(tls *TLS, _c int32) int32 { /* table.c:1786:1: */ + return X__isctype(tls, _c, uint64(0x00010000)) } -func Xisxdigit(tls *TLS, c int32) int32 { /* isxdigit.c:3:5: */ - return Bool32(func() int32 { - if 0 != 0 { - return Xisdigit(tls, c) - } - return Bool32(uint32(c)-uint32('0') < uint32(10)) - }() != 0 || uint32(c)|uint32(32)-uint32('a') < uint32(6)) +func Xtoascii(tls *TLS, _c int32) int32 { /* table.c:1792:1: */ + return _c & 0x7F +} + +func Xdigittoint(tls *TLS, _c int32) int32 { /* table.c:1811:1: */ + return X__maskrune(tls, _c, uint64(0x0F)) +} + +func Xishexnumber(tls *TLS, _c int32) int32 { /* table.c:1817:1: */ + return X__istype(tls, _c, uint64(0x00010000)) +} + +func Xisideogram(tls *TLS, _c int32) int32 { /* table.c:1823:1: */ + return X__istype(tls, _c, uint64(0x00080000)) +} + +func Xisnumber(tls *TLS, _c int32) int32 { /* table.c:1829:1: */ + return X__istype(tls, _c, uint64(0x00000400)) +} + +func Xisphonogram(tls *TLS, _c int32) int32 { /* table.c:1835:1: */ + return X__istype(tls, _c, uint64(0x00200000)) +} + +func Xisrune(tls *TLS, _c int32) int32 { /* table.c:1841:1: */ + return X__istype(tls, _c, uint64(0xFFFFFFF0)) +} + +func Xisspecial(tls *TLS, _c int32) int32 { /* table.c:1847:1: */ + return X__istype(tls, _c, uint64(0x00100000)) +} + +func X__maskrune(tls *TLS, _c int32, _f uint64) int32 { /* table.c:1871:2: */ + return int32(uint32(int32(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_DefaultRuneLocale)) + 60 + uintptr(_c&0xff)*4)))) & uint32(_f)) +} + +func X__toupper(tls *TLS, c int32) int32 { /* table.c:1876:20: */ + return Xtoupper(tls, c) } -func X__isxdigit_l(tls *TLS, c int32, l locale_t) int32 { /* isxdigit.c:8:5: */ - return Xisxdigit(tls, c) +func X__tolower(tls *TLS, c int32) int32 { /* table.c:1878:20: */ + return Xtolower(tls, c) } +var X_DefaultRuneLocale = _RuneLocale{__magic: [8]int8{int8(82), int8(117), int8(110), int8(101), int8(77), int8(97), int8(103), int8(65)}, __encoding: [32]int8{int8(78), int8(79), int8(78), int8(69), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)}, __invalid_rune: 0xfffd, __runetype: [256]uint32{ + uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x24200), uint32(0x4200), uint32(0x4200), uint32(0x4200), uint32(0x4200), uint32(0x200), uint32(0x200), + uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), uint32(0x200), + uint32(0x64000), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), + uint32(0x50c00), uint32(0x50c01), uint32(0x50c02), uint32(0x50c03), uint32(0x50c04), uint32(0x50c05), uint32(0x50c06), uint32(0x50c07), uint32(0x50c08), uint32(0x50c09), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), + uint32(0x42800), uint32(0x5890a), uint32(0x5890b), uint32(0x5890c), uint32(0x5890d), uint32(0x5890e), uint32(0x5890f), uint32(0x48900), uint32(0x48900), uint32(0x48900), uint32(0x48900), uint32(0x48900), uint32(0x48900), uint32(0x48900), uint32(0x48900), uint32(0x48900), + uint32(0x48900), uint32(0x48900), uint32(0x48900), uint32(0x48900), uint32(0x48900), uint32(0x48900), uint32(0x48900), uint32(0x48900), uint32(0x48900), uint32(0x48900), uint32(0x48900), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), + uint32(0x42800), uint32(0x5190a), uint32(0x5190b), uint32(0x5190c), uint32(0x5190d), uint32(0x5190e), uint32(0x5190f), uint32(0x41900), uint32(0x41900), uint32(0x41900), uint32(0x41900), uint32(0x41900), uint32(0x41900), uint32(0x41900), uint32(0x41900), uint32(0x41900), + uint32(0x41900), uint32(0x41900), uint32(0x41900), uint32(0x41900), uint32(0x41900), uint32(0x41900), uint32(0x41900), uint32(0x41900), uint32(0x41900), uint32(0x41900), uint32(0x41900), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x42800), uint32(0x200), + uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), + uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), + uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), + uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), + uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), + uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), + uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), + uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), uint32(0x0), +}, __maplower: [256]int32{ + 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, + 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, + 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, + 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, + 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, + 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, + 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, +}, __mapupper: [256]int32{ + 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, + 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, + 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, + 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, + 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, + 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, + 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, + 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, + 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, +}, +} /* table.c:1879:13 */ + +var X_CurrentRuneLocale uintptr = 0 /* table.c:1940:13 */ + type div_t = struct { quot int32 rem int32 @@ -447,6 +653,8 @@ type lldiv_t = struct { rem int64 } /* stdlib.h:64:41 */ +type locale_t = uintptr /* alltypes.h:351:32 */ + type ssize_t = int64 /* alltypes.h:73:15 */ type intptr_t = int64 /* alltypes.h:78:15 */ @@ -739,6 +947,10 @@ func __DOUBLE_BITS(tls *TLS, __f float64) uint64 { /* math.h:61:36: */ return *(*uint64)(unsafe.Pointer(bp)) } +func __isspace(tls *TLS, _c int32) int32 { /* ctype.h:26:21: */ + return Bool32(_c == ' ' || uint32(_c)-uint32('\t') < uint32(5)) +} + type syscall_arg_t = int64 /* syscall.h:22:14 */ func scanexp(tls *TLS, f uintptr, pok int32) int64 { /* floatscan.c:37:18: */ @@ -1851,6 +2063,49 @@ func X__shgetc(tls *TLS, f uintptr) int32 { /* shgetc.c:19:5: */ return c } +type lconv = struct { + decimal_point uintptr + thousands_sep uintptr + grouping uintptr + int_curr_symbol uintptr + currency_symbol uintptr + mon_decimal_point uintptr + mon_thousands_sep uintptr + mon_grouping uintptr + positive_sign uintptr + negative_sign uintptr + int_frac_digits int8 + frac_digits int8 + p_cs_precedes int8 + p_sep_by_space int8 + n_cs_precedes int8 + n_sep_by_space int8 + p_sign_posn int8 + n_sign_posn int8 + int_p_cs_precedes int8 + int_p_sep_by_space int8 + int_n_cs_precedes int8 + int_n_sep_by_space int8 + int_p_sign_posn int8 + int_n_sign_posn int8 + _ [2]byte +} /* locale.h:24:1 */ + +// Support signed or unsigned plain-char + +// Implementation choices... + +// Arbitrary numbers... + +// POSIX/SUS requirements follow. These numbers come directly +// from SUS and have nothing to do with the host system. + +var posix_lconv = lconv{decimal_point: ts + 23, thousands_sep: ts + 13, grouping: ts + 13, int_curr_symbol: ts + 13, currency_symbol: ts + 13, mon_decimal_point: ts + 13, mon_thousands_sep: ts + 13, mon_grouping: ts + 13, positive_sign: ts + 13, negative_sign: ts + 13, int_frac_digits: Int8FromInt32(255), frac_digits: Int8FromInt32(255), p_cs_precedes: Int8FromInt32(255), p_sep_by_space: Int8FromInt32(255), n_cs_precedes: Int8FromInt32(255), n_sep_by_space: Int8FromInt32(255), p_sign_posn: Int8FromInt32(255), n_sign_posn: Int8FromInt32(255), int_p_cs_precedes: Int8FromInt32(255), int_p_sep_by_space: Int8FromInt32(255), int_n_cs_precedes: Int8FromInt32(255), int_n_sep_by_space: Int8FromInt32(255), int_p_sign_posn: Int8FromInt32(255), int_n_sign_posn: Int8FromInt32(255)} /* localeconv.c:4:27 */ + +func Xlocaleconv(tls *TLS) uintptr { /* localeconv.c:31:14: */ + return uintptr(unsafe.Pointer(&posix_lconv)) +} + func X__fpclassify(tls *TLS, x float64) int32 { /* __fpclassify.c:4:5: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -3064,7 +3319,7 @@ func mkptr4(tls *TLS, s uintptr, ip uintptr) { /* getnameinfo.c:28:13: */ bp := tls.Alloc(32) defer tls.Free(32) - Xsprintf(tls, s, ts+23, + Xsprintf(tls, s, ts+25, VaList(bp, int32(*(*uint8)(unsafe.Pointer(ip + 3))), int32(*(*uint8)(unsafe.Pointer(ip + 2))), int32(*(*uint8)(unsafe.Pointer(ip + 1))), int32(*(*uint8)(unsafe.Pointer(ip))))) } @@ -3076,10 +3331,10 @@ func mkptr6(tls *TLS, s uintptr, ip uintptr) { /* getnameinfo.c:34:13: */ *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i))))>>4] *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = int8('.') } - Xstrcpy(tls, s, ts+48) + Xstrcpy(tls, s, ts+50) } -var _sxdigits = *(*[17]int8)(unsafe.Pointer(ts + 57)) /* getnameinfo.c:36:20 */ +var _sxdigits = *(*[17]int8)(unsafe.Pointer(ts + 59)) /* getnameinfo.c:36:20 */ func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int32) { /* getnameinfo.c:45:13: */ bp := tls.Alloc(556) @@ -3096,13 +3351,13 @@ func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int3 // var iplit address at bp+528, 28 //TODO FILE _f, *f = __fopen_rb_ca("/etc/hosts", &_f, _buf, sizeof _buf); - var f uintptr = Xfopen(tls, ts+74, ts+85) + var f uintptr = Xfopen(tls, ts+76, ts+87) if !(f != 0) { return } if family == 2 { Xmemcpy(tls, bp+uintptr(12), a, uint64(4)) - Xmemcpy(tls, bp, ts+88, uint64(12)) + Xmemcpy(tls, bp, ts+90, uint64(12)) a = bp /* &atmp[0] */ } for Xfgets(tls, bp+16, int32(unsafe.Sizeof([512]int8{})), f) != 0 { @@ -3120,7 +3375,7 @@ func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int3 if (*address)(unsafe.Pointer(bp+528)).family == 2 { Xmemcpy(tls, bp+528+8+uintptr(12), bp+528+8, uint64(4)) - Xmemcpy(tls, bp+528+8, ts+88, uint64(12)) + Xmemcpy(tls, bp+528+8, ts+90, uint64(12)) (*address)(unsafe.Pointer(bp + 528 /* &iplit */)).scopeid = uint32(0) } @@ -3196,7 +3451,7 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc if uint64(sl) < uint64(unsafe.Sizeof(sockaddr_in6{})) { return -6 } - if Xmemcmp(tls, a, ts+88, uint64(12)) != 0 { + if Xmemcmp(tls, a, ts+90, uint64(12)) != 0 { mkptr6(tls, bp, a) } else { mkptr4(tls, bp, a+uintptr(12)) @@ -3336,21 +3591,21 @@ func Xinet_ntop(tls *TLS, af int32, a0 uintptr, s uintptr, l socklen_t) uintptr switch af { case 2: - if socklen_t(Xsnprintf(tls, s, uint64(l), ts+101, VaList(bp, int32(*(*uint8)(unsafe.Pointer(a))), int32(*(*uint8)(unsafe.Pointer(a + 1))), int32(*(*uint8)(unsafe.Pointer(a + 2))), int32(*(*uint8)(unsafe.Pointer(a + 3)))))) < l { + if socklen_t(Xsnprintf(tls, s, uint64(l), ts+103, VaList(bp, int32(*(*uint8)(unsafe.Pointer(a))), int32(*(*uint8)(unsafe.Pointer(a + 1))), int32(*(*uint8)(unsafe.Pointer(a + 2))), int32(*(*uint8)(unsafe.Pointer(a + 3)))))) < l { return s } break case 10: - if Xmemcmp(tls, a, ts+88, uint64(12)) != 0 { + if Xmemcmp(tls, a, ts+90, uint64(12)) != 0 { Xsnprintf(tls, bp+176, uint64(unsafe.Sizeof([100]int8{})), - ts+113, + ts+115, VaList(bp+32, 256*int32(*(*uint8)(unsafe.Pointer(a)))+int32(*(*uint8)(unsafe.Pointer(a + 1))), 256*int32(*(*uint8)(unsafe.Pointer(a + 2)))+int32(*(*uint8)(unsafe.Pointer(a + 3))), 256*int32(*(*uint8)(unsafe.Pointer(a + 4)))+int32(*(*uint8)(unsafe.Pointer(a + 5))), 256*int32(*(*uint8)(unsafe.Pointer(a + 6)))+int32(*(*uint8)(unsafe.Pointer(a + 7))), 256*int32(*(*uint8)(unsafe.Pointer(a + 8)))+int32(*(*uint8)(unsafe.Pointer(a + 9))), 256*int32(*(*uint8)(unsafe.Pointer(a + 10)))+int32(*(*uint8)(unsafe.Pointer(a + 11))), 256*int32(*(*uint8)(unsafe.Pointer(a + 12)))+int32(*(*uint8)(unsafe.Pointer(a + 13))), 256*int32(*(*uint8)(unsafe.Pointer(a + 14)))+int32(*(*uint8)(unsafe.Pointer(a + 15))))) } else { Xsnprintf(tls, bp+176, uint64(unsafe.Sizeof([100]int8{})), - ts+137, + ts+139, VaList(bp+96, 256*int32(*(*uint8)(unsafe.Pointer(a)))+int32(*(*uint8)(unsafe.Pointer(a + 1))), 256*int32(*(*uint8)(unsafe.Pointer(a + 2)))+int32(*(*uint8)(unsafe.Pointer(a + 3))), 256*int32(*(*uint8)(unsafe.Pointer(a + 4)))+int32(*(*uint8)(unsafe.Pointer(a + 5))), 256*int32(*(*uint8)(unsafe.Pointer(a + 6)))+int32(*(*uint8)(unsafe.Pointer(a + 7))), 256*int32(*(*uint8)(unsafe.Pointer(a + 8)))+int32(*(*uint8)(unsafe.Pointer(a + 9))), 256*int32(*(*uint8)(unsafe.Pointer(a + 10)))+int32(*(*uint8)(unsafe.Pointer(a + 11))), @@ -3363,7 +3618,7 @@ func Xinet_ntop(tls *TLS, af int32, a0 uintptr, s uintptr, l socklen_t) uintptr if i != 0 && int32(*(*int8)(unsafe.Pointer(bp + 176 + uintptr(i)))) != ':' { continue } - j = int32(Xstrspn(tls, bp+176+uintptr(i), ts+167)) + j = int32(Xstrspn(tls, bp+176+uintptr(i), ts+169)) if j > max { best = i max = j @@ -3632,7 +3887,7 @@ func name_from_hosts(tls *TLS, buf uintptr, canon uintptr, name uintptr, family //TODO FILE _f, *f = __fopen_rb_ca("/etc/hosts", &_f, _buf, sizeof _buf); var _f FILE _ = _f - var f uintptr = Xfopen(tls, ts+74, ts+85) + var f uintptr = Xfopen(tls, ts+76, ts+87) if !(f != 0) { switch *(*int32)(unsafe.Pointer(X___errno_location(tls))) { case 2: @@ -3755,13 +4010,13 @@ type policy = struct { } /* lookup_name.c:237:14 */ var defpolicy = [6]policy{ - {addr: *(*[16]uint8)(unsafe.Pointer(ts + 170)), len: uint8(15), mask: uint8(0xff), prec: uint8(50)}, - {addr: *(*[16]uint8)(unsafe.Pointer(ts + 187)), len: uint8(11), mask: uint8(0xff), prec: uint8(35), label: uint8(4)}, - {addr: *(*[16]uint8)(unsafe.Pointer(ts + 203)), len: uint8(1), mask: uint8(0xff), prec: uint8(30), label: uint8(2)}, - {addr: *(*[16]uint8)(unsafe.Pointer(ts + 219)), len: uint8(3), mask: uint8(0xff), prec: uint8(5), label: uint8(5)}, - {addr: *(*[16]uint8)(unsafe.Pointer(ts + 235)), mask: uint8(0xfe), prec: uint8(3), label: uint8(13)}, + {addr: *(*[16]uint8)(unsafe.Pointer(ts + 172)), len: uint8(15), mask: uint8(0xff), prec: uint8(50)}, + {addr: *(*[16]uint8)(unsafe.Pointer(ts + 189)), len: uint8(11), mask: uint8(0xff), prec: uint8(35), label: uint8(4)}, + {addr: *(*[16]uint8)(unsafe.Pointer(ts + 205)), len: uint8(1), mask: uint8(0xff), prec: uint8(30), label: uint8(2)}, + {addr: *(*[16]uint8)(unsafe.Pointer(ts + 221)), len: uint8(3), mask: uint8(0xff), prec: uint8(5), label: uint8(5)}, + {addr: *(*[16]uint8)(unsafe.Pointer(ts + 237)), mask: uint8(0xfe), prec: uint8(3), label: uint8(13)}, // Last rule must match all addresses to stop loop. - {addr: *(*[16]uint8)(unsafe.Pointer(ts + 251)), prec: uint8(40), label: uint8(1)}, + {addr: *(*[16]uint8)(unsafe.Pointer(ts + 253)), prec: uint8(40), label: uint8(1)}, } /* lookup_name.c:241:3 */ func policyof(tls *TLS, a uintptr) uintptr { /* lookup_name.c:259:28: */ @@ -3929,10 +4184,10 @@ func X__lookup_name(tls *TLS, buf uintptr, canon uintptr, name uintptr, family i *(*socklen_t)(unsafe.Pointer(bp + 88 /* salen */)) = socklen_t(unsafe.Sizeof(sockaddr_in6{})) } else { Xmemcpy(tls, bp+28+8, - ts+88, uint64(12)) + ts+90, uint64(12)) Xmemcpy(tls, bp+8+uintptr(12), buf+uintptr(i)*28+8, uint64(4)) Xmemcpy(tls, bp+8, - ts+88, uint64(12)) + ts+90, uint64(12)) Xmemcpy(tls, bp+8+uintptr(12), buf+uintptr(i)*28+8, uint64(4)) Xmemcpy(tls, bp+56+4, buf+uintptr(i)*28+8, uint64(4)) da = bp + 56 /* &da4 */ @@ -4160,6 +4415,26 @@ func X__uflow(tls *TLS, f uintptr) int32 { /* __uflow.c:6:5: */ return -1 } +func Xbsearch(tls *TLS, key uintptr, base uintptr, nel size_t, width size_t, cmp uintptr) uintptr { /* bsearch.c:3:6: */ + var try uintptr + var sign int32 + for nel > uint64(0) { + try = base + uintptr(width*(nel/uint64(2))) + sign = (*struct { + f func(*TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{cmp})).f(tls, key, try) + if sign < 0 { + nel = nel / uint64(2) + } else if sign > 0 { + base = try + uintptr(width) + nel = nel - (nel/uint64(2) + uint64(1)) + } else { + return try + } + } + return uintptr(0) +} + func strtox(tls *TLS, s uintptr, p uintptr, prec int32) float64 { /* strtod.c:6:20: */ bp := tls.Alloc(232) defer tls.Free(232) @@ -4361,6 +4636,32 @@ finish: return size_t((int64(d)-int64(d0))/1) + Xstrlen(tls, s) } +func Xstrncasecmp(tls *TLS, _l uintptr, _r uintptr, n size_t) int32 { /* strncasecmp.c:4:5: */ + var l uintptr = _l + var r uintptr = _r + if !(int32(PostDecUint64(&n, 1)) != 0) { + return 0 + } +__1: + if !(*(*uint8)(unsafe.Pointer(l)) != 0 && *(*uint8)(unsafe.Pointer(r)) != 0 && n != 0 && (int32(*(*uint8)(unsafe.Pointer(l))) == int32(*(*uint8)(unsafe.Pointer(r))) || Xtolower(tls, int32(*(*uint8)(unsafe.Pointer(l)))) == Xtolower(tls, int32(*(*uint8)(unsafe.Pointer(r)))))) { + goto __3 + } + goto __2 +__2: + l++ + r++ + n-- + goto __1 + goto __3 +__3: + ; + return Xtolower(tls, int32(*(*uint8)(unsafe.Pointer(l)))) - Xtolower(tls, int32(*(*uint8)(unsafe.Pointer(r)))) +} + +func X__strncasecmp_l(tls *TLS, l uintptr, r uintptr, n size_t, loc locale_t) int32 { /* strncasecmp.c:12:5: */ + return Xstrncasecmp(tls, l, r, n) +} + func Xstrncat(tls *TLS, d uintptr, s uintptr, n size_t) uintptr { /* strncat.c:3:6: */ var a uintptr = d d += uintptr(Xstrlen(tls, d)) @@ -4422,5 +4723,10 @@ func Xstrtok(tls *TLS, s uintptr, sep uintptr) uintptr { /* strtok.c:3:6: */ var _sp uintptr /* strtok.c:5:14: */ -var ts1 = "infinity\x00nan\x00\x00\x00\x01\x02\x04\a\x03\x06\x05\x00%d.%d.%d.%d.in-addr.arpa\x00ip6.arpa\x000123456789abcdef\x00/etc/hosts\x00rb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00%d.%d.%d.%d\x00%x:%x:%x:%x:%x:%x:%x:%x\x00%x:%x:%x:%x:%x:%x:%d.%d.%d.%d\x00:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00 \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +func init() { + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_CurrentRuneLocale)) + 0)) = uintptr(unsafe.Pointer(&X_DefaultRuneLocale)) // table.c:1940:35: + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_CurrentRuneLocale)) + 0)) = uintptr(unsafe.Pointer(&X_DefaultRuneLocale)) // table.c:1940:35: +} + +var ts1 = "infinity\x00nan\x00\x00\x00\x01\x02\x04\a\x03\x06\x05\x00.\x00%d.%d.%d.%d.in-addr.arpa\x00ip6.arpa\x000123456789abcdef\x00/etc/hosts\x00rb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00%d.%d.%d.%d\x00%x:%x:%x:%x:%x:%x:%x:%x\x00%x:%x:%x:%x:%x:%x:%d.%d.%d.%d\x00:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00 \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data |