aboutsummaryrefslogtreecommitdiff
path: root/internal/mptest
diff options
context:
space:
mode:
authorJan Mercl <0xjnml@gmail.com>2020-08-04 17:15:32 +0200
committerJan Mercl <0xjnml@gmail.com>2020-08-04 17:15:32 +0200
commit43c865ce5d35eb463e4a05f65e8e388364480711 (patch)
treecf07107d933ff0381f6682cad8fb3986f16d3b2f /internal/mptest
parent1349149922b282e74a77c7d51c316d883fba5b89 (diff)
regenerate and update dependencies
Diffstat (limited to 'internal/mptest')
-rw-r--r--internal/mptest/main_linux_amd64.go923
1 files changed, 858 insertions, 65 deletions
diff --git a/internal/mptest/main_linux_amd64.go b/internal/mptest/main_linux_amd64.go
index c281bb7..a4c02ae 100644
--- a/internal/mptest/main_linux_amd64.go
+++ b/internal/mptest/main_linux_amd64.go
@@ -17,6 +17,558 @@ var _ unsafe.Pointer
func main() { crt.Start(main1) }
+// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// ISO C99 Standard: 7.2 Diagnostics <assert.h>
+
+// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// void assert (int expression);
+//
+// If NDEBUG is defined, do nothing.
+// If not, and EXPRESSION is zero, print an error message and abort.
+
+// void assert_perror (int errnum);
+//
+// If NDEBUG is defined, do nothing. If not, and ERRNUM is not zero, print an
+// error message with the error text for ERRNUM and abort.
+// (This is a GNU extension.)
+
+// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// ISO C99 Standard 7.4: Character handling <ctype.h>
+
+// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// These are all the characteristics of characters.
+// If there get to be more than 16 distinct characteristics,
+// many things must be changed that use `unsigned short int's.
+//
+// The characteristics are stored always in network byte order (big
+// endian). We define the bit value interpretations here dependent on the
+// machine's byte order.
+
+// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+const ( /* ctype.h:46:1: */
+ _ISupper = 256 // UPPERCASE.
+ _ISlower = 512 // lowercase.
+ _ISalpha = 1024 // Alphabetic.
+ _ISdigit = 2048 // Numeric.
+ _ISxdigit = 4096 // Hexadecimal numeric.
+ _ISspace = 8192 // Whitespace.
+ _ISprint = 16384 // Printing.
+ _ISgraph = 32768 // Graphical.
+ _ISblank = 1 // Blank (usually SPC and TAB).
+ _IScntrl = 2 // Control character.
+ _ISpunct = 4 // Punctuation.
+ _ISalnum = 8
+)
+
+// Get the `_PC_*' symbols for the NAME argument to `pathconf' and `fpathconf';
+// the `_SC_*' symbols for the NAME argument to `sysconf';
+// and the `_CS_*' symbols for the NAME argument to `confstr'.
+// `sysconf', `pathconf', and `confstr' NAME values. Generic version.
+// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Values for the NAME argument to `pathconf' and `fpathconf'.
+const ( /* confname.h:24:1: */
+ _PC_LINK_MAX = 0
+ _PC_MAX_CANON = 1
+ _PC_MAX_INPUT = 2
+ _PC_NAME_MAX = 3
+ _PC_PATH_MAX = 4
+ _PC_PIPE_BUF = 5
+ _PC_CHOWN_RESTRICTED = 6
+ _PC_NO_TRUNC = 7
+ _PC_VDISABLE = 8
+ _PC_SYNC_IO = 9
+ _PC_ASYNC_IO = 10
+ _PC_PRIO_IO = 11
+ _PC_SOCK_MAXBUF = 12
+ _PC_FILESIZEBITS = 13
+ _PC_REC_INCR_XFER_SIZE = 14
+ _PC_REC_MAX_XFER_SIZE = 15
+ _PC_REC_MIN_XFER_SIZE = 16
+ _PC_REC_XFER_ALIGN = 17
+ _PC_ALLOC_SIZE_MIN = 18
+ _PC_SYMLINK_MAX = 19
+ _PC_2_SYMLINKS = 20
+)
+
+// Values for the NAME argument to `confstr'.
+const ( /* confname.h:533:1: */
+ _CS_PATH = 0 // The default search path.
+
+ _CS_V6_WIDTH_RESTRICTED_ENVS = 1
+
+ _CS_GNU_LIBC_VERSION = 2
+ _CS_GNU_LIBPTHREAD_VERSION = 3
+
+ _CS_V5_WIDTH_RESTRICTED_ENVS = 4
+
+ _CS_V7_WIDTH_RESTRICTED_ENVS = 5
+
+ _CS_LFS_CFLAGS = 1000
+ _CS_LFS_LDFLAGS = 1001
+ _CS_LFS_LIBS = 1002
+ _CS_LFS_LINTFLAGS = 1003
+ _CS_LFS64_CFLAGS = 1004
+ _CS_LFS64_LDFLAGS = 1005
+ _CS_LFS64_LIBS = 1006
+ _CS_LFS64_LINTFLAGS = 1007
+
+ _CS_XBS5_ILP32_OFF32_CFLAGS = 1100
+ _CS_XBS5_ILP32_OFF32_LDFLAGS = 1101
+ _CS_XBS5_ILP32_OFF32_LIBS = 1102
+ _CS_XBS5_ILP32_OFF32_LINTFLAGS = 1103
+ _CS_XBS5_ILP32_OFFBIG_CFLAGS = 1104
+ _CS_XBS5_ILP32_OFFBIG_LDFLAGS = 1105
+ _CS_XBS5_ILP32_OFFBIG_LIBS = 1106
+ _CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 1107
+ _CS_XBS5_LP64_OFF64_CFLAGS = 1108
+ _CS_XBS5_LP64_OFF64_LDFLAGS = 1109
+ _CS_XBS5_LP64_OFF64_LIBS = 1110
+ _CS_XBS5_LP64_OFF64_LINTFLAGS = 1111
+ _CS_XBS5_LPBIG_OFFBIG_CFLAGS = 1112
+ _CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 1113
+ _CS_XBS5_LPBIG_OFFBIG_LIBS = 1114
+ _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 1115
+
+ _CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116
+ _CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 1117
+ _CS_POSIX_V6_ILP32_OFF32_LIBS = 1118
+ _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 1119
+ _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 1120
+ _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 1121
+ _CS_POSIX_V6_ILP32_OFFBIG_LIBS = 1122
+ _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123
+ _CS_POSIX_V6_LP64_OFF64_CFLAGS = 1124
+ _CS_POSIX_V6_LP64_OFF64_LDFLAGS = 1125
+ _CS_POSIX_V6_LP64_OFF64_LIBS = 1126
+ _CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 1127
+ _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 1128
+ _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 1129
+ _CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 1130
+ _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131
+
+ _CS_POSIX_V7_ILP32_OFF32_CFLAGS = 1132
+ _CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 1133
+ _CS_POSIX_V7_ILP32_OFF32_LIBS = 1134
+ _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = 1135
+ _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 1136
+ _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 1137
+ _CS_POSIX_V7_ILP32_OFFBIG_LIBS = 1138
+ _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139
+ _CS_POSIX_V7_LP64_OFF64_CFLAGS = 1140
+ _CS_POSIX_V7_LP64_OFF64_LDFLAGS = 1141
+ _CS_POSIX_V7_LP64_OFF64_LIBS = 1142
+ _CS_POSIX_V7_LP64_OFF64_LINTFLAGS = 1143
+ _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 1144
+ _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 1145
+ _CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 1146
+ _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147
+
+ _CS_V6_ENV = 1148
+ _CS_V7_ENV = 1149
+)
+
+// Values for the argument to `sysconf'.
+const ( /* confname.h:71:1: */
+ _SC_ARG_MAX = 0
+ _SC_CHILD_MAX = 1
+ _SC_CLK_TCK = 2
+ _SC_NGROUPS_MAX = 3
+ _SC_OPEN_MAX = 4
+ _SC_STREAM_MAX = 5
+ _SC_TZNAME_MAX = 6
+ _SC_JOB_CONTROL = 7
+ _SC_SAVED_IDS = 8
+ _SC_REALTIME_SIGNALS = 9
+ _SC_PRIORITY_SCHEDULING = 10
+ _SC_TIMERS = 11
+ _SC_ASYNCHRONOUS_IO = 12
+ _SC_PRIORITIZED_IO = 13
+ _SC_SYNCHRONIZED_IO = 14
+ _SC_FSYNC = 15
+ _SC_MAPPED_FILES = 16
+ _SC_MEMLOCK = 17
+ _SC_MEMLOCK_RANGE = 18
+ _SC_MEMORY_PROTECTION = 19
+ _SC_MESSAGE_PASSING = 20
+ _SC_SEMAPHORES = 21
+ _SC_SHARED_MEMORY_OBJECTS = 22
+ _SC_AIO_LISTIO_MAX = 23
+ _SC_AIO_MAX = 24
+ _SC_AIO_PRIO_DELTA_MAX = 25
+ _SC_DELAYTIMER_MAX = 26
+ _SC_MQ_OPEN_MAX = 27
+ _SC_MQ_PRIO_MAX = 28
+ _SC_VERSION = 29
+ _SC_PAGESIZE = 30
+ _SC_RTSIG_MAX = 31
+ _SC_SEM_NSEMS_MAX = 32
+ _SC_SEM_VALUE_MAX = 33
+ _SC_SIGQUEUE_MAX = 34
+ _SC_TIMER_MAX = 35
+
+ // Values for the argument to `sysconf'
+ // corresponding to _POSIX2_* symbols.
+ _SC_BC_BASE_MAX = 36
+ _SC_BC_DIM_MAX = 37
+ _SC_BC_SCALE_MAX = 38
+ _SC_BC_STRING_MAX = 39
+ _SC_COLL_WEIGHTS_MAX = 40
+ _SC_EQUIV_CLASS_MAX = 41
+ _SC_EXPR_NEST_MAX = 42
+ _SC_LINE_MAX = 43
+ _SC_RE_DUP_MAX = 44
+ _SC_CHARCLASS_NAME_MAX = 45
+
+ _SC_2_VERSION = 46
+ _SC_2_C_BIND = 47
+ _SC_2_C_DEV = 48
+ _SC_2_FORT_DEV = 49
+ _SC_2_FORT_RUN = 50
+ _SC_2_SW_DEV = 51
+ _SC_2_LOCALEDEF = 52
+
+ _SC_PII = 53
+ _SC_PII_XTI = 54
+ _SC_PII_SOCKET = 55
+ _SC_PII_INTERNET = 56
+ _SC_PII_OSI = 57
+ _SC_POLL = 58
+ _SC_SELECT = 59
+ _SC_UIO_MAXIOV = 60
+ _SC_IOV_MAX = 60
+ _SC_PII_INTERNET_STREAM = 61
+ _SC_PII_INTERNET_DGRAM = 62
+ _SC_PII_OSI_COTS = 63
+ _SC_PII_OSI_CLTS = 64
+ _SC_PII_OSI_M = 65
+ _SC_T_IOV_MAX = 66
+
+ // Values according to POSIX 1003.1c (POSIX threads).
+ _SC_THREADS = 67
+ _SC_THREAD_SAFE_FUNCTIONS = 68
+ _SC_GETGR_R_SIZE_MAX = 69
+ _SC_GETPW_R_SIZE_MAX = 70
+ _SC_LOGIN_NAME_MAX = 71
+ _SC_TTY_NAME_MAX = 72
+ _SC_THREAD_DESTRUCTOR_ITERATIONS = 73
+ _SC_THREAD_KEYS_MAX = 74
+ _SC_THREAD_STACK_MIN = 75
+ _SC_THREAD_THREADS_MAX = 76
+ _SC_THREAD_ATTR_STACKADDR = 77
+ _SC_THREAD_ATTR_STACKSIZE = 78
+ _SC_THREAD_PRIORITY_SCHEDULING = 79
+ _SC_THREAD_PRIO_INHERIT = 80
+ _SC_THREAD_PRIO_PROTECT = 81
+ _SC_THREAD_PROCESS_SHARED = 82
+
+ _SC_NPROCESSORS_CONF = 83
+ _SC_NPROCESSORS_ONLN = 84
+ _SC_PHYS_PAGES = 85
+ _SC_AVPHYS_PAGES = 86
+ _SC_ATEXIT_MAX = 87
+ _SC_PASS_MAX = 88
+
+ _SC_XOPEN_VERSION = 89
+ _SC_XOPEN_XCU_VERSION = 90
+ _SC_XOPEN_UNIX = 91
+ _SC_XOPEN_CRYPT = 92
+ _SC_XOPEN_ENH_I18N = 93
+ _SC_XOPEN_SHM = 94
+
+ _SC_2_CHAR_TERM = 95
+ _SC_2_C_VERSION = 96
+ _SC_2_UPE = 97
+
+ _SC_XOPEN_XPG2 = 98
+ _SC_XOPEN_XPG3 = 99
+ _SC_XOPEN_XPG4 = 100
+
+ _SC_CHAR_BIT = 101
+ _SC_CHAR_MAX = 102
+ _SC_CHAR_MIN = 103
+ _SC_INT_MAX = 104
+ _SC_INT_MIN = 105
+ _SC_LONG_BIT = 106
+ _SC_WORD_BIT = 107
+ _SC_MB_LEN_MAX = 108
+ _SC_NZERO = 109
+ _SC_SSIZE_MAX = 110
+ _SC_SCHAR_MAX = 111
+ _SC_SCHAR_MIN = 112
+ _SC_SHRT_MAX = 113
+ _SC_SHRT_MIN = 114
+ _SC_UCHAR_MAX = 115
+ _SC_UINT_MAX = 116
+ _SC_ULONG_MAX = 117
+ _SC_USHRT_MAX = 118
+
+ _SC_NL_ARGMAX = 119
+ _SC_NL_LANGMAX = 120
+ _SC_NL_MSGMAX = 121
+ _SC_NL_NMAX = 122
+ _SC_NL_SETMAX = 123
+ _SC_NL_TEXTMAX = 124
+
+ _SC_XBS5_ILP32_OFF32 = 125
+ _SC_XBS5_ILP32_OFFBIG = 126
+ _SC_XBS5_LP64_OFF64 = 127
+ _SC_XBS5_LPBIG_OFFBIG = 128
+
+ _SC_XOPEN_LEGACY = 129
+ _SC_XOPEN_REALTIME = 130
+ _SC_XOPEN_REALTIME_THREADS = 131
+
+ _SC_ADVISORY_INFO = 132
+ _SC_BARRIERS = 133
+ _SC_BASE = 134
+ _SC_C_LANG_SUPPORT = 135
+ _SC_C_LANG_SUPPORT_R = 136
+ _SC_CLOCK_SELECTION = 137
+ _SC_CPUTIME = 138
+ _SC_THREAD_CPUTIME = 139
+ _SC_DEVICE_IO = 140
+ _SC_DEVICE_SPECIFIC = 141
+ _SC_DEVICE_SPECIFIC_R = 142
+ _SC_FD_MGMT = 143
+ _SC_FIFO = 144
+ _SC_PIPE = 145
+ _SC_FILE_ATTRIBUTES = 146
+ _SC_FILE_LOCKING = 147
+ _SC_FILE_SYSTEM = 148
+ _SC_MONOTONIC_CLOCK = 149
+ _SC_MULTI_PROCESS = 150
+ _SC_SINGLE_PROCESS = 151
+ _SC_NETWORKING = 152
+ _SC_READER_WRITER_LOCKS = 153
+ _SC_SPIN_LOCKS = 154
+ _SC_REGEXP = 155
+ _SC_REGEX_VERSION = 156
+ _SC_SHELL = 157
+ _SC_SIGNALS = 158
+ _SC_SPAWN = 159
+ _SC_SPORADIC_SERVER = 160
+ _SC_THREAD_SPORADIC_SERVER = 161
+ _SC_SYSTEM_DATABASE = 162
+ _SC_SYSTEM_DATABASE_R = 163
+ _SC_TIMEOUTS = 164
+ _SC_TYPED_MEMORY_OBJECTS = 165
+ _SC_USER_GROUPS = 166
+ _SC_USER_GROUPS_R = 167
+ _SC_2_PBS = 168
+ _SC_2_PBS_ACCOUNTING = 169
+ _SC_2_PBS_LOCATE = 170
+ _SC_2_PBS_MESSAGE = 171
+ _SC_2_PBS_TRACK = 172
+ _SC_SYMLOOP_MAX = 173
+ _SC_STREAMS = 174
+ _SC_2_PBS_CHECKPOINT = 175
+
+ _SC_V6_ILP32_OFF32 = 176
+ _SC_V6_ILP32_OFFBIG = 177
+ _SC_V6_LP64_OFF64 = 178
+ _SC_V6_LPBIG_OFFBIG = 179
+
+ _SC_HOST_NAME_MAX = 180
+ _SC_TRACE = 181
+ _SC_TRACE_EVENT_FILTER = 182
+ _SC_TRACE_INHERIT = 183
+ _SC_TRACE_LOG = 184
+
+ _SC_LEVEL1_ICACHE_SIZE = 185
+ _SC_LEVEL1_ICACHE_ASSOC = 186
+ _SC_LEVEL1_ICACHE_LINESIZE = 187
+ _SC_LEVEL1_DCACHE_SIZE = 188
+ _SC_LEVEL1_DCACHE_ASSOC = 189
+ _SC_LEVEL1_DCACHE_LINESIZE = 190
+ _SC_LEVEL2_CACHE_SIZE = 191
+ _SC_LEVEL2_CACHE_ASSOC = 192
+ _SC_LEVEL2_CACHE_LINESIZE = 193
+ _SC_LEVEL3_CACHE_SIZE = 194
+ _SC_LEVEL3_CACHE_ASSOC = 195
+ _SC_LEVEL3_CACHE_LINESIZE = 196
+ _SC_LEVEL4_CACHE_SIZE = 197
+ _SC_LEVEL4_CACHE_ASSOC = 198
+ _SC_LEVEL4_CACHE_LINESIZE = 199
+ // Leave room here, maybe we need a few more cache levels some day.
+
+ _SC_IPV6 = 235
+ _SC_RAW_SOCKETS = 236
+
+ _SC_V7_ILP32_OFF32 = 237
+ _SC_V7_ILP32_OFFBIG = 238
+ _SC_V7_LP64_OFF64 = 239
+ _SC_V7_LPBIG_OFFBIG = 240
+
+ _SC_SS_REPL_MAX = 241
+
+ _SC_TRACE_EVENT_NAME_MAX = 242
+ _SC_TRACE_NAME_MAX = 243
+ _SC_TRACE_SYS_MAX = 244
+ _SC_TRACE_USER_EVENT_MAX = 245
+
+ _SC_XOPEN_STREAMS = 246
+
+ _SC_THREAD_ROBUST_PRIO_INHERIT = 247
+ _SC_THREAD_ROBUST_PRIO_PROTECT = 248
+)
+
+// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
+// are already defined.
+// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
+// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
+
+// A null pointer constant.
+
+// XPG requires a few symbols from <sys/wait.h> being defined.
+// Definitions of flag bits for `waitpid' et al.
+// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Bits in the third argument to `waitpid'.
+
+// Bits in the fourth argument to `waitid'.
+
+// The following values are used by the `waitid' function.
+
+// The Linux kernel defines these bare, rather than an enum,
+// which causes a conflict if the include order is reversed.
+
+const ( /* waitflags.h:52:1: */
+ P_ALL = 0 // Wait for any child.
+ P_PID = 1 // Wait for specified process.
+ P_PGID = 2
+)
+
type ptrdiff_t = int64 /* <builtin>:3:26 */
type size_t = uint64 /* <builtin>:9:23 */
@@ -2111,6 +2663,37 @@ type _G_fpos_t = struct {
}
}
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// The tag name of this struct is _G_fpos64_t to preserve historic
+// C++ mangled names for functions taking fpos_t and/or fpos64_t
+// arguments. That name should not be used in new code.
+type _G_fpos64_t = struct {
+ __pos int64
+ __state struct {
+ __count int32
+ __value struct{ __wch uint32 }
+ }
+}
+
type _IO_FILE = struct {
_flags int32
_IO_read_ptr uintptr
@@ -3012,6 +3595,64 @@ type register_t = int32 /* types.h:169:13 */
// A set of signals to be blocked, unblocked, or waited for.
type sigset_t = struct{ __val [16]uint64 } /* sigset_t.h:7:20 */
+// Get definition of timer specification structures.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// A time value that is accurate to the nearest
+// microsecond but also has a range of years.
+type timeval = struct {
+ tv_sec int64
+ tv_usec int64
+}
+
+// NB: Include guard matches what <linux/time.h> uses.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// POSIX.1b structure for a time value. This is like a `struct timeval' but
+// has nanoseconds instead of microseconds.
+type timespec = struct {
+ tv_sec int64
+ tv_nsec int64
+}
+
type suseconds_t = int64 /* select.h:43:23 */
// Some versions of <linux/posix_types.h> define this macros.
@@ -3032,7 +3673,174 @@ type blksize_t = int64 /* types.h:202:21 */
// Types from the Large File Support interface.
type blkcnt_t = int64 /* types.h:209:20 */ // Type to count number of disk blocks.
type fsblkcnt_t = uint64 /* types.h:213:22 */ // Type to count file system blocks.
-type fsfilcnt_t = uint64 /* types.h:217:22 */
+type fsfilcnt_t = uint64 /* types.h:217:22 */ // Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// Also, the following macros must be define for internal pthread_mutex_t
+// struct definitions (struct __pthread_mutex_s):
+//
+// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
+// and before '__spin' (for 64 bits) or
+// '__nusers' (for 32 bits).
+// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
+// the internal structure.
+// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
+// elision or 0 otherwise.
+// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
+// preferred value for new architectures
+// is 0.
+// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
+// __list will be place inside a union for
+// linuxthreads compatibility.
+// The preferred value for new architectures
+// is 0.
+//
+// For a new port the preferred values for the required defines are:
+//
+// #define __PTHREAD_COMPAT_PADDING_MID
+// #define __PTHREAD_COMPAT_PADDING_END
+// #define __PTHREAD_MUTEX_LOCK_ELISION 0
+// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
+// #define __PTHREAD_MUTEX_USE_UNION 0
+//
+// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
+// eventually support lock elision using transactional memory.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+//
+// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
+// must be defined.
+//
+// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Both x86-64 and x32 use the 64-bit system call interface.
+
+// Definitions for internal mutex struct.
+
+type __pthread_rwlock_arch_t = struct {
+ __readers uint32
+ __writers uint32
+ __wrphase_futex uint32
+ __writers_futex uint32
+ __pad3 uint32
+ __pad4 uint32
+ __cur_writer int32
+ __shared int32
+ __rwelision int8
+ __pad1 [7]uint8
+ __pad2 uint64
+ __flags uint32
+ _ [4]byte
+}
+
+// Common definition of pthread_mutex_t.
+
+type __pthread_internal_list = struct {
+ __prev uintptr
+ __next uintptr
+}
+
+// Lock elision support.
+
+type __pthread_mutex_s = struct {
+ __lock int32
+ __count uint32
+ __owner int32
+ __nusers uint32
+ __kind int32
+ __spins int16
+ __elision int16
+ __list struct {
+ __prev uintptr
+ __next uintptr
+ }
+}
+
+// Common definition of pthread_cond_t.
+
+type __pthread_cond_s = struct {
+ __0 struct{ __wseq uint64 }
+ __8 struct{ __g1_start uint64 }
+ __g_refs [2]uint32
+ __g_size [2]uint32
+ __g1_orig_size uint32
+ __wrefs uint32
+ __g_signals [2]uint32
+}
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -3065,53 +3873,13 @@ type pthread_attr_t1 = struct {
type pthread_attr_t = pthread_attr_t1 /* pthreadtypes.h:62:30 */
-type pthread_mutex_t = struct {
- __data struct {
- __lock int32
- __count uint32
- __owner int32
- __nusers uint32
- __kind int32
- __spins int16
- __elision int16
- __list struct {
- __prev uintptr
- __next uintptr
- }
- }
-} /* pthreadtypes.h:72:3 */
-
-type pthread_cond_t = struct {
- __data struct {
- __0 struct{ __wseq uint64 }
- __8 struct{ __g1_start uint64 }
- __g_refs [2]uint32
- __g_size [2]uint32
- __g1_orig_size uint32
- __wrefs uint32
- __g_signals [2]uint32
- }
-} /* pthreadtypes.h:80:3 */
+type pthread_mutex_t = struct{ __data __pthread_mutex_s } /* pthreadtypes.h:72:3 */
+
+type pthread_cond_t = struct{ __data __pthread_cond_s } /* pthreadtypes.h:80:3 */
// Data structure for reader-writer lock variable handling. The
// structure of the attribute type is deliberately not exposed.
-type pthread_rwlock_t = struct {
- __data struct {
- __readers uint32
- __writers uint32
- __wrphase_futex uint32
- __writers_futex uint32
- __pad3 uint32
- __pad4 uint32
- __cur_writer int32
- __shared int32
- __rwelision int8
- __pad1 [7]uint8
- __pad2 uint64
- __flags uint32
- _ [4]byte
- }
-} /* pthreadtypes.h:91:3 */
+type pthread_rwlock_t = struct{ __data __pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type pthread_rwlockattr_t = struct {
_ [0]uint64
@@ -3133,6 +3901,31 @@ type pthread_barrierattr_t = struct {
__size [4]int8
} /* pthreadtypes.h:118:3 */
+// Reentrant versions of the `random' family of functions.
+// These functions all use the following data structure to contain
+// state, rather than global state variables.
+
+type random_data = struct {
+ fptr uintptr
+ rptr uintptr
+ state uintptr
+ rand_type int32
+ rand_deg int32
+ rand_sep int32
+ end_ptr uintptr
+}
+
+// Data structure for communication with thread safe versions. This
+// type is to be regarded as opaque. It's only exported because users
+// have to allocate objects of this type.
+type drand48_data = struct {
+ __x [3]uint16
+ __old_x [3]uint16
+ __c uint16
+ __init uint16
+ __a uint64
+}
+
// POSIX.1-2008 extended locale interface (see locale.h).
// Definition of locale_t.
// Copyright (C) 2017-2018 Free Software Foundation, Inc.
@@ -3346,14 +4139,14 @@ func strglob(tls *crt.TLS, zGlob uintptr, z uintptr) int32 { /* mptest.c:136:5:
return 0
}
} else if c == '#' {
- if ((int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '-') || (int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '+')) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(1))))))*2))) & int32(uint16(2048))) != 0) {
+ if ((int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '-') || (int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '+')) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(1))))))*2))) & int32(_ISdigit)) != 0) {
z++
}
- if !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(0))))))*2))) & int32(uint16(2048))) != 0) {
+ if !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(0))))))*2))) & int32(_ISdigit)) != 0) {
return 0
}
z++
- for (int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(0))))))*2))) & int32(uint16(2048))) != 0 {
+ for (int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(0))))))*2))) & int32(_ISdigit)) != 0 {
z++
}
} else {
@@ -3459,7 +4252,7 @@ func logMessage(tls *crt.TLS, zFormat uintptr, va uintptr) { /* mptest.c:276:13:
// Return the length of a string omitting trailing whitespace
func clipLength(tls *crt.TLS, z uintptr) int32 { /* mptest.c:294:12: */
var n int32 = int32(crt.Xstrlen(tls, z))
- for (n > 0) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n - 1)))))))*2))) & int32(uint16(8192))) != 0) {
+ for (n > 0) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n - 1)))))))*2))) & int32(_ISspace)) != 0) {
n--
}
return n
@@ -3638,7 +4431,7 @@ func stringAppendTerm(tls *crt.TLS, p uintptr, z uintptr) { /* mptest.c:444:13:
stringAppend(tls, p, ts+145 /* "nil" */, 3)
return
}
- for i = 0; (*(*int8)(unsafe.Pointer(z + uintptr(i))) != 0) && !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))))*2))) & int32(uint16(8192))) != 0); i++ {
+ for i = 0; (*(*int8)(unsafe.Pointer(z + uintptr(i))) != 0) && !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))))*2))) & int32(_ISspace)) != 0); i++ {
}
if (i > 0) && (int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == 0) {
stringAppend(tls, p, z, i)
@@ -3882,7 +4675,7 @@ func readFile(tls *crt.TLS, zFilename uintptr) uintptr { /* mptest.c:684:13: */
// Return the length of the next token.
func tokenLength(tls *crt.TLS, z uintptr, pnLine uintptr) int32 { /* mptest.c:704:12: */
var n int32 = 0
- if ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(0))))))*2))) & int32(uint16(8192))) != 0) || ((int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '/') && (int32(*(*int8)(unsafe.Pointer(z + uintptr(1)))) == '*')) {
+ if ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(0))))))*2))) & int32(_ISspace)) != 0) || ((int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '/') && (int32(*(*int8)(unsafe.Pointer(z + uintptr(1)))) == '*')) {
var inC int32 = 0
var c int32
if int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '/' {
@@ -3893,7 +4686,7 @@ func tokenLength(tls *crt.TLS, z uintptr, pnLine uintptr) int32 { /* mptest.c:70
if c == '\n' {
(*(*int32)(unsafe.Pointer(pnLine)))++
}
- if (int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(c)))*2))) & int32(uint16(8192))) != 0 {
+ if (int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(c)))*2))) & int32(_ISspace)) != 0 {
continue
}
if ((inC != 0) && (c == '*')) && (int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == '/') {
@@ -3929,7 +4722,7 @@ func tokenLength(tls *crt.TLS, z uintptr, pnLine uintptr) int32 { /* mptest.c:70
}
} else {
var c int32
- for n = 1; (((((crt.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))))) != 0) && !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(c)))*2))) & int32(uint16(8192))) != 0)) && (c != '"')) && (c != '\'')) && (c != ';'); n++ {
+ for n = 1; (((((crt.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))))) != 0) && !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(c)))*2))) & int32(_ISspace)) != 0)) && (c != '"')) && (c != '\'')) && (c != ';'); n++ {
}
}
return n
@@ -3942,7 +4735,7 @@ func extractToken(tls *crt.TLS, zIn uintptr, nIn int32, zOut uintptr, nOut int32
*(*int8)(unsafe.Pointer(zOut + uintptr(0))) = int8(0)
return 0
}
- for i = 0; ((i < nIn) && (i < (nOut - 1))) && !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zIn + uintptr(i))))))*2))) & int32(uint16(8192))) != 0); i++ {
+ for i = 0; ((i < nIn) && (i < (nOut - 1))) && !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zIn + uintptr(i))))))*2))) & int32(_ISspace)) != 0); i++ {
*(*int8)(unsafe.Pointer(zOut + uintptr(i))) = *(*int8)(unsafe.Pointer(zIn + uintptr(i)))
}
*(*int8)(unsafe.Pointer(zOut + uintptr(i))) = int8(0)
@@ -3952,7 +4745,7 @@ func extractToken(tls *crt.TLS, zIn uintptr, nIn int32, zOut uintptr, nOut int32
// Find the number of characters up to the start of the next "--end" token.
func findEnd(tls *crt.TLS, z uintptr, pnLine uintptr) int32 { /* mptest.c:763:12: */
var n int32 = 0
- for (*(*int8)(unsafe.Pointer(z + uintptr(n))) != 0) && ((crt.Xstrncmp(tls, (z+uintptr(n)), ts+896 /* "--end" */, uint64(5)) != 0) || !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n + 5)))))))*2))) & int32(uint16(8192))) != 0)) {
+ for (*(*int8)(unsafe.Pointer(z + uintptr(n))) != 0) && ((crt.Xstrncmp(tls, (z+uintptr(n)), ts+896 /* "--end" */, uint64(5)) != 0) || !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n + 5)))))))*2))) & int32(_ISspace)) != 0)) {
n = n + (tokenLength(tls, (z + uintptr(n)), pnLine))
}
return n
@@ -3965,11 +4758,11 @@ func findEndif(tls *crt.TLS, z uintptr, stopAtElse int32, pnLine uintptr) int32
var n int32 = 0
for *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 {
var len int32 = tokenLength(tls, (z + uintptr(n)), pnLine)
- if ((crt.Xstrncmp(tls, (z+uintptr(n)), ts+902 /* "--endif" */, uint64(7)) == 0) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n + 7)))))))*2))) & int32(uint16(8192))) != 0)) ||
- (((stopAtElse != 0) && (crt.Xstrncmp(tls, (z+uintptr(n)), ts+910 /* "--else" */, uint64(6)) == 0)) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n + 6)))))))*2))) & int32(uint16(8192))) != 0)) {
+ if ((crt.Xstrncmp(tls, (z+uintptr(n)), ts+902 /* "--endif" */, uint64(7)) == 0) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n + 7)))))))*2))) & int32(_ISspace)) != 0)) ||
+ (((stopAtElse != 0) && (crt.Xstrncmp(tls, (z+uintptr(n)), ts+910 /* "--else" */, uint64(6)) == 0)) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n + 6)))))))*2))) & int32(_ISspace)) != 0)) {
return (n + len)
}
- if (crt.Xstrncmp(tls, (z+uintptr(n)), ts+917 /* "--if" */, uint64(4)) == 0) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n + 4)))))))*2))) & int32(uint16(8192))) != 0) {
+ if (crt.Xstrncmp(tls, (z+uintptr(n)), ts+917 /* "--if" */, uint64(4)) == 0) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n + 4)))))))*2))) & int32(_ISspace)) != 0) {
var skip int32 = findEndif(tls, ((z + uintptr(n)) + uintptr(len)), 0, pnLine)
n = n + (skip + len)
} else {
@@ -4088,11 +4881,11 @@ func runScript(tls *crt.TLS, iClient int32, taskId int32, zScript uintptr, zFile
for (crt.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(zScript + uintptr(ii)))))) != 0 {
prevLine = *(*int32)(unsafe.Pointer(bp + 376 /* lineno */))
len = tokenLength(tls, (zScript + uintptr(ii)), bp+376 /* &lineno */)
- if ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(c)))*2))) & int32(uint16(8192))) != 0) || ((c == '/') && (int32(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + 1))))) == '*')) {
+ if ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(c)))*2))) & int32(_ISspace)) != 0) || ((c == '/') && (int32(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + 1))))) == '*')) {
ii = ii + (len)
continue
}
- if ((c != '-') || (int32(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + 1))))) != '-')) || !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + 2))))))*2))) & int32(uint16(1024))) != 0) {
+ if ((c != '-') || (int32(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + 1))))) != '-')) || !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + 2))))))*2))) & int32(_ISalpha)) != 0) {
ii = ii + (len)
continue
}
@@ -4111,7 +4904,7 @@ func runScript(tls *crt.TLS, iClient int32, taskId int32, zScript uintptr, zFile
}
n = extractToken(tls, ((zScript + uintptr(ii)) + uintptr(2)), (len - 2), bp+380 /* &zCmd[0] */, int32(unsafe.Sizeof([30]int8{})))
for nArg = 0; (n < (len - 2)) && (nArg < 2); nArg++ {
- for (n < (len - 2)) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr(((ii + 2) + n)))))))*2))) & int32(uint16(8192))) != 0) {
+ for (n < (len - 2)) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr(((ii + 2) + n)))))))*2))) & int32(_ISspace)) != 0) {
n++
}
if n >= (len - 2) {
@@ -4176,7 +4969,7 @@ func runScript(tls *crt.TLS, iClient int32, taskId int32, zScript uintptr, zFile
if crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1240 /* "match" */) == 0 {
var jj int32
var zAns uintptr = (zScript + uintptr(ii))
- for jj = 7; (jj < (len - 1)) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zAns + uintptr(jj))))))*2))) & int32(uint16(8192))) != 0); jj++ {
+ for jj = 7; (jj < (len - 1)) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zAns + uintptr(jj))))))*2))) & int32(_ISspace)) != 0); jj++ {
}
zAns += uintptr(jj)
if (((len - jj) - 1) != (*String)(unsafe.Pointer(bp+360 /* &sResult */)).n) || (crt.Xstrncmp(tls, (*String)(unsafe.Pointer(bp+360 /* &sResult */)).z, zAns, (uint64((len-jj)-1))) != 0) {
@@ -4197,7 +4990,7 @@ func runScript(tls *crt.TLS, iClient int32, taskId int32, zScript uintptr, zFile
var zAns uintptr = (zScript + uintptr(ii))
var zCopy uintptr
var isGlob int32 = (crt.Bool32(int32(*(*int8)(unsafe.Pointer(bp + 380 /* &zCmd[0] */ + uintptr(0)))) == 'g'))
- for jj = (9 - (3 * isGlob)); (jj < (len - 1)) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zAns + uintptr(jj))))))*2))) & int32(uint16(8192))) != 0); jj++ {
+ for jj = (9 - (3 * isGlob)); (jj < (len - 1)) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zAns + uintptr(jj))))))*2))) & int32(_ISspace)) != 0); jj++ {
}
zAns += uintptr(jj)
zCopy = sqlite3.Xsqlite3_mprintf(tls, ts+1202 /* "%.*s" */, crt.VaList(bp+88, ((len-jj)-1), zAns))
@@ -4250,7 +5043,7 @@ func runScript(tls *crt.TLS, iClient int32, taskId int32, zScript uintptr, zFile
// Output the remainder of the line to the log file
if crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1405 /* "print" */) == 0 {
var jj int32
- for jj = 7; (jj < len) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + jj)))))))*2))) & int32(uint16(8192))) != 0); jj++ {
+ for jj = 7; (jj < len) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + jj)))))))*2))) & int32(_ISspace)) != 0); jj++ {
}
logMessage(tls, ts+1202 /* "%.*s" */, crt.VaList(bp+184, (len-jj), ((zScript+uintptr(ii))+uintptr(jj))))
} else
@@ -4262,7 +5055,7 @@ func runScript(tls *crt.TLS, iClient int32, taskId int32, zScript uintptr, zFile
var jj int32
var rc int32
var pStmt uintptr
- for jj = 4; (jj < len) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + jj)))))))*2))) & int32(uint16(8192))) != 0); jj++ {
+ for jj = 4; (jj < len) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + jj)))))))*2))) & int32(_ISspace)) != 0); jj++ {
}
pStmt = prepareSql(tls, ts+1414 /* "SELECT %.*s" */, crt.VaList(bp+200, (len-jj), ((zScript+uintptr(ii))+uintptr(jj))))
rc = sqlite3.Xsqlite3_step(tls, pStmt)