mirror of
https://github.com/RPCS3/llvm.git
synced 2025-03-05 09:09:23 +00:00
[MachO] Extract MachO load command enums into a def file
Having the MachO enums in a def file instead of inline will allow us to write utilities and encoding/decoding methods for load commands without having to write a lot of mechanically repeated code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269380 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
867b1dadfc
commit
78a47bd1b4
66
include/llvm/Support/MachO.def
Normal file
66
include/llvm/Support/MachO.def
Normal file
@ -0,0 +1,66 @@
|
||||
//,,,-- llvm/Support/MachO.def - The MachO file definitions -----*- C++ -*-,,,//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//,,,----------------------------------------------------------------------,,,//
|
||||
//
|
||||
// Definitions for MachO files
|
||||
//
|
||||
//,,,----------------------------------------------------------------------,,,//
|
||||
|
||||
#ifndef HANDLE_LOAD_COMMAND
|
||||
#define HANDLE_LOAD_COMMAND(LoadCommandName, LoadCommandValue)
|
||||
#endif
|
||||
|
||||
HANDLE_LOAD_COMMAND(LC_SEGMENT , 0x00000001u)
|
||||
HANDLE_LOAD_COMMAND(LC_SYMTAB , 0x00000002u)
|
||||
HANDLE_LOAD_COMMAND(LC_SYMSEG , 0x00000003u)
|
||||
HANDLE_LOAD_COMMAND(LC_THREAD , 0x00000004u)
|
||||
HANDLE_LOAD_COMMAND(LC_UNIXTHREAD , 0x00000005u)
|
||||
HANDLE_LOAD_COMMAND(LC_LOADFVMLIB , 0x00000006u)
|
||||
HANDLE_LOAD_COMMAND(LC_IDFVMLIB , 0x00000007u)
|
||||
HANDLE_LOAD_COMMAND(LC_IDENT , 0x00000008u)
|
||||
HANDLE_LOAD_COMMAND(LC_FVMFILE , 0x00000009u)
|
||||
HANDLE_LOAD_COMMAND(LC_PREPAGE , 0x0000000Au)
|
||||
HANDLE_LOAD_COMMAND(LC_DYSYMTAB , 0x0000000Bu)
|
||||
HANDLE_LOAD_COMMAND(LC_LOAD_DYLIB , 0x0000000Cu)
|
||||
HANDLE_LOAD_COMMAND(LC_ID_DYLIB , 0x0000000Du)
|
||||
HANDLE_LOAD_COMMAND(LC_LOAD_DYLINKER , 0x0000000Eu)
|
||||
HANDLE_LOAD_COMMAND(LC_ID_DYLINKER , 0x0000000Fu)
|
||||
HANDLE_LOAD_COMMAND(LC_PREBOUND_DYLIB , 0x00000010u)
|
||||
HANDLE_LOAD_COMMAND(LC_ROUTINES , 0x00000011u)
|
||||
HANDLE_LOAD_COMMAND(LC_SUB_FRAMEWORK , 0x00000012u)
|
||||
HANDLE_LOAD_COMMAND(LC_SUB_UMBRELLA , 0x00000013u)
|
||||
HANDLE_LOAD_COMMAND(LC_SUB_CLIENT , 0x00000014u)
|
||||
HANDLE_LOAD_COMMAND(LC_SUB_LIBRARY , 0x00000015u)
|
||||
HANDLE_LOAD_COMMAND(LC_TWOLEVEL_HINTS , 0x00000016u)
|
||||
HANDLE_LOAD_COMMAND(LC_PREBIND_CKSUM , 0x00000017u)
|
||||
HANDLE_LOAD_COMMAND(LC_LOAD_WEAK_DYLIB , 0x80000018u)
|
||||
HANDLE_LOAD_COMMAND(LC_SEGMENT_64 , 0x00000019u)
|
||||
HANDLE_LOAD_COMMAND(LC_ROUTINES_64 , 0x0000001Au)
|
||||
HANDLE_LOAD_COMMAND(LC_UUID , 0x0000001Bu)
|
||||
HANDLE_LOAD_COMMAND(LC_RPATH , 0x8000001Cu)
|
||||
HANDLE_LOAD_COMMAND(LC_CODE_SIGNATURE , 0x0000001Du)
|
||||
HANDLE_LOAD_COMMAND(LC_SEGMENT_SPLIT_INFO , 0x0000001Eu)
|
||||
HANDLE_LOAD_COMMAND(LC_REEXPORT_DYLIB , 0x8000001Fu)
|
||||
HANDLE_LOAD_COMMAND(LC_LAZY_LOAD_DYLIB , 0x00000020u)
|
||||
HANDLE_LOAD_COMMAND(LC_ENCRYPTION_INFO , 0x00000021u)
|
||||
HANDLE_LOAD_COMMAND(LC_DYLD_INFO , 0x00000022u)
|
||||
HANDLE_LOAD_COMMAND(LC_DYLD_INFO_ONLY , 0x80000022u)
|
||||
HANDLE_LOAD_COMMAND(LC_LOAD_UPWARD_DYLIB , 0x80000023u)
|
||||
HANDLE_LOAD_COMMAND(LC_VERSION_MIN_MACOSX , 0x00000024u)
|
||||
HANDLE_LOAD_COMMAND(LC_VERSION_MIN_IPHONEOS , 0x00000025u)
|
||||
HANDLE_LOAD_COMMAND(LC_FUNCTION_STARTS , 0x00000026u)
|
||||
HANDLE_LOAD_COMMAND(LC_DYLD_ENVIRONMENT , 0x00000027u)
|
||||
HANDLE_LOAD_COMMAND(LC_MAIN , 0x80000028u)
|
||||
HANDLE_LOAD_COMMAND(LC_DATA_IN_CODE , 0x00000029u)
|
||||
HANDLE_LOAD_COMMAND(LC_SOURCE_VERSION , 0x0000002Au)
|
||||
HANDLE_LOAD_COMMAND(LC_DYLIB_CODE_SIGN_DRS , 0x0000002Bu)
|
||||
HANDLE_LOAD_COMMAND(LC_ENCRYPTION_INFO_64 , 0x0000002Cu)
|
||||
HANDLE_LOAD_COMMAND(LC_LINKER_OPTION , 0x0000002Du)
|
||||
HANDLE_LOAD_COMMAND(LC_LINKER_OPTIMIZATION_HINT , 0x0000002Eu)
|
||||
HANDLE_LOAD_COMMAND(LC_VERSION_MIN_TVOS , 0x0000002Fu)
|
||||
HANDLE_LOAD_COMMAND(LC_VERSION_MIN_WATCHOS , 0x00000030u)
|
@ -84,59 +84,15 @@ namespace llvm {
|
||||
LC_REQ_DYLD = 0x80000000u
|
||||
};
|
||||
|
||||
#define HANDLE_LOAD_COMMAND(LoadCommandName, LoadCommandValue) \
|
||||
LoadCommandName = LoadCommandValue,
|
||||
|
||||
enum LoadCommandType : uint32_t {
|
||||
// Constants for the "cmd" field in llvm::MachO::load_command
|
||||
LC_SEGMENT = 0x00000001u,
|
||||
LC_SYMTAB = 0x00000002u,
|
||||
LC_SYMSEG = 0x00000003u,
|
||||
LC_THREAD = 0x00000004u,
|
||||
LC_UNIXTHREAD = 0x00000005u,
|
||||
LC_LOADFVMLIB = 0x00000006u,
|
||||
LC_IDFVMLIB = 0x00000007u,
|
||||
LC_IDENT = 0x00000008u,
|
||||
LC_FVMFILE = 0x00000009u,
|
||||
LC_PREPAGE = 0x0000000Au,
|
||||
LC_DYSYMTAB = 0x0000000Bu,
|
||||
LC_LOAD_DYLIB = 0x0000000Cu,
|
||||
LC_ID_DYLIB = 0x0000000Du,
|
||||
LC_LOAD_DYLINKER = 0x0000000Eu,
|
||||
LC_ID_DYLINKER = 0x0000000Fu,
|
||||
LC_PREBOUND_DYLIB = 0x00000010u,
|
||||
LC_ROUTINES = 0x00000011u,
|
||||
LC_SUB_FRAMEWORK = 0x00000012u,
|
||||
LC_SUB_UMBRELLA = 0x00000013u,
|
||||
LC_SUB_CLIENT = 0x00000014u,
|
||||
LC_SUB_LIBRARY = 0x00000015u,
|
||||
LC_TWOLEVEL_HINTS = 0x00000016u,
|
||||
LC_PREBIND_CKSUM = 0x00000017u,
|
||||
LC_LOAD_WEAK_DYLIB = 0x80000018u,
|
||||
LC_SEGMENT_64 = 0x00000019u,
|
||||
LC_ROUTINES_64 = 0x0000001Au,
|
||||
LC_UUID = 0x0000001Bu,
|
||||
LC_RPATH = 0x8000001Cu,
|
||||
LC_CODE_SIGNATURE = 0x0000001Du,
|
||||
LC_SEGMENT_SPLIT_INFO = 0x0000001Eu,
|
||||
LC_REEXPORT_DYLIB = 0x8000001Fu,
|
||||
LC_LAZY_LOAD_DYLIB = 0x00000020u,
|
||||
LC_ENCRYPTION_INFO = 0x00000021u,
|
||||
LC_DYLD_INFO = 0x00000022u,
|
||||
LC_DYLD_INFO_ONLY = 0x80000022u,
|
||||
LC_LOAD_UPWARD_DYLIB = 0x80000023u,
|
||||
LC_VERSION_MIN_MACOSX = 0x00000024u,
|
||||
LC_VERSION_MIN_IPHONEOS = 0x00000025u,
|
||||
LC_FUNCTION_STARTS = 0x00000026u,
|
||||
LC_DYLD_ENVIRONMENT = 0x00000027u,
|
||||
LC_MAIN = 0x80000028u,
|
||||
LC_DATA_IN_CODE = 0x00000029u,
|
||||
LC_SOURCE_VERSION = 0x0000002Au,
|
||||
LC_DYLIB_CODE_SIGN_DRS = 0x0000002Bu,
|
||||
LC_ENCRYPTION_INFO_64 = 0x0000002Cu,
|
||||
LC_LINKER_OPTION = 0x0000002Du,
|
||||
LC_LINKER_OPTIMIZATION_HINT = 0x0000002Eu,
|
||||
LC_VERSION_MIN_TVOS = 0x0000002Fu,
|
||||
LC_VERSION_MIN_WATCHOS = 0x00000030u,
|
||||
#include "llvm/Support/MachO.def"
|
||||
};
|
||||
|
||||
#undef HANDLE_LOAD_COMMAND
|
||||
|
||||
enum : uint32_t {
|
||||
// Constant bits for the "flags" field in llvm::MachO::segment_command
|
||||
SG_HIGHVM = 0x1u,
|
||||
|
Loading…
x
Reference in New Issue
Block a user