mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-22 10:30:29 +00:00
Add support for symbol table in .com files
This change fixes minor bugs and adds a feature, which lets us store the ELF symbol table, inside the ZIP directory. We use the path /zip/.symtab which can be safely removed using a zip editing tool, to make the binary smaller after compilation. This supplements the existing method of using a separate .com.dbg file, which is still supported. The intent is people don't always know that it's a good idea to download the debug file. It's not great having someone's first experience be a crash report, that only has numbers rather than symbols. This will help fix that!
This commit is contained in:
parent
393ca4be40
commit
23b72eb617
61 changed files with 963 additions and 510 deletions
|
@ -20,6 +20,7 @@
|
|||
#include "libc/bits/pushpop.h"
|
||||
#include "libc/bits/weaken.h"
|
||||
#include "libc/calls/calls.h"
|
||||
#include "libc/calls/strace.internal.h"
|
||||
#include "libc/fmt/fmt.h"
|
||||
#include "libc/intrin/kprintf.h"
|
||||
#include "libc/log/color.internal.h"
|
||||
|
@ -199,6 +200,7 @@ static void __ubsan_exit(void) {
|
|||
kprintf("your ubsan runtime needs%n"
|
||||
"\tSTATIC_YOINK(\"__die\");%n"
|
||||
"in order to show you backtraces%n");
|
||||
__restorewintty();
|
||||
_Exit(99);
|
||||
}
|
||||
|
||||
|
@ -594,3 +596,16 @@ void __ubsan_on_report(void) {
|
|||
void *__ubsan_get_current_report_data(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static textstartup void ubsan_init() {
|
||||
STRACE(" _ _ ____ ____ _ _ _");
|
||||
STRACE("| | | | __ ) ___| / \\ | \\ | |");
|
||||
STRACE("| | | | _ \\___ \\ / _ \\ | \\| |");
|
||||
STRACE("| |_| | |_) |__) / ___ \\| |\\ |");
|
||||
STRACE(" \\___/|____/____/_/ \\_\\_| \\_|");
|
||||
STRACE("cosmopolitan behavior module initialized");
|
||||
}
|
||||
|
||||
const void *const ubsan_ctor[] initarray = {
|
||||
ubsan_init,
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue