[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug default/25252] dwz: returns exit status 1, causing FTBFS in deal.ii



https://sourceware.org/bugzilla/show_bug.cgi?id=25252

Tom de Vries <vries at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |UNCONFIRMED
                 CC|                            |vries at gcc dot gnu.org
     Ever confirmed|1                           |0

--- Comment #1 from Tom de Vries <vries at gcc dot gnu.org> ---
This still exits with 0 on dwz-0.13-branch, so presumably 0.13-3 is just some
random recent trunk version.

I've bisected this on trunk to commit 48a78ec "Improve handling of running into
both low-mem and max die-limits".

The commit makes the first dwz here return 1, which makes thisret 1, which
makes ret 1, which gets us an exit status of 1:
...
          thisret = (low_mem_die_limit == 0
                     ? 2
                     : dwz (file, NULL, &resa[i - optind],
                            hardlinks ? resa : NULL, &argv[optind]));
          if (thisret == 2)
            {
              multifile_mode = MULTIFILE_MODE_LOW_MEM;
              thisret = dwz (file, NULL, &resa[i - optind],
                             hardlinks ? resa : NULL, &argv[optind]);
            }
          else if (resa[i - optind].res == 0)
            successcount++;
          else if (thisret == 1)
            ret = 1;
...
Without the commit, the second dwz returns 1, which is ignored, which is a bug,
which should be fixed by this patch:
...
diff --git a/dwz.c b/dwz.c
index 313c317..af891ab 100644
--- a/dwz.c
+++ b/dwz.c
@@ -13525,7 +13525,7 @@ main (int argc, char *argv[])
            }
          else if (resa[i - optind].res == 0)
            successcount++;
-         else if (thisret == 1)
+         if (thisret == 1)
            ret = 1;
          if (hardlink
              && resa[i - optind].res >= 0
...

As for the exit status 1, that's currently the expected result when running
into the max-die-limit.

-- 
You are receiving this mail because:
You are on the CC list for the bug.