bcheck: remove "tcc_location()" & x86_64 double fix

using (modified) tcc_backtrace() instead.
Also

Also fix the original bug with doubles on x86_64.
(which was not caused by incr_offset() actually).
See 598134fff6

Also cleanup on_exit() stuff
From fef701b57f
This commit is contained in:
grischka
2023-08-30 21:20:13 +02:00
parent ff2a372a9a
commit 3f3cbb51ed
7 changed files with 55 additions and 142 deletions

View File

@@ -8,7 +8,6 @@
#include "../tccrun.c"
int (*__rt_error)(void*, void*, const char *, va_list);
void (*__rt_location)(void*, void*, const char *);
__attribute__((weak)) void __bound_checking_lock(void);
__attribute__((weak)) void __bound_checking_unlock(void);
@@ -34,7 +33,6 @@ void __bt_init(rt_context *p, int num_callers)
rc->num_callers = num_callers - 1;
rc->top_func = main;
__rt_error = _rt_error;
__rt_location = _rt_location;
set_exception_handler();
} else {
p->next = rc->next, rc->next = p;