3 ms·
Does your main have an assert(false) after the main loop? If so the return address could be set to the assert function as some kind of optimization.
by rcxdude 2y ago
Does your main have an assert(false) after the main loop? If so the return address could be set to the assert function as some kind of optimization.
- spcharc 2y agoI do have a couple of asserts in my code, but that does not explain why every stack trace begins and ends with "assert()" Actually I call syscalls from assembly, and my _start() is also an assembly function. That is why this happens I guess. strace somehow doesn't play well with code written in .s file?
- rcxdude 2y agoThe backtrace code probably won't, as it'll be depending on the C calling convention to generate it. It's also possible assert() is just the function at the start or end of your text section, so any address that falls outside the range in that direction gets attributed to it, including values the stack walker incorrectly thinks are addresses.