literal-pointers-x86_64.test 1.24 KB
# RUN: llvm-mc < %s --triple x86_64-apple-darwin -filetype=obj | llvm-objdump --macho --section __DATA,__litp - | FileCheck %s
# RUN: llvm-mc < %s --triple x86_64-apple-darwin -filetype=obj | llvm-objdump --macho --section __DATA,__litp --non-verbose - | FileCheck %s --check-prefix=NON-VERBOSE

.cstring
L1: .asciz "Hello world\n"

.literal4
.align 2
L2: .float 4.0

.literal8
.align 3
L3: .double 8.0

.literal16
.align 4
L4: .long 0x10000016, 0x20000016, 0x30000016, 0x40000016

.const
L5: .asciz "const non-literal string"

.section __DATA,__litp, literal_pointers
.align 3
.quad L1
.quad L2
.quad L3
.quad L4
.quad L5

# CHECK: Contents of (__DATA,__litp) section
# CHECK: 0000000000000050  __TEXT:__cstring:Hello world\n
# CHECK: 0000000000000058  __TEXT:__literal4:0x40800000
# CHECK: 0000000000000060  __TEXT:__literal8:0x00000000 0x40200000
# CHECK: 0000000000000068  __TEXT:__literal16:0x10000016 0x20000016 0x30000016 0x40000016
# CHECK: 0000000000000070  0x30 (not in a literal section)

# NON-VERBOSE: Contents of (__DATA,__litp) section
# NON-VERBOSE: 0000000000000050	00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 
# NON-VERBOSE: 0000000000000060	18 00 00 00 00 00 00 00 20 00 00 00 00 00 00 00 
# NON-VERBOSE: 0000000000000070	30 00 00 00 00 00 00 00