kernel headers question.

Steven W. Orr steveo at syslang.net
Sat Aug 19 22:23:00 EDT 2006


On the theory that I get lucky every so often ... :-)

We build embedded products. To do so we start by having to build the
cross-compilers, linkers, debuggers, i.e., the entire toolchain,
repeatedly for each developer. My job is to see if I can extract the
toolchain construction from each of the projects for purposes of
reuseability. Once a workspace is created, each developer will
construct his own copy of the toolchain in his own private workspace.

The thingy that does this build is something called buildroot. Also, 
there's a library that gets built called UClibc. When the compiler, the 
linker, UClibc are all built, the claim is that they are all tied to the 
specific version of the kernel that will be embedded on the platform. IOW, 
the UClibc is tied to the version of the kernel in use because of the 
specific version of the kernel headers associated with the version of 
linux in use. As you can see, the list of things that I would have to
manage is a multidimensional cube, where the axes are:
* The versions of linux for the project
* The versions of the compiler
* The versions of UClibc
* The versions of binutils.

It would be *very* nice to be able to eliminate the axis correspnding
to the version of linux.

(There may be more but this is enough to show the problem.)

It seems to me that we stopped using kernel headers a *long* time
ago, but I could be wrong. I am running Fedora Core 4 and I see that
I have glibc-kernheaders-2.4-9.1.94 installed even though I'm running
2.6.14-1.1653_FC4 of linux. (The contents of glibc-kernheaders is
confined to /usr/include/{asm,linux,mtd}.) I'm hoping this is doable
because I'm hard pressed to understand what things I would need to
worry about in userspace that would be kernel specific.

So having said all that, is it safe to say that for all versions of
2.4 and 2.6 series kernels, it's ok to have one old version of
glibc-kernheaders? Or is there some reason that I am constrained to
having seperate kernel headers for each project thereby necessitating
that each version of gcc, binutils, and UClibc is dependant on the
version of linux that it will run against?

TIA

-- 
Time flies like the wind. Fruit flies like a banana. Stranger things have  .0.
happened but none stranger than this. Does your driver's license say Organ ..0
Donor?Black holes are where God divided by zero. Listen to me! We are all- 000
individuals! What if this weren't a hypothetical question?
steveo at syslang.net



More information about the gnhlug-discuss mailing list