VirtualBox

Changeset 3049 in kBuild


Ignore:
Timestamp:
May 31, 2017 1:23:56 PM (8 years ago)
Author:
bird
Message:

job.c: Always display commands when a job failed because of a signal or an NT status. Also named a few bad windows exit statuses.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kmk/job.c

    r2862 r3049  
    468468  if (exit_sig == 0)
    469469# if defined(KMK) && defined(KBUILD_OS_WINDOWS)
    470     error (NILF, ignored ? _("[%s] Error %d (%#x) (ignored)") :
    471            _("*** [%s] Error %d (%#x)"),
    472            target_name, exit_code, exit_code);
     470    {
     471      const char *name = NULL;
     472      switch ((unsigned)exit_code)
     473        {
     474        case 0xc0000005U: name = "STATUS_ACCESS_VIOLATION"; break;
     475        case 0xc000013aU: name = "STATUS_CONTROL_C_EXIT"; break;
     476        case 0xc0000374U: name = "STATUS_HEAP_CORRUPTION"; break;
     477        case 0xc0000409U: name = "STATUS_STACK_BUFFER_OVERRUN"; break;
     478        case 0xc0000417U: name = "STATUS_INVALID_CRUNTIME_PARAMETER"; break;
     479        case 0x80000003U: name = "STATUS_BREAKPOINT"; break;
     480        case 0x40000015U: name = "STATUS_FATAL_APP_EXIT"; break;
     481        case 0x40010004U: name = "DBG_TERMINATE_PROCESS"; break;
     482        case 0x40010005U: name = "DBG_CONTROL_C"; break;
     483        case 0x40010008U: name = "DBG_CONTROL_BREAK"; break;
     484        }
     485      if (name)
     486        error(NILF, ignored ? _("[%s] Error %d (%s) (ignored)") :
     487               _("*** [%s] Error %d (%s)"),
     488               target_name, exit_code, name);
     489      else
     490        error(NILF, ignored ? _("[%s] Error %d (%#x) (ignored)") :
     491               _("*** [%s] Error %d (%#x)"),
     492               target_name, exit_code, exit_code);
     493    }
    473494# else
    474495    error (NILF, ignored ? _("[%s] Error %d (ignored)") :
     
    845866            {
    846867              child_error (c->file->name, exit_code, exit_sig, coredump, 0);
    847               if ((  c->file->cmds->lines_flags[c->command_line - 1]
    848                    & (COMMANDS_SILENT | COMMANDS_RECURSE))
    849                   == COMMANDS_SILENT)
     868              if (   (  c->file->cmds->lines_flags[c->command_line - 1]
     869                      & (COMMANDS_SILENT | COMMANDS_RECURSE))
     870                     == COMMANDS_SILENT
     871# ifdef KBUILD_OS_WINDOWS /* show commands for NT statuses */
     872                  || (exit_code & 0xc0000000)
     873# endif
     874                  || exit_sig != 0)
    850875                message (0, "The failing command:\n%s", c->file->cmds->command_lines[c->command_line - 1]);
    851876            }
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette