summaryrefslogtreecommitdiff
path: root/gold/debug.h
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2015-04-09 11:52:21 -0700
committerCary Coutant <ccoutant@google.com>2015-04-09 11:53:01 -0700
commit437ddf0c4cb63fdb68c4bd1cc155144db344d0c5 (patch)
tree125d12fcbbc64bc9b76e629407a64c687ac12000 /gold/debug.h
parentcd6faa73f8e3b888ee8b73a733382a5587aca202 (diff)
downloadbinutils-gdb-437ddf0c4cb63fdb68c4bd1cc155144db344d0c5.tar.gz
Improve ODR checking in gold.
gold/ * debug.h (DEBUG_LOCATION): New. (DEBUG_ALL): Include DEBUG_LOCATION. (debug_string_to_enum): Add DEBUG_LOCATION. * dwarf_reader.cc (Sized_dwarf_line_info::read_lines): Fix debug output to print correct context. (Sized_dwarf_line_info::do_addr2line): Add debug output. Return up to 4 more locations at the beginning of the function. * symtab.cc (Symbol_table::detect_odr_violations): Get canonical result before sorting list of line numbers. * testsuite/debug_msg.sh: Allow range of line numbers for canonical results on optimized code.
Diffstat (limited to 'gold/debug.h')
-rw-r--r--gold/debug.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/gold/debug.h b/gold/debug.h
index bca55f3798d..3fecbd8bf05 100644
--- a/gold/debug.h
+++ b/gold/debug.h
@@ -38,9 +38,11 @@ const int DEBUG_SCRIPT = 0x2;
const int DEBUG_FILES = 0x4;
const int DEBUG_RELAXATION = 0x8;
const int DEBUG_INCREMENTAL = 0x10;
+const int DEBUG_LOCATION = 0x20;
const int DEBUG_ALL = (DEBUG_TASK | DEBUG_SCRIPT | DEBUG_FILES
- | DEBUG_RELAXATION | DEBUG_INCREMENTAL);
+ | DEBUG_RELAXATION | DEBUG_INCREMENTAL
+ | DEBUG_LOCATION);
// Convert a debug string to the appropriate enum.
inline int
@@ -54,6 +56,7 @@ debug_string_to_enum(const char* arg)
{ "files", DEBUG_FILES },
{ "relaxation", DEBUG_RELAXATION },
{ "incremental", DEBUG_INCREMENTAL },
+ { "location", DEBUG_LOCATION },
{ "all", DEBUG_ALL }
};