LLVM 22.0.0git
MachOObjectFormat.h
Go to the documentation of this file.
1//===---- MachOObjectFormat.h - MachO format details for ORC ----*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// ORC-specific MachO object format details.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_EXECUTIONENGINE_ORC_SHARED_MACHOOBJECTFORMAT_H
14#define LLVM_EXECUTIONENGINE_ORC_SHARED_MACHOOBJECTFORMAT_H
15
16#include "llvm/ADT/StringRef.h"
18
19namespace llvm {
20namespace orc {
21
22// FIXME: Move these to BinaryFormat?
23
24// MachO section names.
25
27LLVM_ABI extern StringRef MachODataDataSectionName;
28LLVM_ABI extern StringRef MachOEHFrameSectionName;
30LLVM_ABI extern StringRef MachOCStringSectionName;
37LLVM_ABI extern StringRef MachOObjCConstSectionName;
38LLVM_ABI extern StringRef MachOObjCDataSectionName;
53LLVM_ABI extern StringRef MachOTextTextSectionName;
54LLVM_ABI extern StringRef MachOThreadBSSSectionName;
58
59LLVM_ABI extern StringRef MachOInitSectionNames[22];
60
61LLVM_ABI bool isMachOInitializerSection(StringRef SegName, StringRef SecName);
62LLVM_ABI bool isMachOInitializerSection(StringRef QualifiedName);
63
64} // end namespace orc
65} // end namespace llvm
66
67#endif // LLVM_EXECUTIONENGINE_ORC_SHARED_MACHOOBJECTFORMAT_H
#define LLVM_ABI
Definition Compiler.h:213
LLVM_ABI StringRef MachOSwift5EntrySectionName
LLVM_ABI StringRef MachOThreadBSSSectionName
LLVM_ABI StringRef MachOThreadVarsSectionName
LLVM_ABI StringRef MachOObjCProtoListSectionName
LLVM_ABI StringRef MachOSwift5ProtosSectionName
LLVM_ABI StringRef MachOEHFrameSectionName
LLVM_ABI StringRef MachOModInitFuncSectionName
LLVM_ABI StringRef MachOObjCConstSectionName
LLVM_ABI StringRef MachODataDataSectionName
LLVM_ABI StringRef MachOCompactUnwindSectionName
LLVM_ABI StringRef MachOSwift5ProtoSectionName
LLVM_ABI bool isMachOInitializerSection(StringRef SegName, StringRef SecName)
LLVM_ABI StringRef MachOObjCCatListSectionName
LLVM_ABI StringRef MachOObjCClassRefsSectionName
LLVM_ABI StringRef MachOObjCDataSectionName
LLVM_ABI StringRef MachOObjCClassNameSectionName
LLVM_ABI StringRef MachOObjCMethNameSectionName
LLVM_ABI StringRef MachOInitSectionNames[22]
LLVM_ABI StringRef MachOObjCClassListSectionName
LLVM_ABI StringRef MachOObjCSelRefsSectionName
LLVM_ABI StringRef MachOTextTextSectionName
LLVM_ABI StringRef MachOSwift5FieldMetadataSectionName
LLVM_ABI StringRef MachOCStringSectionName
LLVM_ABI StringRef MachOObjCMethTypeSectionName
LLVM_ABI StringRef MachOSwift5TypesSectionName
LLVM_ABI StringRef MachOObjCNLCatListSectionName
LLVM_ABI StringRef MachOObjCNLClassListSectionName
LLVM_ABI StringRef MachOObjCImageInfoSectionName
LLVM_ABI StringRef MachOThreadDataSectionName
LLVM_ABI StringRef MachOUnwindInfoSectionName
LLVM_ABI StringRef MachODataCommonSectionName
LLVM_ABI StringRef MachOObjCProtoRefsSectionName
LLVM_ABI StringRef MachOSwift5TypeRefSectionName
LLVM_ABI StringRef MachOObjCCatList2SectionName
This is an optimization pass for GlobalISel generic memory operations.