[Alignment][NFC] Instructions::getLoadStoreAlignment
[llvm-complete.git] / test / tools / llvm-objcopy / ELF / basic-archive-copy.test
blobada141471fbd2201e909b3dfebbd543d6463f415
1 # RUN: yaml2obj %s > %t
3 # RUN: rm -f %t.a
4 # RUN: llvm-ar crs %t.a %t
5 # RUN: cp %t.a %t.copy.a
6 # RUN: llvm-objcopy %t.a %t2.a
7 # RUN: llvm-objcopy %t %t2
8 # RUN: llvm-ar p %t2.a > %t3
9 # RUN: cmp %t2 %t3
11 # RUN: llvm-readobj --sections %t2 | FileCheck %s
12 # RUN: llvm-nm --print-armap %t.a | FileCheck --check-prefix=INDEX-TABLE %s
13 # RUN: llvm-nm --print-armap %t2.a | FileCheck --check-prefix=INDEX-TABLE %s
14 # Verify that llvm-objcopy has not modifed the input.
15 # RUN: cmp %t.copy.a %t.a
17 # INDEX-TABLE: Archive map
18 # INDEX-TABLE-NEXT: foo in
20 # RUN: rm -f %t.no.index.a
21 # RUN: llvm-ar crS %t.no.index.a %t
22 # RUN: llvm-objcopy %t.no.index.a %t2.no.index.a
23 # RUN: llvm-ar p %t2.no.index.a > %t4
25 # RUN: llvm-nm --print-armap %t.no.index.a | FileCheck --check-prefix=NO-INDEX-TABLE %s
26 # RUN: llvm-nm --print-armap %t2.no.index.a | FileCheck --check-prefix=NO-INDEX-TABLE %s
27 # RUN: cmp %t2 %t4
29 # NO-INDEX-TABLE-NOT: Archive map
30 # NO-INDEX-TABLE-NOT: foo in
32 !ELF
33 FileHeader:
34   Class:           ELFCLASS64
35   Data:            ELFDATA2LSB
36   Type:            ET_EXEC
37   Machine:         EM_X86_64
38 Sections:
39   - Name:            .bss
40     Type:            SHT_NOBITS
41     Flags:           [ SHF_ALLOC ]
42     AddressAlign:    0x0000000000000010
43     Size:            64
44   - Name:            .text
45     Type:            SHT_PROGBITS
46     Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
47     AddressAlign:    0x0000000000000010
48     Content:         "00000000"
49 Symbols:
50   - Name:     foo
51     Type:     STT_FUNC
52     Section:  .text
53     Value:    0x1004
54     Binding:  STB_GLOBAL
56 # CHECK: Type: SHT_NULL
58 # CHECK:      Name: .bss
59 # CHECK-NEXT: Type: SHT_NOBITS
60 # CHECK-NEXT: Flags [
61 # CHECK-NEXT:   SHF_ALLOC
62 # CHECK-NEXT: ]
63 # CHECK-NEXT: Address:
64 # CHECK-NEXT: Offset:
65 # CHECK-NEXT: Size: 64
67 # CHECK:      Name: .text
68 # CHECK-NEXT: Type: SHT_PROGBITS
69 # CHECK-NEXT: Flags [
70 # CHECK-NEXT:   SHF_ALLOC
71 # CHECK-NEXT:   SHF_EXECINSTR
72 # CHECK-NEXT: ]
73 # CHECK-NEXT: Address:
74 # CHECK-NEXT: Offset:
75 # CHECK-NEXT: Size: 4
77 # CHECK:      Name: .symtab
78 # CHECK-NEXT: Type: SHT_SYMTAB
79 # CHECK-NEXT: Flags [ (0x0)
80 # CHECK-NEXT: ]
81 # CHECK-NEXT: Address:
82 # CHECK-NEXT: Offset:
83 # CHECK-NEXT: Size: 48
85 # CHECK:      Name: .strtab
86 # CHECK-NEXT: Type: SHT_STRTAB
87 # CHECK-NEXT: Flags [ (0x0)
88 # CHECK-NEXT: ]
89 # CHECK-NEXT: Address:
90 # CHECK-NEXT: Offset:
91 # CHECK-NEXT: Size: 5
93 # CHECK:      Name: .shstrtab
94 # CHECK-NEXT: Type: SHT_STRTAB
95 # CHECK-NEXT: Flags [
96 # CHECK-NEXT: ]
97 # CHECK-NEXT: Address:
98 # CHECK-NEXT: Offset:
99 # CHECK-NEXT: Size: 38