1*d6704e5eSDaniel Rodríguez Troitiño## This test verifies that llvm-objcopy correctly ignores the LC_SUB_* load 2*d6704e5eSDaniel Rodríguez Troitiño## commands. 3*d6704e5eSDaniel Rodríguez Troitiño 4*d6704e5eSDaniel Rodríguez Troitiño# RUN: yaml2obj %s -o %t 5*d6704e5eSDaniel Rodríguez Troitiño# RUN: llvm-objcopy %t %t2 6*d6704e5eSDaniel Rodríguez Troitiño# RUN: cmp %t %t2 7*d6704e5eSDaniel Rodríguez Troitiño# RUN: llvm-objdump --macho --private-headers %t2 | FileCheck %s 8*d6704e5eSDaniel Rodríguez Troitiño 9*d6704e5eSDaniel Rodríguez Troitiño--- !mach-o 10*d6704e5eSDaniel Rodríguez TroitiñoFileHeader: 11*d6704e5eSDaniel Rodríguez Troitiño magic: 0xFEEDFACF 12*d6704e5eSDaniel Rodríguez Troitiño cputype: 0x01000007 13*d6704e5eSDaniel Rodríguez Troitiño cpusubtype: 0x80000003 14*d6704e5eSDaniel Rodríguez Troitiño filetype: 0x00000002 15*d6704e5eSDaniel Rodríguez Troitiño ncmds: 4 16*d6704e5eSDaniel Rodríguez Troitiño sizeofcmds: 72 17*d6704e5eSDaniel Rodríguez Troitiño flags: 0x00200085 18*d6704e5eSDaniel Rodríguez Troitiño reserved: 0x00000000 19*d6704e5eSDaniel Rodríguez TroitiñoLoadCommands: 20*d6704e5eSDaniel Rodríguez Troitiño - cmd: LC_SUB_FRAMEWORK 21*d6704e5eSDaniel Rodríguez Troitiño cmdsize: 16 22*d6704e5eSDaniel Rodríguez Troitiño umbrella: 12 23*d6704e5eSDaniel Rodríguez Troitiño Content: 'Bar' 24*d6704e5eSDaniel Rodríguez Troitiño ZeroPadBytes: 1 25*d6704e5eSDaniel Rodríguez Troitiño - cmd: LC_SUB_UMBRELLA 26*d6704e5eSDaniel Rodríguez Troitiño cmdsize: 16 27*d6704e5eSDaniel Rodríguez Troitiño sub_umbrella: 12 28*d6704e5eSDaniel Rodríguez Troitiño Content: 'Foo' 29*d6704e5eSDaniel Rodríguez Troitiño ZeroPadBytes: 1 30*d6704e5eSDaniel Rodríguez Troitiño - cmd: LC_SUB_LIBRARY 31*d6704e5eSDaniel Rodríguez Troitiño cmdsize: 24 32*d6704e5eSDaniel Rodríguez Troitiño sub_library: 12 33*d6704e5eSDaniel Rodríguez Troitiño Content: 'libfoo' 34*d6704e5eSDaniel Rodríguez Troitiño ZeroPadBytes: 6 35*d6704e5eSDaniel Rodríguez Troitiño - cmd: LC_SUB_CLIENT 36*d6704e5eSDaniel Rodríguez Troitiño cmdsize: 16 37*d6704e5eSDaniel Rodríguez Troitiño client: 12 38*d6704e5eSDaniel Rodríguez Troitiño Content: 'bar' 39*d6704e5eSDaniel Rodríguez Troitiño ZeroPadBytes: 1 40*d6704e5eSDaniel Rodríguez Troitiño 41*d6704e5eSDaniel Rodríguez Troitiño# CHECK: Load command 0 42*d6704e5eSDaniel Rodríguez Troitiño# CHECK: cmd LC_SUB_FRAMEWORK 43*d6704e5eSDaniel Rodríguez Troitiño# CHECK: cmdsize 16 44*d6704e5eSDaniel Rodríguez Troitiño# CHECK: umbrella Bar (offset 12) 45*d6704e5eSDaniel Rodríguez Troitiño# CHECK: Load command 1 46*d6704e5eSDaniel Rodríguez Troitiño# CHECK: cmd LC_SUB_UMBRELLA 47*d6704e5eSDaniel Rodríguez Troitiño# CHECK: cmdsize 16 48*d6704e5eSDaniel Rodríguez Troitiño# CHECK: sub_umbrella Foo (offset 12) 49*d6704e5eSDaniel Rodríguez Troitiño# CHECK: Load command 2 50*d6704e5eSDaniel Rodríguez Troitiño# CHECK: cmd LC_SUB_LIBRARY 51*d6704e5eSDaniel Rodríguez Troitiño# CHECK: cmdsize 24 52*d6704e5eSDaniel Rodríguez Troitiño# CHECK: sub_library libfoo (offset 12) 53*d6704e5eSDaniel Rodríguez Troitiño# CHECK: Load command 3 54*d6704e5eSDaniel Rodríguez Troitiño# CHECK: cmd LC_SUB_CLIENT 55*d6704e5eSDaniel Rodríguez Troitiño# CHECK: cmdsize 16 56*d6704e5eSDaniel Rodríguez Troitiño# CHECK: client bar (offset 12) 57