Mirror of https://github.com/GataOS/musl-tcc.
arch | ||
compat/time32 | ||
crt | ||
dist | ||
include | ||
ldso | ||
src | ||
tcc-patch | ||
tests | ||
tools | ||
.gitignore | ||
config.mak | ||
configure | ||
COPYRIGHT | ||
dynamic.list | ||
INSTALL | ||
LICENSE | ||
Makefile | ||
README | ||
README_ORIGINAL | ||
VERSION | ||
WHATSNEW |
This is a modified version of musl libc 1.12 which is able to be compiled with TinyCC on x86_64 machines. Although TinyCC is quite complete as a tiny C compiler,some features are still missing,including: - _Complex types All related to _Complex are removed. - Full GNU-style inline assembly support. The original versions of __syscall4(),__syscall5() and __syscall6() don't work.They are replaced by assembly implemention in /src/internal/x86_64/syscall.S - math library has been use the pure C implementation Because some missing floating-point features of TinyCC. - @PLT dynamic linking function calls are removed. TinyCC does not have the feature.Dynamic linking library(.so) is expected not to work. Some features had been removed momently but now they are usable,including: - fenv library(maybe applying a patch to TinyCC is needed) - math library(using C implementation now) To compile,simply run ./configure --target=x86_64 CC='tcc' AR='tcc -ar' RANLIB='echo' \ LIBCC='/usr/local/lib/tcc/libtcc1.a' make # I finish my compiling in 10s with two threads on i7-720QM @ 1.60GHz TinyCC's runtime environment library libtcc1.a needs specifying manually now.The path of argument LIBCC may need adjusting for your machine. All modified and addtional files are under MIT License as well. Some changes are made to my TinyCC (This means I may have a different version from yours,so if you fail to compile,try to apply the patches listed in /tcc-patch/,including: - empty_archive.patch Enables TinyCC to generate empty ar archive - mxcsr.patch Adds the support of ldmxcsr and stmxcsr