once you have successfully built and installed everything, there are a few minor fix ups that need to be done to complete the installation. the primary outcome of the following steps is to remove the duplicate copies of the target headers and libraries and to permanent copy in the linux headers. if you do not want to do this, you can safely skip this step.
- cd <tool dir>/host/sparc-sun-solaris/powerpc-linux/
- rm -f include/asm
- rm -f include/linux
- rm -rf include/
- mv lib/ldscripts lib/nof lib/libstdc++-* <tool dir>/target/powerpc-linux-gnu/lib
- rm -f lib/ sys-include/
- ln -si <tool dir>/target/powerpc-linux-gnu/include include
- ln -si <tool dir>/target/powerpc-linux-gnu/lib lib
- ln -si include sys-include
- mkdir <tool dir>/target/powerpc-linux-gnu/include/asm
- mkdir <tool dir>/target/powerpc-linux-gnu/include/linux
- (cd <source dir>/linux/include/asm; tar cf - . | (cd <tool dir>/target/powerpc-linux-gnu/include/asm; tar xfbp -))
- (cd <source dir>/linux/include/linux; tar cf - . | (cd <tool dir>/target/powerpc-linux-gnu/include/linux; tar xfbp -))
user@ultrasparc% pwd
/home/user
user@ultrasparc% uname -a
sunos ultrasparc 5.7 generic sun4u sparc
user@ultrasparc% cat > hello.c
#include <stdio.h>
int main (int argc, char *argv[])
{
printf("hello, %s!\n", argc >= 2 ? argv[1] : "world");
return (0);
}
user@ultrasparc% cat > hello.c
#include <iostream.h>
int main (int argc, char *argv[])
{
cout << "hello, " << ((argc >= 2) ? argv[1] : "world") << "!" << endl;
return (0);
}
user@ultrasparc% cat > hello.f
program hello
print*,'hello, world!'
end
user@ultrasparc% ~/linuxppc/dev/bin/powerpc-linux-gcc -dumpmachine
powerpc-linux
user@ultrasparc% ~/linuxppc/dev/bin/powerpc-linux-gcc -o helloc -s hello.c
user@ultrasparc% file helloc
hello-c: elf 32-bit msb executable powerpc version 1, dynamically linked, stripped
user@ultrasparc% ~/linuxppc/dev/bin/powerpc-linux-g++ -dumpmachine
powerpc-linux
user@ultrasparc% ~/linuxppc/dev/bin/powerpc-linux-g++ -o helloc -s hello.c
user@ultrasparc% file helloc
hello-c: elf 32-bit msb executable powerpc version 1, dynamically linked, stripped
user@ultrasparc% ~/linuxppc/dev/bin/powerpc-linux-g77 -dumpmachine
powerpc-linux
user@ultrasparc% ~/linuxppc/dev/bin/powerpc-linux-g77 -o hellof -s hello.f
user@ultrasparc% file hellof
hello-c: elf 32-bit msb executable powerpc version 1, dynamically linked, stripped
user@ultrasparc% rsh powermac
user@powermac% pwd
/home/user
user@powermac% uname -a
linux powermac 2.4.0-test12 #1 mon jan 8 12:34:22 cst 2001 ppc unknown
user@powermac% file helloc
hello: elf 32-bit msb executable, powerpc or cisco 4500, version 1, dynamically linked, stripped
user@powermac% file helloc
hello: elf 32-bit msb executable, powerpc or cisco 4500, version 1, dynamically linked, stripped
user@powermac% file hellof
hello: elf 32-bit msb executable, powerpc or cisco 4500, version 1, dynamically linked, stripped
user@powermac% ldd ./helloc
libc.so.6 => /lib/libc.so.6 (0x016be000)
/lib/ld.so.1 => /lib/ld.so.1 (0x30000000)
user@powermac% ldd ./helloc
libstdc++.so.2.9 => /usr/lib/libstdc++.so.2.9 (0x0175b000)
libm.so.6 => /lib/libm.so.6 (0x01783000)
libc.so.6 => /lib/libc.so.6 (0x01641000)
/lib/ld.so.1 => /lib/ld.so.1 (0x30000000)
user@powermac% ldd ./hellof
libm.so.6 => /lib/libm.so.6 (0x01783000)
libc.so.6 =>