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:
grischka
2024-02-16 19:11:56 +01:00
parent c88b19966c
commit d2f8ceac7a
18 changed files with 404 additions and 321 deletions

View File

@@ -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";