diff options
| author | Frederic Riss <friss@apple.com> | 2015-07-22 23:24:00 +0000 |
|---|---|---|
| committer | Frederic Riss <friss@apple.com> | 2015-07-22 23:24:00 +0000 |
| commit | 9ccfddc39d4d27f9b16fcc72ab30d483151d6d08 (patch) | |
| tree | 0bc0c785fec83f821ec39d7d54afc167183a835a /llvm/test | |
| parent | 78997f0bf356b17e6964cc1cf16312ba8c887731 (diff) | |
| download | bcm5719-llvm-9ccfddc39d4d27f9b16fcc72ab30d483151d6d08.tar.gz bcm5719-llvm-9ccfddc39d4d27f9b16fcc72ab30d483151d6d08.zip | |
[dsymutil] Check archive members timestamps.
The debug map contains the timestamp of the object files in references.
We do not check these in the general case, but it's really useful if
you have archives where different versions of an object file have been
appended. This allows llvm-dsymutil to find the right one.
llvm-svn: 242965
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/tools/dsymutil/archive-timestamp.test | 24 | ||||
| -rw-r--r-- | llvm/test/tools/dsymutil/yaml-object-address-rewrite.test | 3 |
2 files changed, 27 insertions, 0 deletions
diff --git a/llvm/test/tools/dsymutil/archive-timestamp.test b/llvm/test/tools/dsymutil/archive-timestamp.test new file mode 100644 index 00000000000..11add6d0b72 --- /dev/null +++ b/llvm/test/tools/dsymutil/archive-timestamp.test @@ -0,0 +1,24 @@ +# RUN: llvm-dsymutil -no-output -v -oso-prepend-path=%p -y %s 2>&1 | FileCheck %s + +# This is the archive member part of basic-archive.macho.x86_64 debug map with corrupted timestamps. + +# CHECK: warning: {{.*}}libbasic.a(basic2.macho.x86_64.o): {{[Nn]o}} such file +# CHECK: warning: {{.*}}libbasic.a(basic3.macho.x86_64.o): {{[Nn]o}} such file + +--- +triple: 'x86_64-unknown-unknown-macho' +objects: + - filename: '/Inputs/libbasic.a(basic2.macho.x86_64.o)' + timestamp: 141869239 + symbols: + - { sym: _foo, objAddr: 0x0000000000000020, binAddr: 0x0000000100000ED0, size: 0x00000050 } + - { sym: _private_int, objAddr: 0x0000000000000560, binAddr: 0x0000000100001004, size: 0x00000000 } + - { sym: _inc, objAddr: 0x0000000000000070, binAddr: 0x0000000100000F20, size: 0x00000017 } + - { sym: _baz, objAddr: 0x0000000000000310, binAddr: 0x0000000100001000, size: 0x00000000 } + - filename: '/Inputs/libbasic.a(basic3.macho.x86_64.o)' + timestamp: 418692393 + symbols: + - { sym: _val, objAddr: 0x0000000000000004, binAddr: 0x0000000100001008, size: 0x00000000 } + - { sym: _bar, objAddr: 0x0000000000000020, binAddr: 0x0000000100000F40, size: 0x00000050 } + - { sym: _inc, objAddr: 0x0000000000000070, binAddr: 0x0000000100000F90, size: 0x00000019 } +... diff --git a/llvm/test/tools/dsymutil/yaml-object-address-rewrite.test b/llvm/test/tools/dsymutil/yaml-object-address-rewrite.test index dcb39be891c..73697d4a6e5 100644 --- a/llvm/test/tools/dsymutil/yaml-object-address-rewrite.test +++ b/llvm/test/tools/dsymutil/yaml-object-address-rewrite.test @@ -8,9 +8,11 @@ # CHECK-NEXT: triple:{{.*}}'x86_64-unknown-unknown-macho' # CHECK-NEXT: objects: # CHECK-NEXT: filename:{{.*}}/Inputs/basic1.macho.x86_64.o +# CHECK-NEXT: timestamp: 0 # CHECK-NEXT: symbols: # CHECK-NEXT: sym: _main, objAddr: 0x0000000000000000, binAddr: 0x0000000100000EA0, size: 0x00000024 # CHECK-NEXT: filename:{{.*}}/Inputs/./libbasic.a(basic2.macho.x86_64.o)' +# CHECK-NEXT: timestamp: 0 # CHECK-NEXT: symbols: # CHECK-DAG: sym: _foo, objAddr: 0x0000000000000020, binAddr: 0x0000000100000ED0, size: 0x00000050 # CHECK-DAG: sym: _private_int, objAddr: 0x0000000000000560, binAddr: 0x0000000100001004, size: 0x00000000 @@ -18,6 +20,7 @@ # CHECK-DAG: sym: _baz, objAddr: 0x0000000000000310, binAddr: 0x0000000100001000, size: 0x00000000 # CHECK-NOT: { sym: # CHECK-NEXT: filename:{{.*}}/Inputs/./libbasic.a(basic3.macho.x86_64.o)' +# CHECK-NEXT: timestamp: 0 # CHECK-NEXT: symbols: # CHECK-DAG: sym: _val, objAddr: 0x0000000000000004, binAddr: 0x0000000100001008, size: 0x00000000 # CHECK-DAG: sym: _bar, objAddr: 0x0000000000000020, binAddr: 0x0000000100000F40, size: 0x00000050 |

