[PATCH] D126550: Make report_fatal_error respect its GenCrashDiag argument so it doesn't generate a backtrace

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun May 29 20:52:16 PDT 2022


MaskRay added inline comments.


================
Comment at: llvm/lib/Support/ErrorHandling.cpp:125
+  else
+    exit(-1);
 }
----------------
MaskRay wrote:
> nlopes wrote:
> > MaskRay wrote:
> > > MaskRay wrote:
> > > > https://www.opengroup.org/austin/docs/austin_1110.pdf
> > > > 
> > > > "Calling exit() with a value greater than 255 or less than 0 is something that only programs
> > > > which are specifically designed to have their exit status obtained by waitid() should do
> > > > (since it does not truncate the exit status to 8 bits). ``Pure ISO Cā€™ā€™ programs that call
> > > > exit(EXIT_FAILURE) do not meet this design criterion."
> > > A value between 1 and 125 can be used.
> > > 
> > > 1 and 2 are often used for other purposes.
> > > 
> > > Perhaps use a value larger than `EX__MAX` in sysexits.h
> > Man page disagrees:
> > "The exit() function causes normal process termination and the value of status & 0377 is returned to the parent see wait(2))."
> The Linux manpage is incorrect. With waitid you may access more than the least significant 8 bites, but that's not usage in practice.
> 
> bash has this https://www.gnu.org/software/bash/manual/html_node/Exit-Status.html and zsh is similar.
1 and 2 are often used for other purposes. So better to use another.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D126550/new/

https://reviews.llvm.org/D126550



More information about the llvm-commits mailing list