diff options
author | Yabin Cui <yabinc@google.com> | 2021-10-15 16:25:29 -0700 |
---|---|---|
committer | Yabin Cui <yabinc@google.com> | 2021-10-15 16:30:04 -0700 |
commit | bedb2f3bc29e7b1daf7c6381f969ce48153e87ef (patch) | |
tree | 7770d16d521b0e8c05ce23952a314f6394591bd1 | |
parent | 8918090d772da97c4505cb1e28aec785e3cc2bd5 (diff) | |
download | extras-bedb2f3bc29e7b1daf7c6381f969ce48153e87ef.tar.gz |
simpleperf: update test binaries.
Current test binaries are too old to work with recent llvm-symbolizer.
So update them.
Also use llvm-objdump on arm. Because:
1) objdump doesn't recognize new binaries.
2) llvm-objdump has fixed branch target representation.
Bug: 203246914
Test: run scripts/test/test.py -p TestTools*
Change-Id: Id2e4c551388724091072ecf46fa1b532a46e933f
-rw-r--r-- | simpleperf/scripts/simpleperf_utils.py | 7 | ||||
-rwxr-xr-x | simpleperf/scripts/test/script_testdata/simpleperf_runtest_two_functions_arm | bin | 100752 -> 6636 bytes | |||
-rwxr-xr-x | simpleperf/scripts/test/script_testdata/simpleperf_runtest_two_functions_x86 | bin | 9392 -> 7324 bytes | |||
-rwxr-xr-x | simpleperf/scripts/test/script_testdata/simpleperf_runtest_two_functions_x86_64 | bin | 10480 -> 10584 bytes | |||
-rw-r--r-- | simpleperf/scripts/test/tools_test.py | 75 |
5 files changed, 41 insertions, 41 deletions
diff --git a/simpleperf/scripts/simpleperf_utils.py b/simpleperf/scripts/simpleperf_utils.py index 3d8b08f2..0f416142 100644 --- a/simpleperf/scripts/simpleperf_utils.py +++ b/simpleperf/scripts/simpleperf_utils.py @@ -782,12 +782,7 @@ class Objdump(object): real_path, arch = dso_info objdump_path = self.objdump_paths.get(arch) if not objdump_path: - if arch == 'arm': - # llvm-objdump for arm is not good at showing branch targets. - # So still prefer objdump. - objdump_path = ToolFinder.find_tool_path('objdump', self.ndk_path, arch) - if not objdump_path: - objdump_path = ToolFinder.find_tool_path('llvm-objdump', self.ndk_path, arch) + objdump_path = ToolFinder.find_tool_path('llvm-objdump', self.ndk_path, arch) if not objdump_path: log_exit("Can't find llvm-objdump." + NDK_ERROR_MESSAGE) self.objdump_paths[arch] = objdump_path diff --git a/simpleperf/scripts/test/script_testdata/simpleperf_runtest_two_functions_arm b/simpleperf/scripts/test/script_testdata/simpleperf_runtest_two_functions_arm Binary files differindex 66b34bb2..f42d211f 100755 --- a/simpleperf/scripts/test/script_testdata/simpleperf_runtest_two_functions_arm +++ b/simpleperf/scripts/test/script_testdata/simpleperf_runtest_two_functions_arm diff --git a/simpleperf/scripts/test/script_testdata/simpleperf_runtest_two_functions_x86 b/simpleperf/scripts/test/script_testdata/simpleperf_runtest_two_functions_x86 Binary files differindex bb0123d3..28ee4825 100755 --- a/simpleperf/scripts/test/script_testdata/simpleperf_runtest_two_functions_x86 +++ b/simpleperf/scripts/test/script_testdata/simpleperf_runtest_two_functions_x86 diff --git a/simpleperf/scripts/test/script_testdata/simpleperf_runtest_two_functions_x86_64 b/simpleperf/scripts/test/script_testdata/simpleperf_runtest_two_functions_x86_64 Binary files differindex 71cfe3b6..041cd6e1 100755 --- a/simpleperf/scripts/test/script_testdata/simpleperf_runtest_two_functions_x86_64 +++ b/simpleperf/scripts/test/script_testdata/simpleperf_runtest_two_functions_x86_64 diff --git a/simpleperf/scripts/test/tools_test.py b/simpleperf/scripts/test/tools_test.py index 4ea12478..f0455ad3 100644 --- a/simpleperf/scripts/test/tools_test.py +++ b/simpleperf/scripts/test/tools_test.py @@ -46,17 +46,17 @@ class TestTools(TestBase): ], '/simpleperf_runtest_two_functions_arm': [ { - 'func_addr': 0x784, - 'addr': 0x7b0, - 'source': """system/extras/simpleperf/runtest/two_functions.cpp:14 - system/extras/simpleperf/runtest/two_functions.cpp:23""", - 'function': """Function2() + 'func_addr': 0x1304, + 'addr': 0x131a, + 'source': """system/extras/simpleperf/runtest/two_functions.cpp:8 + system/extras/simpleperf/runtest/two_functions.cpp:22""", + 'function': """Function1() main""", }, { - 'func_addr': 0x784, - 'addr': 0x7d0, - 'source': """system/extras/simpleperf/runtest/two_functions.cpp:15 + 'func_addr': 0x1304, + 'addr': 0x131c, + 'source': """system/extras/simpleperf/runtest/two_functions.cpp:16 system/extras/simpleperf/runtest/two_functions.cpp:23""", 'function': """Function2() main""", @@ -64,37 +64,42 @@ class TestTools(TestBase): ], '/simpleperf_runtest_two_functions_x86_64': [ { - 'func_addr': 0x840, - 'addr': 0x840, - 'source': 'system/extras/simpleperf/runtest/two_functions.cpp:7', - 'function': 'Function1()', - }, - { - 'func_addr': 0x920, - 'addr': 0x94a, - 'source': """system/extras/simpleperf/runtest/two_functions.cpp:7 + 'func_addr': 0x19e0, + 'addr': 0x19f6, + 'source': """system/extras/simpleperf/runtest/two_functions.cpp:8 system/extras/simpleperf/runtest/two_functions.cpp:22""", 'function': """Function1() main""", + }, + { + 'func_addr': 0x19e0, + 'addr': 0x1a19, + 'source': """system/extras/simpleperf/runtest/two_functions.cpp:16 + system/extras/simpleperf/runtest/two_functions.cpp:23""", + 'function': """Function2() + main""", } ], '/simpleperf_runtest_two_functions_x86': [ { - 'func_addr': 0x6d0, - 'addr': 0x6da, - 'source': 'system/extras/simpleperf/runtest/two_functions.cpp:14', - 'function': 'Function2()', - }, - { - 'func_addr': 0x710, - 'addr': 0x749, + 'func_addr': 0x16e0, + 'addr': 0x16f6, 'source': """system/extras/simpleperf/runtest/two_functions.cpp:8 system/extras/simpleperf/runtest/two_functions.cpp:22""", 'function': """Function1() main""", + }, + { + 'func_addr': 0x16e0, + 'addr': 0x1710, + 'source': """system/extras/simpleperf/runtest/two_functions.cpp:16 + system/extras/simpleperf/runtest/two_functions.cpp:23""", + 'function': """Function2() + main""", } ], } + binary_finder = BinaryFinder(TestHelper.testdata_dir, ReadElf(TestHelper.ndk_path)) addr2line = Addr2Nearestline(TestHelper.ndk_path, binary_finder, with_function_name) for dso_path in test_map: @@ -148,30 +153,30 @@ class TestTools(TestBase): ], }, '/simpleperf_runtest_two_functions_arm': { - 'start_addr': 0x784, - 'len': 80, + 'start_addr': 0x1304, + 'len': 40, 'expected_items': [ ('main', 0), ('two_functions.cpp:20', 0), - ('7ae: bne.n 7a6 <main+0x22>', 0x7ae), + ('1318: bne 0x1312 <main+0xe>', 0x1318), ], }, '/simpleperf_runtest_two_functions_x86_64': { - 'start_addr': 0x920, - 'len': 201, + 'start_addr': 0x19e0, + 'len': 151, 'expected_items': [ ('main', 0), ('two_functions.cpp:20', 0), - ('96e: movl %edx, (%rbx,%rax,4)', 0x96e), + (r'19f0: movl %eax, 9314(%rip)', 0x19f0), ], }, '/simpleperf_runtest_two_functions_x86': { - 'start_addr': 0x710, - 'len': 98, + 'start_addr': 0x16e0, + 'len': 65, 'expected_items': [ ('main', 0), ('two_functions.cpp:20', 0), - ('748: cmpl $100000000, %ebp', 0x748), + (r'16f7: cmpl $100000000, %ecx', 0x16f7), ], }, } @@ -208,7 +213,7 @@ class TestTools(TestBase): }, 'simpleperf_runtest_two_functions_arm': { 'arch': 'arm', - 'build_id': '0x718f5b36c4148ee1bd3f51af89ed2be600000000', + 'build_id': '0x6b5c2ee980465d306b580c5a8bc9767f00000000', }, 'simpleperf_runtest_two_functions_x86_64': { 'arch': 'x86_64', |