Quoting Ian Lance Taylor <i...@google.com>:
Yes, I believe that "Independent Modules" is intended to mean "any code." However, it needs to be careful to not grant additional rights to other parts of gcc itself. And in any case the only code which it can control is code which uses the runtime library--the runtime library license can not say anything about code which does not use the runtime library. I expect that that is why it wound up being written the way it was.
When you link together some object files which do not use libgcc with pats of libgcc, the result is still a derived work of libgcc, which can only be distributed inasmuch as the FSF grants a license to do that. So I don't see why you would make a distinction if the Target Code uses any interface of libgcc or not - what matters is only if parts of libgcc become part of the combined work.