I followed Chris Rutter's page, but ended up with a
native compiler.
what I did so far:
system: i486 PC + redhat linux 6.0
target: arm-elf
used files:
bzip2 (http://sourceware.cygnus.com/bzip/index.html)
binutils-2.9.5.0.14.tar.bz2
linux-2.2.13.tar.gz
patch-2.2.13.rmk1.gz
gcc-core-2.95.1.tar.gz
gcc-2.95-diff-990730.gz
gcc-fold-const.patch
--- bzip2: ---
copy: bzip2 to: /bin
rename: bzip2 to: bzcat
--- binutils(no patch used): ---
created dir: /usr/arm-linux (=target-prifix, niet
gebruikt??)
copy: binutils-2.9.5.0.14.tar.bz2 to: /usr/src
bzcat binutils-2.9.5.0.14.tar.bz2 | tar xf -
cd /usr/src/binutils-2.9.5.0.14
./configure --target=arm-elf --prefix=/usr
make
make install
(delete: binutils-2.9.5.0.14.tar.bz2 ?)
--- gcc kernel headers: ---
create dir: /usr/src2
copy: linux-2.2.13.tar.gz to: /usr/src2
gzip -d linux-2.2.13.tar.gz | tar xf -
tar -xf linux-2.2.13.tar
delete: linux-2.2.13.tar (=64000000 bytes?)
--- patch linux kernel: ---
copy: patch-2.2.13.rmk1.gz to: /usr/src2/linux
cd /usr/src2/linux
gzip -d patch-2.2.13.rmk1.gz
patch -p1 < patch-2.2.13.rmk1
delete: patch-2.2.13.rmk1
copy: linux_2.2.13rmk1-cvs991228.diff.bz2 to
/usr/src2/linux
bzcat linux_2.2.13rmk1-cvs991228.diff.bz2 >
linux_2.2.13rmk1-cvs991228.diff
delete: linux_2.2.13rmk1-cvs991228.diff.bz2
patch -p1 < linux_2.2.13rmk1-cvs991228.diff
(one file not found-> skip, one file alredy patched
-> y)
delete: linux_2.2.13rmk1-cvs991228.diff
--- edit the Makefile: ---
edit: /usr/src2/linux/Makefile: ARCH = arm
make menuconfig
system and processortype = EBSA-110
[*] include support for intel EBSA285
[*] include support for chalice cats boards
[*] include support for rebel.com netwinder
make dep
cd /usr/arm-elf
mkdir include
cp -dR /usr/src2/linux/include/asm-arm
/usr/arm-elf/include/asm
cp -dR /usr/src2/linux/include/linux
/usr/arm-elf/include/linux
--- GCC: (A) ---
(where to unpack and install GCC ?, I used: /gcc/ )
mkdir /gcc
copy: gcc-core-2.95.1.tar.gz to: /gcc
gzip -d gcc-core-2.95.1.tar.gz | xf - (xf=not
ok?)
tar -xf gcc-core-2.95.1.tar
delete: gcc-core-2.95.1.tar
--- patch GCC: (A) ---
copy: gcc-2.95-diff-990730.gz to: /gcc/gcc-2.95.1
gzip -d gcc-2.95-diff-990730.gz
patch -p1 < gcc-2.95-diff-990730 (4 times: file
not found -> skip)
at this point the gcc-fold-const.patch did not work,
(I used: patch -p1 < .. in stead of: patch -p0 < ..
??)
I could not find "#if 0" in linux-elf.h
so: I deleted the complete /gcc/ directory and started
on plan B:
--- GCC: (B) ---
(this time in /usr/src2/ )
copy: gcc-core-2.95.1.tar.gz to: /usr/src2
gzip -d gcc-core-2.95.1.tar.gz | xf - (xf=not
ok?)
tar -xf gcc-core-2.95.1.tar
delete: gcc-core-2.95.1.tar
--- patch GCC: (B) ---
cd /usr/src2/gcc-2.95.1
copy: gcc-2.95-diff-990730.gz to:
/usr/src2/gcc/gcc-2.95.1
gzip -d gcc-2.95-diff-990730.gz
patch -p0 < gcc-2.95-diff-990730
delete: gcc-2.95-diff-990730
cd /usr/src2/gcc-2.95.1/gcc
copy: gcc-fold-const.patch to:
/usr/src2/gcc/gcc-2.95.1/gcc
patch -p0 < gcc-fold-const.patch
delete: gcc-fold-const.patch
--- configure GCC: (B) ---
cd /usr/src2/gcc-2.95.1
./configure --with-cpu-strongarm110
edit: linux-elf.h: #if 0 --> #if 1
make LANGUAGES="c" (--> libgcc2.a error, fatal
signal 7)
edited file as in: "dinhibit-libc hack"
./configure --with-cpu-strongarm110 --disable-threads
make LANGUAGES="c" (--> o.k.)
make LANGUAGES="c" install (--> o.k.)
gcc -dumpversion : egcs-2.91.66 ( old redhat
native compiler )
gcc -dumpmachine : i386-redhat-linux ( in: /usr/bin/
)
./gcc -dumpversion: 2.95.1 ( new (cross?)
compiler )
./gcc -dumpmachine: i486-PC-linux.gnu ( in:
/usr/local/bin/ )
Can someone tell me why it ended up as a native
compiler ?
(I probably missed some patch ?)
jaap.
[EMAIL PROTECTED]
__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://im.yahoo.com
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]
++ Please use [EMAIL PROTECTED] for ++
++ kernel-related discussions. ++