[obj2yaml] - Fix a comment. NFC.
[llvm-complete.git] / test / MC / PowerPC / ppc64-localentry.s
blob883b2fcc38efbbe43175441e90c644772d0991c6
2 # RUN: llvm-mc -triple powerpc64-unknown-unknown -filetype=obj %s | \
3 # RUN: llvm-readobj -h -r --symbols | FileCheck %s
4 # RUN: llvm-mc -triple powerpc64le-unknown-unknown -filetype=obj %s | \
5 # RUN: llvm-readobj -h -r --symbols | FileCheck %s
7 .type callee1, @function
8 callee1:
9 nop
10 nop
11 .localentry callee1, .-callee1
12 nop
13 nop
14 .size callee1, .-callee1
16 .type callee2, @function
17 callee2:
18 nop
19 nop
20 .size callee2, .-callee2
22 .type caller, @function
23 caller:
24 bl callee1
25 nop
26 bl callee2
27 nop
28 .size caller, .-caller
30 .section .text.other
31 caller_other:
32 bl callee1
33 nop
34 bl callee2
35 nop
36 .size caller_other, .-caller_other
38 copy1 = callee1
39 copy2 = callee2
41 # Verify that use of .localentry implies ABI version 2
42 # CHECK: ElfHeader {
43 # CHECK: Flags [ (0x2)
45 # Verify that fixups to local function symbols are performed only
46 # if the target symbol does not use .localentry
47 # CHECK: Relocations [
48 # CHECK: Section ({{[0-9]*}}) .rela.text {
49 # CHECK-NEXT: R_PPC64_REL24 callee1
50 # CHECK-NEXT: }
51 # CHECK-NOT: R_PPC64_REL24 callee2
52 # CHECK: Section ({{[0-9]*}}) .rela.text.other {
53 # CHECK-NEXT: R_PPC64_REL24 callee1
54 # CHECK-NEXT: R_PPC64_REL24 .text
55 # CHECK-NEXT: }
57 # Verify that .localentry is encoded in the Other field.
58 # CHECK: Symbols [
59 # CHECK: Name: callee1
60 # CHECK-NEXT: Value:
61 # CHECK-NEXT: Size: 16
62 # CHECK-NEXT: Binding: Local
63 # CHECK-NEXT: Type: Function
64 # CHECK-NEXT: Other [ (0x60)
65 # CHECK-NEXT: ]
66 # CHECK-NEXT: Section: .text
67 # CHECK: Name: callee2
68 # CHECK-NEXT: Value:
69 # CHECK-NEXT: Size: 8
70 # CHECK-NEXT: Binding: Local
71 # CHECK-NEXT: Type: Function
72 # CHECK-NEXT: Other: 0
73 # CHECK-NEXT: Section: .text
75 # Verify that symbol assignment copies the Other bits.
76 # CHECK: Name: copy1
77 # CHECK-NEXT: Value:
78 # CHECK-NEXT: Size: 16
79 # CHECK-NEXT: Binding: Local
80 # CHECK-NEXT: Type: Function
81 # CHECK-NEXT: Other [ (0x60)
82 # CHECK-NEXT: ]
83 # CHECK-NEXT: Section: .text
84 # CHECK: Name: copy2
85 # CHECK-NEXT: Value:
86 # CHECK-NEXT: Size: 8
87 # CHECK-NEXT: Binding: Local
88 # CHECK-NEXT: Type: Function
89 # CHECK-NEXT: Other: 0
90 # CHECK-NEXT: Section: .text