38 lines
1.5 KiB
Plaintext
38 lines
1.5 KiB
Plaintext
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 is removed momently.
|
|
Because some missing floating-point features of TinyCC.I am working
|
|
on completing.
|
|
- @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)
|
|
|
|
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
|