This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compiler/MSP430F2013: MSP430 Linker looking for __mspabi_srli_3

Part Number: MSP430F2013

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?