| # REQUIRES: x86 |
| # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t.o |
| # RUN: %lld -lSystem -o %t.out %t.o -dead_strip |
| # RUN: llvm-otool -l %t.out | FileCheck --check-prefix=SECT %s |
| # RUN: llvm-otool -vs __TEXT __cstring %t.out | FileCheck %s |
| |
| # SECT: sectname __cstring |
| # SECT-NEXT: segname __TEXT |
| # SECT-NEXT: addr |
| # SECT-NEXT: size |
| # SECT-NEXT: offset |
| # SECT-NEXT: align 2^4 (16) |
| |
| # CHECK: 0 \303Q043\005\376\334\272\230vT2\020\001 |
| # CHECK: 8 def |
| |
| .section __TEXT,__cstring,cstring_literals |
| .globl _foo |
| _foo: # Dead. External, has symbol table entry, gets stripped. |
| .asciz "asdf" |
| |
| .globl _hi |
| _hi: |
| .asciz "hi" # External, has symbol table entry. |
| |
| .p2align 4 |
| L_internal_aligned_16: # Has no symbol table entry. |
| .asciz "\303Q043\005\376\334\272\230vT2\020\001" |
| |
| L_internal_nonaligned: |
| .asciz "abc" |
| |
| .p2align 3 |
| L_internal_aligned_8: |
| .asciz "def" |
| |
| .text |
| .globl _main |
| _main: |
| movq _hi(%rip), %rax |
| movq L_internal_nonaligned(%rip), %rax |
| movq L_internal_aligned_8(%rip), %rax |
| movaps L_internal_aligned_16(%rip), %xmm0 |
| retq |
| |
| .subsections_via_symbols |