[EXT_EP-11449] Use of _disable_interrupts intrinsic causes compiler to emit call to function _get_CPSR, which does not exist Created: 25/Aug/23 Updated: 28/Aug/23 Resolved: 28/Aug/23 |
|
| Status: | Declined |
| Project: | Embedded Software & Tools |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Not Prioritized |
| Reporter: | TI User | Assignee: | TI User |
| Resolution: | Won't Fix | Votes: | 0 |
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Product: | Code Generation Tools |
| Internal ID: | CODEGEN-11433 |
| Forum URL: | https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/Arm-based-microcontrollers---internal/f/1042/t/1263171 |
| Found In Release: | ARMCLANG_2.1.3.LTS |
| Affected Platform/Device: | default |
| Decline Reason: | _get_CPSR exists in ti_compatibility.h, but ti_compatibility.h was meant to ensure backward compatibility source code ported to tiarmclang with targets supported by the TI Arm proprietary compiler (armcl), which doesn't include Cortex-M33.
Separate issue filed to address lack of documentation on enabling/disabling interrupts on Arm targets. |
| Description |
|
The attached file.c has these line ... #include <ti_compatibility.h>
void fxn()
{
_disable_interrupts();
}
Build it ... $ tiarmclang @options.txt -S file.c Inspect the resulting assembly file ... $ findstr _get_CPSR file.S
bl _get_CPSR
.asciz "_get_CPSR" @ string offset=203
The function _get_CPSR is not defined in the compiler RTS library, or anywhere else. This results in an error when linking. |