mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-26 22:38:30 +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
8
third_party/chibicc/as.c
vendored
8
third_party/chibicc/as.c
vendored
|
@ -1255,7 +1255,7 @@ static void EmitData(struct As *a, const void *p, uint128_t n) {
|
|||
struct Slice *s;
|
||||
s = &a->sections.p[a->section].binary;
|
||||
s->p = realloc(s->p, s->n + n);
|
||||
memcpy(s->p + s->n, p, n);
|
||||
if (n) memcpy(s->p + s->n, p, n);
|
||||
s->n += n;
|
||||
}
|
||||
|
||||
|
@ -3910,8 +3910,10 @@ static void Objectify(struct As *a, int path) {
|
|||
Fail(a, "unsupported relocation type");
|
||||
}
|
||||
}
|
||||
memcpy(elfwriter_reserve(elf, a->sections.p[i].binary.n),
|
||||
a->sections.p[i].binary.p, a->sections.p[i].binary.n);
|
||||
if (a->sections.p[i].binary.n) {
|
||||
memcpy(elfwriter_reserve(elf, a->sections.p[i].binary.n),
|
||||
a->sections.p[i].binary.p, a->sections.p[i].binary.n);
|
||||
}
|
||||
elfwriter_commit(elf, a->sections.p[i].binary.n);
|
||||
elfwriter_finishsection(elf);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue