Subject: Run the cross-compiled program.

From: "kjlin" <[email-masked]>
Date: Wed, 20 Dec 2000 18:09:25 +0800

Can anyone point out which step i done wrong in the process of cross-compiling an program with the -static option?
I made the cross-compile toolkit by myself.
All the source code and patches for cross-compile were downloaded from the SGI ftp site.
The version is as following:
cross-binutils = version 2.10.90
cross-gcc = version 2.96 20000707
cross-usable glibc = libc-2.1.90
The cross-compile toolkits building process is ok!
I used the cross-compiler to compile a program with the " -static " option in the host and then ran it on the target.
But i got the error message:
# ./a.out
FATAL: kernel too old
Aborted

Where i be trapped?
My host system is x86 running linux-2.2.14(Redhat 6.2).
My target system is an embedded mips board running linux-2.2.14 and shell is the statically linked ash binary from a lib-2.6.0 filesystem(kernel version unknown).
By the way, i builded the cross-usable glibc-2.1.90 with configure "--enable-kernel=2.2.14".

Thanx,
KJ from [email-masked]

---

From: Nicu Popovici <[email-masked]>
Date: Wed, 20 Dec 2000 17:54:55 -0500

Hello,

I am very interested in getting the latest sources for binutils, gcc and
glibc working in cross toolchain for mips. PLease tell me from where did
you took the gcc that you use . Please give me as muche details as you
can.

Regards,
Nicu

kjlin wrote:

> Can anyone point out which step i done wrong in the process of
> cross-compiling an program with the -static option?
> I used the cross-compiler to compile a program with the " -static "
> option in the host and then ran it on the target.
> But i got the error message:# ./a.outFATAL: kernel too old
> Aborted Where i be trapped?
> My target system is an embedded mips board running linux-2.2.14 and
> shell is the statically linked ash binary from a lib-2.6.0
> filesystem(kernel version unknown).
> By the way, i builded the cross-usable glibc-2.1.90 with configure
> "--enable-kernel=2.2.14".Thanx,KJ from [email-masked]

---

From: Keith M Wesolowski <[email-masked]>
Date: Wed, 20 Dec 2000 18:39:38 -0800

On Wed, Dec 20, 2000 at 06:09:25PM +0800, kjlin wrote:

> cross-compiling an program with the -static option?  I made the
> cross-compile toolkit by myself.

Be aware of an unrelated problem: statically linked binaries that
attempt to access functions in the nss libraries will crash.

> My target system is an embedded mips board running linux-2.2.14 and

One possibility is that you do not have the proc filesystem available
when running the program.  Certain older libc has issues with
detecting version when /proc was not available.

Another possibility is that you somehow got hold of the glibc that I
built, from the same toolkit.  That glibc will not run on kernel <
2.3.99.

I guess I don't quite understand why you would want to use kernel 2.2
with glibc 2.2.  For embedded purposes, glibc 2.0 will save you a lot
of space; if you just want the newest stuff unconditionally, use
kernel 2.4.  The specific libc you are using is rather dated anyway.
While it worked for most purposes it is hardly bug-free.  Consider
using CVS glibc, or the glibc from Florian's Debian build environment.

-- 
Keith M Wesolowski			[email-masked]

---

From: "kjlin" <[email-masked]>
Date: Fri, 22 Dec 2000 14:38:38 +0800

----- Original Message -----
> using CVS glibc, or the glibc from Florian's Debian build environment.
The original system of my embedded mips board is the kernel 2.2 with the
libc-2.0.4.
But the libc-2.0.4 seems not to support POSIX 1003.1c, which cause my
program to fail.
That's the reasion why i want to upgrade the library.
In fact, i prefer to upgrade to libc-2.0.6, but i am not sure whether it
supports POSIX 1003.1c.
On the other hand, i can not find the cross-usable libc-2.0.6 source and
patches or binary tarball for my cross-compiler.
Any suggestions ?

Thanks,
KJ