xref: /aosp_15_r20/external/llvm/test/MC/COFF/diff.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -filetype=obj -triple i686-pc-mingw32 %s | llvm-readobj -s -sr -sd | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker.section baz, "xr"
4*9880d681SAndroid Build Coastguard Worker	.def	X
5*9880d681SAndroid Build Coastguard Worker	.scl	2;
6*9880d681SAndroid Build Coastguard Worker	.type	32;
7*9880d681SAndroid Build Coastguard Worker	.endef
8*9880d681SAndroid Build Coastguard Worker	.globl	X
9*9880d681SAndroid Build Coastguard WorkerX:
10*9880d681SAndroid Build Coastguard Worker	mov	Y-X+42,	%eax
11*9880d681SAndroid Build Coastguard Worker	retl
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Worker	.def	Y
14*9880d681SAndroid Build Coastguard Worker	.scl	2;
15*9880d681SAndroid Build Coastguard Worker	.type	32;
16*9880d681SAndroid Build Coastguard Worker	.endef
17*9880d681SAndroid Build Coastguard Worker	.globl	Y
18*9880d681SAndroid Build Coastguard WorkerY:
19*9880d681SAndroid Build Coastguard Worker	retl
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Worker	.def	 _foobar;
22*9880d681SAndroid Build Coastguard Worker	.scl	2;
23*9880d681SAndroid Build Coastguard Worker	.type	32;
24*9880d681SAndroid Build Coastguard Worker	.endef
25*9880d681SAndroid Build Coastguard Worker	.text
26*9880d681SAndroid Build Coastguard Worker	.long   0
27*9880d681SAndroid Build Coastguard Worker	.globl	_foobar
28*9880d681SAndroid Build Coastguard Worker	.align	16, 0x90
29*9880d681SAndroid Build Coastguard Worker_foobar:                                # @foobar
30*9880d681SAndroid Build Coastguard Worker# BB#0:
31*9880d681SAndroid Build Coastguard Worker	ret
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Worker	.data
34*9880d681SAndroid Build Coastguard Worker	.globl	_rust_crate             # @rust_crate
35*9880d681SAndroid Build Coastguard Worker	.align	4
36*9880d681SAndroid Build Coastguard Worker_rust_crate:
37*9880d681SAndroid Build Coastguard Worker	.long   0
38*9880d681SAndroid Build Coastguard Worker	.long   _foobar
39*9880d681SAndroid Build Coastguard Worker	.long	_foobar-_rust_crate
40*9880d681SAndroid Build Coastguard Worker	.long	_foobar-_rust_crate
41*9880d681SAndroid Build Coastguard Worker
42*9880d681SAndroid Build Coastguard Worker// CHECK:        Name: .data
43*9880d681SAndroid Build Coastguard Worker// CHECK:        Relocations [
44*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     0x4 IMAGE_REL_I386_DIR32 _foobar
45*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     0x8 IMAGE_REL_I386_REL32 .text
46*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     0xC IMAGE_REL_I386_REL32 .text
47*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   ]
48*9880d681SAndroid Build Coastguard Worker// CHECK:        SectionData (
49*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     0000: 00000000 00000000 1C000000 20000000
50*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   )
51*9880d681SAndroid Build Coastguard Worker
52*9880d681SAndroid Build Coastguard Worker// CHECK:        Name: baz
53*9880d681SAndroid Build Coastguard Worker// CHECK:        Relocations [
54*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   ]
55*9880d681SAndroid Build Coastguard Worker// CHECK:        SectionData (
56*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     0000: A1300000 00C3C3
57*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   )
58