[yaml2obj/obj2yaml] - Add support for .stack_sizes sections.
[llvm-complete.git] / test / Object / mri-addmod.test
blob4a0372ad42c00f25e25337ea826bc109c11dd3e1
1 # RUN: yaml2obj -docnum=1 %s > %t.elf-x86-64
2 # RUN: echo create %t.a > %t.mri
3 # RUN: echo 'addmod "%t.elf-x86-64"' >> %t.mri
4 # RUN: echo save >> %t.mri
5 # RUN: echo end >> %t.mri
7 --- !ELF
8 FileHeader:
9   Class:   ELFCLASS64
10   Data:    ELFDATA2LSB
11   Type:    ET_REL
12   Machine: EM_X86_64
13 Sections:
14   - Name:  .text
15     Type:  SHT_PROGBITS
16     Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
17 Symbols:
18   - Name:    main
19     Type:    STT_FUNC
20     Section: .text
21     Binding: STB_GLOBAL
22     Size:    0x0000000000000024
23   - Name:    SomeOtherFunction
24     Binding: STB_GLOBAL
25   - Name:    puts
26     Binding: STB_GLOBAL
28 # RUN: llvm-ar -M  < %t.mri
29 # RUN: llvm-nm -M %t.a | FileCheck %s
31 # CHECK:      Archive map
32 # CHECK-NEXT: main in {{.*}}elf-x86-64
34 # CHECK:      {{.*}}elf-x86-64:
35 # CHECK-NEXT:                  U SomeOtherFunction
36 # CHECK-NEXT: 0000000000000000 T main
37 # CHECK-NEXT:                  U puts
39 ## Now test that CREATE overwrites an existing file.
40 # RUN: yaml2obj -docnum=2 %s > %t2.elf-x86-64
42 # RUN: echo create %t.a > %t2.mri
43 # RUN: echo addmod %t2.elf-x86-64 >> %t2.mri
44 # RUN: echo save >> %t2.mri
45 # RUN: echo end >> %t2.mri
47 # RUN: llvm-ar -M  < %t2.mri
48 # RUN: llvm-nm -M %t.a | FileCheck --check-prefix=NEW %s
50 # NEW: Archive map
51 # NEW-NEXT: foo in {{.*}}2.elf-x86-64
52 # NEW-NEXT: main in {{.*}}2.elf-x86-64
54 # NEW: {{.*}}2.elf-x86-64:
55 # NEW-NEXT: 0000000000000000 t bar
56 # NEW-NEXT: 0000000000000006 T foo
57 # NEW-NEXT: 0000000000000016 T main
59 --- !ELF
60 FileHeader:
61   Class:   ELFCLASS64
62   Data:    ELFDATA2LSB
63   Type:    ET_REL
64   Machine: EM_X86_64
65 Sections:
66   - Name:  .text
67     Type:  SHT_PROGBITS
68     Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
69 Symbols:
70   - Name:    bar
71     Type:    STT_FUNC
72     Section: .text
73   - Name:    foo
74     Type:    STT_FUNC
75     Section: .text
76     Binding: STB_GLOBAL
77     Value:   0x0000000000000006
78   - Name:    main
79     Type:    STT_FUNC
80     Section: .text
81     Binding: STB_GLOBAL
82     Value:   0x0000000000000016