summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2013-07-26 01:18:27 +0000
committerRui Ueyama <ruiu@google.com>2013-07-26 01:18:27 +0000
commitafe731b796232063622f5aead4750c8edff3ac24 (patch)
tree94ebb61181b038c802a0a9b7926c4f4a937f89c0
parentefe9fa62f5b42dcefb856c33080578791719cf80 (diff)
downloadbcm5719-llvm-afe731b796232063622f5aead4750c8edff3ac24.tar.gz
bcm5719-llvm-afe731b796232063622f5aead4750c8edff3ac24.zip
[PECOFF] Create an atom for a symbol whose storage type is IMAGE_SYM_CLASS_LABEL.
llvm-svn: 187177
-rw-r--r--lld/lib/ReaderWriter/PECOFF/Atoms.h1
-rw-r--r--lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp6
2 files changed, 5 insertions, 2 deletions
diff --git a/lld/lib/ReaderWriter/PECOFF/Atoms.h b/lld/lib/ReaderWriter/PECOFF/Atoms.h
index 7ef7995c43d..99d57024b69 100644
--- a/lld/lib/ReaderWriter/PECOFF/Atoms.h
+++ b/lld/lib/ReaderWriter/PECOFF/Atoms.h
@@ -179,6 +179,7 @@ public:
case llvm::COFF::IMAGE_SYM_CLASS_EXTERNAL:
return scopeGlobal;
case llvm::COFF::IMAGE_SYM_CLASS_STATIC:
+ case llvm::COFF::IMAGE_SYM_CLASS_LABEL:
return scopeTranslationUnit;
}
llvm_unreachable("Unknown scope!");
diff --git a/lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp b/lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
index 7dfe8bacffc..110889ceb22 100644
--- a/lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
+++ b/lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
@@ -154,8 +154,10 @@ private:
uint8_t SC = Symb->StorageClass;
if (SC != llvm::COFF::IMAGE_SYM_CLASS_EXTERNAL &&
SC != llvm::COFF::IMAGE_SYM_CLASS_STATIC &&
- SC != llvm::COFF::IMAGE_SYM_CLASS_FUNCTION) {
- llvm::errs() << "Unable to create atom for: " << Name << "\n";
+ SC != llvm::COFF::IMAGE_SYM_CLASS_FUNCTION &&
+ SC != llvm::COFF::IMAGE_SYM_CLASS_LABEL) {
+ llvm::errs() << "Unable to create atom for: " << Name
+ << " (" << (int)SC << ")\n";
return llvm::object::object_error::parse_failed;
}
const coff_section *Sec;
OpenPOWER on IntegriCloud