Building a GCC PowerPC/Linux Cross Compiler For SPARC/Solaris[5]

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 huzancheng 的 blog

  • fix up
  • 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.

    1. cd <tool dir>/host/sparc-sun-solaris/powerpc-linux/
    2. rm -f include/asm
    3. rm -f include/linux
    4. rm -rf include/
    5. mv lib/ldscripts lib/nof lib/libstdc++-* <tool dir>/target/powerpc-linux-gnu/lib
    6. rm -f lib/ sys-include/
    7. ln -si <tool dir>/target/powerpc-linux-gnu/include include
    8. ln -si <tool dir>/target/powerpc-linux-gnu/lib lib
    9. ln -si include sys-include
    10. mkdir <tool dir>/target/powerpc-linux-gnu/include/asm
    11. mkdir <tool dir>/target/powerpc-linux-gnu/include/linux
    12. (cd <source dir>/linux/include/asm; tar cf - . | (cd <tool dir>/target/powerpc-linux-gnu/include/asm; tar xfbp -))
    13. (cd <source dir>/linux/include/linux; tar cf - . | (cd <tool dir>/target/powerpc-linux-gnu/include/linux; tar xfbp -))

  • test
  • 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 =>

    本文关键:Building a GCC PowerPC/Linux Cross Compiler For SPARC/Solaris
      相关方案
    Google
     

    本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

    go top