#include "llvm/ObjCopy/COFF/COFFObjcopy.h"
#include "COFFObject.h"
#include "COFFReader.h"
#include "COFFWriter.h"
#include "llvm/ObjCopy/COFF/COFFConfig.h"
#include "llvm/ObjCopy/CommonConfig.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Object/Binary.h"
#include "llvm/Object/COFF.h"
#include "llvm/Support/CRC.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/Path.h"
#include <cassert>
namespace llvm {
namespace objcopy {
namespace coff {
usingnamespaceobject;
usingnamespaceCOFF;
static bool isDebugSection(const Section &Sec) { … }
static uint64_t getNextRVA(const Object &Obj) { … }
static Expected<std::vector<uint8_t>>
createGnuDebugLinkSectionContents(StringRef File) { … }
static void addSection(Object &Obj, StringRef Name, ArrayRef<uint8_t> Contents,
uint32_t Characteristics) { … }
static Error addGnuDebugLink(Object &Obj, StringRef DebugLinkFile) { … }
static uint32_t flagsToCharacteristics(SectionFlag AllFlags, uint32_t OldChar) { … }
static Error dumpSection(Object &O, StringRef SectionName, StringRef FileName) { … }
static Error handleArgs(const CommonConfig &Config,
const COFFConfig &COFFConfig, Object &Obj) { … }
Error executeObjcopyOnBinary(const CommonConfig &Config,
const COFFConfig &COFFConfig, COFFObjectFile &In,
raw_ostream &Out) { … }
}
}
}