mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-27 14:58:30 +00:00
Fix bugs and make improvements
- Get clone() working on FreeBSD - Increase some Python build quotas - Add more atomic builtins to chibicc - Fix ASAN poisoning of alloca() memory - Make MODE= mandatory link path tinier - Improve the examples folder a little bit - Start working on some more resource limits - Make the linenoise auto-complete UI as good as GNU readline - Update compile.com, avoiding AVX codegen on non-AVX systems - Make sure empty path to syscalls like opendir raises ENOENT - Correctly polyfill ENOENT vs. ENOTDIR on the New Technology - Port bestline's paredit features to //third_party/linenoise - Remove workarounds for RHEL 5.0 bugs that were fixed in 5.1
This commit is contained in:
parent
c3fb624647
commit
ae638c0850
181 changed files with 2994 additions and 1367 deletions
|
@ -76,16 +76,10 @@ static noasan bool ExtendMemoryIntervals(struct MemoryIntervals *mm) {
|
|||
if (IsAsan()) {
|
||||
shad = (char *)(((intptr_t)base >> 3) + 0x7fff8000);
|
||||
dm = sys_mmap(shad, gran >> 3, prot, flags, -1, 0);
|
||||
if (!dm.addr) {
|
||||
STRACE("ExtendMemoryIntervals() fail #1");
|
||||
return false;
|
||||
}
|
||||
if (!dm.addr) return false;
|
||||
}
|
||||
dm = sys_mmap(base, gran, prot, flags, -1, 0);
|
||||
if (!dm.addr) {
|
||||
STRACE("ExtendMemoryIntervals() fail #2");
|
||||
return false;
|
||||
}
|
||||
if (!dm.addr) return false;
|
||||
MoveMemoryIntervals(dm.addr, mm->p, mm->i);
|
||||
mm->p = dm.addr;
|
||||
mm->n = gran / sizeof(*mm->p);
|
||||
|
@ -95,16 +89,10 @@ static noasan bool ExtendMemoryIntervals(struct MemoryIntervals *mm) {
|
|||
if (IsAsan()) {
|
||||
shad = (char *)(((intptr_t)base >> 3) + 0x7fff8000);
|
||||
dm = sys_mmap(shad, gran >> 3, prot, flags, -1, 0);
|
||||
if (!dm.addr) {
|
||||
STRACE("ExtendMemoryIntervals() fail #3");
|
||||
return false;
|
||||
}
|
||||
if (!dm.addr) return false;
|
||||
}
|
||||
dm = sys_mmap(base, gran, prot, flags, -1, 0);
|
||||
if (!dm.addr) {
|
||||
STRACE("ExtendMemoryIntervals() fail #4");
|
||||
return false;
|
||||
}
|
||||
if (!dm.addr) return false;
|
||||
mm->n = (size + gran) / sizeof(*mm->p);
|
||||
}
|
||||
assert(AreMemoryIntervalsOk(mm));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue