You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Ziyao 0071b35652
Update README
11 months ago
arch Add syscall 1 year ago
compat/time32 chore: Import original mussl-1.2.2 1 year ago
crt chore: Import original mussl-1.2.2 1 year ago
dist chore: Import original mussl-1.2.2 1 year ago
include chore: Import original mussl-1.2.2 1 year ago
ldso Add full dynamic link support 11 months ago
src Fix buggy __syscall6() again.The last argument is stored 8(%rsp),not 1 year ago
tcc-patch Add support for option -e 1 year ago
tests Add full dynamic link support 11 months ago
tools chore: Import original mussl-1.2.2 1 year ago
.gitignore Remove /src/complex 1 year ago
COPYRIGHT chore: Import original mussl-1.2.2 1 year ago
INSTALL chore: Import original mussl-1.2.2 1 year ago
LICENSE Initial commit 1 year ago
Makefile Add full dynamic link support 11 months ago
README Update README 11 months ago
README_ORIGINAL Add original README 1 year ago
VERSION chore: Import original mussl-1.2.2 1 year ago
WHATSNEW chore: Import original mussl-1.2.2 1 year ago
config.mak Add full dynamic link support 11 months ago
configure chore: Import original mussl-1.2.2 1 year ago
dynamic.list chore: Import original mussl-1.2.2 1 year ago

README

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.

Some features had been removed momently but now they are usable,including:
- fenv library
- math library(using C implementation now)
- dynamic link support (NOT well tested)

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 get the lastest
version from TinyCC's Git Repository.The building process is OK on
commit 2d210fe.The later version should also work
	$ tcc -v tcc # on my machine
	version 0.9.27 mob:2d210fe (x86_64 Linux)

Some helper scripts are in /tests/Compile.sh (for static link) and
/tests/Compile_Dynamic.sh (for dynamic link).As is mentioned,modifying the
path to libtcc1.a may be needed.

A simple single-filed editor pico is included (/tests/pico.c),its LICENSE is
DIFFERENT from original musl and musl-tcc.So be careful when you use it.
This generates its exectuable file:
	$ ./Compile.sh pico.c pico
or
	$ ./Compile_Dynamic.sh pico.c pico
Please run these commands in /tests/