2 votos

Extraño cputype en /bin/ls binario

Acabo de empezar con Charlie Miller y Dino Dai Zovi Mac Manual del Hacker y estaba haciendo los tutoriales. Esto incluye llegar a saber cosas como 'otool'

otool -f \bin\ls

Traté de encontrar algo acerca de que la primera
en /usr/include/mach/máquina.h, pero no encontró nada. Claramente me falta algo.

Sugerencias apreciado.

7voto

Nip Puntos 362

cputype 16777223 es "x86 64" (el modo de 64 bits); 7 es "i386" (modo de 32 bits). Por cierto, 16777223 == 0x1000007, así bits 24 significa "64 bits".

Buscando en /usr/include/mach/machine.h (señalado por …/mach-o/fat.h, que parece como un lugar razonable para empezar), encontramos las siguientes:

⋮
typedef integer_t       cpu_type_t;
⋮
#define CPU_ARCH_ABI64  0x01000000              /* 64 bit ABI */
⋮
#define CPU_TYPE_X86            ((cpu_type_t) 7)
#define CPU_TYPE_I386           CPU_TYPE_X86            /* compatibility */
#define CPU_TYPE_X86_64         (CPU_TYPE_X86 | CPU_ARCH_ABI64)
⋮
#define CPU_TYPE_POWERPC                ((cpu_type_t) 18)
#define CPU_TYPE_POWERPC64              (CPU_TYPE_POWERPC | CPU_ARCH_ABI64)
⋮

Por supuesto, usted puede también agregar el -v opción otool comando para mostrar los valores simbólicos:

% otool -vf /bin/ls
Fat headers
fat_magic FAT_MAGIC
nfat_arch 2
architecture x86_64
    cputype CPU_TYPE_X86_64
    cpusubtype CPU_SUBTYPE_X86_64_ALL
    capabilities CPU_SUBTYPE_LIB64
    offset 4096
    size 39600
    align 2^12 (4096)
architecture i386
    cputype CPU_TYPE_I386
    cpusubtype CPU_SUBTYPE_I386_ALL
    capabilities 0x0
    offset 45056
    size 35632
    align 2^12 (4096)

1voto

Petros Puntos 4430

Tan lejos como puedo averiguar, intel FORTRAN-compilado uso de objetos de un cputype 16777223 pero gcc-compilado uso de objetos de un cputype de 7

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X