> int backtrace(void **buffer, int size);
> char **backtrace_symbols(void *const *buffer, int size);
> void backtrace_symbols_fd(void *const *buffer, int size, int fd);
> int addrtosymstr(uintptr_t addr, char *buffer, int len);
Shouldn't the "int"s here that refer to buffer sizes be "size_t"s or
"ssize_t"s instead? Or is there really an intent here to limit these
buffer sizes to 32 bits on 64-bit architectures?
Do any of these functions ever fail? I see no mention of error returns
nor of errno settings. If would seem like attempts to backtrace
through a corrupted stack could lead to failures.
Cheers,
Don