uftrace
uftrace copied to clipboard
ARM 32-bit test result
I've tested our tests on ARM 32-bit and here is the result.
Test case pg finstrument-fu
------------------------: O0 O1 O2 O3 Os O0 O1 O2 O3 Os
002 argument : OK OK OK OK NG OK OK NG OK OK # random failure
003 thread : NG OK OK OK OK OK OK OK OK OK # random failure
013 signal : NG OK OK OK OK OK OK OK OK OK # random failure
014 ucontext : OK NG OK OK NG OK OK OK OK OK # random failure
022 filter_kernel : NG NG NG NG NG NG NG TM NG NG
033 filter_demangle3 : OK OK NG OK OK OK OK OK OK OK # random failure
035 filter_demangle5 : OK OK OK OK OK OK OK NG OK OK # random failure
043 full_demangle : NG NG NG NG NG NG NG NG NG NG
045 report_avg_self : OK OK OK OK OK NG OK OK OK OK # random failure
048 malloc_impl : SG SG SG SG SG SG SG SG SG SG
049 column_view : OK OK OK OK NG OK OK NG OK OK # random failure
052 nested_func : OK OK OK NG OK NG NG NG NG NG
060 arg_fmt : OK NG OK OK OK SK SK SK SK SK # random failure
079 replay_kernel_D : NG NG NG NG NG NG NG NG NG NG
081 kernel_depth : NG NG NG NG NG NG NG NG NG NG
082 arg_many : NG NG NG NG NG SK SK SK SK SK
083 arg_float : NG NG NG NG NG SK SK SK SK SK
084 arg_mixed : NG NG NG NG NG SK SK SK SK SK
085 arg_reg : NZ NZ NZ NZ NZ SK SK SK SK SK
086 arg_stack : NG NG NG NG OK SK SK SK SK SK
087 arg_variadic : NG NG NG NG NG SK SK SK SK SK
103 dump_kernel : NG NG NG NG NG NG NG NG NG NG
104 graph_kernel : NG NG NG NG NG NG NG NG NG NG
111 kernel_tid : NG NG NG NG NG NG NG NG NG NG
119 malloc_hook : OK SG SG SG SG OK SG SG SG SG
121 malloc_fork : OK NG OK OK OK OK OK OK OK OK
122 time_range2 : OK OK OK OK OK OK OK OK OK NG # random failure
124 exception : NG OK OK OK OK NG NG NG NG NG
125 report_range : OK OK OK OK OK NG OK NG OK OK # random failure
131 lib_dlopen : NZ NZ NZ NZ NZ OK OK OK OK OK
132 trigger_kernel : NG NG NG NG NG NG NG NG NG NG
137 kernel_tid_update : NG NG NG NG NG NG NG NG NG NG
138 kernel_dynamic : SG SG SG SG SG NG NG NG NG NG
139 kernel_dynamic2 : NG NG NG NG NG NG NG NG NG NG
140 dynamic_xray : BI BI BI BI BI BI BI BI BI BI
143 recv_kernel : NG NG NG NG NG NG NG NG NG NG
148 event_kernel : NG NG NG NG NG NG NG NG NG NG
149 event_kernel2 : NG NG NG NG NG NG NG NG NG NG
151 recv_runcmd : NG NG NG NG NG NG NG NG NG NG
174 replay_filter_kernel: NG NG NG NG NG NG NG NG NG NG
185 exception2 : NG NG NG NG NG NG NG NG NG NG
186 exception3 : SG SG SG SG SG NG NG NG NG NG
196 chrome_taskname : NG NG NG NG NG NG NG NG NG NG
200 lib_dlopen2 : NZ NZ NZ NZ NZ OK OK OK OK OK
216 no_libcall_report : OK OK NG OK OK OK OK OK OK OK # random failure
218 no_libcall_graph : OK OK OK OK OK NG OK OK NG OK # random failure
220 trace_script : NZ NZ NZ NZ NZ NZ NZ NZ NZ NZ
226 default_opts : OK OK OK OK NG OK NG OK OK OK # random failure
240 report_diff_field2 : OK OK OK OK OK NG OK OK OK OK
251 exception4 : OK OK OK OK OK SG SG SG SG SG
262 replay_with_syms : NG NG NG NG NG OK OK OK OK OK
The test is done in aarch64, but cross compiled to arm 32-bit binaries with the following diff.
diff --git a/tests/runtest.py b/tests/runtest.py
index eb91642d..65794cd3 100755
--- a/tests/runtest.py
+++ b/tests/runtest.py
@@ -12,8 +12,8 @@ import time
class TestBase:
supported_lang = {
- 'C': { 'cc': 'gcc', 'flags': 'CFLAGS', 'ext': '.c' },
- 'C++': { 'cc': 'g++', 'flags': 'CXXFLAGS', 'ext': '.cpp' },
+ 'C': { 'cc': 'arm-linux-gnueabihf-gcc', 'flags': 'CFLAGS', 'ext': '.c' },
+ 'C++': { 'cc': 'arm-linux-gnueabihf-g++', 'flags': 'CXXFLAGS', 'ext': '.cpp' },
}
TEST_SUCCESS = 0
@@ -53,8 +53,8 @@ class TestBase:
def set_compiler(self, compiler):
if compiler == 'gcc':
- self.supported_lang['C']['cc'] = 'gcc'
- self.supported_lang['C++']['cc'] = 'g++'
+ self.supported_lang['C']['cc'] = 'arm-linux-gnueabihf-gcc'
+ self.supported_lang['C++']['cc'] = 'arm-linux-gnueabihf-g++'
elif compiler == 'clang':
self.supported_lang['C']['cc'] = 'clang'
self.supported_lang['C++']['cc'] = 'clang++'
We should install aarch64 to arm cross-compiler as follows.
$ apt install g++-arm-linux-gnueabihf
It'd be easier to test both 32/64 bits even in arm machines if we have #1032.
One of notable failure is
$ ./runtest.py 262
Start 1 tests with 1 worker
Test case pg finstrument-fu
------------------------: O0 O1 O2 O3 Os O0 O1 O2 O3 Os
uftrace: /home/honggyu/uftrace/arch/arm/mcount-support.c:249:mcount_arch_parent_location
ERROR: cannot find symbol for a3969f
uftrace: /home/honggyu/uftrace/arch/arm/mcount-support.c:249:mcount_arch_parent_location
ERROR: cannot find symbol for 82568d
uftrace: /home/honggyu/uftrace/arch/arm/mcount-support.c:249:mcount_arch_parent_location
ERROR: cannot find symbol for 76a4eb
uftrace: /home/honggyu/uftrace/arch/arm/mcount-support.c:249:mcount_arch_parent_location
ERROR: cannot find symbol for b0d4eb
uftrace: /home/honggyu/uftrace/arch/arm/mcount-support.c:249:mcount_arch_parent_location
ERROR: cannot find symbol for 99451b
262 replay_with_syms : NG NG NG NG NG OK OK OK OK OK
It's because find_symtab at here gets failed in stripped t-abc binary.
Second run shows this result.
Test case pg finstrument-fu
------------------------: O0 O1 O2 O3 Os O0 O1 O2 O3 Os
002 argument : OK OK OK NG OK NG OK NG OK OK
003 thread : OK NG OK OK OK OK NG OK OK OK
012 demangle : OK NG OK OK OK OK OK NG OK OK
013 signal : OK OK OK OK OK OK OK OK NG OK
022 filter_kernel : NG NG NG NG NG TM NG NG NG NG
033 filter_demangle3 : OK OK OK OK OK OK NG OK OK OK
036 replay_filter_N : OK OK OK OK OK OK OK OK OK NG
043 full_demangle : NG NG NG NG NG NG NG NG NG NG
052 nested_func : OK OK OK OK NG NG NG NG NG NG
079 replay_kernel_D : NG NG NG NG NG NG NG NG NG NG
081 kernel_depth : NG NG NG NG NG NG NG NG NG NG
082 arg_many : NG NG NG NG NG SK SK SK SK SK
083 arg_float : NG NG NG NG NG SK SK SK SK SK
084 arg_mixed : NG NG NG NG NG SK SK SK SK SK
085 arg_reg : NZ NZ NZ NZ NZ SK SK SK SK SK
086 arg_stack : NG NG NG NG OK SK SK SK SK SK
087 arg_variadic : NG NG NG NG NG SK SK SK SK SK
103 dump_kernel : NG NG NG NG NG NG NG NG NG NG
104 graph_kernel : NG NG NG NG NG NG NG NG NG NG
111 kernel_tid : NG NG NG NG NG NG NG NG NG NG
117 time_range : OK OK NG OK OK OK OK OK OK OK
124 exception : OK OK OK OK OK NG NG NG NG NG
131 lib_dlopen : NZ NZ NZ NZ NZ OK OK OK OK OK
132 trigger_kernel : NG NG NG NG NG NG NG NG NG NG
137 kernel_tid_update : NG NG NG NG NG NG NG NG NG NG
138 kernel_dynamic : SG SG SG SG SG NG NG NG NG NG
139 kernel_dynamic2 : NG NG NG NG NG NG NG NG NG NG
140 dynamic_xray : BI BI BI BI BI BI BI BI BI BI
143 recv_kernel : NG NG NG NG NG NG NG NG NG NG
148 event_kernel : NG NG NG NG NG NG NG NG NG NG
149 event_kernel2 : NG NG NG NG NG NG NG NG NG NG
151 recv_runcmd : NG NG NG NG NG NG NG NG NG NG
158 report_diff_policy1 : OK OK OK OK OK NG OK OK OK OK
172 trigger_filter : OK OK OK OK OK OK OK OK OK NG
174 replay_filter_kernel: NG NG NG NG NG NG NG NG NG NG
185 exception2 : SG SG SG SG SG NG NG NG NG NG
186 exception3 : SG SG SG SG SG NG NG NG NG NG
196 chrome_taskname : OK NG NG NG NG NG NG NG NG NG
200 lib_dlopen2 : NZ NZ NZ NZ NZ OK OK OK OK NG
208 watch_cpu : NG OK OK OK OK OK OK OK OK OK
214 signal_trigger : OK OK OK OK OK OK NZ OK OK OK
215 no_libcall_replay : OK NG NG OK OK OK OK NG OK OK
220 trace_script : NZ NZ NZ NZ NZ NZ NZ NZ NZ NZ
226 default_opts : OK OK OK OK OK NG OK OK OK OK
238 report_field2 : OK OK OK OK OK OK OK OK NG OK
244 report_task_field : OK OK OK OK OK NG OK OK OK NG
251 exception4 : OK OK OK OK OK SG SG SG SG SG
262 replay_with_syms : NG NG NG NG NG OK OK OK OK OK