summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj
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
commiteffcd4ba7a30a1db082a30469716fba220119ed4 (patch)
tree343d8ed3d857d0f62377d84fdbc4c9f875e6b88e /llvm/tools/llvm-readobj
parent135f86dceee8167a46e4303048e4a880f9b4cd37 (diff)
downloadbcm5719-llvm-effcd4ba7a30a1db082a30469716fba220119ed4.tar.gz
bcm5719-llvm-effcd4ba7a30a1db082a30469716fba220119ed4.zip
llvm-readobj: Add test for COFF auxiliary symbols as used by C++/CLI
llvm-svn: 204023
Diffstat (limited to 'llvm/tools/llvm-readobj')
-rw-r--r--llvm/tools/llvm-readobj/COFFDumper.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/tools/llvm-readobj/COFFDumper.cpp b/llvm/tools/llvm-readobj/COFFDumper.cpp
index dfe89d69ec5..28ac3cb4164 100644
--- a/llvm/tools/llvm-readobj/COFFDumper.cpp
+++ b/llvm/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;
OpenPOWER on IntegriCloud