Follow up to d0858bffa11, add missing REQUIRES x86
[llvm-project.git] / llvm / test / tools / llvm-objcopy / ELF / discard-locals.test
blob4aba1cd1c782ae97f78c9e3dff6863b8f397a835
1 # RUN: yaml2obj %s -o %t
2 # RUN: cp %t %t1
3 # RUN: llvm-objcopy --discard-locals %t %t2
4 # Verify that llvm-objcopy has not modified the input.
5 # RUN: cmp %t %t1
6 # RUN: llvm-readobj --symbols %t2 | FileCheck %s
8 # RUN: llvm-objcopy -X %t %t3
9 # Verify that llvm-objcopy has not modified the input.
10 # RUN: cmp %t %t1
11 # RUN: cmp %t2 %t3
13 # Verify that llvm-strip modifies the symbol table the same way.
15 # RUN: cp %t %t4
16 # RUN: llvm-strip --discard-locals %t4
17 # RUN: cmp %t2 %t4
19 # RUN: cp %t %t5
20 # RUN: llvm-strip -X %t5
21 # RUN: cmp %t2 %t5
23 !ELF
24 FileHeader:
25   Class:           ELFCLASS64
26   Data:            ELFDATA2LSB
27   Type:            ET_REL
28   Machine:         EM_X86_64
29 Sections:
30   - Name:            .text
31     Type:            SHT_PROGBITS
32   - Name:            .LLVM.Custom.Section
33     Type:            SHT_PROGBITS
34 Symbols:
35   - Name:     Local
36     Type:     STT_FUNC
37     Section:  .text
38   - Name:     .L.LocalSection
39     Type:     STT_SECTION
40     Section:  .text
41   - Type:     STT_SECTION
42     Section:  .LLVM.Custom.Section
43   - Name:     .L.LocalFile
44     Type:     STT_FILE
45   - Name:     .L.str
46     Type:     STT_OBJECT
47     Section:  .text
48   - Name:     .L.undefined
49   - Name:     .L.abs
50     Index:    SHN_ABS
51   - Name:     .L.Global
52     Type:     STT_FUNC
53     Section:  .text
54     Binding:  STB_GLOBAL
56 # CHECK:      Symbols [
57 # CHECK-NEXT:   Symbol {
58 # CHECK-NEXT:     Name:
59 # CHECK-NEXT:     Value: 0x0
60 # CHECK-NEXT:     Size: 0
61 # CHECK-NEXT:     Binding: Local
62 # CHECK-NEXT:     Type: None
63 # CHECK-NEXT:     Other: 0
64 # CHECK-NEXT:     Section: Undefined
65 # CHECK-NEXT:   }
66 # CHECK-NEXT:   Symbol {
67 # CHECK-NEXT:     Name: Local
68 # CHECK-NEXT:     Value:
69 # CHECK-NEXT:     Size:
70 # CHECK-NEXT:     Binding: Local
71 # CHECK-NEXT:     Type: Function
72 # CHECK-NEXT:     Other:
73 # CHECK-NEXT:     Section: .text
74 # CHECK-NEXT:   }
75 # CHECK-NEXT:   Symbol {
76 # CHECK-NEXT:     Name: .L.LocalSection
77 # CHECK-NEXT:     Value:
78 # CHECK-NEXT:     Size:
79 # CHECK-NEXT:     Binding: Local
80 # CHECK-NEXT:     Type: Section
81 # CHECK-NEXT:     Other:
82 # CHECK-NEXT:     Section: .text
83 # CHECK-NEXT:   }
84 # CHECK-NEXT:   Symbol {
85 # CHECK-NEXT:     Name:
86 # CHECK-NEXT:     Value:
87 # CHECK-NEXT:     Size:
88 # CHECK-NEXT:     Binding: Local
89 # CHECK-NEXT:     Type: Section
90 # CHECK-NEXT:     Other:
91 # CHECK-NEXT:     Section: .LLVM.Custom.Section
92 # CHECK-NEXT:   }
93 # CHECK-NEXT:   Symbol {
94 # CHECK-NEXT:     Name: .L.LocalFile
95 # CHECK-NEXT:     Value:
96 # CHECK-NEXT:     Size:
97 # CHECK-NEXT:     Binding: Local
98 # CHECK-NEXT:     Type: File
99 # CHECK-NEXT:     Other:
100 # CHECK-NEXT:     Section: Undefined
101 # CHECK-NEXT:   }
102 # CHECK-NEXT:   Symbol {
103 # CHECK-NEXT:     Name: .L.undefined
104 # CHECK-NEXT:     Value:
105 # CHECK-NEXT:     Size:
106 # CHECK-NEXT:     Binding: Local
107 # CHECK-NEXT:     Type: None
108 # CHECK-NEXT:     Other:
109 # CHECK-NEXT:     Section: Undefined
110 # CHECK-NEXT:   }
111 # CHECK-NEXT:   Symbol {
112 # CHECK-NEXT:     Name: .L.Global
113 # CHECK-NEXT:     Value:
114 # CHECK-NEXT:     Size:
115 # CHECK-NEXT:     Binding: Global
116 # CHECK-NEXT:     Type: Function
117 # CHECK-NEXT:     Other:
118 # CHECK-NEXT:     Section: .text
119 # CHECK-NEXT:   }
120 # CHECK-NEXT: ]