Go to file
Ziyao d49ef77f09 Fix library fenv 2022-04-06 08:36:42 +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 library fenv 2022-04-06 08:36:42 +08:00
tcc-patch Fix library fenv 2022-04-06 08:36:42 +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 Fix library fenv 2022-04-06 08:36:42 +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.

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 
	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
- mxcsr.patch
	Adds the support of ldmxcsr and stmxcsr