Xtensa [patch] Nostackframe directive does not generate correct code for windowed ABI.
Original Reporter info from Mantis: ccrause @ccrause
-
Reporter name: Christo Crause
Original Reporter info from Mantis: ccrause @ccrause
- Reporter name: Christo Crause
Description:
When a runtime error is generated that calls one of the empty system functions from xtensa.inc such as get_frame, the error procedure immediately returns to the previous caller and execution resumes as if no error has generated. This happens for the windowed ABI because the empty implementations are marked with nostackframe. This results in the compiler generating a retw instruction without a matching entry instruction.
Either the empty RTL assembler procedures should not be marked with nostackframe for the windowed ABI, or the compiler should generate an entry instruction even if nostackframe is specified. Since the current behaviour when specifying nostackframe results in unexpected behaviour my suggested fix is to patch the compiler.
Mantis conversion info:
- Mantis ID: 37550
- Build: 46365
- Version: 3.3.1
- Fixed in version: 3.3.1
- Fixed in revision: 46417 (#ac6f74a6)