comparison lld/MachO/Writer.h @ 207:2e18cbf3894f

LLVM12
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 08 Jun 2021 06:07:14 +0900
parents 0572611fdcc8
children c4bab56944e8
comparison
equal deleted inserted replaced
173:0572611fdcc8 207:2e18cbf3894f
12 #include <cstdint> 12 #include <cstdint>
13 13
14 namespace lld { 14 namespace lld {
15 namespace macho { 15 namespace macho {
16 16
17 class OutputSection;
18 class InputSection;
19 class Symbol;
20
17 class LoadCommand { 21 class LoadCommand {
18 public: 22 public:
19 virtual ~LoadCommand() = default; 23 virtual ~LoadCommand() = default;
20 virtual uint32_t getSize() const = 0; 24 virtual uint32_t getSize() const = 0;
21 virtual void writeTo(uint8_t *buf) const = 0; 25 virtual void writeTo(uint8_t *buf) const = 0;
22 }; 26 };
23 27
24 void writeResult(); 28 template <class LP> void writeResult();
25 29
26 void createSyntheticSections(); 30 void createSyntheticSections();
31
32 // Add bindings for symbols that need weak or non-lazy bindings.
33 void addNonLazyBindingEntries(const Symbol *, const InputSection *,
34 uint64_t offset, int64_t addend = 0);
35
36 extern OutputSection *firstTLVDataSection;
27 37
28 } // namespace macho 38 } // namespace macho
29 } // namespace lld 39 } // namespace lld
30 40
31 #endif 41 #endif