I'm an experienced embedded developer, but new to CW and ColdFire. I'm having trouble with the deadstripping feature of the linker. My application is almost entirely table driven (lots of pointers to functions). Many functions are only referenced in tables, with no explicit calls. The linker (in its infinite wisdom) does not recognize these references and strips most of the code from my application, calling it 'dead' (unreferenced) code. As if this was not bad enough, the table entries for the (now non-existent) functions do not generate link errors (i.e. unresolved external symbol, etc). Instead, the references are simply assigned a null value and the link completes with no errors.
If I disable linker deadstripping, the linker issues 'tons' of errors due to unresolved symbols in the ColdFire libraries.
Is there some way to only allow deadstripping of the libraries but not my application code? I'm sure someone has solved this problem already. Any advice would be greatly appreciated.