003 File Manager
Current Path:
/usr/src/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO
usr
/
src
/
contrib
/
llvm-project
/
llvm
/
tools
/
llvm-objcopy
/
MachO
/
📁
..
📄
MachOLayoutBuilder.cpp
(15.24 KB)
📄
MachOLayoutBuilder.h
(1.49 KB)
📄
MachOObjcopy.cpp
(13.95 KB)
📄
MachOObjcopy.h
(903 B)
📄
MachOReader.cpp
(11.87 KB)
📄
MachOReader.h
(1.72 KB)
📄
MachOWriter.cpp
(18.89 KB)
📄
MachOWriter.h
(1.81 KB)
📄
Object.cpp
(5.5 KB)
📄
Object.h
(13.04 KB)
Editing: MachOReader.h
//===- MachOReader.h --------------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "MachOObjcopy.h" #include "Object.h" #include "llvm/BinaryFormat/MachO.h" #include "llvm/Object/MachO.h" #include <memory> namespace llvm { namespace objcopy { namespace macho { // The hierarchy of readers is responsible for parsing different inputs: // raw binaries and regular MachO object files. class Reader { public: virtual ~Reader(){}; virtual std::unique_ptr<Object> create() const = 0; }; class MachOReader : public Reader { const object::MachOObjectFile &MachOObj; void readHeader(Object &O) const; void readLoadCommands(Object &O) const; void readSymbolTable(Object &O) const; void setSymbolInRelocationInfo(Object &O) const; void readRebaseInfo(Object &O) const; void readBindInfo(Object &O) const; void readWeakBindInfo(Object &O) const; void readLazyBindInfo(Object &O) const; void readExportInfo(Object &O) const; void readLinkData(Object &O, Optional<size_t> LCIndex, LinkData &LD) const; void readCodeSignature(Object &O) const; void readDataInCodeData(Object &O) const; void readFunctionStartsData(Object &O) const; void readIndirectSymbolTable(Object &O) const; void readSwiftVersion(Object &O) const; public: explicit MachOReader(const object::MachOObjectFile &Obj) : MachOObj(Obj) {} std::unique_ptr<Object> create() const override; }; } // end namespace macho } // end namespace objcopy } // end namespace llvm
Upload File
Create Folder