What does this GCC error “… relocation truncated to fit…” mean?

You are attempting to link your project in such a way that the target of a relative addressing scheme is further away than can be supported with the 32-bit displacement of the chosen relative addressing mode. This could be because the current project is larger, because it is linking object files in a different order, or because there’s an unnecessarily expansive mapping scheme in play.

This question is a perfect example of why it’s often productive to do a web search on the generic portion of an error message – you find things like this:

http://www.technovelty.org/code/c/relocation-truncated.html

Which offers some curative suggestions.

Leave a Comment