[uClibc] Hyperstone E1-32X Port for uClibc-0.9.19
George Thanos
gthanos at telecom.ntua.gr
Wed Sep 10 14:50:59 UTC 2003
Dear Erik, list,
I would like to announce the porting of uClibc v 0.9.19 for the
Hyperstone's E1-32X architecture. A parallel port of uClinux-2.4.x and
uClibc took place by Hyperstone (www.hyperstone.com) and GDT
(www.gdt.gr). The uClinux E1-32X sources are already in the uClinux CVS
repository under the name "e1nommu".
We would also like to publicise our uClibc port by uploading it to the
uClibc CVS. How this can be done? Should I send a patch file or a
tarball with the architecture dependent files?
There are are also two(2) minor changes in architecture independent
files. How should we handle them? Should we provide an additional patch
for those files along with a README file for the end user on how to
apply the patch.
Downloading a recent version of uClibc-0.9.19 (We have been working for
a long time with an older CVS instance) I found a error related to the
open system call.
While the prototype of open in include/fcntl.h takes a variable number
of parameters the actual implementation receives a fixed number of
parameters. In some architectures that the compiler handles differently
a fixed and a variable list of arguments both in the calling and the
called function this can be a problem and parameter passing can be
totally wrong.
To be a little more specific on the problem, our architecture affords
two separate stacks in the same user level process. When using a fixed
number of parameters the compiler passes arguments through the 1st
stack, while when using a variable number of parameters the compiler
passes arguments through the second stack.
When the prototype indicates a variable parameter list the calling
function passes parameters through the second stack, but the called
function that is build with a fixed number of parameters receives
parameters through the first stack. This gives an impression of the
mess. The result is an unexpected and severe kernel crash.
In the previous instance of uClibc both open's prototype and
implementation took a variable number of parameters and did not cause
any problem!
Are there any other system calls that have a variable number of
parameter list in their prototype but a fixed list in their
implementation? I would like to check similar problems before we provide
our sources along with the required patches for the architecture
independent files.
Cheers,
- George
More information about the uClibc
mailing list