summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2014-03-18 23:37:53 +0000
committerRui Ueyama <ruiu@google.com>2014-03-18 23:37:53 +0000
commitcae25dcbf7347d1a04f8746aedd6d6600b528a40 (patch)
tree88bd9114a82d47fa0d113343e395db8ec212e90e /tools
parent2c4507e850d353433a525fb763df05dd8a407173 (diff)
downloadllvm-cae25dcbf7347d1a04f8746aedd6d6600b528a40.tar.gz
llvm-cae25dcbf7347d1a04f8746aedd6d6600b528a40.tar.bz2
llvm-cae25dcbf7347d1a04f8746aedd6d6600b528a40.tar.xz
Object/COFF: Add function to check if section number is reserved one.
Differential Revision: http://llvm-reviews.chandlerc.com/D3103 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204199 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r--tools/llvm-nm/llvm-nm.cpp5
-rw-r--r--tools/llvm-readobj/COFFDumper.cpp2
2 files changed, 3 insertions, 4 deletions
diff --git a/tools/llvm-nm/llvm-nm.cpp b/tools/llvm-nm/llvm-nm.cpp
index a1ef74efeb..100a1f20a1 100644
--- a/tools/llvm-nm/llvm-nm.cpp
+++ b/tools/llvm-nm/llvm-nm.cpp
@@ -27,6 +27,7 @@
#include "llvm/Object/MachO.h"
#include "llvm/Object/MachOUniversal.h"
#include "llvm/Object/ObjectFile.h"
+#include "llvm/Support/COFF.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Format.h"
@@ -317,9 +318,7 @@ static char getSymbolNMTypeChar(COFFObjectFile &Obj, symbol_iterator I) {
return Ret;
uint32_t Characteristics = 0;
- if (Symb->SectionNumber > 0 &&
- Symb->SectionNumber != llvm::COFF::IMAGE_SYM_DEBUG &&
- Symb->SectionNumber != llvm::COFF::IMAGE_SYM_ABSOLUTE) {
+ if (!COFF::isReservedSectionNumber(Symb->SectionNumber)) {
section_iterator SecI = Obj.section_end();
if (error(SymI->getSection(SecI)))
return '?';
diff --git a/tools/llvm-readobj/COFFDumper.cpp b/tools/llvm-readobj/COFFDumper.cpp
index e790e5ca0c..f17524eccb 100644
--- a/tools/llvm-readobj/COFFDumper.cpp
+++ b/tools/llvm-readobj/COFFDumper.cpp
@@ -985,7 +985,7 @@ void COFFDumper::printSymbol(const SymbolRef &Sym) {
} else if (
Symbol->StorageClass == COFF::IMAGE_SYM_CLASS_WEAK_EXTERNAL ||
(Symbol->StorageClass == COFF::IMAGE_SYM_CLASS_EXTERNAL &&
- Symbol->SectionNumber == 0 &&
+ Symbol->SectionNumber == COFF::IMAGE_SYM_UNDEFINED &&
Symbol->Value == 0)) {
const coff_aux_weak_external_definition *Aux;
if (error(getSymbolAuxData(Obj, Symbol + I, Aux)))