[libc-commits] [libc] [libc][docs] Updates implementation status for some preexisting docgen json files (PR #89281)

via libc-commits libc-commits at lists.llvm.org
Thu Apr 18 13:07:39 PDT 2024


================
@@ -1,29 +1,56 @@
 {
-  "macros": [
-    "SIG_DFL",
-    "SIG_ERR",
-    "SIG_IGN",
-    "SIGABRT",
-    "SIGFPE",
-    "SIGILL",
-    "SIGINT",
-    "SIGSEGV",
-    "SIGTERM"
-  ],
+  "macros": {
+    "SIG_DFL": {
+      "defined": "7.14.3",
+      "implemented": false
+    },
+    "SIG_ERR": {
+      "defined": "7.14.3",
+      "implemented": false
+    },
+    "SIG_IGN": {
+      "defined": "7.14.3",
+      "implemented": false
+    },
+    "SIGABRT": {
+      "defined": "7.14.3",
+      "implemented": true
+    },
+    "SIGFPE": {
+      "defined": "7.14.3",
+      "implemented": true
+    },
+    "SIGILL": {
+      "defined": "7.14.3",
+      "implemented": true
+    },
+    "SIGINT": {
+      "defined": "7.14.3",
+      "implemented": true
+    },
+    "SIGSEGV": {
+      "defined": "7.14.3",
+      "implemented": true
+    },
+    "SIGTERM": {
+      "defined": "7.14.3",
+      "implemented": true
+    }
+  },
   "functions": {
+    "signal": {
+      "defined": "7.14.1.1"
+    },
+    "raise": {
+      "defined": "7.14.2.1"
+    },
----------------
enh-google wrote:

> IIUC some functions were deprecated by newer POSIX standards, but many programs won't be rewritten to reflect that, so most libc's need to provide even deprecated POSIX functionality to be somewhat portable-to. IDK if POSIX has ever removed anything; in that case we'd have to point back to prior POSIX releases.
> 
> Let's ask the maintainer of bionic (Android's libc), @enh-google , if he knows answers to the above?

yes, POSIX has removed things. no, most C libraries do not remove those things.

i regret all of the functions i removed. it didn't gain me anything (because we'd already done the work), and it hurt developers (if only slightly).

that said, i do _not_ regret the ones i never added https://android.googlesource.com/platform/bionic/+/main/docs/status.md#posix --- POSIX is full of useless crap while also missing lots of essential stuff. (theoretically that makes sense viewed from their "codifying existing practice" stance, but at the same time they remove tar(1) in favor of pax(1), or add gzip to compress(1) rather than add gzip(1), so their grasp of "existing practice" is tenuous at best.)

https://github.com/llvm/llvm-project/pull/89281


More information about the libc-commits mailing list