boomerang
boomerang copied to clipboard
Regression test fails when updating capstone to 5.0
OS:
Void Linux x86_64-glibc
Boomerang version or git hash: boomerang-0.5.2
Expected behaviour/output: Regression test suite runs successfully.
Actual behaviour/output: Regression test suite fails.
Additional comments: When updating the capstone from 4.0.2 -> 5.0, the test regression fails.
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/OSX/o4/phi2
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/banner
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/branch
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/condcodexform_gcc
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/elfhashtest
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fib
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fibo3
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fibo4
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fibo-O4
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/interleavedcc
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/loop
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/nestedswitch
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/param1
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/phi
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/phi2
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/short1
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/short2
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/sumarray
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/switchAnd_cc
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/switch_cc
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/switch_gcc
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/testarray1
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/testarray2
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/uns
make check
boomerang-0.5.2_2: running do_check ...
2023-07-15T14:40:53.7416052Z [m[1/2] Generating copy-regression-script
2023-07-15T14:45:14.4542557Z [2/2] cd /builddir/boomerang-0.5.2/build/tests/regression-tests && /usr/bin/python3 ./regression-tester.py /builddir/boomerang-0.5.2/build/out/bin/boomerang-cli
2023-07-15T14:45:14.4543329Z FAILED: tests/regression-tests/CMakeFiles/check /builddir/boomerang-0.5.2/build/tests/regression-tests/CMakeFiles/check
2023-07-15T14:45:14.4544059Z cd /builddir/boomerang-0.5.2/build/tests/regression-tests && /usr/bin/python3 ./regression-tester.py /builddir/boomerang-0.5.2/build/out/bin/boomerang-cli
2023-07-15T14:45:14.4544393Z
2023-07-15T14:45:14.4544496Z Boomerang Regression Tester
2023-07-15T14:45:14.4544706Z ===========================
2023-07-15T14:45:14.4544850Z
2023-07-15T14:45:14.4544947Z Cleaning up old data ...
2023-07-15T14:45:14.4545230Z Testing for regressions ................r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/OSX/o4/phi2
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/banner
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/branch
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/condcodexform_gcc
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/elfhashtest
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fib
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fibo3
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fibo4
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fibo-O4
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/interleavedcc
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/loop
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/nestedswitch
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/param1
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/phi
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/phi2
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/short1
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/short2
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/sumarray
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/switchAnd_cc
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/switch_cc
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/switch_gcc
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/testarray1
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/testarray2
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/uns..............
2023-07-15T14:45:14.4545715Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/OSX/o4/phi2/phi2/phi2.c
2023-07-15T14:45:14.4546280Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/OSX/o4/phi2/phi2/phi2.c
2023-07-15T14:45:14.4546638Z @@ -8,8 +8,8 @@
2023-07-15T14:45:14.4546824Z int g29; // r29
2023-07-15T14:45:14.4547215Z int g3; // r3
2023-07-15T14:45:14.4547427Z char *g30; // r30
2023-07-15T14:45:14.4547675Z - int g3_2; // r3{6}
2023-07-15T14:45:14.4547928Z - int g3_5; // r3{8}
2023-07-15T14:45:14.4548135Z + int g3_2; // r3{8}
2023-07-15T14:45:14.4548333Z + int g3_5; // r3{6}
2023-07-15T14:45:14.4548517Z
2023-07-15T14:45:14.4548696Z g30 = *(argv + 4);
2023-07-15T14:45:14.4548888Z if (argc <= 2) {
2023-07-15T14:45:14.4549124Z @@ -17,11 +17,11 @@
2023-07-15T14:45:14.4549315Z g29 = g3;
2023-07-15T14:45:14.4549488Z }
2023-07-15T14:45:14.4549776Z else {
2023-07-15T14:45:14.4549976Z + g3_5 = strlen(g30);
2023-07-15T14:45:14.4550168Z + g29 = g3_5;
2023-07-15T14:45:14.4550370Z g3_2 = strlen(g30);
2023-07-15T14:45:14.4550614Z - g29 = g3_2;
2023-07-15T14:45:14.4550869Z - g3_5 = strlen(g30);
2023-07-15T14:45:14.4551106Z - g28 = g3_5;
2023-07-15T14:45:14.4551362Z - printf("%d", g3_2 + g3_5);
2023-07-15T14:45:14.4551577Z + g28 = g3_2;
2023-07-15T14:45:14.4551778Z + printf("%d", g3_5 + g3_2);
2023-07-15T14:45:14.4551980Z }
2023-07-15T14:45:14.4552244Z printf("%d, %d", g29, g28);
2023-07-15T14:45:14.4552468Z printf("%d\n", g29);
2023-07-15T14:45:14.4552606Z
2023-07-15T14:45:14.4552753Z r....................................................................................................................
2023-07-15T14:45:14.4553260Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/banner/banner/banner.c
2023-07-15T14:45:14.4553831Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/banner/banner/banner.c
2023-07-15T14:45:14.4554192Z @@ -26,28 +26,28 @@
2023-07-15T14:45:14.4554387Z local5 = o0 + 4;
2023-07-15T14:45:14.4554578Z local8 = local4;
2023-07-15T14:45:14.4554832Z local4 = local8 - 1;
2023-07-15T14:45:14.4555098Z - while (local8 != 1) {
2023-07-15T14:45:14.4555418Z + while (SUBFLAGS(local8 - 1, 0, local8 - 1)) {
2023-07-15T14:45:14.4555658Z o0 = *local5;
2023-07-15T14:45:14.4555919Z o0 = strlen(o0); /* Warning: also results in o2, o3, o4 */
2023-07-15T14:45:14.4556174Z local6 = o0;
2023-07-15T14:45:14.4556395Z - if (o0 > 10) {
2023-07-15T14:45:14.4556591Z + if (o0 >= 10) {
2023-07-15T14:45:14.4556800Z local6 = 10;
2023-07-15T14:45:14.4556985Z }
2023-07-15T14:45:14.4557165Z local7 = 0;
2023-07-15T14:45:14.4557363Z bb0x10794:
2023-07-15T14:45:14.4557588Z - if (local7 <= 6) {
2023-07-15T14:45:14.4557870Z + if (local7 < 6) {
2023-07-15T14:45:14.4558077Z local0 = 0;
2023-07-15T14:45:14.4558343Z - while (local0 < local6) {
2023-07-15T14:45:14.4558702Z + while (SUBFLAGS(local0, local6, local0 - local6)) {
2023-07-15T14:45:14.4558954Z o1 = *local5;
2023-07-15T14:45:14.4559184Z o0 = *(unsigned char*)(o1 + local0);
2023-07-15T14:45:14.4559486Z o0 = (o0 << 24 >> 24) - 32;
2023-07-15T14:45:14.4559707Z local2 = o0;
2023-07-15T14:45:14.4559945Z - if (o0 < 0) {
2023-07-15T14:45:14.4560155Z + if (o0 <= 0) {
2023-07-15T14:45:14.4560374Z local2 = 0;
2023-07-15T14:45:14.4560562Z }
2023-07-15T14:45:14.4560754Z local1 = 0;
2023-07-15T14:45:14.4560953Z bb0x10804:
2023-07-15T14:45:14.4561194Z - if (local1 <= 6) {
2023-07-15T14:45:14.4561416Z + if (local1 < 6) {
2023-07-15T14:45:14.4561705Z o1 = local0 * 8 + o6 - 16;
2023-07-15T14:45:14.4561929Z o3 = o1 + local1;
2023-07-15T14:45:14.4562324Z o4 = 0x220b4;
2023-07-15T14:45:14.4562556Z @@ -62,9 +62,9 @@
2023-07-15T14:45:14.4562742Z local0++;
2023-07-15T14:45:14.4562932Z }
2023-07-15T14:45:14.4563183Z local0 = local6 * 8 - 1;
2023-07-15T14:45:14.4563450Z - while (local0 >= 0) {
2023-07-15T14:45:14.4563733Z + while (local0 > 0) {
2023-07-15T14:45:14.4564065Z o0 = *(unsigned char*)(o6 + local0 - 128);
2023-07-15T14:45:14.4564386Z - if (o0 << 24 >> 24 != 32) {
2023-07-15T14:45:14.4564722Z + if (!SUBFLAGS(o0 << 24 >> 24, 32, (o0 << 24 >> 24) - 32)) {
2023-07-15T14:45:14.4564966Z break;
2023-07-15T14:45:14.4565155Z }
2023-07-15T14:45:14.4565425Z *(__size8*)(o6 + local0 - 128) = 0;
2023-07-15T14:45:14.4565574Z
2023-07-15T14:45:14.4565638Z r.
2023-07-15T14:45:14.4566123Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/branch/branch/branch.c
2023-07-15T14:45:14.4566696Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/branch/branch/branch.c
2023-07-15T14:45:14.4567053Z @@ -5,23 +5,23 @@
2023-07-15T14:45:14.4567264Z int main(int argc, char *argv[])
2023-07-15T14:45:14.4567464Z {
2023-07-15T14:45:14.4567691Z int local0; // m[o6 - 20]
2023-07-15T14:45:14.4567978Z - unsigned int local1; // m[o6 - 24]
2023-07-15T14:45:14.4568318Z + int local1; // m[o6 - 24]
2023-07-15T14:45:14.4568511Z
2023-07-15T14:45:14.4568692Z scanf("%d", &local0);
2023-07-15T14:45:14.4568910Z scanf("%d", &local1);
2023-07-15T14:45:14.4569142Z - if (local0 == 5) {
2023-07-15T14:45:14.4569432Z + if (!SUBFLAGS(5, local0, 5 - local0)) {
2023-07-15T14:45:14.4569665Z printf("Equal\n");
2023-07-15T14:45:14.4569847Z }
2023-07-15T14:45:14.4570070Z - if (local0 != 5) {
2023-07-15T14:45:14.4570373Z + if (!SUBFLAGS(5, local0, 5 - local0)) {
2023-07-15T14:45:14.4570611Z printf("Not Equal\n");
2023-07-15T14:45:14.4570810Z }
2023-07-15T14:45:14.4571023Z - if (5 > local0) {
2023-07-15T14:45:14.4571214Z + if (5 >= local0) {
2023-07-15T14:45:14.4571425Z printf("Greater\n");
2023-07-15T14:45:14.4571622Z }
2023-07-15T14:45:14.4571836Z - if (5 <= local0) {
2023-07-15T14:45:14.4572130Z + if (!SUBFLAGS(5, local0, 5 - local0)) {
2023-07-15T14:45:14.4572380Z printf("Less or Equal\n");
2023-07-15T14:45:14.4572577Z }
2023-07-15T14:45:14.4572792Z - if (5 >= local0) {
2023-07-15T14:45:14.4573076Z + if (!SUBFLAGS(5, local0, 5 - local0)) {
2023-07-15T14:45:14.4573323Z printf("Greater or Equal\n");
2023-07-15T14:45:14.4573538Z }
2023-07-15T14:45:14.4573718Z if (5 < local0) {
2023-07-15T14:45:14.4573940Z @@ -33,16 +33,16 @@
2023-07-15T14:45:14.4574133Z if (5 <= local1) {
2023-07-15T14:45:14.4574432Z printf("Less or Equal Unsigned\n");
2023-07-15T14:45:14.4574645Z }
2023-07-15T14:45:14.4574858Z - if (5 >= local1) {
2023-07-15T14:45:14.4575139Z + if (!SUBFLAGS(5, local1, 5 - local1)) {
2023-07-15T14:45:14.4575390Z printf("Carry Clear\n");
2023-07-15T14:45:14.4575594Z }
2023-07-15T14:45:14.4575805Z - if (5 < local1) {
2023-07-15T14:45:14.4576083Z + if (!SUBFLAGS(5, local1, 5 - local1)) {
2023-07-15T14:45:14.4576330Z printf("Carry Set\n");
2023-07-15T14:45:14.4576527Z }
2023-07-15T14:45:14.4576734Z - if (5 >= local0) {
2023-07-15T14:45:14.4576941Z + if (local0 == 5) {
2023-07-15T14:45:14.4577160Z printf("Minus\n");
2023-07-15T14:45:14.4577348Z }
2023-07-15T14:45:14.4577557Z - if (5 < local0) {
2023-07-15T14:45:14.4577845Z + if (!SUBFLAGS(5, local0, 5 - local0)) {
2023-07-15T14:45:14.4578074Z printf("Plus\n");
2023-07-15T14:45:14.4578269Z }
2023-07-15T14:45:14.4578441Z return 0;
2023-07-15T14:45:14.4578567Z
2023-07-15T14:45:14.4578635Z r.
2023-07-15T14:45:14.4579137Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/condcodexform_gcc/condcodexform_gcc/condcodexform_gcc.c
2023-07-15T14:45:14.4579834Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/condcodexform_gcc/condcodexform_gcc/condcodexform_gcc.c
2023-07-15T14:45:14.4580247Z @@ -22,33 +22,33 @@
2023-07-15T14:45:14.4580420Z else {
2023-07-15T14:45:14.4580654Z o1 = 0;
2023-07-15T14:45:14.4580828Z }
2023-07-15T14:45:14.4581029Z - if (o1 == 0) {
2023-07-15T14:45:14.4581248Z + if (SUBFLAGS(o1, 0, o1)) {
2023-07-15T14:45:14.4581453Z o2 = 0x10d0c;
2023-07-15T14:45:14.4581623Z }
2023-07-15T14:45:14.4581789Z else {
2023-07-15T14:45:14.4581971Z o2 = 0x10d04;
2023-07-15T14:45:14.4582143Z }
2023-07-15T14:45:14.4582393Z - if (o1 == 0) {
2023-07-15T14:45:14.4582619Z + if (SUBFLAGS(o1, 0, o1)) {
2023-07-15T14:45:14.4582818Z o3 = 0x10d1c;
2023-07-15T14:45:14.4583045Z }
2023-07-15T14:45:14.4583214Z else {
2023-07-15T14:45:14.4583387Z o3 = 0x10d14;
2023-07-15T14:45:14.4583572Z }
2023-07-15T14:45:14.4583782Z - if (o1 == 0) {
2023-07-15T14:45:14.4583986Z + if (SUBFLAGS(o1, 0, o1)) {
2023-07-15T14:45:14.4584199Z o4 = 0x10d2c;
2023-07-15T14:45:14.4584388Z }
2023-07-15T14:45:14.4584545Z else {
2023-07-15T14:45:14.4584727Z o4 = 0x10d24;
2023-07-15T14:45:14.4584910Z }
2023-07-15T14:45:14.4585109Z - if (o1 == 0) {
2023-07-15T14:45:14.4585321Z + if (SUBFLAGS(o1, 0, o1)) {
2023-07-15T14:45:14.4585595Z o5 = 0x10d3c;
2023-07-15T14:45:14.4585775Z }
2023-07-15T14:45:14.4585942Z else {
2023-07-15T14:45:14.4586125Z o5 = 0x10d34;
2023-07-15T14:45:14.4586296Z }
2023-07-15T14:45:14.4586502Z - if (o1 == 0) {
2023-07-15T14:45:14.4586712Z + if (SUBFLAGS(o1, 0, o1)) {
2023-07-15T14:45:14.4586913Z i0 = 0;
2023-07-15T14:45:14.4587235Z - if (o2 == 0x10d0c && o3 == 0x10d1c && o4 == 0x10d2c) {
2023-07-15T14:45:14.4587740Z + if (!SUBFLAGS(o2, 0x10d0c, o2 - 0x10d0c) && !SUBFLAGS(o3, 0x10d1c, o3 - 0x10d1c) && !SUBFLAGS(o4, 0x10d2c, o4 - 0x10d2c)) {
2023-07-15T14:45:14.4588049Z o0 = 0x10d3c;
2023-07-15T14:45:14.4588241Z bb0x10cc4:
2023-07-15T14:45:14.4588493Z i0 = 1 - ((o5 ^ o0) != 0);
2023-07-15T14:45:14.4588734Z @@ -57,13 +57,13 @@
2023-07-15T14:45:14.4588912Z }
2023-07-15T14:45:14.4589094Z else {
2023-07-15T14:45:14.4589280Z i0 = 0;
2023-07-15T14:45:14.4589579Z - if (o2 == 0x10d04 && o3 == 0x10d14 && o4 == 0x10d24) {
2023-07-15T14:45:14.4590069Z + if (!SUBFLAGS(o2, 0x10d04, o2 - 0x10d04) && !SUBFLAGS(o3, 0x10d14, o3 - 0x10d14) && !SUBFLAGS(o4, 0x10d24, o4 - 0x10d24)) {
2023-07-15T14:45:14.4590369Z o0 = 0x10d34;
2023-07-15T14:45:14.4590569Z goto bb0x10cc4;
2023-07-15T14:45:14.4590763Z }
2023-07-15T14:45:14.4590932Z }
2023-07-15T14:45:14.4591105Z argc = local0;
2023-07-15T14:45:14.4591385Z - if (i0 == 0) {
2023-07-15T14:45:14.4591602Z + if (SUBFLAGS(i0, 0, i0)) {
2023-07-15T14:45:14.4591809Z o0_1 = "Failed!\n";
2023-07-15T14:45:14.4591994Z }
2023-07-15T14:45:14.4592162Z else {
2023-07-15T14:45:14.4592275Z
2023-07-15T14:45:14.4592330Z r
2023-07-15T14:45:14.4592801Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/elfhashtest/elfhashtest/elfhashtest.c
2023-07-15T14:45:14.4593437Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/elfhashtest/elfhashtest/elfhashtest.c
2023-07-15T14:45:14.4593821Z @@ -33,7 +33,7 @@
2023-07-15T14:45:14.4594010Z o3 = (int) *param1;
2023-07-15T14:45:14.4594209Z g1 = param1;
2023-07-15T14:45:14.4594397Z o4 = 0;
2023-07-15T14:45:14.4594605Z - if (o3 != 0) {
2023-07-15T14:45:14.4594828Z + if (!SUBFLAGS(o3, 0, o3)) {
2023-07-15T14:45:14.4595042Z do {
2023-07-15T14:45:14.4595222Z g1_1 = g1;
2023-07-15T14:45:14.4595432Z param2 = local0;
2023-07-15T14:45:14.4595570Z
2023-07-15T14:45:14.4595630Z r..
2023-07-15T14:45:14.4596024Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/fib/fib/fib.c
2023-07-15T14:45:14.4596553Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/fib/fib/fib.c
2023-07-15T14:45:14.4596895Z @@ -20,7 +20,7 @@
2023-07-15T14:45:14.4597088Z int o0_1; // r8{4}
2023-07-15T14:45:14.4597332Z
2023-07-15T14:45:14.4597503Z i0 = param1;
2023-07-15T14:45:14.4597733Z - if (param1 > 1) {
2023-07-15T14:45:14.4597947Z + if (param1 >= 1) {
2023-07-15T14:45:14.4598205Z o0_1 = fib(param1 - 1);
2023-07-15T14:45:14.4598464Z o0 = fib(param1 - 2);
2023-07-15T14:45:14.4598679Z i0 = o0_1 + o0;
2023-07-15T14:45:14.4598811Z
2023-07-15T14:45:14.4598873Z r.
2023-07-15T14:45:14.4599291Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/fibo3/fibo3/fibo3.c
2023-07-15T14:45:14.4599891Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/fibo3/fibo3/fibo3.c
2023-07-15T14:45:14.4600246Z @@ -22,7 +22,7 @@
2023-07-15T14:45:14.4600439Z int o0; // r8
2023-07-15T14:45:14.4600629Z int o0_1; // r8{4}
2023-07-15T14:45:14.4600812Z
2023-07-15T14:45:14.4601035Z - if (param1 <= 1) {
2023-07-15T14:45:14.4601242Z + if (param1 < 1) {
2023-07-15T14:45:14.4601448Z local2 = param1;
2023-07-15T14:45:14.4601637Z }
2023-07-15T14:45:14.4601796Z else {
2023-07-15T14:45:14.4601911Z
2023-07-15T14:45:14.4602131Z r
2023-07-15T14:45:14.4602554Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/fibo4/fibo4/fibo4.c
2023-07-15T14:45:14.4603102Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/fibo4/fibo4/fibo4.c
2023-07-15T14:45:14.4603457Z @@ -21,7 +21,7 @@
2023-07-15T14:45:14.4603649Z int o2; // r10
2023-07-15T14:45:14.4603848Z __size32 o2_1; // r10{3}
2023-07-15T14:45:14.4604044Z
2023-07-15T14:45:14.4604256Z - if (param1 <= 1) {
2023-07-15T14:45:14.4604456Z + if (param1 < 1) {
2023-07-15T14:45:14.4604654Z o2 = param1;
2023-07-15T14:45:14.4604844Z }
2023-07-15T14:45:14.4605008Z else {
2023-07-15T14:45:14.4605128Z
2023-07-15T14:45:14.4605190Z r
2023-07-15T14:45:14.4605625Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/fibo-O4/fibo-O4/fibo-O4.c
2023-07-15T14:45:14.4606214Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/fibo-O4/fibo-O4/fibo-O4.c
2023-07-15T14:45:14.4606562Z @@ -13,7 +13,7 @@
2023-07-15T14:45:14.4606773Z printf("Input number: ");
2023-07-15T14:45:14.4607001Z scanf("%d", &local0);
2023-07-15T14:45:14.4607199Z o2 = local0;
2023-07-15T14:45:14.4607426Z - if (local0 > 1) {
2023-07-15T14:45:14.4607631Z + if (local0 >= 1) {
2023-07-15T14:45:14.4607876Z o0_2 = fib(local0 - 1);
2023-07-15T14:45:14.4608136Z o0 = fib(local0 - 2);
2023-07-15T14:45:14.4608398Z o2 = o0_2 + o0;
2023-07-15T14:45:14.4608620Z @@ -30,7 +30,7 @@
2023-07-15T14:45:14.4608823Z int o0_1; // r8{4}
2023-07-15T14:45:14.4609009Z
2023-07-15T14:45:14.4609167Z i0 = param1;
2023-07-15T14:45:14.4609398Z - if (param1 > 1) {
2023-07-15T14:45:14.4609605Z + if (param1 >= 1) {
2023-07-15T14:45:14.4609853Z o0_1 = fib(param1 - 1);
2023-07-15T14:45:14.4610116Z o0 = fib(param1 - 2);
2023-07-15T14:45:14.4610331Z i0 = o0_1 + o0;
2023-07-15T14:45:14.4610465Z
2023-07-15T14:45:14.4610526Z r.....
2023-07-15T14:45:14.4610998Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/interleavedcc/interleavedcc/interleavedcc.c
2023-07-15T14:45:14.4611648Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/interleavedcc/interleavedcc/interleavedcc.c
2023-07-15T14:45:14.4612027Z @@ -28,7 +28,7 @@
2023-07-15T14:45:14.4612224Z if (param2 != param3) {
2023-07-15T14:45:14.4612437Z o0 = 1;
2023-07-15T14:45:14.4612638Z local0 = o0;
2023-07-15T14:45:14.4612881Z - if (param1 >= 0) {
2023-07-15T14:45:14.4613107Z + if (param1 > 0) {
2023-07-15T14:45:14.4613314Z o0 = 0;
2023-07-15T14:45:14.4613502Z local0 = o0;
2023-07-15T14:45:14.4613692Z }
2023-07-15T14:45:14.4613902Z @@ -36,7 +36,7 @@
2023-07-15T14:45:14.4614073Z else {
2023-07-15T14:45:14.4614307Z o0_1 = 2;
2023-07-15T14:45:14.4614504Z local0 = o0_1;
2023-07-15T14:45:14.4614739Z - if (param1 < 0) {
2023-07-15T14:45:14.4614953Z + if (param1 <= 0) {
2023-07-15T14:45:14.4615151Z o0 = 3;
2023-07-15T14:45:14.4615338Z local0 = o0;
2023-07-15T14:45:14.4615528Z }
2023-07-15T14:45:14.4615638Z
2023-07-15T14:45:14.4615698Z r
2023-07-15T14:45:14.4616109Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/loop/loop/loop.c
2023-07-15T14:45:14.4616727Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/loop/loop/loop.c
2023-07-15T14:45:14.4617082Z @@ -7,7 +7,7 @@
2023-07-15T14:45:14.4617321Z int local0; // m[o6 - 20]
2023-07-15T14:45:14.4617517Z
2023-07-15T14:45:14.4617686Z local0 = 0;
2023-07-15T14:45:14.4617914Z - while (local0 <= 9) {
2023-07-15T14:45:14.4618132Z + while (local0 < 9) {
2023-07-15T14:45:14.4618341Z local0++;
2023-07-15T14:45:14.4618519Z }
2023-07-15T14:45:14.4618708Z printf("%i\n", local0);
2023-07-15T14:45:14.4618848Z
2023-07-15T14:45:14.4618909Z r..
2023-07-15T14:45:14.4619420Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/nestedswitch/nestedswitch/nestedswitch.c
2023-07-15T14:45:14.4620065Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/nestedswitch/nestedswitch/nestedswitch.c
2023-07-15T14:45:14.4620448Z @@ -1,8 +1,8 @@
2023-07-15T14:45:14.4620742Z -int main(unsigned int argc, char *argv[]);
2023-07-15T14:45:14.4621007Z +int main(int argc, char *argv[]);
2023-07-15T14:45:14.4621213Z
2023-07-15T14:45:14.4621374Z
2023-07-15T14:45:14.4621550Z /** address: 0x000106a4 */
2023-07-15T14:45:14.4621846Z -int main(unsigned int argc, char *argv[])
2023-07-15T14:45:14.4622103Z +int main(int argc, char *argv[])
2023-07-15T14:45:14.4622302Z {
2023-07-15T14:45:14.4622478Z int o0; // r8
2023-07-15T14:45:14.4622659Z
2023-07-15T14:45:14.4622759Z
2023-07-15T14:45:14.4622814Z r
2023-07-15T14:45:14.4623232Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/param1/param1/param1.c
2023-07-15T14:45:14.4623813Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/param1/param1/param1.c
2023-07-15T14:45:14.4624163Z @@ -19,7 +19,7 @@
2023-07-15T14:45:14.4624355Z __size32 o1; // r9
2023-07-15T14:45:14.4624544Z
2023-07-15T14:45:14.4624715Z local0 = param2;
2023-07-15T14:45:14.4624957Z - if (param1 < 0) {
2023-07-15T14:45:14.4625168Z + if (param1 <= 0) {
2023-07-15T14:45:14.4625411Z o1 = 0;
2023-07-15T14:45:14.4625606Z local0 = o1;
2023-07-15T14:45:14.4625788Z }
2023-07-15T14:45:14.4625896Z
2023-07-15T14:45:14.4625957Z r.
2023-07-15T14:45:14.4626357Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/phi/phi/phi.c
2023-07-15T14:45:14.4626895Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/phi/phi/phi.c
2023-07-15T14:45:14.4627240Z @@ -22,8 +22,8 @@
2023-07-15T14:45:14.4627422Z int o0; // r8
2023-07-15T14:45:14.4627620Z int o0_1; // r8{4}
2023-07-15T14:45:14.4627805Z
2023-07-15T14:45:14.4628052Z - if (param1 <= 1) {
2023-07-15T14:45:14.4628304Z - if (param1 != 1) {
2023-07-15T14:45:14.4628513Z + if (param1 < 1) {
2023-07-15T14:45:14.4628796Z + if (SUBFLAGS(param1, 1, param1 - 1)) {
2023-07-15T14:45:14.4629029Z local1 = param1;
2023-07-15T14:45:14.4629219Z }
2023-07-15T14:45:14.4629380Z else {
2023-07-15T14:45:14.4629495Z
2023-07-15T14:45:14.4629560Z r
2023-07-15T14:45:14.4629956Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/phi2/phi2/phi2.c
2023-07-15T14:45:14.4630470Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/phi2/phi2/phi2.c
2023-07-15T14:45:14.4630796Z @@ -25,7 +25,7 @@
2023-07-15T14:45:14.4630981Z int o0_5; // r8{8}
2023-07-15T14:45:14.4631155Z
2023-07-15T14:45:14.4631362Z local2 = param3;
2023-07-15T14:45:14.4631593Z - if (param1 <= 2) {
2023-07-15T14:45:14.4631788Z + if (param1 < 2) {
2023-07-15T14:45:14.4631995Z o0 = strlen(param2);
2023-07-15T14:45:14.4632204Z local0 = o0;
2023-07-15T14:45:14.4632384Z }
2023-07-15T14:45:14.4632477Z
2023-07-15T14:45:14.4632538Z r.
2023-07-15T14:45:14.4632927Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/short1/short1/short1.c
2023-07-15T14:45:14.4633501Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/short1/short1/short1.c
2023-07-15T14:45:14.4633822Z @@ -1,5 +1,5 @@
2023-07-15T14:45:14.4634031Z int main(int argc, char *argv[]);
2023-07-15T14:45:14.4634359Z -__size32 test(int param1, int param2, int param3);
2023-07-15T14:45:14.4634659Z +__size32 test(__size32 param1, __size32 param2, __size32 param3);
2023-07-15T14:45:14.4634887Z
2023-07-15T14:45:14.4635036Z
2023-07-15T14:45:14.4635202Z /** address: 0x000106e8 */
2023-07-15T14:45:14.4635432Z @@ -19,11 +19,11 @@
2023-07-15T14:45:14.4635607Z }
2023-07-15T14:45:14.4635755Z
2023-07-15T14:45:14.4635980Z /** address: 0x00010688 */
2023-07-15T14:45:14.4636287Z -__size32 test(int param1, int param2, int param3)
2023-07-15T14:45:14.4636572Z +__size32 test(__size32 param1, __size32 param2, __size32 param3)
2023-07-15T14:45:14.4636794Z {
2023-07-15T14:45:14.4637025Z __size32 local0; // m[o6 - 20]
2023-07-15T14:45:14.4637210Z
2023-07-15T14:45:14.4637469Z - if (param1 < param2 || param2 < param3) {
2023-07-15T14:45:14.4637911Z + if (SUBFLAGS(param1, param2, param1 - param2) || SUBFLAGS(param2, param3, param2 - param3)) {
2023-07-15T14:45:14.4638202Z local0 = 1;
2023-07-15T14:45:14.4638372Z }
2023-07-15T14:45:14.4638539Z else {
2023-07-15T14:45:14.4638645Z
2023-07-15T14:45:14.4638704Z r
2023-07-15T14:45:14.4639090Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/short2/short2/short2.c
2023-07-15T14:45:14.4639607Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/short2/short2/short2.c
2023-07-15T14:45:14.4639933Z @@ -1,5 +1,5 @@
2023-07-15T14:45:14.4640137Z int main(int argc, char *argv[]);
2023-07-15T14:45:14.4640452Z -__size32 test(int param1, int param2, int param3);
2023-07-15T14:45:14.4640745Z +__size32 test(__size32 param1, __size32 param2, __size32 param3);
2023-07-15T14:45:14.4640964Z
2023-07-15T14:45:14.4641115Z
2023-07-15T14:45:14.4641282Z /** address: 0x000106b4 */
2023-07-15T14:45:14.4641503Z @@ -19,17 +19,17 @@
2023-07-15T14:45:14.4641682Z }
2023-07-15T14:45:14.4641874Z
2023-07-15T14:45:14.4642572Z /** address: 0x00010688 */
2023-07-15T14:45:14.4642884Z -__size32 test(int param1, int param2, int param3)
2023-07-15T14:45:14.4643172Z +__size32 test(__size32 param1, __size32 param2, __size32 param3)
2023-07-15T14:45:14.4643388Z {
2023-07-15T14:45:14.4643550Z int g1; // r1
2023-07-15T14:45:14.4643747Z int o0; // r8
2023-07-15T14:45:14.4643918Z
2023-07-15T14:45:14.4644068Z g1 = 1;
2023-07-15T14:45:14.4644243Z o0 = 1;
2023-07-15T14:45:14.4644457Z - if (param1 >= param2) {
2023-07-15T14:45:14.4644775Z + if (!SUBFLAGS(param1, param2, param1 - param2)) {
2023-07-15T14:45:14.4645007Z o0 = 0;
2023-07-15T14:45:14.4645177Z }
2023-07-15T14:45:14.4645401Z - if (param2 >= param3) {
2023-07-15T14:45:14.4645714Z + if (!SUBFLAGS(param2, param3, param2 - param3)) {
2023-07-15T14:45:14.4645941Z g1 = 0;
2023-07-15T14:45:14.4646100Z }
2023-07-15T14:45:14.4646275Z return o0 & g1;
2023-07-15T14:45:14.4646397Z
2023-07-15T14:45:14.4646455Z r.
2023-07-15T14:45:14.4646855Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/sumarray/sumarray/sumarray.c
2023-07-15T14:45:14.4647413Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/sumarray/sumarray/sumarray.c
2023-07-15T14:45:14.4647754Z @@ -10,7 +10,7 @@
2023-07-15T14:45:14.4647912Z
2023-07-15T14:45:14.4648141Z local0 = 0;
2023-07-15T14:45:14.4648314Z local1 = 0;
2023-07-15T14:45:14.4648533Z - while (local1 <= 9) {
2023-07-15T14:45:14.4648739Z + while (local1 < 9) {
2023-07-15T14:45:14.4648946Z local0 += a[local1];
2023-07-15T14:45:14.4649142Z local1++;
2023-07-15T14:45:14.4649311Z }
2023-07-15T14:45:14.4649409Z
2023-07-15T14:45:14.4649468Z r.
2023-07-15T14:45:14.4649885Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/switchAnd_cc/switchAnd_cc/switchAnd_cc.c
2023-07-15T14:45:14.4650520Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/switchAnd_cc/switchAnd_cc/switchAnd_cc.c
2023-07-15T14:45:14.4650866Z @@ -4,13 +4,16 @@
2023-07-15T14:45:14.4651055Z /** address: 0x0001060c */
2023-07-15T14:45:14.4651276Z int main(int argc, char *argv[])
2023-07-15T14:45:14.4651473Z {
2023-07-15T14:45:14.4651670Z - if (argc >= 2) {
2023-07-15T14:45:14.4651851Z + if (argc > 2) {
2023-07-15T14:45:14.4652095Z switch(argc - 2 & 0x7) {
2023-07-15T14:45:14.4652286Z case 0:
2023-07-15T14:45:14.4652466Z printf("Two!\n");
2023-07-15T14:45:14.4652716Z break;
2023-07-15T14:45:14.4652902Z case 1:
2023-07-15T14:45:14.4653084Z printf("Three!\n");
2023-07-15T14:45:14.4653276Z + break;
2023-07-15T14:45:14.4653455Z + case 2:
2023-07-15T14:45:14.4653633Z + printf("Four!\n");
2023-07-15T14:45:14.4653818Z break;
2023-07-15T14:45:14.4653985Z }
2023-07-15T14:45:14.4654146Z }
2023-07-15T14:45:14.4654257Z
2023-07-15T14:45:14.4654319Z r
2023-07-15T14:45:14.4654725Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/switch_cc/switch_cc/switch_cc.c
2023-07-15T14:45:14.4655265Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/switch_cc/switch_cc/switch_cc.c
2023-07-15T14:45:14.4655592Z @@ -4,7 +4,7 @@
2023-07-15T14:45:14.4655776Z /** address: 0x0001090c */
2023-07-15T14:45:14.4655987Z int main(int argc, char *argv[])
2023-07-15T14:45:14.4656177Z {
2023-07-15T14:45:14.4656426Z - if ((unsigned int)(argc - 2) > 5) {
2023-07-15T14:45:14.4656680Z + if (argc - 2 > 5) {
2023-07-15T14:45:14.4656873Z printf("Other!\n");
2023-07-15T14:45:14.4657057Z }
2023-07-15T14:45:14.4657213Z else {
2023-07-15T14:45:14.4657315Z
2023-07-15T14:45:14.4657373Z r
2023-07-15T14:45:14.4657781Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/switch_gcc/switch_gcc/switch_gcc.c
2023-07-15T14:45:14.4658407Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/switch_gcc/switch_gcc/switch_gcc.c
2023-07-15T14:45:14.4658740Z @@ -6,7 +6,7 @@
2023-07-15T14:45:14.4658901Z {
2023-07-15T14:45:14.4659065Z int o0; // r8
2023-07-15T14:45:14.4659225Z
2023-07-15T14:45:14.4659457Z - if ((unsigned int)(argc - 2) > 5) {
2023-07-15T14:45:14.4659707Z + if (argc - 2 > 5) {
2023-07-15T14:45:14.4659896Z o0 = "Other!\n";
2023-07-15T14:45:14.4660086Z }
2023-07-15T14:45:14.4660246Z else {
2023-07-15T14:45:14.4660354Z
2023-07-15T14:45:14.4660408Z r
2023-07-15T14:45:14.4660823Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/testarray1/testarray1/testarray1.c
2023-07-15T14:45:14.4661382Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/testarray1/testarray1/testarray1.c
2023-07-15T14:45:14.4661715Z @@ -10,7 +10,7 @@
2023-07-15T14:45:14.4661873Z
2023-07-15T14:45:14.4662043Z local0 = 0;
2023-07-15T14:45:14.4662233Z local1 = 0;
2023-07-15T14:45:14.4662450Z - while (local1 <= 4) {
2023-07-15T14:45:14.4662650Z + while (local1 < 4) {
2023-07-15T14:45:14.4662879Z o0 = *(unsigned char*)(local1 + 0x20930);
2023-07-15T14:45:14.4663103Z local0 += o0 << 24 >> 24;
2023-07-15T14:45:14.4663295Z local1++;
2023-07-15T14:45:14.4663404Z
2023-07-15T14:45:14.4663465Z r
2023-07-15T14:45:14.4663881Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/testarray2/testarray2/testarray2.c
2023-07-15T14:45:14.4664505Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/testarray2/testarray2/testarray2.c
2023-07-15T14:45:14.4664841Z @@ -16,7 +16,7 @@
2023-07-15T14:45:14.4665017Z fst(0x20a46);
2023-07-15T14:45:14.4665199Z local1 = 0x20a50;
2023-07-15T14:45:14.4665378Z local2 = 0;
2023-07-15T14:45:14.4665597Z - while (local2 <= 4) {
2023-07-15T14:45:14.4665811Z + while (local2 < 4) {
2023-07-15T14:45:14.4666093Z o0 = *(unsigned char*)local1;
2023-07-15T14:45:14.4666307Z local0 += o0 << 24 >> 24;
2023-07-15T14:45:14.4666494Z local1++;
2023-07-15T14:45:14.4666607Z
2023-07-15T14:45:14.4666665Z r.
2023-07-15T14:45:14.4667029Z --- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/uns/uns/uns.c
2023-07-15T14:45:14.4667507Z +++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/uns/uns/uns.c
2023-07-15T14:45:14.4667818Z @@ -4,16 +4,16 @@
2023-07-15T14:45:14.4668016Z /** address: 0x00010684 */
2023-07-15T14:45:14.4668613Z int main(int argc, char *argv[])
2023-07-15T14:45:14.4668805Z {
2023-07-15T14:45:14.4669084Z - if ((unsigned int)argc > (unsigned int)0xee6b27ff) {
2023-07-15T14:45:14.4669323Z + if (argc > 0xee6b27ff) {
2023-07-15T14:45:14.4669598Z printf("Population exceeds %u\n", (unsigned int)0xee6b2800);
2023-07-15T14:45:14.4669841Z }
2023-07-15T14:45:14.4670130Z - if ((unsigned int)argc <= (unsigned int)0xefffffff) {
2023-07-15T14:45:14.4670387Z + if (argc <= 0xefffffff) {
2023-07-15T14:45:14.4670646Z printf("The mask is %x\n", (unsigned int)0xf0000000);
2023-07-15T14:45:14.4670858Z }
2023-07-15T14:45:14.4671083Z - if ((unsigned int)argc > 1) {
2023-07-15T14:45:14.4671283Z + if (argc > 1) {
2023-07-15T14:45:14.4671497Z printf("Arguments supplied\n");
2023-07-15T14:45:14.4671699Z }
2023-07-15T14:45:14.4671921Z - if (0 - argc < -2) {
2023-07-15T14:45:14.4672149Z + if (0 - argc <= -2) {
2023-07-15T14:45:14.4672381Z printf("Three or more arguments\n");
2023-07-15T14:45:14.4672590Z }
2023-07-15T14:45:14.4672750Z return 0;
2023-07-15T14:45:14.4672888Z
2023-07-15T14:45:14.4672948Z r.
2023-07-15T14:45:14.4673044Z
2023-07-15T14:45:14.4673121Z Regressions:
2023-07-15T14:45:14.4673482Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/OSX/o4/phi2
2023-07-15T14:45:14.4673904Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/banner
2023-07-15T14:45:14.4674370Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/branch
2023-07-15T14:45:14.4674819Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/condcodexform_gcc
2023-07-15T14:45:14.4675254Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/elfhashtest
2023-07-15T14:45:14.4675669Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fib
2023-07-15T14:45:14.4676082Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fibo3
2023-07-15T14:45:14.4676502Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fibo4
2023-07-15T14:45:14.4676926Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fibo-O4
2023-07-15T14:45:14.4677358Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/interleavedcc
2023-07-15T14:45:14.4677776Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/loop
2023-07-15T14:45:14.4678203Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/nestedswitch
2023-07-15T14:45:14.4678629Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/param1
2023-07-15T14:45:14.4679042Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/phi
2023-07-15T14:45:14.4679450Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/phi2
2023-07-15T14:45:14.4679867Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/short1
2023-07-15T14:45:14.4680337Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/short2
2023-07-15T14:45:14.4680759Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/sumarray
2023-07-15T14:45:14.4681183Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/switchAnd_cc
2023-07-15T14:45:14.4681603Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/switch_cc
2023-07-15T14:45:14.4683329Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/switch_gcc
2023-07-15T14:45:14.4683836Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/testarray1
2023-07-15T14:45:14.4684269Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/testarray2
2023-07-15T14:45:14.4684697Z r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/uns
2023-07-15T14:45:14.4684890Z
2023-07-15T14:45:14.4685052Z Testing for crashes ..........................................................................................................
2023-07-15T14:45:14.4685303Z Testing finished.
2023-07-15T14:45:14.4685424Z
2023-07-15T14:45:14.4685536Z ninja: build stopped: subcommand failed.
2023-07-15T14:45:14.4686100Z [1m[31m=> ERROR: boomerang-0.5.2_2: do
I see that those are SPARC binaries, right? cs5 fixed some SPARC issues, that could be the cause. It definitely improved the output for us (Rizin): https://github.com/rizinorg/rizin/pull/3653/commits/c7268dd205ae8f38f771225a1b0760c6b4a3a714
Updated rizin to last version, the regression affected are the same.
Regressions:
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/OSX/o4/phi2
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/banner
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/branch
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/condcodexform_gcc
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/elfhashtest
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fib
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fibo3
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fibo4
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fibo-O4
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/interleavedcc
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/loop
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/nestedswitch
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/param1
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/phi
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/phi2
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/short1
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/short2
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/sumarray
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/switchAnd_cc
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/switch_cc
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/switch_gcc
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/testarray1
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/testarray2
- r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/uns
make check
=> boomerang-0.5.2_2: running do_check ...
[1/2] Generating copy-regression-script
[2/2] cd /builddir/boomerang-0.5.2/build/tests/regression-tests && /usr/bin/python3 ./regression-tester.py /builddir/boomerang-0.5.2/build/out/bin/boomerang-cli
FAILED: tests/regression-tests/CMakeFiles/check /builddir/boomerang-0.5.2/build/tests/regression-tests/CMakeFiles/check
cd /builddir/boomerang-0.5.2/build/tests/regression-tests && /usr/bin/python3 ./regression-tester.py /builddir/boomerang-0.5.2/build/out/bin/boomerang-cli
Boomerang Regression Tester
===========================
Cleaning up old data ...
Testing for regressions ..............................
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/OSX/o4/phi2/phi2/phi2.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/OSX/o4/phi2/phi2/phi2.c
@@ -8,8 +8,8 @@
int g29; // r29
int g3; // r3
char *g30; // r30
- int g3_2; // r3{6}
- int g3_5; // r3{8}
+ int g3_2; // r3{8}
+ int g3_5; // r3{6}
g30 = *(argv + 4);
if (argc <= 2) {
@@ -17,11 +17,11 @@
g29 = g3;
}
else {
+ g3_5 = strlen(g30);
+ g29 = g3_5;
g3_2 = strlen(g30);
- g29 = g3_2;
- g3_5 = strlen(g30);
- g28 = g3_5;
- printf("%d", g3_2 + g3_5);
+ g28 = g3_2;
+ printf("%d", g3_5 + g3_2);
}
printf("%d, %d", g29, g28);
printf("%d\n", g29);
r....................................................................................................................
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/banner/banner/banner.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/banner/banner/banner.c
@@ -26,28 +26,28 @@
local5 = o0 + 4;
local8 = local4;
local4 = local8 - 1;
- while (local8 != 1) {
+ while (SUBFLAGS(local8 - 1, 0, local8 - 1)) {
o0 = *local5;
o0 = strlen(o0); /* Warning: also results in o2, o3, o4 */
local6 = o0;
- if (o0 > 10) {
+ if (o0 >= 10) {
local6 = 10;
}
local7 = 0;
bb0x10794:
- if (local7 <= 6) {
+ if (local7 < 6) {
local0 = 0;
- while (local0 < local6) {
+ while (SUBFLAGS(local0, local6, local0 - local6)) {
o1 = *local5;
o0 = *(unsigned char*)(o1 + local0);
o0 = (o0 << 24 >> 24) - 32;
local2 = o0;
- if (o0 < 0) {
+ if (o0 <= 0) {
local2 = 0;
}
local1 = 0;
bb0x10804:
- if (local1 <= 6) {
+ if (local1 < 6) {
o1 = local0 * 8 + o6 - 16;
o3 = o1 + local1;
o4 = 0x220b4;
@@ -62,9 +62,9 @@
local0++;
}
local0 = local6 * 8 - 1;
- while (local0 >= 0) {
+ while (local0 > 0) {
o0 = *(unsigned char*)(o6 + local0 - 128);
- if (o0 << 24 >> 24 != 32) {
+ if (!SUBFLAGS(o0 << 24 >> 24, 32, (o0 << 24 >> 24) - 32)) {
break;
}
*(__size8*)(o6 + local0 - 128) = 0;
r.
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/branch/branch/branch.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/branch/branch/branch.c
@@ -5,23 +5,23 @@
int main(int argc, char *argv[])
{
int local0; // m[o6 - 20]
- unsigned int local1; // m[o6 - 24]
+ int local1; // m[o6 - 24]
scanf("%d", &local0);
scanf("%d", &local1);
- if (local0 == 5) {
+ if (!SUBFLAGS(5, local0, 5 - local0)) {
printf("Equal\n");
}
- if (local0 != 5) {
+ if (!SUBFLAGS(5, local0, 5 - local0)) {
printf("Not Equal\n");
}
- if (5 > local0) {
+ if (5 >= local0) {
printf("Greater\n");
}
- if (5 <= local0) {
+ if (!SUBFLAGS(5, local0, 5 - local0)) {
printf("Less or Equal\n");
}
- if (5 >= local0) {
+ if (!SUBFLAGS(5, local0, 5 - local0)) {
printf("Greater or Equal\n");
}
if (5 < local0) {
@@ -33,16 +33,16 @@
if (5 <= local1) {
printf("Less or Equal Unsigned\n");
}
- if (5 >= local1) {
+ if (!SUBFLAGS(5, local1, 5 - local1)) {
printf("Carry Clear\n");
}
- if (5 < local1) {
+ if (!SUBFLAGS(5, local1, 5 - local1)) {
printf("Carry Set\n");
}
- if (5 >= local0) {
+ if (local0 == 5) {
printf("Minus\n");
}
- if (5 < local0) {
+ if (!SUBFLAGS(5, local0, 5 - local0)) {
printf("Plus\n");
}
return 0;
r.
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/condcodexform_gcc/condcodexform_gcc/condcodexform_gcc.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/condcodexform_gcc/condcodexform_gcc/condcodexform_gcc.c
@@ -22,33 +22,33 @@
else {
o1 = 0;
}
- if (o1 == 0) {
+ if (SUBFLAGS(o1, 0, o1)) {
o2 = 0x10d0c;
}
else {
o2 = 0x10d04;
}
- if (o1 == 0) {
+ if (SUBFLAGS(o1, 0, o1)) {
o3 = 0x10d1c;
}
else {
o3 = 0x10d14;
}
- if (o1 == 0) {
+ if (SUBFLAGS(o1, 0, o1)) {
o4 = 0x10d2c;
}
else {
o4 = 0x10d24;
}
- if (o1 == 0) {
+ if (SUBFLAGS(o1, 0, o1)) {
o5 = 0x10d3c;
}
else {
o5 = 0x10d34;
}
- if (o1 == 0) {
+ if (SUBFLAGS(o1, 0, o1)) {
i0 = 0;
- if (o2 == 0x10d0c && o3 == 0x10d1c && o4 == 0x10d2c) {
+ if (!SUBFLAGS(o2, 0x10d0c, o2 - 0x10d0c) && !SUBFLAGS(o3, 0x10d1c, o3 - 0x10d1c) && !SUBFLAGS(o4, 0x10d2c, o4 - 0x10d2c)) {
o0 = 0x10d3c;
bb0x10cc4:
i0 = 1 - ((o5 ^ o0) != 0);
@@ -57,13 +57,13 @@
}
else {
i0 = 0;
- if (o2 == 0x10d04 && o3 == 0x10d14 && o4 == 0x10d24) {
+ if (!SUBFLAGS(o2, 0x10d04, o2 - 0x10d04) && !SUBFLAGS(o3, 0x10d14, o3 - 0x10d14) && !SUBFLAGS(o4, 0x10d24, o4 - 0x10d24)) {
o0 = 0x10d34;
goto bb0x10cc4;
}
}
argc = local0;
- if (i0 == 0) {
+ if (SUBFLAGS(i0, 0, i0)) {
o0_1 = "Failed!\n";
}
else {
r
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/elfhashtest/elfhashtest/elfhashtest.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/elfhashtest/elfhashtest/elfhashtest.c
@@ -33,7 +33,7 @@
o3 = (int) *param1;
g1 = param1;
o4 = 0;
- if (o3 != 0) {
+ if (!SUBFLAGS(o3, 0, o3)) {
do {
g1_1 = g1;
param2 = local0;
r..
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/fib/fib/fib.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/fib/fib/fib.c
@@ -20,7 +20,7 @@
int o0_1; // r8{4}
i0 = param1;
- if (param1 > 1) {
+ if (param1 >= 1) {
o0_1 = fib(param1 - 1);
o0 = fib(param1 - 2);
i0 = o0_1 + o0;
r.
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/fibo3/fibo3/fibo3.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/fibo3/fibo3/fibo3.c
@@ -22,7 +22,7 @@
int o0; // r8
int o0_1; // r8{4}
- if (param1 <= 1) {
+ if (param1 < 1) {
local2 = param1;
}
else {
r
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/fibo4/fibo4/fibo4.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/fibo4/fibo4/fibo4.c
@@ -21,7 +21,7 @@
int o2; // r10
__size32 o2_1; // r10{3}
- if (param1 <= 1) {
+ if (param1 < 1) {
o2 = param1;
}
else {
r
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/fibo-O4/fibo-O4/fibo-O4.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/fibo-O4/fibo-O4/fibo-O4.c
@@ -13,7 +13,7 @@
printf("Input number: ");
scanf("%d", &local0);
o2 = local0;
- if (local0 > 1) {
+ if (local0 >= 1) {
o0_2 = fib(local0 - 1);
o0 = fib(local0 - 2);
o2 = o0_2 + o0;
@@ -30,7 +30,7 @@
int o0_1; // r8{4}
i0 = param1;
- if (param1 > 1) {
+ if (param1 >= 1) {
o0_1 = fib(param1 - 1);
o0 = fib(param1 - 2);
i0 = o0_1 + o0;
r.....
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/interleavedcc/interleavedcc/interleavedcc.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/interleavedcc/interleavedcc/interleavedcc.c
@@ -28,7 +28,7 @@
if (param2 != param3) {
o0 = 1;
local0 = o0;
- if (param1 >= 0) {
+ if (param1 > 0) {
o0 = 0;
local0 = o0;
}
@@ -36,7 +36,7 @@
else {
o0_1 = 2;
local0 = o0_1;
- if (param1 < 0) {
+ if (param1 <= 0) {
o0 = 3;
local0 = o0;
}
r
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/loop/loop/loop.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/loop/loop/loop.c
@@ -7,7 +7,7 @@
int local0; // m[o6 - 20]
local0 = 0;
- while (local0 <= 9) {
+ while (local0 < 9) {
local0++;
}
printf("%i\n", local0);
r..
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/nestedswitch/nestedswitch/nestedswitch.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/nestedswitch/nestedswitch/nestedswitch.c
@@ -1,8 +1,8 @@
-int main(unsigned int argc, char *argv[]);
+int main(int argc, char *argv[]);
/** address: 0x000106a4 */
-int main(unsigned int argc, char *argv[])
+int main(int argc, char *argv[])
{
int o0; // r8
r
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/param1/param1/param1.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/param1/param1/param1.c
@@ -19,7 +19,7 @@
__size32 o1; // r9
local0 = param2;
- if (param1 < 0) {
+ if (param1 <= 0) {
o1 = 0;
local0 = o1;
}
r.
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/phi/phi/phi.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/phi/phi/phi.c
@@ -22,8 +22,8 @@
int o0; // r8
int o0_1; // r8{4}
- if (param1 <= 1) {
- if (param1 != 1) {
+ if (param1 < 1) {
+ if (SUBFLAGS(param1, 1, param1 - 1)) {
local1 = param1;
}
else {
r
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/phi2/phi2/phi2.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/phi2/phi2/phi2.c
@@ -25,7 +25,7 @@
int o0_5; // r8{8}
local2 = param3;
- if (param1 <= 2) {
+ if (param1 < 2) {
o0 = strlen(param2);
local0 = o0;
}
r.
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/short1/short1/short1.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/short1/short1/short1.c
@@ -1,5 +1,5 @@
int main(int argc, char *argv[]);
-__size32 test(int param1, int param2, int param3);
+__size32 test(__size32 param1, __size32 param2, __size32 param3);
/** address: 0x000106e8 */
@@ -19,11 +19,11 @@
}
/** address: 0x00010688 */
-__size32 test(int param1, int param2, int param3)
+__size32 test(__size32 param1, __size32 param2, __size32 param3)
{
__size32 local0; // m[o6 - 20]
- if (param1 < param2 || param2 < param3) {
+ if (SUBFLAGS(param1, param2, param1 - param2) || SUBFLAGS(param2, param3, param2 - param3)) {
local0 = 1;
}
else {
r
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/short2/short2/short2.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/short2/short2/short2.c
@@ -1,5 +1,5 @@
int main(int argc, char *argv[]);
-__size32 test(int param1, int param2, int param3);
+__size32 test(__size32 param1, __size32 param2, __size32 param3);
/** address: 0x000106b4 */
@@ -19,17 +19,17 @@
}
/** address: 0x00010688 */
-__size32 test(int param1, int param2, int param3)
+__size32 test(__size32 param1, __size32 param2, __size32 param3)
{
int g1; // r1
int o0; // r8
g1 = 1;
o0 = 1;
- if (param1 >= param2) {
+ if (!SUBFLAGS(param1, param2, param1 - param2)) {
o0 = 0;
}
- if (param2 >= param3) {
+ if (!SUBFLAGS(param2, param3, param2 - param3)) {
g1 = 0;
}
return o0 & g1;
r.
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/sumarray/sumarray/sumarray.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/sumarray/sumarray/sumarray.c
@@ -10,7 +10,7 @@
local0 = 0;
local1 = 0;
- while (local1 <= 9) {
+ while (local1 < 9) {
local0 += a[local1];
local1++;
}
r.
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/switchAnd_cc/switchAnd_cc/switchAnd_cc.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/switchAnd_cc/switchAnd_cc/switchAnd_cc.c
@@ -4,13 +4,16 @@
/** address: 0x0001060c */
int main(int argc, char *argv[])
{
- if (argc >= 2) {
+ if (argc > 2) {
switch(argc - 2 & 0x7) {
case 0:
printf("Two!\n");
break;
case 1:
printf("Three!\n");
+ break;
+ case 2:
+ printf("Four!\n");
break;
}
}
r
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/switch_cc/switch_cc/switch_cc.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/switch_cc/switch_cc/switch_cc.c
@@ -4,7 +4,7 @@
/** address: 0x0001090c */
int main(int argc, char *argv[])
{
- if ((unsigned int)(argc - 2) > 5) {
+ if (argc - 2 > 5) {
printf("Other!\n");
}
else {
r
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/switch_gcc/switch_gcc/switch_gcc.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/switch_gcc/switch_gcc/switch_gcc.c
@@ -6,7 +6,7 @@
{
int o0; // r8
- if ((unsigned int)(argc - 2) > 5) {
+ if (argc - 2 > 5) {
o0 = "Other!\n";
}
else {
r
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/testarray1/testarray1/testarray1.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/testarray1/testarray1/testarray1.c
@@ -10,7 +10,7 @@
local0 = 0;
local1 = 0;
- while (local1 <= 4) {
+ while (local1 < 4) {
o0 = *(unsigned char*)(local1 + 0x20930);
local0 += o0 << 24 >> 24;
local1++;
r
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/testarray2/testarray2/testarray2.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/testarray2/testarray2/testarray2.c
@@ -16,7 +16,7 @@
fst(0x20a46);
local1 = 0x20a50;
local2 = 0;
- while (local2 <= 4) {
+ while (local2 < 4) {
o0 = *(unsigned char*)local1;
local0 += o0 << 24 >> 24;
local1++;
r.
--- /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/uns/uns/uns.c
+++ /builddir/boomerang-0.5.2/build/tests/regression-tests/expected-outputs/sparc/uns/uns/uns.c
@@ -4,16 +4,16 @@
/** address: 0x00010684 */
int main(int argc, char *argv[])
{
- if ((unsigned int)argc > (unsigned int)0xee6b27ff) {
+ if (argc > 0xee6b27ff) {
printf("Population exceeds %u\n", (unsigned int)0xee6b2800);
}
- if ((unsigned int)argc <= (unsigned int)0xefffffff) {
+ if (argc <= 0xefffffff) {
printf("The mask is %x\n", (unsigned int)0xf0000000);
}
- if ((unsigned int)argc > 1) {
+ if (argc > 1) {
printf("Arguments supplied\n");
}
- if (0 - argc < -2) {
+ if (0 - argc <= -2) {
printf("Three or more arguments\n");
}
return 0;
r.
Regressions:
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/OSX/o4/phi2
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/banner
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/branch
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/condcodexform_gcc
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/elfhashtest
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fib
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fibo3
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fibo4
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/fibo-O4
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/interleavedcc
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/loop
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/nestedswitch
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/param1
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/phi
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/phi2
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/short1
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/short2
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/sumarray
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/switchAnd_cc
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/switch_cc
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/switch_gcc
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/testarray1
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/testarray2
r /builddir/boomerang-0.5.2/build/out/share/boomerang/samples/sparc/uns
Testing for crashes ..........................................................................................................
Testing finished.
@motorto Boomerang doesn't use Rizin, I just meant they probably have the same reason for the changed test output as us. Looking at the development speed though, it's unlikely they will fix it soon. I just recommend disabling SPARC tests.