[Alignment][NFC] Instructions::getLoadStoreAlignment
[llvm-complete.git] / test / tools / llvm-objcopy / ELF / weaken.test
blob09f2476e0b2658df33740fa55d0e4e5c7ffc0768
1 # RUN: yaml2obj %s > %t
2 # RUN: llvm-objcopy --weaken-symbol Global -W Local -W Weak %t %t2
3 # RUN: llvm-readobj --symbols %t2 | FileCheck %s
4 # RUN: llvm-objcopy --regex --weaken-symbol='.*' %t %t3
5 # RUN: cmp %t2 %t3
6 # RUN: echo "  Global  # comment" > %t-list.txt
7 # RUN: echo "Local" >> %t-list.txt
8 # RUN: echo "Weak" >> %t-list.txt
9 # RUN: echo " # comment" >> %t-list.txt
10 # RUN: llvm-objcopy --weaken-symbols %t-list.txt %t %t4
11 # RUN: cmp %t2 %t4
12 # RUN: echo ".*al # Global + Local == .*al" > %t-list2.txt
13 # RUN: echo "Weak # weak" >> %t-list2.txt
14 # RUN: llvm-objcopy --regex --weaken-symbols %t-list2.txt %t %t5
15 # RUN: cmp %t2 %t5
17 !ELF
18 FileHeader:
19   Class:           ELFCLASS64
20   Data:            ELFDATA2LSB
21   Type:            ET_REL
22   Machine:         EM_X86_64
23 Sections:
24   - Name:            .text
25     Type:            SHT_PROGBITS
26     Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
27     Address:         0x1000
28     AddressAlign:    0x0000000000000010
29     Size:            64
30 Symbols:
31   - Name:     Local
32     Type:     STT_FUNC
33     Section:  .text
34     Value:    0x1000
35     Size:     8
36   - Name:     Global
37     Type:     STT_FUNC
38     Size:     8
39     Section:  .text
40     Value:    0x1010
41     Binding:  STB_GLOBAL
42   - Name:     Weak
43     Type:     STT_FUNC
44     Size:     8
45     Section:  .text
46     Value:    0x1008
47     Binding:  STB_WEAK
49 #CHECK: Symbols [
50 #CHECK-NEXT:  Symbol {
51 #CHECK-NEXT:    Name:
52 #CHECK-NEXT:    Value: 0x0
53 #CHECK-NEXT:    Size: 0
54 #CHECK-NEXT:    Binding: Local
55 #CHECK-NEXT:    Type: None
56 #CHECK-NEXT:    Other: 0
57 #CHECK-NEXT:    Section: Undefined
58 #CHECK-NEXT:  }
59 #CHECK-NEXT:  Symbol {
60 #CHECK-NEXT:    Name: Local
61 #CHECK-NEXT:    Value: 0x1000
62 #CHECK-NEXT:    Size: 8
63 #CHECK-NEXT:    Binding: Local
64 #CHECK-NEXT:    Type: Function
65 #CHECK-NEXT:    Other: 0
66 #CHECK-NEXT:    Section: .text
67 #CHECK-NEXT:  }
68 #CHECK-NEXT:  Symbol {
69 #CHECK-NEXT:    Name: Global
70 #CHECK-NEXT:    Value: 0x1010
71 #CHECK-NEXT:    Size: 8
72 #CHECK-NEXT:    Binding: Weak
73 #CHECK-NEXT:    Type: Function
74 #CHECK-NEXT:    Other: 0
75 #CHECK-NEXT:    Section: .text
76 #CHECK-NEXT:  }
77 #CHECK-NEXT:  Symbol {
78 #CHECK-NEXT:    Name: Weak
79 #CHECK-NEXT:    Value: 0x1008
80 #CHECK-NEXT:    Size: 8
81 #CHECK-NEXT:    Binding: Weak
82 #CHECK-NEXT:    Type: Function
83 #CHECK-NEXT:    Other: 0
84 #CHECK-NEXT:    Section: .text
85 #CHECK-NEXT:  }
86 #CHECK-NEXT:]