https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118221
--- Comment #8 from Trampas Stern <trampas at gmail dot com> --- I also have the same bug in binutils: https://sourceware.org/bugzilla/show_bug.cgi?id=32506 I do not fully understand the internals what is happening but from and external perspective it appears to me that the tools are using and address of 0x0000 to indicate that function is not used, which is also be a valid address. Again I do not understand the internals but maybe adding a flag or enum to indicate the status/state of the symbol would be better? I guess the same could be done by placing symbols in a different section to indicate they are not used would work too.