mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-23 13:52:28 +00:00
Restart CI for New Technology and UBSAN hunting
Continuous Integration (via runit and runitd) is now re-enabled on win7 and win10. The `make test` command, which runs the tests on all systems is now the fastest and most stable it's been since the project started. UBSAN is now enabled in MODE=dbg in addition to ASAN. Many instances of undefined behavior have been removed. Mostly things like passing a NULL argument to memcpy(), which works fine with Cosmopolitan Libc, but that doesn't prevents the compiler from being unhappy. There was an issue w/ GNU make where static analysis claims a sprintf() call can overflow. We also now have nicer looking crash reports on Windows since uname should now be supported and msys64 addr2line works reliably.
This commit is contained in:
parent
d5ff2c3fb9
commit
5e8ae2d5bc
80 changed files with 506 additions and 249 deletions
2
third_party/quickjs/libbf.c
vendored
2
third_party/quickjs/libbf.c
vendored
|
@ -297,7 +297,7 @@ int bf_set(bf_t *r, const bf_t *a)
|
|||
}
|
||||
r->sign = a->sign;
|
||||
r->expn = a->expn;
|
||||
memcpy(r->tab, a->tab, a->len * sizeof(limb_t));
|
||||
if (a->len) memcpy(r->tab, a->tab, a->len * sizeof(limb_t));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
5
third_party/quickjs/qjs.c
vendored
5
third_party/quickjs/qjs.c
vendored
|
@ -24,6 +24,7 @@
|
|||
*/
|
||||
#include "libc/assert.h"
|
||||
#include "libc/calls/weirdtypes.h"
|
||||
#include "libc/dce.h"
|
||||
#include "libc/log/log.h"
|
||||
#include "libc/mem/mem.h"
|
||||
#include "libc/runtime/runtime.h"
|
||||
|
@ -328,6 +329,10 @@ int main(int argc, char **argv)
|
|||
#endif
|
||||
size_t stack_size = 0;
|
||||
|
||||
#if IsModeDbg()
|
||||
ShowCrashReports();
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BIGNUM
|
||||
/* load jscalc runtime if invoked as 'qjscalc' */
|
||||
{
|
||||
|
|
5
third_party/quickjs/qjsc.c
vendored
5
third_party/quickjs/qjsc.c
vendored
|
@ -488,6 +488,11 @@ int main(int argc, char **argv)
|
|||
BOOL bignum_ext = FALSE;
|
||||
#endif
|
||||
namelist_t dynamic_module_list;
|
||||
|
||||
#if IsModeDbg()
|
||||
ShowCrashReports();
|
||||
#endif
|
||||
|
||||
if (argc == 2 && !strcmp(argv[1], "-n")) return 0;
|
||||
out_filename = NULL;
|
||||
output_type = OUTPUT_EXECUTABLE;
|
||||
|
|
2
third_party/quickjs/quickjs.c
vendored
2
third_party/quickjs/quickjs.c
vendored
|
@ -10926,7 +10926,7 @@ typedef struct CodeContext {
|
|||
|
||||
#define M2(op1, op2) ((op1) | ((op2) << 8))
|
||||
#define M3(op1, op2, op3) ((op1) | ((op2) << 8) | ((op3) << 16))
|
||||
#define M4(op1, op2, op3, op4) ((op1) | ((op2) << 8) | ((op3) << 16) | ((op4) << 24))
|
||||
#define M4(op1, op2, op3, op4) ((op1) | ((op2) << 8) | ((op3) << 16) | ((uint32_t)(op4) << 24))
|
||||
|
||||
static BOOL code_match(CodeContext *s, int pos, ...)
|
||||
{
|
||||
|
|
2
third_party/quickjs/run-test262.c
vendored
2
third_party/quickjs/run-test262.c
vendored
|
@ -1950,7 +1950,7 @@ int main(int argc, char **argv)
|
|||
BOOL is_test262_harness = FALSE;
|
||||
BOOL is_module = FALSE;
|
||||
|
||||
showcrashreports();
|
||||
ShowCrashReports();
|
||||
|
||||
#if !defined(_WIN32)
|
||||
/* Date tests assume California local time */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue