mirror of
https://github.com/TinyCC/tinycc.git
synced 2025-12-27 17:40:50 +00:00
tccrun: review last changes
- LIBTCCAPI int tcc_set_backtrace_func(void *ud, ...) accept opaque user data pointer, - tcc -vv -run... : show section info - use memalign() to allocate runtime memory - printline_/dwarf : pass output to parent function - tccpe.c : fix -nostdlib -run - --config-backtrace=no : make it work again
This commit is contained in:
@@ -23,19 +23,19 @@ typedef struct rt_frame {
|
||||
} rt_frame;
|
||||
|
||||
__attribute__((weak))
|
||||
int __rt_dump(rt_frame *f, const char *msg, const char *fmt, va_list ap);
|
||||
int _tcc_backtrace(rt_frame *f, const char *fmt, va_list ap);
|
||||
|
||||
DLL_EXPORT int tcc_backtrace(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
int ret;
|
||||
|
||||
if (__rt_dump) {
|
||||
if (_tcc_backtrace) {
|
||||
rt_frame f;
|
||||
f.fp = __builtin_frame_address(1);
|
||||
f.ip = __builtin_return_address(0);
|
||||
va_start(ap, fmt);
|
||||
ret = __rt_dump(&f, NULL, fmt, ap);
|
||||
ret = _tcc_backtrace(&f, fmt, ap);
|
||||
va_end(ap);
|
||||
} else {
|
||||
const char *p, *nl = "\n";
|
||||
|
||||
Reference in New Issue
Block a user