@@ -5,44 +5,41 @@ library for developing embedded Linux systems. It is much smaller than the GNU
C Library, but nearly all applications supported by glibc also work perfectly
with uClibc-ng.
-uClibc-ng is a spin-off of uClibc from http://www.uclibc.org
-from Erik Andersen and others.
+uClibc-ng is a spin-off of uClibc from http://www.uclibc.org from Erik Andersen
+and others.
Porting applications from glibc to uClibc-ng typically involves just
recompiling the source code. uClibc-ng even supports shared libraries and
-threading. It currently runs on standard Linux and MMU-less (also
-known as µClinux) systems with support for ARC, ARM, Blackfin, i386, M68K/Coldfire
-MIPS, MIPS64, NDS32, PowerPC, SH, Sparc, X86_64 and XTENSA processors.
-
-If you are building an embedded Linux system and you find that
-glibc is eating up too much space, you should consider using
-uClibc-ng. If you are building a huge fileserver with 12 Terabytes
-of storage, then using glibc may make more sense. Unless, for
-example, that 12 Terabytes will be Network Attached Storage and
-you plan to burn Linux into the system's firmware...
-
-uClibc-ng is maintained by Waldemar Brodkorb and is licensed under the
-GNU LESSER GENERAL PUBLIC LICENSE. This license allows you to
-make closed source commercial applications using an unmodified
-version of uClibc-ng. You do not need to give away all your source code just
-because you use uClibc-ng and/or run on Linux. You should, however,
-carefuly review the license and make certain you understand and
-abide by it strictly.
+threading. It currently runs on standard Linux and MMU-less (also known as
+µClinux) systems with support for Alpha, ARC, ARM, Blackfin, CRIS, FR-V, HPPA,
+IA64, LM32, M68K/Coldfire, Metag, Microblaze, MIPS, MIPS64, NDS32, NIOS2,
+OpenRisc, PowerPC, SuperH, Sparc, x86, x86_64 and Xtensa processors.
+
+If you are building an embedded Linux system and you find that glibc is eating
+up too much space, you should consider using uClibc-ng. If you are building a
+huge fileserver with 12 Terabytes of storage, then using glibc may make more
+sense. Unless, for example, that 12 Terabytes will be Network Attached Storage
+and you plan to burn Linux into the system's firmware...
+
+uClibc-ng is maintained by Waldemar Brodkorb and is licensed under the GNU
+LESSER GENERAL PUBLIC LICENSE. This license allows you to make closed source
+commercial applications using an unmodified version of uClibc-ng. You do not
+need to give away all your source code just because you use uClibc-ng and/or
+run on Linux. You should, however, carefuly review the license and make certain
+you understand and abide by it strictly.
For installation instructions, see the file INSTALL.
uClibc-ng strives to be standards compliant, which means that most
-documentation written for SuSv3, or for glibc also applies to
-uClibc-ng functions. However, many GNU extensions are not supported
-because they have not been ported, or more importantly, would
-increase the size of uClibc-ng disproportional to the added
-functionality.
+documentation written for SuSv3, or for glibc also applies to uClibc-ng
+functions. However, many GNU extensions are not supported because they have
+not been ported, or more importantly, would increase the size of uClibc-ng
+disproportional to the added functionality.
Additional information can be found at http://www.uclibc-ng.org/.
-uClibc-ng may be freely modified and distributed under the terms of
-the GNU Lesser General Public License, which can be found in the
-file COPYING.LIB.
+uClibc-ng may be freely modified and distributed under the terms of the GNU
+Lesser General Public License, which can be found in the file COPYING.LIB.
And most of all, be sure to have some fun! :-)
-Waldemar
deleted file mode 100755
@@ -1,72 +0,0 @@
-#!/usr/bin/perl -w
-# vi: set ts=4:
-
-# Libstrip - A utility to optimize libraries for specific executables
-# Copyright (C) 2001 David A. Schleef <ds@schleef.org>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of version 2 of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This is a surprisingly simple script that gets a list of
-# unresolved symbols in a list of executables specified on the
-# command line, and then relinks the uClibc shared object file
-# with only the those symbols and their dependencies. This
-# results in a shared object that is optimized for the executables
-# listed, and thus may not work with other executables.
-#
-# Example: optimizing uClibc for BusyBox
-# Compile uClibc and BusyBox as normal. Then, in this
-# directory, run:
-# libstrip path/to/busybox
-# After the script completes, there should be a new
-# libuClibc-0.9.5.so in the current directory, which
-# is optimized for busybox.
-#
-# How it works:
-# The uClibc Makefiles create libuClibc.so by first creating
-# the ar archive libc.a with all the object files, then links
-# the final libuClibc.so by using 'ld --shared --whole-archive'.
-# We take advantage of the linker command line option --undefined,
-# which pulls in a symbol and all its dependencies, and so relink
-# the library using --undefined for each symbol in place of
-# --whole-archive. The linker script is used only to avoid
-# having very long command lines.
-
-$topdir="../..";
-
-# This is the name of the default ldscript for shared libs. The
-# file name will be different for other architectures.
-$ldscript="/usr/lib/ldscripts/elf_i386.xs";
-
-my @syms;
-my @allsyms;
-my $s;
-
-while($exec = shift @ARGV){
- #print "$exec\n";
- @syms=`nm --dynamic $exec`;
- for $s (@syms){
- chomp $s;
- if($s =~ m/^.{8} [BUV] (.+)/){
- my $x = $1;
- if(!grep { m/^$x$/; } @allsyms){
- unshift @allsyms, $x;
- }
- }
- }
-}
-
-open(LDSCRIPT, ">ldscript");
-print LDSCRIPT "INCLUDE $ldscript\n";
-for $s (@allsyms) {
- print LDSCRIPT "EXTERN($s)\n";
-}
-
-
-`gcc -s -nostdlib -Wl,-warn-common -shared \\
- -o libuClibc-0.9.5.so \\
- -Wl,-soname,libc.so.0 -Wl,--script=ldscript \\
- $topdir/libc/libc.a \\
- $topdir/libc/tmp/libgcc-need.a`
-
@@ -1,4 +1,6 @@
-/* Copyright 2015 Yoshinori Sato <ysato@users.sourceforge.jp> */
+/*
+ Copyright 2015 Yoshinori Sato <ysato@users.sourceforge.jp>
+*/
/* clone is even more special than fork as it mucks with stacks
and invokes a function in the right context after its all over. */
@@ -1,4 +1,6 @@
-/* Copyright 2002, 2015 Yoshinori Sato <ysato@users.sourceforge.jp> */
+/*
+ Copyright 2002, 2015 Yoshinori Sato <ysato@users.sourceforge.jp>
+*/
#include <sys/syscall.h>