Inofficial git-cvs clone of :pserver:cvs@cvs.fefe.de:/cvs + some changes
C Assembly C++ Makefile Shell Other Other
Latest commit 6c3464f Nov 27, 2016 @ensc added alloc-zero testprogram
Signed-off-by: Enrico Scholz <enrico.scholz@ensc.de>
Permalink
Failed to load latest commit information.
aarch64
alpha Merge branch 'origin' into ensc/0.33 Jun 12, 2016
arm Merge branch 'origin' into ensc/0.33 Jun 12, 2016
contrib remove a few warnings Oct 10, 2014
dynlinker Support for dynamic PAGE_SIZE Apr 6, 2014
examples forgot to remove two files. May 11, 2001
i386
ia64
include cvsimport Nov 13, 2016
lib cvsimport Nov 13, 2016
libcompat cvsimport Mar 1, 2016
libcruft cvsimport May 28, 2016
libcrypt
libdl upstream Debian patches Mar 29, 2016
liblatin1
libm Merge branch 'origin' into ensc/0.33 Jun 12, 2016
libpthread
libregex attempt to actually support REG_NEWLINE Dec 4, 2015
librpc Merge branch 'origin' into ensc/0.33 Apr 24, 2016
libshell
libstdio optimize fread and fwrite Apr 26, 2016
libugly
mips
mips64
mipsel remove bizarre optimization flags from mips+mipsel Jan 15, 2012
parisc Merge branch 'origin' into ensc/0.33 Jun 12, 2016
ppc Merge branch 'origin' into ensc/0.33 Jun 12, 2016
ppc64 Merge branch 'origin' into ensc/0.33 Jun 12, 2016
ppc64le
profiling remove warnings from profiling code Apr 7, 2002
s390 Merge branch 'origin' into ensc/0.33 Apr 24, 2016
s390x Merge branch 'origin' into ensc/0.33 Jun 12, 2016
softfpu setjmp/longjmp for powerpcspe (Roland Stigge) Jun 6, 2016
sparc
sparc64 Merge branch 'origin' into ensc/0.33 Jun 12, 2016
syscalls.s cvsimport Nov 13, 2016
test added alloc-zero testprogram Nov 27, 2016
x32 cvsimport Oct 7, 2014
x86_64 x86_64/start.S: pass envp correctly Jun 20, 2016
.cvsignore
.gitignore gitignore: initial checkin Apr 5, 2014
AUTHOR don't define EXIT_SUCCESS and EXIT_FAILURE twice in stdlib.h. Thanks, Aug 1, 2001
BUGS update bug notification procedure May 16, 2005
CAVEAT files where missing (?) Jan 9, 2001
CHANGES add really crappy pthread_rwclock implementation for openssl 1.1 Aug 27, 2016
COPYING oops, old version of the GPL with wrong address of the FSF (and it was Jun 15, 2001
FAQ Massive ARM changes from Enrico Scholz Apr 19, 2014
Makefile Merge branch 'origin' into ensc/0.33 Jun 12, 2016
PORTING add a few more auxvec elf #defines Mar 24, 2014
README grammar Feb 25, 2016
README.clang document that clang generates larger binaries Jul 29, 2015
README.security support for stack gap (enable in dietfeatures.h) Sep 11, 2004
SECURITY final touch-ups Oct 4, 2002
THANKS typo Dec 5, 2003
TODO make gnu grep compile Sep 23, 2010
binshstr.h even more bit twiddling Sep 10, 2001
diet.1 mention clang Jul 29, 2015
diet.c cross compiler architecture mangling for the new platforms Jun 6, 2016
dietdirent.h Support for dynamic PAGE_SIZE Apr 6, 2014
dietdns.h move ugly internal dns prototype to dietdns.h and rework DNS timeout Oct 10, 2001
dietelfinfo.h Support for dynamic PAGE_SIZE Apr 6, 2014
dietfeatures.h Merge branch 'origin' into ensc/0.33 Apr 24, 2016
dieticonv.h add UTF-16 (so we can encode SMB file names to Windoze) Dec 1, 2003
dietlibm.h Lots of fixes and patches from Markus Oberhumer. Mar 15, 2005
dietlocale.h HP-PA fixes (Micah Anderson, Hubert Poetzl) Apr 4, 2006
dietpagesize.h
dietstdio.h use vsyscall for time on x86_64 instead of wrapping gettimeofday (Ni… Mar 3, 2011
dietstring.h replace macros with versions that produce better code Nov 22, 2016
dietuglyweaks.h plumbing to get preliminary PIE support for x86_64 Jan 25, 2016
dietunaligned.h dietunaligned: initial checkin Apr 17, 2014
dietwarning.h Implemented linker warnings! Woohoo! Feb 9, 2001
dyn_start.c fix TLS setup code Apr 19, 2014
dyn_stop.c Some minor fixes. Jul 10, 2012
findcflags.sh Massive ARM changes from Enrico Scholz Apr 19, 2014
internal.h
ldso.c support clang by adding -fno-integrated-as Apr 4, 2014
linuxnet.h add eventfd, inotify_init1, epoll_init1, accept4, recvmmsg, sendmmsg Sep 8, 2014
longlong.h setjmp/longjmp for powerpcspe (Roland Stigge) Jun 6, 2016
parselib.h use vsyscall for time on x86_64 instead of wrapping gettimeofday (Ni… Mar 3, 2011
syscalls.h aarch64 port (Christian Seiler) Jun 6, 2016
t.c add x86_64 memccpy, mempcpy Jun 6, 2016
threadsafe.sh grep portability fixes (Gunnar Ritter) May 3, 2004

README

  The system library is a challenge to all those using the computer to
  write their own faster and better routines or to bow to the superior
  strength and skill of a true master.
 	--http://www.inner.net/users/cmetz/program-like-a-klingon

Use diet libc to statically link programs that don't need all the bloat
from glibc.

malloc, printf and scanf contributed from Olaf Dreesen.

To compile:

	$ make

make should compile the diet libc itself.

When make is done, it will have created dietlibc.a in bin-i386 (or
bin-ppc, bin-alpha, bin-sparc, bin-ppc or bin-arm, depending on your
architecture).  In that directory you will also find a program called
"diet", which you need to copy in a directory in your $PATH:

	# install bin-i386/diet /usr/local/bin

Then you can compile programs by prepending diet to the command line,
i.e.

	$ diet gcc -s -Os -pipe -o t t.c

diet is cross-compiler friendly and can also be used like this:

	$ diet sparc-linux-gcc -o t t.c

diet will then link against dietlibc.a from bin-sparc, of course.
diet comes with a man page (diet.1), which you can copy to an
appropriate location, too:

	# cp diet.1 /usr/local/man/man1

After you compiled the diet libc successfully, I invite you to check out
the embedded utils (http://www.fefe.de/embutils/).  The embedded utils
are small replacements for common utilities like mv, chown, ls, and even
a small tar that can extract tar files.


The license for the diet libc is the GNU General Public License, version
2 (as included in the file COPYING) or later.