> One issue here is that in some cases const and pure calls can get > combined and eliminated even with attribute noinline (unless this > changed recently). So in addition to attribute noinline, putting an > asm volatile ("") in the function can help make it non-pure and > non-const.
Yes, that did the trick. FWIW, I am using a compiler based on gcc 4.2.1 . We (ARC) will have to work with this version for a while longer because we are participating in the Milepost research project ( http://www.milepost.eu/ ) and not all partners were happy with going to a GPLv3 GCC when we decided on the base version.