Tool/software: TI C/C++ Compiler
I have a project that is compiled without any runtime library support (need to save some flash space). When compiling I get the following error:
undefined first referenced
symbol in file
--------- ----------------
__mspabi_srli_3 ./app.obj
error #10234-D: unresolved symbols remain
After looking through the asm file the offending error is produced by this line in my source C file:
return (new_value >> 3);
After adding abi runtime library, the program compiles but at a cost of adding 74 bytes of code to support right shift. This seems like an overkill especially when using in ISR for something that would in my case require only 6 bytes of flash to have three RRA.W assembly commands. Instead, the compiled decided to call a runtime library requiring 6 bytes just for CALL and RET.
Is there a way to tell the MSP430 compiler not to rely on any runtime library functions and implement right shift in place?