[PATCH] Provide a sample object file for each ODR-violating location
Jeffrey Yasskin
jyasskin@google.com
Mon Jun 21 02:05:00 GMT 2010
Right now, gold produces errors like
warning: while linking my_exe: symbol 'ns::Tpl<Arg>::~Tpl()' defined
in multiple places (possible ODR violation):
./path/to/some_header.h:38
./path/to/other_header.h:490
While trying to figure out why this is happening, I wanted to know
which object files those definitions came from. The attached patch
changes the output to:
warning: while linking my_exe: symbol 'ns::Tpl<Arg>::~Tpl()' defined
in multiple places (possible ODR violation):
./path/to/some_header.h:38 from libfoo.a(obj1.o)
./path/to/other_header.h:490 from libfoo.a(obj2.o)
where the object file after "from" is an arbitrary object file
including that location. This may be spammy in ordinary use, but it
should be useful while we iron out the false positives.
Jeffrey Yasskin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sample_object_for_odr.patch
Type: application/octet-stream
Size: 2162 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20100621/bd0353e3/attachment.obj>
More information about the Binutils
mailing list