Skip to content

Report a signal-killed compiler as a failure - #19

Draft
pvelesko wants to merge 1 commit into
mainfrom
2026-10-14-hipcc-signal-exit
Draft

pvelesko wants to merge 1 commit into
mainfrom
2026-10-14-hipcc-signal-exit

Conversation

@pvelesko

Copy link
Copy Markdown
Collaborator

HipBinUtil::exec decoded the pclose status with WEXITSTATUS only, so when the shell execs the compiler and it dies from a signal (for example a clang assertion), hipcc exited 0 with no object. Signal deaths now map to 128 + signal number.

For CHIP-SPV/chipStar#1948

This PR was generated using AI

HipBinUtil::exec decoded the pclose status with WEXITSTATUS alone. When
/bin/sh execs the single compile command (bash does, and macOS /bin/sh is
bash), the compiler is popen's direct child; if it dies from a signal,
such as a clang assertion's SIGABRT, the status is WIFSIGNALED and
WEXITSTATUS yields 0, so hipcc exited 0 without writing the object.

Map a signal death to 128 + signal number, the shell convention, which
is also what dash reports when it does not exec.

Fixes CHIP-SPV/chipStar#1948
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant