c-ward icon indicating copy to clipboard operation
c-ward copied to clipboard

Make a list of all implemented libc functions?

Open yerke opened this issue 2 years ago • 2 comments

Hello @sunfishcode.

Thanks for working on this project!

Is it possible to add a list of all implemented and unimplemented libc functions? I think it will make it easier for people to see if c-scape supports the ones that they need. It should also allow to easily calculate the percentage and maybe graph it over time.

It's just a suggestion. Thanks.

yerke avatar Dec 13 '23 01:12 yerke

Here's a rough list of the 841 libc functions Eyra currently implements: https://gist.github.com/sunfishcode/f4a94eecd24bf7e5a6facd1cd97b8d5b. That said, not everything in that list fully works.

I'm really not focused on "percent complete". I think there are thousands of libc functions not implemented yet, which may never be :shrug:. I just implement functions when I find a need for them.

In my experience with recent versions of Eyra:

  • Almost all Rust code works. I've been throwing some large Rust codebases at it and I occasionally have to fix a thing or two, but most of the time everything works.
  • Some popular C libraries work (libgit2, openssl, jemalloc, etc.)
  • In general, C code tends to use more of the things that Eyra doesn't implement yet.

sunfishcode avatar Dec 13 '23 02:12 sunfishcode

Wow, that's a lot. I counted 1731 libc functions from https://www.gnu.org/software/libc/manual/html_node/Function-Index.html. Not sure if this the correct resource to use for that purpose or not. Here is the list after slight massaging: https://gist.github.com/yerke/0761770172b2a3cc97a1c942c573a96e

yerke avatar Dec 13 '23 02:12 yerke