diff options
author | Ian Lance Taylor <iant@google.com> | 2007-11-17 02:49:22 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2007-11-17 02:49:22 +0000 |
commit | dd8670e56c39a0229030b4bc91b29d5cf309adeb (patch) | |
tree | 2a05279159781d628d15309357947728b83e4d36 | |
parent | 4b9491ef33c96105012d475c66166f99bef2a0cd (diff) | |
download | gdb-dd8670e56c39a0229030b4bc91b29d5cf309adeb.zip gdb-dd8670e56c39a0229030b4bc91b29d5cf309adeb.tar.gz gdb-dd8670e56c39a0229030b4bc91b29d5cf309adeb.tar.bz2 |
From Craig Silverstein: Quote the symbol name in the ODR violation
message to avoid a gcc collect2 demangling bug.
-rw-r--r-- | gold/symtab.cc | 4 | ||||
-rwxr-xr-x | gold/testsuite/debug_msg.sh | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/gold/symtab.cc b/gold/symtab.cc index 28d4ee8..f0c09f9 100644 --- a/gold/symtab.cc +++ b/gold/symtab.cc @@ -305,7 +305,7 @@ Symbol_table::Symbol_table_eq::operator()(const Symbol_table_key& k1, return k1.first == k2.first && k1.second == k2.second; } -// Make TO a symbol which forwards to FROM. +// Make TO a symbol which forwards to FROM. void Symbol_table::make_forwarder(Symbol* from, Symbol* to) @@ -1938,7 +1938,7 @@ Symbol_table::detect_odr_violations(const char* output_file_name) const if (line_nums.size() > 1) { - gold_warning(_("while linking %s: symbol %s defined in multiple " + gold_warning(_("while linking %s: symbol '%s' defined in multiple " "places (possible ODR violation):"), output_file_name, demangle(symbol_name).c_str()); for (std::set<std::string>::const_iterator it2 = line_nums.begin(); diff --git a/gold/testsuite/debug_msg.sh b/gold/testsuite/debug_msg.sh index 987aab7..87c8efb 100755 --- a/gold/testsuite/debug_msg.sh +++ b/gold/testsuite/debug_msg.sh @@ -56,7 +56,7 @@ check "debug_msg.o: in function int testfn<double>(double):${srcdir}/debug_msg.c check "debug_msg.o: in function int testfn<double>(double):${srcdir}/debug_msg.cc:45: undefined reference to 'undef_int'" # Check we detected the ODR (One Definition Rule) violation. -check ": symbol Ordering::operator()(int, int) *defined in multiple places (possible ODR violation):" +check ": symbol 'Ordering::operator()(int, int)' defined in multiple places (possible ODR violation):" check "odr_violation1.cc:5" check "odr_violation2.cc:5" |