|  | # RUN: ld64.lld -arch armv7 -r -print_atoms %s -o %t  | FileCheck %s | 
|  | # RUN: ld64.lld -arch armv7 -r -print_atoms %t -o %t2  | FileCheck %s | 
|  | # RUN: ld64.lld -arch armv7 -dylib %s -o %t3.dylib %p/Inputs/armv7/libSystem.yaml \ | 
|  | # RUN:   && llvm-objdump -macho -private-headers %t3.dylib | FileCheck --check-prefix=CHECK2 %s | 
|  | # | 
|  | # Test parsing LC_DATA_IN_CODE | 
|  | # | 
|  | # | 
|  |  | 
|  | --- !mach-o | 
|  | arch:            armv7 | 
|  | file-type:       MH_OBJECT | 
|  | flags:           [ MH_SUBSECTIONS_VIA_SYMBOLS ] | 
|  | sections: | 
|  | - segment:         __TEXT | 
|  | section:         __text | 
|  | type:            S_REGULAR | 
|  | attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ] | 
|  | alignment:       2 | 
|  | address:         0x0000000000000000 | 
|  | content:         [ 0x00, 0xBF, 0x00, 0xBF, 0x00, 0x00, 0x00, 0x00, | 
|  | 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, | 
|  | 0x03, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x00, 0xBF, | 
|  | 0x00, 0xF0, 0x20, 0xE3, 0x0A, 0x00, 0x00, 0x00, | 
|  | 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, | 
|  | 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x20, 0xE3 ] | 
|  | local-symbols: | 
|  | - name:            _foo_thumb | 
|  | type:            N_SECT | 
|  | sect:            1 | 
|  | desc:            [ N_ARM_THUMB_DEF ] | 
|  | value:           0x0000000000000000 | 
|  | - name:            _foo_arm | 
|  | type:            N_SECT | 
|  | sect:            1 | 
|  | value:           0x0000000000000018 | 
|  | dataInCode: | 
|  | - offset:          0x00000004 | 
|  | length:          0x0004 | 
|  | kind:            DICE_KIND_DATA | 
|  | - offset:          0x00000008 | 
|  | length:          0x0004 | 
|  | kind:            DICE_KIND_JUMP_TABLE32 | 
|  | - offset:          0x0000000C | 
|  | length:          0x0004 | 
|  | kind:            DICE_KIND_JUMP_TABLE16 | 
|  | - offset:          0x00000010 | 
|  | length:          0x0004 | 
|  | kind:            DICE_KIND_JUMP_TABLE8 | 
|  | - offset:          0x0000001C | 
|  | length:          0x0004 | 
|  | kind:            DICE_KIND_DATA | 
|  | - offset:          0x00000020 | 
|  | length:          0x0004 | 
|  | kind:            DICE_KIND_JUMP_TABLE32 | 
|  | - offset:          0x00000024 | 
|  | length:          0x0004 | 
|  | kind:            DICE_KIND_JUMP_TABLE16 | 
|  | - offset:          0x00000028 | 
|  | length:          0x0004 | 
|  | kind:            DICE_KIND_JUMP_TABLE8 | 
|  | ... | 
|  |  | 
|  |  | 
|  |  | 
|  | # CHECK: defined-atoms: | 
|  | # CHECK:   - name:            _foo_thumb | 
|  | # CHECK:     references: | 
|  | # CHECK:       - kind:            modeThumbCode | 
|  | # CHECK:         offset:          0 | 
|  | # CHECK:       - kind:            modeData | 
|  | # CHECK:         offset:          4 | 
|  | # CHECK:         addend:          1 | 
|  | # CHECK:       - kind:            modeData | 
|  | # CHECK:         offset:          8 | 
|  | # CHECK:         addend:          4 | 
|  | # CHECK:       - kind:            modeData | 
|  | # CHECK:         offset:          12 | 
|  | # CHECK:         addend:          3 | 
|  | # CHECK:       - kind:            modeData | 
|  | # CHECK:         offset:          16 | 
|  | # CHECK:         addend:          2 | 
|  | # CHECK:       - kind:            modeThumbCode | 
|  | # CHECK:         offset:          20 | 
|  | # CHECK:   - name:            _foo_arm | 
|  | # CHECK:     references: | 
|  | # CHECK:       - kind:            modeData | 
|  | # CHECK:         offset:          4 | 
|  | # CHECK:         addend:          1 | 
|  | # CHECK:       - kind:            modeData | 
|  | # CHECK:         offset:          8 | 
|  | # CHECK:         addend:          4 | 
|  | # CHECK:       - kind:            modeData | 
|  | # CHECK:         offset:          12 | 
|  | # CHECK:         addend:          3 | 
|  | # CHECK:       - kind:            modeData | 
|  | # CHECK:         offset:          16 | 
|  | # CHECK:         addend:          2 | 
|  | # CHECK:       - kind:            modeArmCode | 
|  | # CHECK:         offset:          20 | 
|  |  | 
|  |  | 
|  | # CHECK2:      cmd LC_DATA_IN_CODE | 
|  | # CHECK2:  cmdsize 16 | 
|  | # CHECK2: datasize 64 | 
|  |  | 
|  |  | 
|  | #	.code	16 | 
|  | #  .thumb_func	_foo_thumb | 
|  | #_foo_thumb: | 
|  | # nop | 
|  | # nop | 
|  | # | 
|  | #	.data_region | 
|  | #  .long 0 | 
|  | #	.end_data_region | 
|  | # | 
|  | #	.data_region jt32 | 
|  | #  .long 1 | 
|  | #	.end_data_region | 
|  | # | 
|  | #	.data_region jt16 | 
|  | #  .long 2 | 
|  | #	.end_data_region | 
|  | # | 
|  | #	.data_region jt8 | 
|  | #  .long 3 | 
|  | #	.end_data_region | 
|  | # | 
|  | #  nop | 
|  | #  nop | 
|  | # | 
|  | # | 
|  | # | 
|  | #	.code	32 | 
|  | #  .align 2 | 
|  | #_foo_arm: | 
|  | #  nop | 
|  | # | 
|  | #	.data_region | 
|  | #  .long 10 | 
|  | #	.end_data_region | 
|  | # | 
|  | #	.data_region jt32 | 
|  | #  .long 11 | 
|  | #	.end_data_region | 
|  | # | 
|  | #	.data_region jt16 | 
|  | #  .long 12 | 
|  | #	.end_data_region | 
|  | # | 
|  | #	.data_region jt8 | 
|  | #  .long 13 | 
|  | #	.end_data_region | 
|  | # | 
|  | #  nop | 
|  | # |