Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:43:51

0001 //===---- MachOObjectFormat.h - MachO format details for ORC ----*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 //
0009 // ORC-specific MachO object format details.
0010 //
0011 //===----------------------------------------------------------------------===//
0012 
0013 #ifndef LLVM_EXECUTIONENGINE_ORC_SHARED_MACHOOBJECTFORMAT_H
0014 #define LLVM_EXECUTIONENGINE_ORC_SHARED_MACHOOBJECTFORMAT_H
0015 
0016 #include "llvm/ADT/StringRef.h"
0017 
0018 namespace llvm {
0019 namespace orc {
0020 
0021 // FIXME: Move these to BinaryFormat?
0022 
0023 // MachO section names.
0024 
0025 extern StringRef MachODataCommonSectionName;
0026 extern StringRef MachODataDataSectionName;
0027 extern StringRef MachOEHFrameSectionName;
0028 extern StringRef MachOCompactUnwindSectionName;
0029 extern StringRef MachOCStringSectionName;
0030 extern StringRef MachOModInitFuncSectionName;
0031 extern StringRef MachOObjCCatListSectionName;
0032 extern StringRef MachOObjCCatList2SectionName;
0033 extern StringRef MachOObjCClassListSectionName;
0034 extern StringRef MachOObjCClassNameSectionName;
0035 extern StringRef MachOObjCClassRefsSectionName;
0036 extern StringRef MachOObjCConstSectionName;
0037 extern StringRef MachOObjCDataSectionName;
0038 extern StringRef MachOObjCImageInfoSectionName;
0039 extern StringRef MachOObjCMethNameSectionName;
0040 extern StringRef MachOObjCMethTypeSectionName;
0041 extern StringRef MachOObjCNLCatListSectionName;
0042 extern StringRef MachOObjCNLClassListSectionName;
0043 extern StringRef MachOObjCProtoListSectionName;
0044 extern StringRef MachOObjCProtoRefsSectionName;
0045 extern StringRef MachOObjCSelRefsSectionName;
0046 extern StringRef MachOSwift5ProtoSectionName;
0047 extern StringRef MachOSwift5ProtosSectionName;
0048 extern StringRef MachOSwift5TypesSectionName;
0049 extern StringRef MachOSwift5TypeRefSectionName;
0050 extern StringRef MachOSwift5FieldMetadataSectionName;
0051 extern StringRef MachOSwift5EntrySectionName;
0052 extern StringRef MachOTextTextSectionName;
0053 extern StringRef MachOThreadBSSSectionName;
0054 extern StringRef MachOThreadDataSectionName;
0055 extern StringRef MachOThreadVarsSectionName;
0056 extern StringRef MachOUnwindInfoSectionName;
0057 
0058 extern StringRef MachOInitSectionNames[22];
0059 
0060 bool isMachOInitializerSection(StringRef SegName, StringRef SecName);
0061 bool isMachOInitializerSection(StringRef QualifiedName);
0062 
0063 } // end namespace orc
0064 } // end namespace llvm
0065 
0066 #endif // LLVM_EXECUTIONENGINE_ORC_SHARED_MACHOOBJECTFORMAT_H