Go to file
Ziyao e6138735bd Add Hello World 2022-04-03 10:37:29 +08:00
arch Add syscall 2022-03-21 16:50:35 +08:00
compat/time32 chore: Import original mussl-1.2.2 2022-03-20 16:48:53 +08:00
crt chore: Import original mussl-1.2.2 2022-03-20 16:48:53 +08:00
dist chore: Import original mussl-1.2.2 2022-03-20 16:48:53 +08:00
include chore: Import original mussl-1.2.2 2022-03-20 16:48:53 +08:00
ldso chore: Import original mussl-1.2.2 2022-03-20 16:48:53 +08:00
obj Remove math 2022-03-22 17:08:26 +08:00
src Fix the bug that the modified version of __syscall6() messes up the stack by poping an argument (a6) 2022-04-03 09:52:17 +08:00
tcc-patch Add patches for TinyCC 2022-04-03 10:27:48 +08:00
tests Add Hello World 2022-04-03 10:37:29 +08:00
tools chore: Import original mussl-1.2.2 2022-03-20 16:48:53 +08:00
.gitignore Remove /src/complex 2022-03-21 10:24:31 +08:00
COPYRIGHT chore: Import original mussl-1.2.2 2022-03-20 16:48:53 +08:00
INSTALL chore: Import original mussl-1.2.2 2022-03-20 16:48:53 +08:00
LICENSE Initial commit 2022-03-20 16:39:11 +08:00
Makefile Update Makefile 2022-04-03 10:30:37 +08:00
README Add patches for TinyCC 2022-04-03 10:27:48 +08:00
README_ORIGINAL Add original README 2022-03-21 16:50:06 +08:00
VERSION chore: Import original mussl-1.2.2 2022-03-20 16:48:53 +08:00
WHATSNEW chore: Import original mussl-1.2.2 2022-03-20 16:48:53 +08:00
config.mak Remove @PLT 2022-03-24 08:42:29 +08:00
configure chore: Import original mussl-1.2.2 2022-03-20 16:48:53 +08:00
dynamic.list chore: Import original mussl-1.2.2 2022-03-20 16:48:53 +08:00

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 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.
- fenv library is removed momently.
	I am working on adding the missing fp instructions to TinyCC.

To compile,simply run 
	export CC=tcc			# Set the compiler
	export RANLIB='tcc -r'		# Using tcc builtin librarian
	export AR='tcc -ar'		# See above
	./configure --target=x86_64	# The script cannot detect the
					# platform with tcc because of
					# missing option "-dumpmachine"
	make				# I finish my compiling in 10s with
					  two threads on i7-720QM @ 1.60GHz

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