From: "Bradley D. LaRonde" <brad@ltc.com>
To: <linux-mips@oss.sgi.com>
Subject: gcc 3.0 / glibc 2.2.3 cross-toolchain
Date: Wed, 8 Aug 2001 19:42:17 -0400 [thread overview]
Message-ID: <02a401c12063$cde1e830$3501010a@ltc.com> (raw)
I have spent quite a bit of time trying to get a gcc 3.0 / glibc 2.2.3
cross-toolchain working. I am not a Toolchain Builder, but I really wanted
to try this combo and I don't see any way around building it myself.
I've had some success. Everything seems to build fine. However, when I try
to run a simple "hello world" dynamically linked with glibc, I get this:
<myprogram>: error while loading shared libraries: failed to map
segment from shared object: cannot load shared object file: Invalid
argument
I think it is trying to load libc.so.6, which is in my root in /lib/,
symlinked to libc-2.2.3.so, and so is ld.so.1, symlinked to ld-2.2.3.so.
I feel like I am pretty close, but I am starting to get discouraged and
could really use some help. I really am clueless about what
should/shouldn't work. I'm trying to do this based on bits and pieces of
information that I've collected from countless sources. I have heard that
gcc 3.0 isn't really "working", but I still want to try.
Here is what I've used:
* binutils-2.11.90.0.25.tar.gz (extracted from H. J. Lu's
srpm on oss.sgi.com; I've tried others also)
* gcc-3.0.tar.gz (released version - no patches)
* glibc-linuxthreads-2.2.3.tar.gz (released version - no
patches; glibc didn't want to configure without this)
* glibc-2.2.3.tar.gz (released version)
plus a tiny patch to glibc that looks like:
--- libc-04052001/sysdeps/mips/mipsel/rtld-parms Sat Jul 12 18:26:15 1997
+++ libc-04052001-patched/sysdeps/mips/mipsel/rtld-parms Fri Apr 6 09:23:27
2001
@@ -1,3 +1,3 @@
ifndef rtld-oformat
-rtld-oformat = elf32-littlemips
+rtld-oformat = elf32-tradlittlemips
endif
I built everything on my i386 Debian 2.2 box as follows:
Build the mipsel cross-binutils
tar -xzf binutils-2.11.90.0.25.tar.gz
mkdir mipsel-binutils
cd mipsel-binutils
../binutils-2.11.2/configure --target=mipsel-linux \
--libdir='${exec_prefix}'/mipsel-linux/i386-linux/lib
make
make install
cd ..
Build the mipsel cross-gcc:
tar -xzf gcc-3.0.tar.gz
mkdir mipsel-gcc
cd mipsel-gcc
../gcc-3.0/configure --target=mipsel-linux \
--enable-languages=c --disable-shared
make
make install
cd ..
Install the kernel headers
mkdir /usr/local/mipsel-linux/include
cp -r $LINUX_SRC/include/linux /usr/local/mipsel-linux/include
cp -r $LINUX_SRC/include/asm-mips /usr/local/mipsel-linux/include/asm
Build glibc:
tar -xzf glibc-2.2.3
cd glibc-2.2.3
patch -p1 -i../elf32-tradlittlemips.diff
tar -xzf ../glibc-linuxthreads-2.2.3.tar.gz
cd ..
mkdir mipsel-glibc
cd mipsel-glibc
../glibc-2.2.3/configure --build=i686-linux --host=mipsel-linux \
--enable-add-ons --prefix=/usr/local/mipsel-linux
make
make install
cd ..
Thanks.
Regards,
Brad
WARNING: multiple messages have this Message-ID (diff)
From: "Bradley D. LaRonde" <brad@ltc.com>
To: linux-mips@oss.sgi.com
Subject: gcc 3.0 / glibc 2.2.3 cross-toolchain
Date: Wed, 8 Aug 2001 19:42:17 -0400 [thread overview]
Message-ID: <02a401c12063$cde1e830$3501010a@ltc.com> (raw)
Message-ID: <20010808234217.U3DUqU438VcQ5pbyCT6PzuY5gSZMd09Uv-io2bQ7cxg@z> (raw)
I have spent quite a bit of time trying to get a gcc 3.0 / glibc 2.2.3
cross-toolchain working. I am not a Toolchain Builder, but I really wanted
to try this combo and I don't see any way around building it myself.
I've had some success. Everything seems to build fine. However, when I try
to run a simple "hello world" dynamically linked with glibc, I get this:
<myprogram>: error while loading shared libraries: failed to map
segment from shared object: cannot load shared object file: Invalid
argument
I think it is trying to load libc.so.6, which is in my root in /lib/,
symlinked to libc-2.2.3.so, and so is ld.so.1, symlinked to ld-2.2.3.so.
I feel like I am pretty close, but I am starting to get discouraged and
could really use some help. I really am clueless about what
should/shouldn't work. I'm trying to do this based on bits and pieces of
information that I've collected from countless sources. I have heard that
gcc 3.0 isn't really "working", but I still want to try.
Here is what I've used:
* binutils-2.11.90.0.25.tar.gz (extracted from H. J. Lu's
srpm on oss.sgi.com; I've tried others also)
* gcc-3.0.tar.gz (released version - no patches)
* glibc-linuxthreads-2.2.3.tar.gz (released version - no
patches; glibc didn't want to configure without this)
* glibc-2.2.3.tar.gz (released version)
plus a tiny patch to glibc that looks like:
--- libc-04052001/sysdeps/mips/mipsel/rtld-parms Sat Jul 12 18:26:15 1997
+++ libc-04052001-patched/sysdeps/mips/mipsel/rtld-parms Fri Apr 6 09:23:27
2001
@@ -1,3 +1,3 @@
ifndef rtld-oformat
-rtld-oformat = elf32-littlemips
+rtld-oformat = elf32-tradlittlemips
endif
I built everything on my i386 Debian 2.2 box as follows:
Build the mipsel cross-binutils
tar -xzf binutils-2.11.90.0.25.tar.gz
mkdir mipsel-binutils
cd mipsel-binutils
../binutils-2.11.2/configure --target=mipsel-linux \
--libdir='${exec_prefix}'/mipsel-linux/i386-linux/lib
make
make install
cd ..
Build the mipsel cross-gcc:
tar -xzf gcc-3.0.tar.gz
mkdir mipsel-gcc
cd mipsel-gcc
../gcc-3.0/configure --target=mipsel-linux \
--enable-languages=c --disable-shared
make
make install
cd ..
Install the kernel headers
mkdir /usr/local/mipsel-linux/include
cp -r $LINUX_SRC/include/linux /usr/local/mipsel-linux/include
cp -r $LINUX_SRC/include/asm-mips /usr/local/mipsel-linux/include/asm
Build glibc:
tar -xzf glibc-2.2.3
cd glibc-2.2.3
patch -p1 -i../elf32-tradlittlemips.diff
tar -xzf ../glibc-linuxthreads-2.2.3.tar.gz
cd ..
mkdir mipsel-glibc
cd mipsel-glibc
../glibc-2.2.3/configure --build=i686-linux --host=mipsel-linux \
--enable-add-ons --prefix=/usr/local/mipsel-linux
make
make install
cd ..
Thanks.
Regards,
Brad
next reply other threads:[~2001-08-08 23:40 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-08-08 23:42 Bradley D. LaRonde [this message]
2001-08-08 23:42 ` gcc 3.0 / glibc 2.2.3 cross-toolchain Bradley D. LaRonde
2001-08-08 23:45 ` Daniel Jacobowitz
2001-08-08 23:58 ` Bradley D. LaRonde
2001-08-08 23:58 ` Bradley D. LaRonde
2001-08-09 2:44 ` Bradley D. LaRonde
2001-08-09 2:44 ` Bradley D. LaRonde
2001-08-09 3:49 ` Bradley D. LaRonde
2001-08-09 3:49 ` Bradley D. LaRonde
2001-08-09 13:03 ` Arnaud Rolly
2001-08-09 7:11 ` Ilya Volynets
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='02a401c12063$cde1e830$3501010a@ltc.com' \
--to=brad@ltc.com \
--cc=linux-mips@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.