PATCH: PR ld/12761: .gnu.warning.* doesn't work when building shared library

Ian Lance Taylor iant@google.com
Tue May 17 06:04:00 GMT 2011


"H.J. Lu" <hongjiu.lu@intel.com> writes:

> We should issure a gnu warning when building shared library.  This patch
> implements it.  OK for trunk?

No, this is not how warning symbols are supposed to work.  We only want
to issue the warning for a warning symbol if there is some reference to
the symbol in the main program.  If we issue the warnings for a shared
library, then we will wind up issuing the warnings even if the program
does not ever refer to the symbol.  That is undesirable and will almost
certainly break some uses of warning symbols.

I think it would be reasonable to issue a warning when building a shared
library for a reference to a symbol defined in some other shared
library, but it is necessary to not give a warning for references to
symbols defined in the library being created.

Ian



More information about the Binutils mailing list