brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 1a09359 Raw
86 lines · plain
1# REQUIRES: x862 3# RUN: rm -rf %t; split-file %s %t4 5# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/foo.s -o %t/foo.o6# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/bar.s -o %t/bar.o7# RUN: %lld -lSystem %t/foo.o %t/bar.o -o %t/main.exe8# RUN: llvm-otool -l %t/main.exe > %t/objdump9# RUN: llvm-otool -Gv %t/main.exe >> %t/objdump10# RUN: FileCheck %s < %t/objdump11 12# CHECK-LABEL:  sectname __text13# CHECK-NEXT:   segname __TEXT14# CHECK-NEXT:   addr15# CHECK-NEXT:   size16# CHECK-NEXT:   offset [[#%,TEXT:]]17 18# CHECK-LABEL:  cmd LC_DATA_IN_CODE19# CHECK-NEXT:   cmdsize 1620# CHECK-NEXT:   dataoff21# CHECK-NEXT:   datasize 2422 23# CHECK-LABEL:  Data in code table (3 entries)24# CHECK-NEXT:   offset length kind25# CHECK-NEXT:   [[#%x,TEXT + 28]] 24 JUMP_TABLE3226# CHECK-NEXT:   [[#%x,TEXT + 68]] 8 JUMP_TABLE3227# CHECK-NEXT:   [[#%x,TEXT + 84]] 12 JUMP_TABLE3228 29# RUN: %lld -lSystem %t/foo.o %t/bar.o -no_data_in_code_info -o %t/main.exe30# RUN: llvm-otool -l %t/main.exe | FileCheck --check-prefix=OMIT %s31 32# OMIT-NOT: LC_DATA_IN_CODE33 34# RUN: %lld -lSystem %t/foo.o %t/bar.o -no_data_in_code_info -data_in_code_info -o %t/main.exe35# RUN: llvm-otool -l %t/main.exe > %t/objdump36# RUN: llvm-otool -Gv %t/main.exe >> %t/objdump37# RUN: FileCheck %s < %t/objdump38 39#--- foo.s40.text41.section __TEXT,__StaticInit,regular,pure_instructions42.p2align 4, 0x9043_some_init_function:44retq45.p2align 2, 0x9046.data_region jt3247.long 048.long 049.end_data_region50 51.section __TEXT,__text,regular,pure_instructions52.globl _main53.p2align 4, 0x9054_main:55pushq	%rbp56movq	%rsp, %rbp57subq	$16, %rsp58movl	$0, -4(%rbp)59movb	$0, %al60callq	_bar61addq	$16, %rsp62popq	%rbp63retq64.p2align 2, 0x9065.data_region jt3266.long 067.long 068.long 069.long 070.long 071.long 072.end_data_region73 74#--- bar.s75.text76.globl _bar77.p2align 478_bar:79retq80.p2align 2, 0x9081.data_region jt3282.long 083.long 084.long 085.end_data_region86