4 ms·
I assume because ABI is just a convention for application interoperability. Hardware interface was the problem here. You can ignore ABI if you are standalone.
by crististm 8y ago
I assume because ABI is just a convention for application interoperability. Hardware interface was the problem here.
You can ignore ABI if you are standalone. But you can't ignore the CPU.
- dmitrygr 8y agoCompiler sees "function" and understands "ABI says that pointer is 32-bit aligned, I can count on that because whoever calls it will also be ABI compatible and make it so"
- crististm 8y agoYou confirmed my interoperability claim with your answer - whoever calls. Consider just the main function. You are free to ignore the ABI there but you still need to obey the cpu spec.
- dmitrygr 8y agoNot really. If main ignores abi for example by not saving callee saved regs, you'll crash. Ignoring abi is never safe unless your entire project is written in asm