brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 60c3508 Raw
102 lines · plain
1## Test quick append 2 3# RUN: rm -rf %t && mkdir -p %t4# RUN: yaml2obj %s -o %t/1.o --docnum=15# RUN: yaml2obj %s -o %t/2.o --docnum=26 7## Append single member:8# RUN: llvm-ar qc %t/single.a %t/1.o9# RUN: llvm-ar t %t/single.a \10# RUN:   | FileCheck %s --check-prefix=SINGLE --match-full-lines --implicit-check-not {{.}}11 12# SINGLE: 1.o{{$}}13 14# RUN: llvm-nm --print-armap %t/single.a \15# RUN:   | FileCheck %s --check-prefix=SINGLE-SYM16 17# SINGLE-SYM: symbol118 19## Append multiple members:20# RUN: llvm-ar qc %t/multiple.a %t/1.o %t/2.o21# RUN: llvm-ar t %t/multiple.a \22# RUN:   | FileCheck %s --check-prefix=MULTIPLE --match-full-lines --implicit-check-not {{.}}23 24# MULTIPLE:      1.o{{$}}25# MULTIPLE-NEXT: 2.o{{$}}26 27# RUN: llvm-nm --print-armap %t/multiple.a \28# RUN:   | FileCheck %s --check-prefix=MULTIPLE-SYM29 30# MULTIPLE-SYM:      symbol1 in 1.o31# MULTIPLE-SYM-NEXT: symbol2 in 2.o32 33## Append same member:34# RUN: llvm-ar qc %t/same.a %t/1.o %t/1.o35# RUN: llvm-ar t %t/same.a \36# RUN:   | FileCheck %s --check-prefix=SAME -DFILE=%t/2.o --match-full-lines --implicit-check-not {{.}}37 38# SAME:      1.o{{$}}39# SAME-NEXT: 1.o{{$}}40 41# RUN: llvm-nm --print-armap %t/same.a \42# RUN:   | FileCheck %s --check-prefix=SAME-SYM43 44# SAME-SYM:      symbol1 in 1.o45# SAME-SYM-NEXT: symbol1 in 1.o46 47## Append without member:48# RUN: llvm-ar qc %t/without.a49# RUN: llvm-ar t %t/without.a | count 050 51# RUN: llvm-nm --print-armap %t/without.a | count 052 53## No archive:54# RUN: not llvm-ar qc 2>&1 \55# RUN:   | FileCheck %s --check-prefix=NO-ARCHIVE56 57# NO-ARCHIVE: error: an archive name must be specified58 59## Member does not exist:60# RUN: not llvm-ar qc %t/missing.a %t/missing.txt 2>&1 \61# RUN:   | FileCheck %s --check-prefix=MISSING-FILE -DFILE=%t/missing.txt -DMSG=%errc_ENOENT62 63# MISSING-FILE: error: [[FILE]]: [[MSG]]64 65## Create and append members to a thin archive:66# RUN: llvm-ar qcT %t/thin-multiple.a %t/1.o67# RUN: llvm-ar qcT %t/thin-multiple.a %t/2.o68# RUN: llvm-ar t %t/thin-multiple.a \69# RUN:   | FileCheck %s --check-prefix=MULTIPLE70 71# RUN: llvm-ar qcT %t/thin-same.a %t/1.o %t/1.o72# RUN: llvm-ar t %t/thin-same.a \73# RUN:   | FileCheck %s --check-prefix=SAME74 75--- !ELF76FileHeader:77  Class:   ELFCLASS6478  Data:    ELFDATA2LSB79  Type:    ET_REL80  Machine: EM_X86_6481Sections:82  - Name: .text83    Type: SHT_PROGBITS84Symbols:85  - Name:    symbol186    Binding: STB_GLOBAL87    Section: .text88 89--- !ELF90FileHeader:91  Class:   ELFCLASS6492  Data:    ELFDATA2LSB93  Type:    ET_REL94  Machine: EM_X86_6495Sections:96  - Name: .text97    Type: SHT_PROGBITS98Symbols:99  - Name:    symbol2100    Binding: STB_GLOBAL101    Section: .text102