mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-14 00:14:19 +00:00
7a6e3434ba
For now the Archive owns the buffers of the thin archive members. This makes for a simple API, but all the buffers are destructed only when the archive is destructed. This should be fine since we close the files after mmap so we should not hit an open file limit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242215 91177308-0d34-0410-b5e6-96231b3b80d8
57 lines
2.4 KiB
Plaintext
57 lines
2.4 KiB
Plaintext
; This test just makes sure that llvm-ar can extract bytecode members
|
|
; from various style archives.
|
|
|
|
; RUN: cd %T
|
|
|
|
; RUN: rm -f very_long_bytecode_file_name.bc
|
|
; RUN: llvm-ar p %p/Inputs/GNU.a very_long_bytecode_file_name.bc | \
|
|
; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc -
|
|
; RUN: llvm-ar x %p/Inputs/GNU.a very_long_bytecode_file_name.bc
|
|
; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc \
|
|
; RUN: very_long_bytecode_file_name.bc
|
|
|
|
; RUN: rm -f very_long_bytecode_file_name.bc
|
|
; RUN: llvm-ar p %p/Inputs/MacOSX.a very_long_bytecode_file_name.bc | \
|
|
; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc -
|
|
; RUN: llvm-ar x %p/Inputs/MacOSX.a very_long_bytecode_file_name.bc
|
|
; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc \
|
|
; RUN: very_long_bytecode_file_name.bc
|
|
|
|
; RUN: rm -f very_long_bytecode_file_name.bc
|
|
; RUN: llvm-ar p %p/Inputs/SVR4.a very_long_bytecode_file_name.bc | \
|
|
; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc -
|
|
; RUN: llvm-ar x %p/Inputs/SVR4.a very_long_bytecode_file_name.bc
|
|
; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc \
|
|
; RUN: very_long_bytecode_file_name.bc
|
|
|
|
; RUN: rm -f very_long_bytecode_file_name.bc
|
|
; RUN: llvm-ar p %p/Inputs/xpg4.a very_long_bytecode_file_name.bc |\
|
|
; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc -
|
|
; RUN: llvm-ar x %p/Inputs/xpg4.a very_long_bytecode_file_name.bc
|
|
; RUN: cmp -s %p/Inputs/very_long_bytecode_file_name.bc \
|
|
; RUN: very_long_bytecode_file_name.bc
|
|
|
|
|
|
; Test that the 'o' option is working by extracting a file, putting it in o
|
|
; new archive and checking that date.
|
|
; RUN: rm -f very_long_bytecode_file_name.bc
|
|
; RUN: llvm-ar xo %p/Inputs/GNU.a very_long_bytecode_file_name.bc
|
|
; RUN: rm -f %t.a
|
|
; RUN: llvm-ar rcU %t.a very_long_bytecode_file_name.bc
|
|
; RUN: env TZ=GMT llvm-ar tv %t.a | FileCheck %s
|
|
|
|
CHECK: 1465 2004-11-19 03:01:31.000000000 very_long_bytecode_file_name.bc
|
|
|
|
|
|
RUN: not llvm-ar x %p/Inputs/GNU.a foo.o 2>&1 | FileCheck --check-prefix=NOTFOUND %s
|
|
NOTFOUND: foo.o was not found
|
|
|
|
RUN: not llvm-ar x %p/Inputs/thin.a foo.o 2>&1 | FileCheck %s --check-prefix=THINEXTRACT
|
|
THINEXTRACT: extracting from a thin archive is not supported
|
|
|
|
RUN: llvm-ar p %p/Inputs/thin.a evenlen | FileCheck %s --check-prefix=EVENLEN
|
|
EVENLEN: evenlen
|
|
|
|
RUN: not llvm-ar p %p/Inputs/thin-path.a t/test2.o | FileCheck %s --check-prefix=MISSING
|
|
MISSING: No such file or directory.
|