xref: /llvm-project-15.0.7/lld/test/MachO/data-in-code.s (revision 928394d1)
  • Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# REQUIRES: x86
2
3# RUN: rm -rf %t; split-file %s %t
4
5# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/foo.s -o %t/foo.o
6# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/bar.s -o %t/bar.o
7# RUN: %lld %t/foo.o %t/bar.o -o %t/main.exe
8# RUN: llvm-objdump --private-headers %t/main.exe > %t/objdump
9# RUN: llvm-objdump --macho --data-in-code %t/main.exe >> %t/objdump
10# RUN: FileCheck %s < %t/objdump
11
12
13# CHECK-LABEL:  sectname __text
14# CHECK-NEXT:   segname __TEXT
15# CHECK-NEXT:   addr
16# CHECK-NEXT:   size
17# CHECK-NEXT:   offset [[#%,TEXT:]]
18
19# CHECK-LABEL:  cmd LC_DATA_IN_CODE
20# CHECK-NEXT:   cmdsize 16
21# CHECK-NEXT:   dataoff
22# CHECK-NEXT:   datasize 16
23
24# CHECK-LABEL:  Data in code table (2 entries)
25# CHECK-NEXT:   offset length kind
26# CHECK-NEXT:   [[#%x,TEXT + 28]] 24 JUMP_TABLE32
27# CHECK-NEXT:   [[#%x,TEXT + 68]] 12 JUMP_TABLE32
28
29#--- foo.s
30.text
31.globl _main
32.p2align 4, 0x90
33_main:
34pushq	%rbp
35movq	%rsp, %rbp
36subq	$16, %rsp
37movl	$0, -4(%rbp)
38movb	$0, %al
39callq	_bar
40addq	$16, %rsp
41popq	%rbp
42retq
43.p2align 2, 0x90
44.data_region jt32
45.long 0
46.long 0
47.long 0
48.long 0
49.long 0
50.long 0
51.end_data_region
52
53#--- bar.s
54.text
55.globl _bar
56.p2align 4
57_bar:
58retq
59.p2align 2, 0x90
60.data_region jt32
61.long 0
62.long 0
63.long 0
64.end_data_region
65

served by {OpenGrok

Last Index Update: Fri May 15 20:09:11 GMT 2026