uclibc with no os?

Sterling Augustine sterling at tensilica.com
Mon Sep 26 18:55:27 UTC 2005


I am the original submitter of the libgloss patch. It was pretty 
preliminary and much has changed since I submitted it over a year ago, 
both on my side and on the uclibc side. As I never heard anything back, 
I assumed it was simply a different direction than the project wanted to 
go, and I respect that.

On the plus side, the current libgloss-xtensa port passes every 
validation suite I've thrown at it. It's also much, much smaller than 
newlib, although newlib is an easier port to libgloss than uclibc 
is--depending on your time to market vs size trade-off, you might want 
to pick newlib instead.

There were two portions that were combined: the xtensa port and the 
libgloss port, so you'll have to sort through a lot of that, but neither 
was particularly complex. But if you haven't worked with libgloss 
before, you'll want to understand what it can and cannot do first.

I haven't kept current with the uclibc source tree, I just update 
against the stable releases (99.99% of the day-to-day changes are 
irrelevant to libgloss).

There are many changes to the structure of uclibc that should probably 
be made before actively supporting any OS other than linux. In 
particular, there needs to be a distinction made between the directories 
for hardware and the os that is running the os. I solved it by simply 
duplicating a bunch of files, but that doesn't seem like a good 
long-term strategy. Uclibc also really wants linux headers to be around, 
so I had to provide a fake set. This part should be abstracted away some 
how, but that would be a lot of work, and would probably destabilize the 
linux side unless someone who knows a lot more than me were to integrate it.

There was also a fair amount of makefile hacking to support building 
outside of the source tree and our local build system.

In any event, I would be happy to resubmit a somewhat more mature patch 
against 0.9.27 if anyone wants a look. A huge amount of work would have 
to happen for it to be integrated into cvs.

Sterling



More information about the uClibc mailing list