Add more fixes for new cosmocc toolchain

We now have an `#include <cxxabi.h>` header which defines all the APIs
Cosmopolitan's implemented so far. The `cosmocc` README.md file is now
greatly expanded with documentation.
This commit is contained in:
Justine Tunney 2023-11-11 22:32:12 -08:00
parent 95124cacbe
commit c6d3802d3a
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
32 changed files with 256 additions and 69 deletions

View file

@ -34,15 +34,19 @@
*
* Note `SIG_DFL` still results in process death for most signals.
*
* POSIX defines raise() errors as returning non-zero and makes setting
* `errno` optional. Every platform we've tested in our support vector
* returns -1 with `errno` on error (like a normal system call).
*
* @param sig can be SIGALRM, SIGINT, SIGTERM, SIGKILL, etc.
* @return 0 on success, or nonzero on failure
* @return 0 on success, or -1 w/ errno
* @raise EINVAL if `sig` is invalid
* @asyncsignalsafe
*/
int raise(int sig) {
int rc;
if (IsXnuSilicon()) {
rc = __syslib->__raise(sig);
rc = _sysret(__syslib->__raise(sig));
} else if (IsWindows()) {
if (0 <= sig && sig <= 64) {
__sig_raise(sig, SI_TKILL);