http://sourceware.org/bugzilla/show_bug.cgi?id=14608
Bug #: 14608 Summary: --detect-odr-violations doesn't work with GCC 4.7 Product: binutils Version: unspecified Status: NEW Severity: normal Priority: P2 Component: gold AssignedTo: i...@airs.com ReportedBy: hjl.to...@gmail.com CC: ccout...@google.com Classification: Unclassified On Linux/ia32, with GCC 4.7, I got [hjl@gnu-26 testsuite]$ /usr/gcc-4.7.1/bin/g++ -W -Wall -Werror -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fmerge-constants -o debug_msg_so.err -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_so debug_msg.so odr_violation1.so odr_violation2.so gcctestdir/ld: warning: while linking debug_msg_so: symbol 'Ordering::operator()(int, int)' defined in multiple places (possible ODR violation): /net/gnu-6/export/gnu/import/git/binutils/gold/testsuite/odr_violation1.cc:6 from odr_violation1.so /net/gnu-6/export/gnu/import/git/binutils/gold/testsuite/odr_violation2.cc:12 from odr_violation2.so debug_msg.so: error: undefined reference to 'undef_int' debug_msg.so: error: undefined reference to 'undef_float' debug_msg.so: error: undefined reference to 'undef_fn1()' debug_msg.so: error: undefined reference to 'undef_fn2()' collect2: error: ld returned 1 exit status [hjl@gnu-26 testsuite]$ FAIL: debug_msg.sh It passed with GCC 4.2: [hjl@gnu-26 testsuite]$ /usr/gcc-4.2/bin/g++ -W -Wall -Werror -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fmerge-constants -o debug_msg_so.err -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_so debug_msg.so odr_violation1.so odr_violation2.so gcctestdir/ld: warning: while linking debug_msg_so: symbol 'SometimesInlineFunction(int)' defined in multiple places (possible ODR violation): /net/gnu-6/export/gnu/import/git/binutils/gold/testsuite/odr_violation2.cc:27 from odr_violation2.so /net/gnu-6/export/gnu/import/git/binutils/gold/testsuite/debug_msg.cc:68 from debug_msg.so gcctestdir/ld: warning: while linking debug_msg_so: symbol 'Ordering::operator()(int, int)' defined in multiple places (possible ODR violation): /net/gnu-6/export/gnu/import/git/binutils/gold/testsuite/odr_violation2.cc:12 from odr_violation2.so /net/gnu-6/export/gnu/import/git/binutils/gold/testsuite/odr_violation1.cc:6 from odr_violation1.so debug_msg.so: error: undefined reference to 'undef_fn1()' debug_msg.so: error: undefined reference to 'undef_fn2()' debug_msg.so: error: undefined reference to 'undef_int' collect2: ld returned 1 exit status [hjl@gnu-26 testsuite]$ Linux/x86-64 is OK. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils