xref: /freebsd/contrib/llvm-project/llvm/tools/llvm-objdump/XCOFFDump.h (revision cfd6422a5217410fbd66f7a7a8a64d9d85e61229)
1 //===-- XCOFFDump.h ---------------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_TOOLS_LLVM_OBJDUMP_XCOFFDUMP_H
10 #define LLVM_TOOLS_LLVM_OBJDUMP_XCOFFDUMP_H
11 
12 #include "llvm/Object/XCOFFObjectFile.h"
13 
14 namespace llvm {
15 
16 struct SymbolInfoTy;
17 
18 namespace objdump {
19 Optional<XCOFF::StorageMappingClass>
20 getXCOFFSymbolCsectSMC(const object::XCOFFObjectFile *Obj,
21                        const object::SymbolRef &Sym);
22 
23 bool isLabel(const object::XCOFFObjectFile *Obj, const object::SymbolRef &Sym);
24 
25 std::string getXCOFFSymbolDescription(const SymbolInfoTy &SymbolInfo,
26                                       StringRef SymbolName);
27 
28 Error getXCOFFRelocationValueString(const object::XCOFFObjectFile *Obj,
29                                     const object::RelocationRef &RelRef,
30                                     llvm::SmallVectorImpl<char> &Result);
31 } // namespace objdump
32 } // namespace llvm
33 #endif
34