LLVM  15.0.0git
COFFReader.h
Go to the documentation of this file.
1 //===- COFFReader.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_LIB_OBJCOPY_COFF_COFFREADER_H
10 #define LLVM_LIB_OBJCOPY_COFF_COFFREADER_H
11 
12 #include "llvm/BinaryFormat/COFF.h"
13 #include "llvm/Object/COFF.h"
14 #include "llvm/Support/Error.h"
15 
16 namespace llvm {
17 namespace objcopy {
18 namespace coff {
19 
20 struct Object;
21 
22 using object::COFFObjectFile;
23 
24 class COFFReader {
25  const COFFObjectFile &COFFObj;
26 
27  Error readExecutableHeaders(Object &Obj) const;
28  Error readSections(Object &Obj) const;
29  Error readSymbols(Object &Obj, bool IsBigObj) const;
30  Error setSymbolTargets(Object &Obj) const;
31 
32 public:
33  explicit COFFReader(const COFFObjectFile &O) : COFFObj(O) {}
35 };
36 
37 } // end namespace coff
38 } // end namespace objcopy
39 } // end namespace llvm
40 
41 #endif // LLVM_LIB_OBJCOPY_COFF_COFFREADER_H
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:17
Error.h
COFF.h
llvm::objcopy::coff::COFFReader::COFFReader
COFFReader(const COFFObjectFile &O)
Definition: COFFReader.h:33
llvm::objcopy::coff::COFFReader::create
Expected< std::unique_ptr< Object > > create() const
Definition: COFFReader.cpp:194
llvm::Expected
Tagged union holding either a T or a Error.
Definition: APFloat.h:41
llvm::objcopy::coff::Object
Definition: COFFObject.h:96
llvm::OutputFileType::Object
@ Object
llvm::RISCVFenceField::O
@ O
Definition: RISCVBaseInfo.h:240
llvm::objcopy::coff::COFFReader
Definition: COFFReader.h:24
llvm::Error
Lightweight error class with error context and mandatory checking.
Definition: Error.h:155
llvm::object::COFFObjectFile
Definition: COFF.h:799
COFF.h