//===- OutputSection.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 // //===----------------------------------------------------------------------===// #ifndef LLD_MACHO_OUTPUT_SECTION_H #define LLD_MACHO_OUTPUT_SECTION_H #include "Symbols.h" #include "lld/Common/LLVM.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/TinyPtrVector.h" #include <limits> namespace lld::macho { class Defined; class InputSection; class OutputSegment; // The default order value for OutputSections that are not constructed from // InputSections (i.e. SyntheticSections). We make it less than INT_MAX in order // not to conflict with the ordering of zerofill sections, which must always be // placed at the end of their segment. constexpr int UnspecifiedInputOrder = …; // Output sections represent the finalized sections present within the final // linked executable. They can represent special sections (like the symbol // table), or represent coalesced sections from the various inputs given to the // linker with the same segment / section name. class OutputSection { … }; } // namespace lld::macho #endif