Path: blob/main/contrib/llvm-project/lld/MachO/Writer.h
34878 views
//===- Writer.h -------------------------------------------------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLD_MACHO_WRITER_H9#define LLD_MACHO_WRITER_H1011#include <cstdint>1213namespace lld::macho {1415class OutputSection;16class InputSection;17class Symbol;1819class LoadCommand {20public:21virtual ~LoadCommand() = default;22virtual uint32_t getSize() const = 0;23virtual void writeTo(uint8_t *buf) const = 0;24};2526template <class LP> void writeResult();27void resetWriter();2829void createSyntheticSections();3031// Add bindings for symbols that need weak or non-lazy bindings.32void addNonLazyBindingEntries(const Symbol *, const InputSection *,33uint64_t offset, int64_t addend = 0);3435extern OutputSection *firstTLVDataSection;3637} // namespace lld::macho3839#endif404142