2016-12-04 14:52:30 +08:00
|
|
|
RUN: cd %p
|
|
|
|
|
2013-07-11 21:44:10 +08:00
|
|
|
Test reading an archive created by gnu ar
|
2016-12-04 14:52:30 +08:00
|
|
|
RUN: env TZ=GMT llvm-ar tv Inputs/GNU.a | FileCheck %s --check-prefix=GNU -strict-whitespace
|
2013-07-11 23:35:23 +08:00
|
|
|
|
[llvm-ar] Use POSIX-specified timestamps for 'tv'.
Summary:
The POSIX spec says:
```
If the −t option is used with the −v option, the standard output format shall be:
"%s %u/%u %u %s %d %d:%d %d %s\n", <member mode>, <user ID>,
<group ID>, <number of bytes in member>,
<abbreviated month>, <day-of-month>, <hour>,
<minute>, <year>, <file>
where:
...
<abbreviated month>
Equivalent to the format of the %b conversion specification format in date.
<day-of-month>
Equivalent to the format of the %e conversion specification format in date.
<hour> Equivalent to the format of the %H conversion specification format in date.
<minute> Equivalent to the format of the %M conversion specification format in date.
<year> Equivalent to the format of the %Y conversion specification format in date.
```
This actually used to be the format printed by llvm-ar. It was apparently accidentally changed (see r207385 followed by comments in r207387). This makes it conform to GNU ar for easier replacement.
Reviewers: MaskRay
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D52940
llvm-svn: 343901
2018-10-06 07:25:39 +08:00
|
|
|
GNU: rw-r--r-- 500/500 8 Nov 19 02:57 2004 evenlen
|
|
|
|
GNU-NEXT: rw-r--r-- 500/500 7 Nov 19 02:57 2004 oddlen
|
|
|
|
GNU-NEXT: rwxr-xr-x 500/500 1465 Nov 19 03:01 2004 very_long_bytecode_file_name.bc
|
|
|
|
GNU-NEXT: rw-r--r-- 500/500 2280 Nov 19 03:04 2004 IsNAN.o
|
2013-07-11 23:35:23 +08:00
|
|
|
|
2013-07-11 21:44:10 +08:00
|
|
|
|
|
|
|
Test reading an archive createdy by Mac OS X ar
|
2016-12-04 14:52:30 +08:00
|
|
|
RUN: env TZ=GMT llvm-ar tv Inputs/MacOSX.a | FileCheck %s --check-prefix=OSX -strict-whitespace
|
2013-07-11 23:35:23 +08:00
|
|
|
|
2013-07-13 04:21:39 +08:00
|
|
|
OSX-NOT: __.SYMDEF
|
[llvm-ar] Use POSIX-specified timestamps for 'tv'.
Summary:
The POSIX spec says:
```
If the −t option is used with the −v option, the standard output format shall be:
"%s %u/%u %u %s %d %d:%d %d %s\n", <member mode>, <user ID>,
<group ID>, <number of bytes in member>,
<abbreviated month>, <day-of-month>, <hour>,
<minute>, <year>, <file>
where:
...
<abbreviated month>
Equivalent to the format of the %b conversion specification format in date.
<day-of-month>
Equivalent to the format of the %e conversion specification format in date.
<hour> Equivalent to the format of the %H conversion specification format in date.
<minute> Equivalent to the format of the %M conversion specification format in date.
<year> Equivalent to the format of the %Y conversion specification format in date.
```
This actually used to be the format printed by llvm-ar. It was apparently accidentally changed (see r207385 followed by comments in r207387). This makes it conform to GNU ar for easier replacement.
Reviewers: MaskRay
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D52940
llvm-svn: 343901
2018-10-06 07:25:39 +08:00
|
|
|
OSX: rw-r--r-- 501/501 8 Nov 19 02:57 2004 evenlen
|
|
|
|
OSX-NEXT: rw-r--r-- 501/501 8 Nov 19 02:57 2004 oddlen
|
|
|
|
OSX-NEXT: rw-r--r-- 502/502 1465 Feb 4 06:59 2010 very_long_bytecode_file_name.bc
|
|
|
|
OSX-NEXT: rw-r--r-- 501/501 2280 Nov 19 04:32 2004 IsNAN.o
|
2013-07-11 21:44:10 +08:00
|
|
|
|
|
|
|
Test reading an archive created on Solaris by /usr/ccs/bin/ar
|
2016-12-04 14:52:30 +08:00
|
|
|
RUN: env TZ=GMT llvm-ar tv Inputs/SVR4.a | FileCheck %s -strict-whitespace
|
2013-07-11 21:44:10 +08:00
|
|
|
|
|
|
|
Test reading an archive created on Solaris by /usr/xpg4/bin/ar
|
2016-12-04 14:52:30 +08:00
|
|
|
RUN: env TZ=GMT llvm-ar tv Inputs/xpg4.a | FileCheck %s -strict-whitespace
|
2013-07-11 21:44:10 +08:00
|
|
|
|
[llvm-ar] Use POSIX-specified timestamps for 'tv'.
Summary:
The POSIX spec says:
```
If the −t option is used with the −v option, the standard output format shall be:
"%s %u/%u %u %s %d %d:%d %d %s\n", <member mode>, <user ID>,
<group ID>, <number of bytes in member>,
<abbreviated month>, <day-of-month>, <hour>,
<minute>, <year>, <file>
where:
...
<abbreviated month>
Equivalent to the format of the %b conversion specification format in date.
<day-of-month>
Equivalent to the format of the %e conversion specification format in date.
<hour> Equivalent to the format of the %H conversion specification format in date.
<minute> Equivalent to the format of the %M conversion specification format in date.
<year> Equivalent to the format of the %Y conversion specification format in date.
```
This actually used to be the format printed by llvm-ar. It was apparently accidentally changed (see r207385 followed by comments in r207387). This makes it conform to GNU ar for easier replacement.
Reviewers: MaskRay
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D52940
llvm-svn: 343901
2018-10-06 07:25:39 +08:00
|
|
|
CHECK: rw-r--r-- 1002/102 8 Nov 19 03:24 2004 evenlen
|
|
|
|
CHECK-NEXT: rw-r--r-- 1002/102 7 Nov 19 03:24 2004 oddlen
|
|
|
|
CHECK-NEXT: rwxr-xr-x 1002/102 1465 Nov 19 03:24 2004 very_long_bytecode_file_name.bc
|
|
|
|
CHECK-NEXT: rw-r--r-- 1002/102 2280 Nov 19 03:24 2004 IsNAN.o
|
2014-12-16 09:43:41 +08:00
|
|
|
|
|
|
|
Test reading a thin archive created by gnu ar
|
2016-12-04 14:52:30 +08:00
|
|
|
RUN: env TZ=GMT llvm-ar tv Inputs/thin.a | FileCheck %s --check-prefix=THIN -strict-whitespace
|
2014-12-16 09:43:41 +08:00
|
|
|
|
[llvm-ar] Use POSIX-specified timestamps for 'tv'.
Summary:
The POSIX spec says:
```
If the −t option is used with the −v option, the standard output format shall be:
"%s %u/%u %u %s %d %d:%d %d %s\n", <member mode>, <user ID>,
<group ID>, <number of bytes in member>,
<abbreviated month>, <day-of-month>, <hour>,
<minute>, <year>, <file>
where:
...
<abbreviated month>
Equivalent to the format of the %b conversion specification format in date.
<day-of-month>
Equivalent to the format of the %e conversion specification format in date.
<hour> Equivalent to the format of the %H conversion specification format in date.
<minute> Equivalent to the format of the %M conversion specification format in date.
<year> Equivalent to the format of the %Y conversion specification format in date.
```
This actually used to be the format printed by llvm-ar. It was apparently accidentally changed (see r207385 followed by comments in r207387). This makes it conform to GNU ar for easier replacement.
Reviewers: MaskRay
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D52940
llvm-svn: 343901
2018-10-06 07:25:39 +08:00
|
|
|
THIN: rw-r--r-- 1000/1000 8 Dec 16 00:56 2014 Inputs/evenlen
|
|
|
|
THIN-NEXT: rw-r--r-- 1000/1000 7 Dec 16 00:56 2014 Inputs/oddlen
|
|
|
|
THIN-NEXT: rwxr-xr-x 1000/1000 1465 Dec 16 00:56 2014 Inputs/very_long_bytecode_file_name.bc
|
|
|
|
THIN-NEXT: rw-r--r-- 1000/1000 2280 Dec 16 00:56 2014 Inputs/IsNAN.o
|
2015-07-09 06:27:54 +08:00
|
|
|
|
|
|
|
Test reading an archive with just a symbol table. We use to reject them.
|
2016-12-04 14:52:30 +08:00
|
|
|
RUN: llvm-ar tv Inputs/symtab-only.a | FileCheck --allow-empty --check-prefix=EMPTY %s
|
2015-07-09 06:27:54 +08:00
|
|
|
EMPTY-NOT: {{.}}
|
2015-07-14 07:07:05 +08:00
|
|
|
|
|
|
|
Test reading a thin archive with directory names.
|
2016-12-04 14:52:30 +08:00
|
|
|
RUN: env TZ=GMT llvm-ar tv Inputs/thin-path.a | FileCheck %s --check-prefix=THINPATH -strict-whitespace
|
2015-07-14 07:07:05 +08:00
|
|
|
|
[llvm-ar] Use POSIX-specified timestamps for 'tv'.
Summary:
The POSIX spec says:
```
If the −t option is used with the −v option, the standard output format shall be:
"%s %u/%u %u %s %d %d:%d %d %s\n", <member mode>, <user ID>,
<group ID>, <number of bytes in member>,
<abbreviated month>, <day-of-month>, <hour>,
<minute>, <year>, <file>
where:
...
<abbreviated month>
Equivalent to the format of the %b conversion specification format in date.
<day-of-month>
Equivalent to the format of the %e conversion specification format in date.
<hour> Equivalent to the format of the %H conversion specification format in date.
<minute> Equivalent to the format of the %M conversion specification format in date.
<year> Equivalent to the format of the %Y conversion specification format in date.
```
This actually used to be the format printed by llvm-ar. It was apparently accidentally changed (see r207385 followed by comments in r207387). This makes it conform to GNU ar for easier replacement.
Reviewers: MaskRay
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D52940
llvm-svn: 343901
2018-10-06 07:25:39 +08:00
|
|
|
THINPATH: rw-r--r-- 0/0 1224 Jan 1 00:00 1970 Inputs/test.o
|
|
|
|
THINPATH-NEXT: rw-r--r-- 0/0 1224 Jan 1 00:00 1970 Inputs/t/test2.o
|
2019-10-17 19:34:29 +08:00
|
|
|
|
|
|
|
RUN: llvm-ar tO Inputs/GNU.a | FileCheck %s --check-prefix=GNU-O --strict-whitespace
|
|
|
|
|
|
|
|
GNU-O: {{^}}evenlen 0x10c
|
|
|
|
GNU-O-NEXT: {{^}}oddlen 0x150
|
|
|
|
GNU-O-NEXT: {{^}}very_long_bytecode_file_name.bc 0x194
|
|
|
|
GNU-O-NEXT: {{^}}IsNAN.o 0x78a
|
|
|
|
|
|
|
|
RUN: env TZ=GMT llvm-ar tvO Inputs/GNU.a | FileCheck %s --check-prefix=GNU-VO --strict-whitespace
|
|
|
|
|
|
|
|
GNU-VO: rw-r--r-- 500/500 8 Nov 19 02:57 2004 evenlen 0x10c
|
|
|
|
GNU-VO-NEXT: rw-r--r-- 500/500 7 Nov 19 02:57 2004 oddlen 0x150
|
|
|
|
GNU-VO-NEXT: rwxr-xr-x 500/500 1465 Nov 19 03:01 2004 very_long_bytecode_file_name.bc 0x194
|
|
|
|
GNU-VO-NEXT: rw-r--r-- 500/500 2280 Nov 19 03:04 2004 IsNAN.o 0x78a
|