* newlib, uclib
@ 2000-07-06 13:29 Ruedi.Hofer
2000-07-06 14:26 ` Tom Roberts
2000-07-06 14:59 ` Pete Buechler
0 siblings, 2 replies; 6+ messages in thread
From: Ruedi.Hofer @ 2000-07-06 13:29 UTC (permalink / raw)
To: linuxppc-embedded; +Cc: distribution
[-- Attachment #1: Type: TEXT/PLAIN, Size: 451 bytes --]
Hi
In order to build a commercially successful product I have to reduce the footprint of the system.
Having a quick look at the files showed me, that the largest files are the libs (libc.so.6 = 4M) ... as u all know.
When searching the web for replacements, I came across newlib and uclib.
Is anyone out there who has done some work with this libs?
Are they easy to use, install, build?
Are there other (small) replacements for the libc?
/Ruedi
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: newlib, uclib
2000-07-06 13:29 newlib, uclib Ruedi.Hofer
@ 2000-07-06 14:26 ` Tom Roberts
2000-07-06 16:57 ` Wolfgang Denk
2000-07-06 14:59 ` Pete Buechler
1 sibling, 1 reply; 6+ messages in thread
From: Tom Roberts @ 2000-07-06 14:26 UTC (permalink / raw)
To: Ruedi.Hofer; +Cc: linuxppc-embedded, distribution
Ruedi.Hofer@ascom.ch wrote:
> In order to build a commercially successful product I have to reduce the footprint of the system.
> Having a quick look at the files showed me, that the largest files are the libs (libc.so.6 = 4M) ... as u all know.
Initially I also thought I would have to strip down the libraries
to reduce their footprint. But then I realized that Linux is a demand-
paged system, and only the pages which actually get used will be
loaded into memory. In our case only memory is an issue, the disk
space required is not important. So making libc include _everything_
is actually a good design decision, IMHO, because it avoids users
having to configure it, picking and choosing among thousands of
library functions.
Tom Roberts tjroberts@lucent.com
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: newlib, uclib
2000-07-06 13:29 newlib, uclib Ruedi.Hofer
2000-07-06 14:26 ` Tom Roberts
@ 2000-07-06 14:59 ` Pete Buechler
2000-07-06 15:14 ` Frank Smith
1 sibling, 1 reply; 6+ messages in thread
From: Pete Buechler @ 2000-07-06 14:59 UTC (permalink / raw)
To: Ruedi.Hofer, linuxppc-embedded; +Cc: distribution
On Thu, 06 Jul 2000, Ruedi.Hofer@ascom.ch wrote:
>
> Hi
>
> In order to build a commercially successful product I have to reduce the footprint of the system.
> Having a quick look at the files showed me, that the largest files are the libs (libc.so.6 = 4M) ... as u all know.
> When searching the web for replacements, I came across newlib and uclib.
>
> Is anyone out there who has done some work with this libs?
>
> Are they easy to use, install, build?
>
> Are there other (small) replacements for the libc?
>
> /Ruedi
>
4M sounds like the unstripped size. Make sure you strip the symbols from the
libraries if you are desperate for disk space. Newlib is an implementation of
the C library, but it was intended for use on embedded systems without Linux.
Hence there is no support for the Linux system calls in it.
Another option is to identify the C library functions that you are actually
using and remove the others from the archive. That would be rather tough by
hand. Lineo has a closed source tool called "Lipo" which will do that for you -
there may be a free replacement in the works somewhere.
--
Pete Buechler : SuSE Linux Developer
Work e-mail : peterb@suse.com
Work web page : http://www.suse.com/~peterb
Personal e-mail : peter.buechler@home.com
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: newlib, uclib
2000-07-06 14:59 ` Pete Buechler
@ 2000-07-06 15:14 ` Frank Smith
0 siblings, 0 replies; 6+ messages in thread
From: Frank Smith @ 2000-07-06 15:14 UTC (permalink / raw)
To: Pete Buechler; +Cc: Ruedi.Hofer, linuxppc-embedded, distribution
Pete Buechler wrote:
>
> Another option is to identify the C library functions that you are actually
> using and remove the others from the archive. That would be rather tough by
> hand. Lineo has a closed source tool called "Lipo" which will do that for you -
> there may be a free replacement in the works somewhere.
The Debian boot-floppies package has a script that does this sort of
thing,
I believe. Don't know how well it performs as compared to lipo-suction.
Excerpt from 'boot-floppies/scripts/rootdisk/mklibs.sh':
# Introduction:
# When creating boot floppies, there is never enough room on the disks.
# So it is important not to waste bytes on unnecessary code.
# Shared Libraries contain many functions that are probably not used in
the
# binaries included in the boot disks, and copying the whole library is
a
# waste of space.
# This utilitiy helps to reduce the necessary libraries to only include
the
# symbols needed to run a given set of executables.
#
# Features:
# * Automatic detection of all necessary libraries, even for
inter-library
# dependencies, for a given set of executables.
# * Automatic installation of all needed libraries and soname links.
# * Automatic reduction of all libraries to minimal size for which PIC
# libraries are provided.
#
# Requirements:
# * Beside the shared libraries, you need libfoo_pic.a files for all
# libraries you want to reduce.
# * You need binutils (notably objdump and objcopy) installed.
Frank.
--
Frank Smith, MCompSci
Principal Software Designer frank.smith@amirix.com
AMIRIX Systems Inc. http://www.amirix.com/
Embedded Debian Project http://www.emdebian.org/
77 Chain Lake Drive 902-450-1700 x289 (Phone)
Halifax, N.S. B3S 1E1 902-450-1704 (FAX)
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: newlib, uclib
2000-07-06 14:26 ` Tom Roberts
@ 2000-07-06 16:57 ` Wolfgang Denk
0 siblings, 0 replies; 6+ messages in thread
From: Wolfgang Denk @ 2000-07-06 16:57 UTC (permalink / raw)
To: Tom Roberts; +Cc: Ruedi.Hofer, linuxppc-embedded
In message <39649719.6A828478@lucent.com> Tom Roberts wrote:
>
> Ruedi.Hofer@ascom.ch wrote:
> > In order to build a commercially successful product I have to reduce the footprint of the system.
> > Having a quick look at the files showed me, that the largest files are the libs (libc.so.6 = 4M) ... as u all know.
>
> Initially I also thought I would have to strip down the libraries
> to reduce their footprint. But then I realized that Linux is a demand-
> paged system, and only the pages which actually get used will be
> loaded into memory. In our case only memory is an issue, the disk
> space required is not important. So making libc include _everything_
You have a disk, then.
Ruedi is probably on an embedded system, loading a compressed initrd
image from Flash into a ramdisk.
Both flash and RAM are resources which get tight all too often.
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd@denx.de
How many hardware guys does it take to change a light bulb? "Well the
diagnostics say it's fine buddy, so it's a software problem."
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: newlib, uclib
@ 2000-07-10 17:48 Eric Vaitl
0 siblings, 0 replies; 6+ messages in thread
From: Eric Vaitl @ 2000-07-10 17:48 UTC (permalink / raw)
To: 'linuxppc-embedded@lists.linuxppc.org'
I am thinking of using newlib with an embedded linux project myself. I am
just starting with an embedded linux/ppc project. I grabbed the tools and
the onetree.sh script from cygnus for newlib/gcc/binutils and they built OK.
After you do the configure, take a look at
build/powerpc-linux/libgloss/rs600/Makefile. The linux stuff is all
commented out for libgloss. If you uncomment the linux stuff, you will find
two depenencies that can't be satisified. lin-cfuncs.o and lin-syscall.o. I
think we could use the files sol-cfuncs.c and sol-syscalls.c as examples and
tweak them for Linux. I'll let you know if/when I get it working.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2000-07-10 17:48 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-07-06 13:29 newlib, uclib Ruedi.Hofer
2000-07-06 14:26 ` Tom Roberts
2000-07-06 16:57 ` Wolfgang Denk
2000-07-06 14:59 ` Pete Buechler
2000-07-06 15:14 ` Frank Smith
-- strict thread matches above, loose matches on Subject: below --
2000-07-10 17:48 Eric Vaitl
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).