brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.3 KiB · 9fb51ed Raw
115 lines · plain
1# REQUIRES: x862# RUN: rm -rf %t; split-file %s %t3# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/test.s -o %t/test.o4# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/qux.s -o %t/qux.o5# RUN: %lld -dylib %t/test.o %t/qux.o -o %t/test6# RUN: llvm-objdump --macho --section="__TEXT,__literals" --section="__DATA,ptrs" --syms %t/test | FileCheck %s7# RUN: llvm-readobj --section-headers %t/test | FileCheck %s --check-prefix=HEADER8 9# RUN: %lld -dylib -no_deduplicate %t/test.o %t/qux.o -o %t/test10# RUN: llvm-objdump --macho --section="__TEXT,__literals" --section="__DATA,ptrs" --syms %t/test | FileCheck %s11# RUN: llvm-readobj --section-headers %t/test | FileCheck %s --check-prefix=HEADER12 13# CHECK:      Contents of (__TEXT,__literals) section14# CHECK-NEXT: [[#%.16x,DEADBEEF16:]] ef be ad de ef be ad de ef be ad de ef be ad de15# CHECK-NEXT: [[#%.16x,FEEDFACE16:]] ce fa ed fe ce fa ed fe ce fa ed fe ce fa ed fe16# CHECK-NEXT: [[#%.16x,DEADBEEF8:]]  ef be ad de ef be ad de ce fa ed fe ce fa ed fe17# CHECK-NEXT: [[#%.16x,DEADBEEF4:]]  ef be ad de ce fa ed fe18# CHECK-NEXT: Contents of (__DATA,ptrs) section19# CHECK-NEXT: 0000000000001000  0x[[#%x,DEADBEEF16]]20# CHECK-NEXT: 0000000000001008  0x[[#%x,DEADBEEF16]]21# CHECK-NEXT: 0000000000001010  0x[[#%x,FEEDFACE16]]22# CHECK-NEXT: 0000000000001018  0x[[#%x,DEADBEEF16]]23# CHECK-NEXT: 0000000000001020  0x[[#%x,DEADBEEF8]]24# CHECK-NEXT: 0000000000001028  0x[[#%x,DEADBEEF8]]25# CHECK-NEXT: 0000000000001030  0x[[#%x,DEADBEEF8 + 8]]26# CHECK-NEXT: 0000000000001038  0x[[#%x,DEADBEEF8]]27# CHECK-NEXT: 0000000000001040  0x[[#%x,DEADBEEF4]]28# CHECK-NEXT: 0000000000001048  0x[[#%x,DEADBEEF4]]29# CHECK-NEXT: 0000000000001050  0x[[#%x,DEADBEEF4 + 4]]30# CHECK-NEXT: 0000000000001058  0x[[#%x,DEADBEEF4]]31 32## Make sure the symbol addresses are correct too.33# CHECK:     SYMBOL TABLE:34# CHECK-DAG: [[#DEADBEEF16]] g     O __TEXT,__literals _qux1635# CHECK-DAG: [[#DEADBEEF8]]  g     O __TEXT,__literals _qux836# CHECK-DAG: [[#DEADBEEF4]]  g     O __TEXT,__literals _qux437 38## Make sure we set the right alignment and flags.39# HEADER:        Name: __literals40# HEADER-NEXT:   Segment: __TEXT41# HEADER-NEXT:   Address:42# HEADER-NEXT:   Size:43# HEADER-NEXT:   Offset:44# HEADER-NEXT:   Alignment: 445# HEADER-NEXT:   RelocationOffset:46# HEADER-NEXT:   RelocationCount: 047# HEADER-NEXT:   Type: Regular48# HEADER-NEXT:   Attributes [ (0x0)49# HEADER-NEXT:   ]50# HEADER-NEXT:   Reserved1: 0x051# HEADER-NEXT:   Reserved2: 0x052# HEADER-NEXT:   Reserved3: 0x053 54#--- test.s55.literal456.p2align 257L._foo4:58  .long 0xdeadbeef59L._bar4:60  .long 0xdeadbeef61L._baz4:62  .long 0xfeedface63 64.literal865L._foo8:66  .quad 0xdeadbeefdeadbeef67L._bar8:68  .quad 0xdeadbeefdeadbeef69L._baz8:70  .quad 0xfeedfacefeedface71 72.literal1673L._foo16:74  .quad 0xdeadbeefdeadbeef75  .quad 0xdeadbeefdeadbeef76L._bar16:77  .quad 0xdeadbeefdeadbeef78  .quad 0xdeadbeefdeadbeef79L._baz16:80  .quad 0xfeedfacefeedface81  .quad 0xfeedfacefeedface82 83.section __DATA,ptrs,literal_pointers84.quad L._foo1685.quad L._bar1686.quad L._baz1687.quad _qux1688 89.quad L._foo890.quad L._bar891.quad L._baz892.quad _qux893 94.quad L._foo495.quad L._bar496.quad L._baz497.quad _qux498 99#--- qux.s100.globl _qux4, _qux8, _qux16101 102.literal4103.p2align 2104_qux4:105  .long 0xdeadbeef106 107.literal8108_qux8:109  .quad 0xdeadbeefdeadbeef110 111.literal16112_qux16:113  .quad 0xdeadbeefdeadbeef114  .quad 0xdeadbeefdeadbeef115