This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Redundant code removal

While I was trying to fit an application in a limited space I noticed that the compiler/linker does not appear to remove functions that are uncalled across C files.

I have a number of C files that are common to a number of applications but not all of these functions are called by all applications.

If I comment out these functions the application will then reduce in size, so I am pretty sure the linker is not removing these (or at least part of these) unused functions. This is regardless of the optimisation level I have set for the compiler.

Ideally I want the compiler/linker to remove these functions automatically.

I have trawled through the options on armlink but I cant seem to find what I want.

I am pretty sure I am missing something obvious. So can anyone explain how I achieve this?

Thanks