Mercurial > hg > CbC > CbC_llvm
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 |