VirtualBox

Changeset 109123 in vbox


Ignore:
Timestamp:
May 1, 2025 12:06:32 AM (9 days ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
168675
Message:

iprt/formats/mach-o.h: Added some new and missing things. jiraref:VBP-1653

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/formats/mach-o.h

    r106061 r109123  
    4545
    4646#ifndef CPU_ARCH_MASK
     47# define IPRT_MACHO_NEED_CPU_DEFINES
     48#endif
     49
     50#ifdef IPRT_MACHO_NEED_CPU_DEFINES
    4751
    4852/* cputype */
     
    159163#define CPU_SUBTYPE_ARM64_V8        INT32_C(1)
    160164#define CPU_SUBTYPE_ARM64E          INT32_C(2)
    161 #define CPU_SUBTYPE_ARM64_PTR_AUTH_MASK         UINT32_C(0x0f000000)
    162 #define CPU_SUBTYPE_ARM64_PTR_AUTH_VERSION(a)   ( ((a) & CPU_SUBTYPE_ARM64_PTR_AUTH_MASK) >> 24 )
     165#endif /* IPRT_MACHO_NEED_CPU_DEFINES */
     166#define CPU_SUBTYPE_ARM64E_PTR_AUTH_MASK                UINT32_C(0x0f000000)
     167#define CPU_SUBTYPE_ARM64E_PTR_AUTH_VERSION(a_uSubType) ( ((a_uSubType) & CPU_SUBTYPE_ARM64E_PTR_AUTH_MASK) >> 24 )
     168#define CPU_SUBTYPE_ARM64E_VERSIONED_PTRAUTH_ABI        RT_BIT_32(29)
     169#define CPU_SUBTYPE_ARM64E_KERNEL_PTRAUTH_ABI           RT_BIT_32(30)
     170#define CPU_SUBTYPE_ARM64E_PTRAUTH_ABI                  RT_BIT_32(31) /**< AKA CPU_SUBTYPE_PTRAUTH_ABI */
     171#ifdef IPRT_MACHO_NEED_CPU_DEFINES
    163172
    164173#define CPU_SUBTYPE_ARM64_32_ALL    INT32_C(0)
     
    190199#define CPU_SUBTYPE_POWERPC_970     INT32_C(100)
    191200
    192 #define CPU_SUBTYPE_MASK            UINT32_C(0xff000000)
     201#define CPU_SUBTYPE_MASK            UINT32_C(0xff000000)        /**< Architecture specific bits. */
    193202#define CPU_SUBTYPE_LIB64           UINT32_C(0x80000000)
    194203
    195 #endif /* !CPU_ARCH_MASK */
     204#endif /* IPRT_MACHO_NEED_CPU_DEFINES */
    196205
    197206
     
    364373#define LC_NOTE                     UINT32_C(0x31)
    365374#define LC_BUILD_VERSION            UINT32_C(0x32)
     375#define LC_DYLD_EXPORTS_TRIE       (UINT32_C(0x33) | LC_REQ_DYLD)
     376#define LC_DYLD_CHAINED_FIXUPS     (UINT32_C(0x34) | LC_REQ_DYLD)
     377#define LC_FILESET_ENTRY           (UINT32_C(0x35) | LC_REQ_DYLD)
     378#define LC_ATOM_INFO                UINT32_C(0x36)
    366379
    367380
     
    721734} macho_nlist_64_t;
    722735
    723 #define MACHO_N_EXT                 UINT8_C(0x01)
    724 #define MACHO_N_PEXT                UINT8_C(0x10)
    725 
    726 #define MACHO_N_TYPE                UINT8_C(0x0e)
     736#define MACHO_N_EXT                 UINT8_C(0x01) /**< bit 0: external symbol*/
     737#define MACHO_N_PEXT                UINT8_C(0x10) /**< bit 4: priate external (hidden) */
     738
     739#define MACHO_N_TYPE                UINT8_C(0x0e) /**< bit 1, 2, 3: type (UNDF, ABS, INDR, PBUD, SECT)*/
    727740#define MACHO_N_UNDF                UINT8_C(0x00)
    728741#define MACHO_N_ABS                 UINT8_C(0x02)
     
    731744#define MACHO_N_SECT                UINT8_C(0x0e)
    732745
    733 #define MACHO_N_STAB                UINT8_C(0xe0)
     746#define MACHO_N_STAB                UINT8_C(0xe0) /* bit 5, 6, 7: set if symbolic debugging entry. */
    734747#define MACHO_N_GSYM                UINT8_C(0x20)
    735748#define MACHO_N_FNAME               UINT8_C(0x22)
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette