# RUN: yaml2obj -docnum=1 %s > %t.elf-x86-64 # RUN: echo create %t.a > %t.mri # RUN: echo 'addmod "%t.elf-x86-64"' >> %t.mri # RUN: echo save >> %t.mri # RUN: echo end >> %t.mri --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_REL Machine: EM_X86_64 Sections: - Name: .text Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_EXECINSTR ] Symbols: - Name: main Type: STT_FUNC Section: .text Binding: STB_GLOBAL Size: 0x0000000000000024 - Name: SomeOtherFunction Binding: STB_GLOBAL - Name: puts Binding: STB_GLOBAL # RUN: llvm-ar -M < %t.mri # RUN: llvm-nm -M %t.a | FileCheck %s # CHECK: Archive map # CHECK-NEXT: main in {{.*}}elf-x86-64 # CHECK: {{.*}}elf-x86-64: # CHECK-NEXT: U SomeOtherFunction # CHECK-NEXT: 0000000000000000 T main # CHECK-NEXT: U puts ## Now test that CREATE overwrites an existing file. # RUN: yaml2obj -docnum=2 %s > %t2.elf-x86-64 # RUN: echo create %t.a > %t2.mri # RUN: echo addmod %t2.elf-x86-64 >> %t2.mri # RUN: echo save >> %t2.mri # RUN: echo end >> %t2.mri # RUN: llvm-ar -M < %t2.mri # RUN: llvm-nm -M %t.a | FileCheck --check-prefix=NEW %s # NEW: Archive map # NEW-NEXT: foo in {{.*}}2.elf-x86-64 # NEW-NEXT: main in {{.*}}2.elf-x86-64 # NEW: {{.*}}2.elf-x86-64: # NEW-NEXT: 0000000000000000 t bar # NEW-NEXT: 0000000000000006 T foo # NEW-NEXT: 0000000000000016 T main --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_REL Machine: EM_X86_64 Sections: - Name: .text Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_EXECINSTR ] Symbols: - Name: bar Type: STT_FUNC Section: .text - Name: foo Type: STT_FUNC Section: .text Binding: STB_GLOBAL Value: 0x0000000000000006 - Name: main Type: STT_FUNC Section: .text Binding: STB_GLOBAL Value: 0x0000000000000016