[llvm-dev] [libc-dev] How about add webassembly/wasi support in llvm-libc.

Ebrahim Byagowi via llvm-dev
2020-09-23T19:49:00Z

Somehow I wish not all parts of a libc but parts that can be provided
without a JavaScript wrapper for .wasm can be provided from llvm's libc
(leaving a stab implementation for the rest like file system). I've put
together a minimal libc on [1] so using a 26kb .wasm binary file one can
decode both PNG and JPG using this [2] simple to integrate JavaScript code,
can be easily ported in other contexts .wasm can be interpreted without
worrying about a helper. I had to use -nostdlib and -nostdinc in my build
script but I wished the llvm-libc initiative can make it simpler so I don't
have to put together a minimal libc for my need.

Something similar can be achieved in Rust world using --target
wasm32-unknown-unknown e.g. [3] which I guess can be best lead here also in
terms what can be in scope of this work.

 [1]: https://github.com/harfbuzz/harfbuzzjs/tree/edf1d8b/libc
 [2]:
https://github.com/harfbuzz/harfbuzzjs/blob/gh-pages/stb-image/index.html
 [3]: https://github.com/RazrFalcon/ttf-parser/commit/b0cfc67

On Wed, Sep 23, 2020 at 9:16 PM Siva Chandra via libc-dev <
libc-dev at lists.llvm.org> wrote:

> +cc libc-dev
>
> On Wed, Sep 23, 2020 at 9:44 AM 罗勇刚(Yonggang Luo) via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> Cause llvm-libc are in early stage, and we can easily catch up the
>> support with linux.
>>
>> After we add wasi support in llvm-lic, we can easily get a usable
>> llvm-libc across different platform such as
linux/windows/macos/android.
>> don't know if iOS is a target, but these target are very much
enough
>>
>
> I do not see any technical blockers for the platform independent parts. Of
> course, work has to be done to set up the build etc.
> What exactly do you mean by, "we can easily get a usable llvm-libc
across
> different platforms such as linux/windows/macos/android."
>
>
>> --
>>          此致
>> 礼
>> 罗勇刚
>> Yours
>>     sincerely,
>> Yonggang Luo
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
> _______________________________________________
> libc-dev mailing list
> libc-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/libc-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20200923/937be838/attachment.html>