Skip to content
forked from rofl0r/musl

Exploring Webassembly Linux Interface using Libc

Notifications You must be signed in to change notification settings

arjunr2/wali-musl

 
 

Repository files navigation

Webassembly Linux Interface (Musl Libc)

This repo contains exploratory work towards creating a standard Linux syscall API for Webassembly. We build off of the base code of musl libc

Refer to the parent WALI repository on a complete overview of using and testing WALI

NOTE: We currently support x86-64, aarch64, and riscv64 architectures. Future work will expand support

Prerequisites

  • Custom clang is required for WALI compilation. Build llvm as shown in parent WALI directory, and add the bin directory to your PATH.

  • Webassembly Binary Toolkit

Building wali libc

The build/installation process mostly mirrors that of musl and is detailed in the INSTALL file.

The config.mak file performs environment configuration for the build. Default values are made to be compatible with setup guide in parent WALI repo. If the WALI compiler is installed independently, substitute COMPILER_BIN = <path-to-llvm-bin-directory>

Unsupported libc features

  • timer_create; must figure out SIGEV_SIGNAL notification

About

Exploring Webassembly Linux Interface using Libc

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 93.7%
  • Assembly 4.2%
  • C++ 1.3%
  • Awk 0.4%
  • Makefile 0.3%
  • Shell 0.1%