mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-02-28 22:18:29 +00:00
- You can now run `make -j8 toolchain` on Windows - You can now run `make -j` on MacOS ARM64 and BSD OSes - You can now use our Emacs dev environment on MacOS/Windows - Fix bug where the x16 register was being corrupted by --ftrace - The programs under build/bootstrap/ are updated as fat binaries - The Makefile now explains how to download cosmocc-0.0.12 toolchain - The build scripts under bin/ now support "cosmo" branded toolchains - stat() now goes faster on Windows (shaves 100ms off `make` latency) - Code cleanup and added review on the Windows signal checking code - posix_spawnattr_setrlimit() now works around MacOS ARM64 bugs - Landlock Make now favors posix_spawn() on non-Linux/OpenBSD - posix_spawn() now has better --strace logging on Windows - fstatat() can now avoid EACCES in more cases on Windows - fchmod() can now change the readonly bit on Windows
31 lines
953 B
Bash
Executable file
31 lines
953 B
Bash
Executable file
#!/bin/sh
|
|
COSMO=${COSMO:-/opt/cosmo}
|
|
|
|
set -- -apifCe "$@"
|
|
|
|
if [ -n "$ADDR2LINE" ]; then
|
|
exec "$ADDR2LINE" "$@"
|
|
fi
|
|
|
|
find_addr2line() {
|
|
if [ -x o/third_party/gcc/bin/$1-linux-cosmo-addr2line ]; then
|
|
ADDR2LINE=o/third_party/gcc/bin/$1-linux-cosmo-addr2line
|
|
elif [ -x o/third_party/gcc/bin/$1-linux-musl-addr2line ]; then
|
|
ADDR2LINE=o/third_party/gcc/bin/$1-linux-musl-addr2line
|
|
elif [ -x "$COSMO/o/third_party/gcc/bin/$1-linux-cosmo-addr2line" ]; then
|
|
ADDR2LINE="$COSMO/o/third_party/gcc/bin/$1-linux-cosmo-addr2line"
|
|
elif [ -x "$COSMO/o/third_party/gcc/bin/$1-linux-musl-addr2line" ]; then
|
|
ADDR2LINE="$COSMO/o/third_party/gcc/bin/$1-linux-musl-addr2line"
|
|
else
|
|
echo "error: toolchain not found (try running 'cosmocc --update' or 'make' in the cosmo monorepo)" >&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
for ARCH in x86_64 aarch64; do
|
|
find_addr2line $ARCH
|
|
"$ADDR2LINE" "$@" 2>/dev/null && exit
|
|
done
|
|
|
|
echo "error: addr2line failed" >&2
|
|
exit 1
|