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

Nuno Lopes via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 30 00:07:29 PDT 2022


nlopes added inline comments.


================
Comment at: llvm/lib/Support/ErrorHandling.cpp:125
+  else
+    exit(-1);
 }
----------------
MaskRay wrote:
> 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.
I will not bikeshed over this. Please suggest a value you like, otherwise I think 1 is just fine. Anything non-zero works.


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

https://reviews.llvm.org/D126550



More information about the llvm-commits mailing list