diff options
author | Lorenzo Colitti <lorenzo@google.com> | 2019-10-21 19:09:23 +0900 |
---|---|---|
committer | Maciej Żenczykowski <maze@google.com> | 2019-11-02 07:27:39 +0000 |
commit | cdb38a5e3e6c7d2620000ce6750dadb5268b3f77 (patch) | |
tree | 0bb48d5c6d3db89f1857174cfcf4b762e7057dd1 | |
parent | fed006431bcc0284dffb51ccd175d233b5954d37 (diff) | |
download | apf-cdb38a5e3e6c7d2620000ce6750dadb5268b3f77.tar.gz |
Fix apf_run disassembler output.
The change to print disassembled code in apf_run (aosp/1129074)
broke the output of apf_run by printing PC, R0, PC instead of
R0, R1, PC.
This was noticed because compiling the code with -O0 (which
happened when I put apf_run.c into a test target) results in a
compiler error. Unfortunately the error goes away with the
default compiler settings and -Werror=format-extra-args does not
help.
Test: existing tests were incorrect, modified
Change-Id: Iad1713ce253b5df62ad5cd42b6ddff28559dda8c
-rw-r--r-- | apf_run.c | 2 | ||||
-rw-r--r-- | testdata/large_ra_without_counters.output | 44 | ||||
-rw-r--r-- | testdata/one_ra_with_counters.output | 104 |
3 files changed, 75 insertions, 75 deletions
@@ -112,7 +112,7 @@ void apf_trace_hook(uint32_t pc, const uint32_t* regs, const uint8_t* program, u const uint32_t* memory __unused, uint32_t memory_len __unused) { if (!tracing_enabled) return; - printf("%8" PRIx32 " %8" PRIx32 " ", pc, regs[0], regs[1]); + printf("%8" PRIx32 " %8" PRIx32 " ", regs[0], regs[1]); apf_disassemble(program, program_len, pc); } diff --git a/testdata/large_ra_without_counters.output b/testdata/large_ra_without_counters.output index e5faeb8..7db6c33 100644 --- a/testdata/large_ra_without_counters.output +++ b/testdata/large_ra_without_counters.output @@ -1,26 +1,26 @@ R0 R1 PC Instruction ------------------------------------------------- 0 0 0: ldh r0, [12] - 2 86dd 2: jlt r0, 0x600, DROP - 7 86dd 7: jne r0, 0x806, 64 - 40 86dd 64: jne r0, 0x800, 141 - 8d 86dd 141: jeq r0, 0x86dd, 161 - a1 86dd 161: ldb r0, [20] - a3 3a 163: jeq r0, 0x3a, 176 - b0 3a 176: ldb r0, [54] - b2 86 178: jeq r0, 0x85, DROP - b7 86 183: jne r0, 0x88, 210 - d2 86 210: ldm r0, m[14] - d4 ee 212: jne r0, 0x46, 297 - 129 ee 297: ldm r0, m[14] - 12b ee 299: jne r0, 0x66, 433 - 1b1 ee 433: ldm r0, m[14] - 1b3 ee 435: jne r0, 0x6e, 571 - 23b ee 571: ldm r0, m[14] - 23d ee 573: jne r0, 0x5e, 687 - 2af ee 687: ldm r0, m[14] - 2b1 ee 689: jne r0, 0x5e, 808 - 328 ee 808: ldm r0, m[14] - 32a ee 810: jne r0, 0x4e, PASS - 38c ee 908: PASS + 86dd 0 2: jlt r0, 0x600, DROP + 86dd 0 7: jne r0, 0x806, 64 + 86dd 0 64: jne r0, 0x800, 141 + 86dd 0 141: jeq r0, 0x86dd, 161 + 86dd 0 161: ldb r0, [20] + 3a 0 163: jeq r0, 0x3a, 176 + 3a 0 176: ldb r0, [54] + 86 0 178: jeq r0, 0x85, DROP + 86 0 183: jne r0, 0x88, 210 + 86 0 210: ldm r0, m[14] + ee 0 212: jne r0, 0x46, 297 + ee 0 297: ldm r0, m[14] + ee 0 299: jne r0, 0x66, 433 + ee 0 433: ldm r0, m[14] + ee 0 435: jne r0, 0x6e, 571 + ee 0 571: ldm r0, m[14] + ee 0 573: jne r0, 0x5e, 687 + ee 0 687: ldm r0, m[14] + ee 0 689: jne r0, 0x5e, 808 + ee 0 808: ldm r0, m[14] + ee 0 810: jne r0, 0x4e, PASS + ee 0 908: PASS Packet passed diff --git a/testdata/one_ra_with_counters.output b/testdata/one_ra_with_counters.output index 76f24a1..9da27ec 100644 --- a/testdata/one_ra_with_counters.output +++ b/testdata/one_ra_with_counters.output @@ -1,57 +1,57 @@ R0 R1 PC Instruction ------------------------------------------------- 0 0 0: li r1, -4 - 2 0 2: lddw r0, [r1+0] - 3 29 3: add r0, 1 - 5 2a 5: stdw r0, [r1+0] - 6 2a 6: ldh r0, [12] - 8 86dd 8: li r1, -104 - a 86dd 10: jlt r0, 0x600, 503 - f 86dd 15: li r1, -108 - 11 86dd 17: jeq r0, 0x88a2, 503 - 16 86dd 22: jeq r0, 0x88a4, 503 - 1b 86dd 27: jeq r0, 0x88b8, 503 - 20 86dd 32: jeq r0, 0x88cd, 503 - 25 86dd 37: jeq r0, 0x88e3, 503 - 2a 86dd 42: jne r0, 0x806, 115 - 73 86dd 115: jne r0, 0x800, 215 - d7 86dd 215: jeq r0, 0x86dd, 239 - ef 86dd 239: ldb r0, [20] - f1 3a 241: jeq r0, 0x3a, 255 - ff 3a 255: ldb r0, [54] - 101 86 257: li r1, -84 - 103 86 259: jeq r0, 0x85, 503 - 106 86 262: jne r0, 0x88, 290 - 122 86 290: ldm r0, m[14] - 124 96 292: jne r0, 0x96, 495 - 127 96 295: ldm r0, m[15] - 129 0 297: jgt r0, 0x258, 495 - 12e 0 302: li r0, 0 - 12f 0 303: jnebs r0, 0xf, 495, 428e66343deb28a24b792e9086dd68 - 141 0 321: li r0, 18 - 143 12 323: jnebs r0, 0x26, 495, 00603afffe8000000000000002005efffe000265fe80000000000000408e66fffe343deb8600 - 16c 12 364: li r0, 58 - 16e 3a 366: jnebs r0, 0x2, 495, 4000 - 173 3a 371: ldh r0, [60] - 175 e10 373: jlt r0, 0x258, 495 - 17a e10 378: li r0, 62 - 17c 3e 380: jnebs r0, 0x14, 495, 0000000000000000010100005e00026519050000 - 193 3e 403: ldw r0, [82] - 195 e10 405: jlt r0, 0x258, 495 - 19a e10 410: li r0, 86 - 19c 56 412: jnebs r0, 0x24, 495, 2001486048600000000000000000884420014860486000000000000000008888030440c0 - 1c3 56 451: ldw r0, [122] - 1c5 278d00 453: jlt r0, 0x258, 495 - 1ca 278d00 458: ldw r0, [126] - 1cc 93a80 460: jlt r0, 0x258, 495 - 1d1 93a80 465: li r0, 130 - 1d4 82 468: jnebs r0, 0x14, 495, 000000002a0079e10abc0e000000000000000000 - 1eb 82 491: li r1, -56 - 1ed 82 493: jmp 503 - 1f7 82 503: lddw r0, [r1+0] - 1f8 1b 504: add r0, 1 - 1fa 1c 506: stdw r0, [r1+0] - 1fb 1c 507: jmp DROP - 1fe 1c 510: DROP + 0 fffffffc 2: lddw r0, [r1+0] + 29 fffffffc 3: add r0, 1 + 2a fffffffc 5: stdw r0, [r1+0] + 2a fffffffc 6: ldh r0, [12] + 86dd fffffffc 8: li r1, -104 + 86dd ffffff98 10: jlt r0, 0x600, 503 + 86dd ffffff98 15: li r1, -108 + 86dd ffffff94 17: jeq r0, 0x88a2, 503 + 86dd ffffff94 22: jeq r0, 0x88a4, 503 + 86dd ffffff94 27: jeq r0, 0x88b8, 503 + 86dd ffffff94 32: jeq r0, 0x88cd, 503 + 86dd ffffff94 37: jeq r0, 0x88e3, 503 + 86dd ffffff94 42: jne r0, 0x806, 115 + 86dd ffffff94 115: jne r0, 0x800, 215 + 86dd ffffff94 215: jeq r0, 0x86dd, 239 + 86dd ffffff94 239: ldb r0, [20] + 3a ffffff94 241: jeq r0, 0x3a, 255 + 3a ffffff94 255: ldb r0, [54] + 86 ffffff94 257: li r1, -84 + 86 ffffffac 259: jeq r0, 0x85, 503 + 86 ffffffac 262: jne r0, 0x88, 290 + 86 ffffffac 290: ldm r0, m[14] + 96 ffffffac 292: jne r0, 0x96, 495 + 96 ffffffac 295: ldm r0, m[15] + 0 ffffffac 297: jgt r0, 0x258, 495 + 0 ffffffac 302: li r0, 0 + 0 ffffffac 303: jnebs r0, 0xf, 495, 428e66343deb28a24b792e9086dd68 + 0 ffffffac 321: li r0, 18 + 12 ffffffac 323: jnebs r0, 0x26, 495, 00603afffe8000000000000002005efffe000265fe80000000000000408e66fffe343deb8600 + 12 ffffffac 364: li r0, 58 + 3a ffffffac 366: jnebs r0, 0x2, 495, 4000 + 3a ffffffac 371: ldh r0, [60] + e10 ffffffac 373: jlt r0, 0x258, 495 + e10 ffffffac 378: li r0, 62 + 3e ffffffac 380: jnebs r0, 0x14, 495, 0000000000000000010100005e00026519050000 + 3e ffffffac 403: ldw r0, [82] + e10 ffffffac 405: jlt r0, 0x258, 495 + e10 ffffffac 410: li r0, 86 + 56 ffffffac 412: jnebs r0, 0x24, 495, 2001486048600000000000000000884420014860486000000000000000008888030440c0 + 56 ffffffac 451: ldw r0, [122] + 278d00 ffffffac 453: jlt r0, 0x258, 495 + 278d00 ffffffac 458: ldw r0, [126] + 93a80 ffffffac 460: jlt r0, 0x258, 495 + 93a80 ffffffac 465: li r0, 130 + 82 ffffffac 468: jnebs r0, 0x14, 495, 000000002a0079e10abc0e000000000000000000 + 82 ffffffac 491: li r1, -56 + 82 ffffffc8 493: jmp 503 + 82 ffffffc8 503: lddw r0, [r1+0] + 1b ffffffc8 504: add r0, 1 + 1c ffffffc8 506: stdw r0, [r1+0] + 1c ffffffc8 507: jmp DROP + 1c ffffffc8 510: DROP Packet dropped Data: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a |