summaryrefslogtreecommitdiffstats
path: root/binutils-2.22/gold/symtab.h
diff options
context:
space:
mode:
authorBen Cheng <bccheng@google.com>2012-11-01 14:19:35 -0700
committerBen Cheng <bccheng@google.com>2012-11-01 14:27:04 -0700
commit6d5ce99288a663253fd2cde30516257f754cc776 (patch)
treed57b8b65cf7b807324908da748ba1845b8e2941a /binutils-2.22/gold/symtab.h
parent6b95f5ef54a29597409e24d7fe6670238d58ff04 (diff)
downloadtoolchain_binutils-6d5ce99288a663253fd2cde30516257f754cc776.zip
toolchain_binutils-6d5ce99288a663253fd2cde30516257f754cc776.tar.gz
toolchain_binutils-6d5ce99288a663253fd2cde30516257f754cc776.tar.bz2
Refresh binutils to 2.22.90.
Missing local patches will be added after. Change-Id: I7e5f7529f165a48db48a07f08b85f36c2faa8d4a
Diffstat (limited to 'binutils-2.22/gold/symtab.h')
-rw-r--r--binutils-2.22/gold/symtab.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/binutils-2.22/gold/symtab.h b/binutils-2.22/gold/symtab.h
index b9b9e00..feed245 100644
--- a/binutils-2.22/gold/symtab.h
+++ b/binutils-2.22/gold/symtab.h
@@ -993,7 +993,12 @@ class Symbol
// index, not one of the special codes from SHN_LORESERVE to
// SHN_HIRESERVE (bit 29).
bool is_ordinary_shndx_ : 1;
- // True if we've seen this symbol in a real ELF object (bit 30).
+ // True if we've seen this symbol in a "real" ELF object (bit 30).
+ // If the symbol has been seen in a relocatable, non-IR, object file,
+ // it's known to be referenced from outside the IR. A reference from
+ // a dynamic object doesn't count as a "real" ELF, and we'll simply
+ // mark the symbol as "visible" from outside the IR. The compiler
+ // can use this distinction to guide its handling of COMDAT symbols.
bool in_real_elf_ : 1;
// True if this symbol is defined in a section which was discarded
// (bit 31).
@@ -1308,10 +1313,9 @@ class Symbol_table
void
gc_mark_undef_symbols(Layout*);
- // During garbage collection, this ensures externally visible symbols
- // are not treated as garbage while building shared objects.
+ // This tells garbage collection that this symbol is referenced.
void
- gc_mark_symbol_for_shlib(Symbol* sym);
+ gc_mark_symbol(Symbol* sym);
// During garbage collection, this keeps sections that correspond to
// symbols seen in dynamic objects.