summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorNico Rieck <nico.rieck@gmail.com>2014-03-17 01:46:28 +0000
committerNico Rieck <nico.rieck@gmail.com>2014-03-17 01:46:28 +0000
commit23653b1265439147c27893a6832a70c93d0623dc (patch)
tree4151cb188bc9d55d937877198d4365c7a465fce0 /tools
parent960c80d8a9babe4def0af24119191bdd4316c859 (diff)
downloadllvm-23653b1265439147c27893a6832a70c93d0623dc.tar.gz
llvm-23653b1265439147c27893a6832a70c93d0623dc.tar.bz2
llvm-23653b1265439147c27893a6832a70c93d0623dc.tar.xz
llvm-readobj: Add test for COFF auxiliary symbols as used by C++/CLI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204023 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r--tools/llvm-readobj/COFFDumper.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/llvm-readobj/COFFDumper.cpp b/tools/llvm-readobj/COFFDumper.cpp
index dfe89d69ec..28ac3cb416 100644
--- a/tools/llvm-readobj/COFFDumper.cpp
+++ b/tools/llvm-readobj/COFFDumper.cpp
@@ -1022,9 +1022,11 @@ void COFFDumper::printSymbol(symbol_iterator SymI) {
DictScope AS(W, "AuxFileRecord");
W.printString("FileName", StringRef(Aux->FileName));
+ // C++/CLI creates external ABS symbols for non-const appdomain globals.
+ // These are also followed by an auxiliary section definition.
} else if (Symbol->StorageClass == COFF::IMAGE_SYM_CLASS_STATIC ||
(Symbol->StorageClass == COFF::IMAGE_SYM_CLASS_EXTERNAL &&
- Symbol->SectionNumber != COFF::IMAGE_SYM_UNDEFINED)) {
+ Symbol->SectionNumber == COFF::IMAGE_SYM_ABSOLUTE)) {
const coff_aux_section_definition *Aux;
if (error(getSymbolAuxData(Obj, Symbol + I, Aux)))
break;