1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>uClibc -- a C library for embedded systems</TITLE>
</HEAD>
<body text="#000000" alink="#660000" link="#660000" bgcolor="#dee2de" vlink="#660000">
<basefont face="lucida, helvetica, arial" size="3">
<CENTER>
<p>
<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=2>
<TR>
<td bgcolor="#000000">
<FONT FACE="lucida, helvetica" COLOR="#ccccc0">
<B>µ C l i b c</B>
</FONT>
</TD>
</TR>
</TABLE>
<p>
<!-- Begin Introduction section -->
<TABLE WIDTH=95% CELLSPACING=1 CELLPADDING=4 BORDER=1>
<TR><TD BGCOLOR="#ccccc0" ALIGN=center>
<A NAME="intro"> <BIG><B>
uClibc -- a C library for embedded systems
</A></B></BIG>
</TD></TR>
<TR><TD BGCOLOR="#eeeee0">
<a href="index.html">Click Here to Return to the main uClibc webpage</a>.
<p>
<!-- Begin Older News section -->
<TR><TD BGCOLOR="#ccccc0" ALIGN=center>
<A NAME="news">
<BIG><B>
Older News</A>
</B></BIG>
</A>
</TD></TR>
<TR><TD BGCOLOR="#eeeee0">
<ul>
<p>
<li> <b>8 November 2002, uClibc 0.9.16 Released</b>
<br>
CodePoet Consulting is pleased to announce the immediate availability of
uClibc 0.9.16. This release adds full support (including a native shared
library loader) for the CRIS architecture, contributed by Tobias Anderberg.
Stefan Allius contributed a number of patches to fix the initialization
order for shared library global constructors and destructors as well as a
large number of SuperH fixes and cleanups. uClibc now compiles with
newer versions of gcc (i.e. RedHat 8.0). Thanks to Christian Michon,
uClibc no longer requires perl to compile. Steven J. Hill fixed dlopen for
mips. Several problems with pty and tty handling were fixed. Manuel Novoa
added new support for an /etc/TZ file to globally set the system timezone,
and fixed up a number of remaining wide char issues. Manuel is still hard
at work on bringing full locale support (optional of course) to uClibc.
And of course, this release includes the usual pile of bug fixes. Many thanks
for the large number of patches and fixes that were contributed!
<p>
Erik and Manuel have been working on a
<a href="downloads/Glibc_vs_uClibc_Differences.txt">
document describing some of the differences between uClibc and glibc.</a>
It's not yet 100% complete, and it hasn't been nicely formatted yet. But
it contains a lot of helpful information and is worth a look.
<p>
And finally, the the old uClibc configuration system has been completely
removed (and there was much rejoicing). It was replaced with an entirely
new system based on <a href="http://www.xs4all.nl/~zippel/lc/">LinuxKernelConf</a>,
which has since been included into Linux 2.5.45, so it looks like Erik made
the right choice. Of course, those who have existing build systems using uClibc
will need to make a few changes... We think the change is worth it.
<p>
As usual, the
<a href="http://www.kernel.org/pub/linux/libs/uclibc/Changelog">Changelog</a>
and <a href="http://www.kernel.org/pub/linux/libs/uclibc/uClibc-0.9.16.tar.bz2">source code</a>
for this release are available <a href="http://www.kernel.org/pub/linux/libs/uclibc/">here</a>.
You might want to download uClibc from the closest
<a href="http://kernel.org/mirrors/">kernel.org mirror site</a>.
Just pick the closest mirror site, and then go to
<a href="http://www.kernel.org/pub/linux/libs/uclibc/">
http://www.XX.kernel.org/pub/linux/libs/uclibc/</a>
to download uClibc, where XX is your two letter country code.
<p>
Updated gcc-3.2 and gcc-2.95 toolchains will be released shortly.
<p>
<p>
<li> <b>16 September 2002, gcc-3.2 and gcc-2.95 toolchains released</b>
<br>
CodePoet Consulting (i.e. Erik) has released updated gcc-3.2 and gcc-2.95
uClibc toolchains. These toolchains build real gcc cross compilers (i.e.
not just a wrapper) and create executables linked vs uClibc. The new
gcc-3.2 provides uClibc support with the latest and greatest compiler
available from the gcc team. The gcc-2.95 toolchain has been updated to
the latest version of uClibc and now provides full C++ support, using the
<a href="http://www.stlport.org/">STLport</a> standard C++ library.
<p>
This toolchain should make it easy for anyone to build uClibc based
applications. <a href="http://www.kernel.org/pub/linux/libs/uclibc/toolchain/">
Source code can be downloaded here</a>.
Be aware that much of the needed source code will actually be downloaded on
when you compile the toolchains. To build a toolchain, simply
grab the source, edit the Makefile to select where you would like
the toolchain installed, run 'make', and then go watch TV, eat
dinner, or visit with your friends while it compiles. It takes
about 15 minutes for Erik to compile the gcc-3.2 toolchain (w/C++ support)
on his Athlon XP 1600 (not counting the time it takes to download
source code).
<p>
<p>
<li> <b>27 August 2002, uClibc 0.9.15 Released</b>
<br>
CodePoet Consulting is pleased to announce the immediate availability
of uClibc 0.9.15. This release fixes a number of problems that turned
up since the last release. The good news is that uClibc now
passes all tests in the perl 5.8 and Python 2.2.1 test suites, both with
and without pthreads. So without any further ado....
<p>
The
<a href="http://www.us.kernel.org/pub/linux/libs/uclibc/Changelog">Changelog</a>
and <a href="http://www.us.kernel.org/pub/linux/libs/uclibc/uClibc-0.9.15.tar.bz2">source code</a>
for this release are available <a href="http://www.us.kernel.org/pub/linux/libs/uclibc/">here</a>.
<p>
Have fun!
<p>
<p>
<li> <b>12 August 2002, uClibc 0.9.14 Released</b>
<br>
CodePoet Consulting is slightly less pleased then usual to announce the
immediate availability of uClibc 0.9.14. This is, unfortunately, a bugfix
release intended to fix the couple of dumb things that slipped into the
previous release. Version 0.9.13 of uClibc would fail to compile when
enabling both RPC and Pthreads. There was also a problem with RPC thread
local storage (but noone noticed since it didn't compile ;-). Also, the
thread locking in exit(), onexit() and atexit() was broken, and wasn't
actually locking anything. This release also fixes uClibc's gcc wrapper
to use crtbeginS.o and crtendS.o when compiling PIC code, fixing a subtle
bug (that was much less subtle on powerpc). Finally, this release includes a
few minor compile warning cleanups.
<p>
The
<a href="http://www.us.kernel.org/pub/linux/libs/uclibc/Changelog">Changelog</a>
and <a href="http://www.us.kernel.org/pub/linux/libs/uclibc/uClibc-0.9.14.tar.bz2">source code</a>
for this release are available <a href="http://www.us.kernel.org/pub/linux/libs/uclibc/">here</a>.
<p>
Have fun!
<p>
<li> <b>12 August 2002, Native uClibc/gcc-3.1.1 toolchain released</b>
<br>
CodePoet Consulting (i.e. Erik) has released an updated native
uClibc/gcc-3.1.1 toolchain. This toolchain builds a real gcc cross
compiler (i.e. not just a wrapper) and creates executables linked vs
uClibc. This toolchain has been (briefly) tested as working on x86, arm,
mips, and arm7tdmi (uClinux). This toolchain provides a number of
improvements over previous releases. In particular, Steven J. Hill found
and fixes a number of "glibc-isms" in the libstdc++ math support which
caused a number of math functions to be mapped to the non-standard named
under GNU libc. This release also includes greatly improved uClinux
"elf2flt" support, and it now produces working flat binaries for my
uClinux/arm7tdmi system. The native uClibc/gcc-2.95 toolchain will be
updated in a few days, and will include STLport which will allow that
toolchain to also provide full C++ support.
<p>
This toolchain should make it easy for anyone to build uClibc based
applications. <a href="http://www.us.kernel.org/pub/linux/libs/uclibc/toolchain/">
Source code can be downloaded here</a>.
Be aware that much of the needed source code will actually be downloaded on
demand when you compile things. To build the toolchain, simply
grab the source, edit the Makefile to select where you would like
the toolchain installed, run 'make', and then go watch TV, eat
dinner, or visit with your friends while it compiles. It takes
about 15 minutes for Erik to compile the gcc-3.1.1 toolchain (w/C++ support)
on his Athlon XP 1600 (not counting the time it takes to download
source code). Your results may vary...
<p>
<li> <b>9 August 2002, uClibc now mirrored on kernel.org!</b>
<br>
uClibc is now available from the kernel.org mirrors! This should make
uClibc downloads much faster. The kernel.org mirrors will have all
uClibc release versions (everything but the daily snapshots).
Here is a list of all the <a href="http://kernel.org/mirrors/">kernel.org mirror sites</a>.
Just pick the closest mirror site, and then go to "/pub/linux/libs/uclibc/"
to download uClibc. For example, is you live the USA, you can go to
<a href="http://www.us.kernel.org/pub/linux/libs/uclibc/">
http://www.us.kernel.org/pub/linux/libs/uclibc/</a> to download the latest
uClibc release from a nice fast system.
<p>
<p>
<p>
<li> <b>9 August 2002, uClibc 0.9.13 Released</b>
<br>
CodePoet Consulting is pleased to announce the immediate availability of
uClibc 0.9.13. After several days of testing, this release is looking very
solid. This release fixes three security vulnerabilites in previous
releases. There was an off-by-one buffer overflow in the group handling
code, and integer overflows in calloc() and xdr_array().
<p>
This release adds native shared library support for the Hitachi
SuperH architecture, thanks to Stefan Allius and Edie C. Dost. A
new mmap based malloc was implemented by Miles Bader. This is much
smarter than the old "malloc-simple" and is now the default for
mmu-less systems, where it should greatly help reduce memory
fragmentation and wastage. In addition to these larger items, there
has been a <em>lot</em> of work done to make uClibc a cleaner, more
capable, library. Most applications now compile and run without
any trouble.
<p>
The
<a href="http://www.us.kernel.org/pub/linux/libs/uclibc/Changelog">Changelog</a>
and <a href="http://www.us.kernel.org/pub/linux/libs/uclibc/uClibc-0.9.13.tar.bz2">source code</a>
for this release are available <a href="http://www.us.kernel.org/pub/linux/libs/uclibc/">here</a>.
<p>
Have fun!
<p>
<li> <b>11 July 2002, Native uClibc toolchains updated</b>
<br>
CodePoet Consulting (i.e. Erik) has released updated native
uClibc/gcc-3.1 and uClibc/gcc-2.95 toolchains. These toolchains
build real gcc cross compilers (i.e. not just a wrapper) and create
executables linked vs uClibc. These toolchains have been tested
and found working on x86, arm, and mmu-less arm. They should work
(at least in theory!) for all architectures supported by uClibc.
<p>
These toolchains should make it easy to anyone to build uClibc based
applications. <a href="downloads/toolchain/">Source code can be downloaded here</a>.
Be aware that much of the needed source code will actually be downloaded on
demand when you compile things. To build the toolchain, simply
grab the source, edit the Makefile to select where you would like
the toolchain installed, run 'make', and then go watch TV, eat
dinner, or visit with your friends while it compiles. It takes
about 15 minutes for Erik to compile the gcc-3.1 toolchain (w/C++ support)
on his Athlon XP 1600 (not counting the time it takes to download
source code). Your results may vary...
<p>
<P>
<li> <b>20 June 2002, uClibc 0.9.12 Released</b>
<br>
CodePoet Consulting is pleased to announce the immediate availability of
uClibc 0.9.12. This release adds an i960 port, an initial alpha port,
fully working mips shared library support, shared library support fixes
for on powerpc, and many other improvements. One very exciting new feature
is nearly complete locale support, thanks to a lot of hard work by Manuel
Novoa III. uClibc's locale support is <em>much</em> smaller than glibc's,
though it is also slightly less flexible. This release was delayed by a
month due to the arrival of a new baby at Erik's house. For those that
have been anxiously waiting, this release should certainly be worth the
wait. Have fun!
<p>
The <a href="downloads/Changelog">Changelog</a>
and <a href="downloads/uClibc-0.9.12.tar.bz2">source code</a>
for this release are available <a href="downloads/">here</a>.
<li> <b>28 May 2002, Native uClibc/gcc-3.1 toolchain</b>
<br>
CodePoet Consulting has released source code and a Makefile to build a
gcc-3.1 toolchain that natively targets uClibc. Additionally, the
gcc-3.0.4 and gcc-2.95 toolchains have also been updated. These toolchains
make it easy to build uClibc based applications. Source code can be
downloaded <a href="downloads/toolchain/">here</a> and is now much smaller,
since much of the needed binutils and gcc source code is now downloaded on
demand. To build the toolchain, simply grab the source, edit the Makefile
to select where you would like the toolchain installed, and then run 'make'
and wait for it to compile.
<p>
<p><li> <b>10 April 2002, uClibc 0.9.11 Released</b>
<br>
CodePoet Consulting is pleased to announce the immediate availability of
uClibc 0.9.11. This release is primarily focused on fixing the issues that
have turned up since the last release. Several bugs in the gcc wrapper
have been fixed, allowing applications such as iproute2 and XFree86 to link properly.
Large file support has been improved, and a thread locking bug was
fixed that could cause s*printf calls to deadlock when threading was
enabled. Several bugs were also fixed with the powerpc, h8300, m68k,
sparc, and mips architecture support. Many additional applications now
compile and run perfectly and have been added to the <a
href="uClibc-apps.html">working applications list</a> .
<p>
The <a href="downloads/Changelog">Changelog</a>
and <a href="downloads/uClibc-0.9.11.tar.bz2">source code</a>
for this release are available <a href="downloads/">here</a>.
<p>
<li> <b>10 April 2002, Native uClibc/gcc-3.0.4 toolchain</b>
<br>
CodePoet Consulting has released source code and a Makefile
to build a gcc-3.0.4 toolchain that natively targets uClibc.
This brings with it full C++ support for uClibc, including the
libstdc++ library. A gcc-2.95.x toolchain will also be released
shortly, but is not yet ready. At this time, only source code and
a Makefile for the native uClibc toolchain is being released (i.e.
no binaries, sorry). Source code can be downloaded
<a href="downloads/toolchain/">here</a>,
but be aware that the source code is 27 MB.
<p>
To build the toolchain, simply grab the source, edit the Makefile
to select where you would like the toolchain installed. Then
run 'make' and wait for it to compile. If you do not have a copy
of uClibc already, it will download the latest daily snapshot.
<p>
<li> <b>21 March 2002, uClibc 0.9.10 Released!</b>
<br>
CodePoet Consulting is pleased to announce the immediate
availability of uClibc 0.9.10. This release adds pthreads support
(including pthreads support for mmu-less systems!). Additionally,
thanks to Manuel Novoa III, we now have a completely new stdio
library, which is small, standards compliant, supports pthreads,
wide/narrow streams, large files, and can even operate in a
low-memory unbuffered mode. Many, many bugs have been fixed and a
number of additional applications now compile and run perfectly.
Even with all these changes, uClibc continues to be very small.
On x86, a default build of the uClibc C library is still just 168k.
<p>
To make things more interesting, the release also adds support for
C++ constructors and destructors. To make it easy to use uClibc
when developing C++ applications, this release also provides a
wrapper for the GNU C++ compiler. Of course, for more complex C++
applications, such as those using iostreams, a standard C++ library
(libstdc++) is required. A native GNU toolchain (binutils/gcc) that
provides libstdc++ linked with uClibc 0.9.10 will be released in the
next couple of days, so stay tuned.
<p>
The <a href="downloads/Changelog">Changelog</a>
and <a href="downloads/uClibc-0.9.10.tar.bz2">Source code</a>
for this release are available <a href="downloads/">here</a>.
<p>
<p>
<li> <b>4 February 2002, uClibc 0.9.9 Released!</b>
<br>
CodePoet Consulting is pleased to announce the immediate
availability of uClibc 0.9.9. With this release,
<a href="uClibc-apps.html">just about
everything we have tested now compiles and runs</a>. In fact,
there are now so many programs on the working application list that
rather than continue to add to this list, from now on we
will only be adding applications to the <em>not working list</em>. Most applications
on the <em>not working list</em> either require pthreads, or require
wide-character support. Work on wide-character support is
well underway, and will hopefully be moving into CVS in the next week or
two. Full pthreads support and rentrancy are on the TODO list
and are expected to be complete in the next couple of months.
<p>
The <a href="downloads/Changelog">Changelog</a>
and <a
href="downloads/uClibc-0.9.9.tar.bz2">Source code</a>
for this release are available <a href="downloads/">here</a>.
<p>
One final bit on news -- as some of you may have noticed, uclibc.org
has been a bit overloaded and somewhat slow recently. The server should
be getting colocated tomorrow, which will eliminate the speed problem.
During the move, there may be some temporary disruption of service...
<p>
Have Fun!
<p>
<li> <b>22 December 2001, uClibc 0.9.8 Released!</b>
<br>
After many months of initial development, we are pleased to announce the
release of uClibc 0.9.8. This release should be quite solid, and is very
usable. This also, hopefully, marks a transition from a slow incubation
phase to a more methodical release cycle. From now one, there should be
approximately one release per month.
<p>
The source code for this release is available
<a href="downloads/">here</a>.
<p>
<li> <b>26 November 2001, powerpc shared libraries fully working</b>
<br>
Dave Schleef finished off the the work needed for shared library support on
powerpc. There had been a few problems remaining, and those are now squashed.
So shared libs on powerpc should be working fully now.
<p>
<li> <b>14 November 2001, m68 compiles again, Large file support working</b>
<br>
About a month ago I synced the header files with glibc 2.2.4 for better
C++ support and better standards compliance. I forgot to sync up m68k,
sparc, powerpc, and mipsel. Dave Schleef fixed powerpc while he was fixing
up the shared lib loader. I just fixed up m68k, sparc, and mipsel so they
should all compile again.
<p>
I also finished up fixing large file support (just enable DOLFS in your
Config file to enable it) and it is working just great, and greatly increases
the number of glibc applications that will work "out-of-the-tarball" without
needing any changes.
<li> <b>12 November 2001, powerpc shared lib support</b>
<br>
Thanks to David Schleef, uClibc now has full shared library support
on powerpc. This brings full shared library support to x86, ARM, and
now powerpc. Thanks Dave!
<p>
<li> <b>7 November 2001, uClibc application list</b>
<br>
uClibc now has a <a href="uClibc-apps.html">list of applications</a>
that are known to work. If you have any applications to add to the
list, submissions are welcome!
<p>
<li> <b>18 October 2001, buildroot uClibc example system</b>
<br>
Those wanting an easy way to test out uClibc and give it
a test drive can download and compile
<a href="http://www.uclibc.org/downloads/buildroot.tar.gz">buildroot.tar.gz</a>. This
is a nifty buildsystem that will automagically download and build
a <a href="http://user-mode-linux.sourceforge.net/">User-Mode Linux</a>
kernel, and will then download source for and compile up a fully
working uClibc based root filesystem. This should make it easy for
people to create their own projects. I hope that this build system
will allow people to more easily use and build uClibc based systems.
As an example of how nicely this works, the
<a href="http://tuxscreen.net/">Tuxscreen Project</a> is using a
<a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tuxscreen/buildroot-tux/">slightly adjusted variant of the buildroot system</a> to cross
compile the blob bootloader, linux kernel, and a uClibc based jffs2
root filesystem (busybox, tinylogin, udhcp, lrzsz, pcmcia-cs and
microwindows) for ARM. Pretty cool.
<p>
<li> <b>11 October 2001, v850 architecture support</b>
<br>
Miles Bader has contributed support for the v850 architecture.
<p>
<li> <b>25 Spetember 2001, header files updated</b>
<br>
uClibc's header files are now in sync with glibc 2.2.4,
allowing better standards compliance, better portibility, and
better C++ support.
<p>
<li> <b>4 July 2001, ARM shared library support</b>
<br>
uClibc now has full shared library support on ARM.
<p>
<li> <b>9 May 2001, libm added</b>
<br>
uClibc now has a very complete math library.
<p>
<p> <li> <b>9 May 2001, ld.so added</b>
<br>
uClibc now has a native ld.so. It currently is only ported to work on x86,
but porting to other architectures should not be too difficult.
<p> <li> <b>15 March 2001, powerpc port added</b>
<br>
David Schleef contributed a powerpc port, which is now in CVS.
<p> <li> <b>19 February 2001, SH port added</b>
<br>
Jean-Yves Avenard contributed an SH port. See his email
with the initial patch <a href="/lists/uclibc/2001-February/000409.html">here</a>.
<p> <li> <b>16 January 2001, uClibc as a shared library</b>
<br>
As if January 16, uClibc can now be used (at least on x86) as a shared
library. See the <a href="/lists/uclibc/2001-January/000126.html">email</a>
announcing this achievement.
<p> <li> <b>11 January 2001, gcc wrapper added</b>
<br>
Manuel Novoa III has created a wrapper for gcc that makes compiling apps vs uClibc
as simple as just setting "CC" to gcc-uClibc-< arch>. This even works when cross
compiling! Very cool.
<p> <li> <b>3 January 2001, uClibc now has a web page</b>
<br>
A lot of work has been going on under the hood with uClibc,
so I decided to put together this webpage to let the world know
that it exists and is getting to be very usable.
</ul>
<!-- End of Table -->
</TD></TR>
</TABLE>
</P>
<!-- Footer -->
<HR>
<TABLE WIDTH="100%">
<TR>
<TD>
<font size="-1" face="arial, helvetica, sans-serif">
Mail all comments, insults, suggestions and bribes to
<a href="mailto:andersen@codepoet.org">Erik Andersen</a><BR>
</font>
</TD>
<TD>
<a href="http://www.vim.org"><img border=0 width=90 height=36
src="images/written.in.vi.png"
alt="This site created with the vi editor"></a>
</TD>
<TD>
<a href="http://www.gimp.org/"><img border=0 width=90 height=36
src="images/gfx_by_gimp.png" alt="Graphics by GIMP"></a>
</TD>
<TD>
<a href="http://www.linuxtoday.com"><img width=90 height=36
src="images/ltbutton2.png" alt="Linux Today"></a>
</TD>
<TD>
<p><a href="http://slashdot.org"><img width=90 height=36
src="images/sdsmall.png" alt="Slashdot"></a>
</TD>
<TD>
<a href="http://freshmeat.net"><img width=90 height=36
src="images/fm.mini.png" alt="Freshmeat"></a>
</TD>
</TR>
</TABLE>
</CENTER>
</BODY>
</HTML>
|