Good news - I've finally succeeded to have a reasonably clean build with
egcs-199906023/gcc2.95. Instructions below.
The bad news: even with a kernel build using gcc 2.95, flatcap still
doesn't load properly. So either the bug is still around (if it's
really a compiler bug), or the problem is elsewhere.
I'm not uploading binaries for xdev-1, because it fails to solve the
only reason for upgrading we've encountered so far ...
- Werner
---------------------------------- cut here -----------------------------------
ARM cross-development environment (for i386 hosts)
---------------------------------
Remark: no binary distribution at this time - the hypothetical xdev-1
seems to be as good or as bad as xdev-0
xdev-1 provides the arm-linux tools (binutils-2.9.1.0.25 and gcc-2.95).
The target format of arm-linux is ELF. If you want to build your own
tool chain from source, see the instructions at the end.
Historical remark: xdev-0 used binutils-2.9.1.0.15 and egcs-1.1b.
Meanwhile, the egcs and gcc development branches have merged again, and
the new "stable" gcc is gcc-2.95 which calls itself sometimes also egcs.
Confused ? Good :-) The egcs/gcc home page is http://egcs.cygnus.com/
Install as follows:
- create a directory for the development tools
- if its name isn't /scratch/psion/xdev, create (a) symbolic link(s)
such that /scratch/psion/xdev points to this directory
- extract xdev-1.tar.gz in / (all paths begin with scratch/psion/xdev)
- add /scratch/psion/xdev/bin to your PATH
The binaries were built on a RedHat 5.2 host, so the shared libraries
should be okay for most people. Famous last words, I know :-)
The build instructions for binutils and gcc
-------------------------------------------
First a warning that you need a bit of free disk space (all numbers
rounded up):
Sizes Download Build Installed
---------------------------------------------------------------------
binutils 5.7MB 49MB 15MB
gcc 8.4MB 52MB 7MB
gcc patches 4kB n/a n/a
If you want to use an installation directory different from /usr/local,
e.g. /scratch/psion/xdev:
- mkdir /scratch/psion/xdev
- update PATH (maybe change .profile or such too) to include
/scratch/psion/xdev/bin
- use the --prefix options
Otherwise, _don't_ use any --prefix
Build binutils:
- get
ftp://ftp.varesearch.com/pub/support/hjl/binutils/binutils-2.9.1.0.25.tar.gz
- tar xfz binutils-2.9.1.0.25.tar.gz
- cd binutils-2.9.1.0.25
- ./configure --target=arm-linux --prefix=/scratch/psion/xdev
- make
- make install
If short on space, rm -rf binutils-2.9.1.0.25 now. If very short on
space, rm binutils-2.9.1.0.25.tar.gz too.
Make kernel headers accessible:
- install the Linux-7k kernel source tree, with all patches, etc. (But
don't try to compile anything yet.) For details, see README in
ftp://lrcftp.epfl.ch/pub/people/almesber/psion/boot-12.tar.gz
- cd to the kernel source top-level directory
- make symlinks
- cd /scratch/psion/xdev (or wherever you want to install the build tools)
- mkdir arm-linux/include
- ln -s /wherever-your-kernel-is/include/{linux,asm} arm-linux/include
Build gcc:
- get the following files
ftp://egcs.cygnus.com/pub/egcs/snapshots/1999-06-23/egcs-core-19990623.tar.gz
ftp://ftp.netwinder.org/users/p/philb/gcc-2.95-diff-990623.gz
ftp://lrcftp.epfl.ch/pub/people/almesber/psion/egcs-19990623-xdev-1b.patch.gz
- be sure to have bison and autoconf installed
- tar xfz egcs-core-19990623.tar.gz
- cd egcs-19990623/gcc/config/arm
- zcat ../../../../gcc-2.95-diff-990623.gz | patch -s
- cd ../../..
- zcat ../egcs-19990623-xdev-1b.patch.gz | patch -p1 -s
- if very short on space, rm ../egcs-core-19990623.tar.gz now
- ./configure --target=arm-linux --prefix=/scratch/psion/xdev --disable-threads
- make cross
It will stop after a while with with
make[1]: *** No rule to make target `c++', needed by `native'. Stop.
make[1]: Leaving directory `/scratch/psion/xdev-1/egcs-19990623/gcc'
make: *** [cross] Error 2
- cd gcc
- make stmp-int-hdrs
- cd ..
- make install LANGUAGES=c
This one should finish without errors.
If short on space, cd .. && rm -rf egcs-19990623 now.
Removing non-essential files (saves ~3.8 MB):
- cd /scratch/psion/xdev
- rm -rf man info lib/*a
--
_________________________________________________________________________
/ Werner Almesberger, ICA, EPFL, CH [EMAIL PROTECTED] /
/_IN_R_131__Tel_+41_21_693_6621__Fax_+41_21_693_6610_____________________/
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]