macho-literal-pointers-i386.test 1.08 KB
# RUN: llvm-mc < %s -triple i386-apple-darwin -filetype=obj | llvm-objdump -m -section __DATA,__litp - | FileCheck %s
# RUN: llvm-mc < %s -triple i386-apple-darwin -filetype=obj | llvm-objdump -m -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 2
.long L1
.long L2
.long L3
.long L4
.long L5

# CHECK: Contents of (__DATA,__litp) section
# CHECK: 0000004c  __TEXT:__cstring:Hello world\n
# CHECK: 00000050  __TEXT:__literal4:0x40800000
# CHECK: 00000054  __TEXT:__literal8:0x00000000 0x40200000
# CHECK: 00000058  __TEXT:__literal16:0x10000016 0x20000016 0x30000016 0x40000016
# CHECK: 0000005c  0x30 (not in a literal section)

# NON-VERBOSE: Contents of (__DATA,__litp) section
# NON-VERBOSE: 0000004c	00 00 00 00 10 00 00 00 18 00 00 00 20 00 00 00 
# NON-VERBOSE: 0000005c	30 00 00 00