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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox