国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
arm-linux-gcc 3.4.4
1. Linux下工作用戶及環(huán)境
Linux version 2.6.9-22.EL (bhcompile@porky.build.redhat.com) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 Mon Sep 19 18:20:28 EDT 2005
2. 設(shè)置環(huán)境變量,準(zhǔn)備源碼及相關(guān)補(bǔ)丁
2.1 設(shè)置環(huán)境變量
[xxxx@ ~]$ vi ~/.bashrc
export PATH=$PATH:/usr/local/arm/3.4.4/bin
【注意】如果你已經(jīng)安裝過arm-linux-gcc,并且已經(jīng)加入了環(huán)境變量中,將其從環(huán)境中去掉保證root用戶和xxxx用戶環(huán)境中沒有arm-linux-gcc
[xxxx@ ~]$ mkdir ctools
將準(zhǔn)備好的源碼及補(bǔ)丁存放在文件夾ctools中。
2.2 準(zhǔn)備源碼包
2.2.1 binutils  名稱:binutils-2.16.tar.gz
下載地址:http://ftp.gnu.org/gnu/binutils/binutils-2.16.tar.gz
2.2.2 gcc  名稱: gcc-3.4.4.tar.bz2
下載地址:http://ftp.gnu.org/gnu/gcc/gcc-3.4.4/gcc-3.4.4.tar.bz2
2.2.3 glibc  名稱: glibc-2.3.5.tar.gz和glibc-linuxthreads-2.3.5.tar.gz
下載地址:http://ftp.gnu.org/gnu/glibc/glibc-2.3.5.tar.gz
http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.3.5.tar.gz
2.2.4 linux kernel  名稱: linux-2.6.14.1.tar.bz2
下載地址:http://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.1.tar.bz2
2.2.5 gdb  名稱: gdb-6.4.tar.gz
下載地址:http://ftp.gnu.org/pub/gnu/gdb/gdb-6.4.tar.gz
2.3 準(zhǔn)備補(bǔ)丁
2.3.1 ioperm.c.diff
作用: 打修正ioperm()函數(shù)
下載地址:http://frank.harvard.edu/~coldwell/toolchain/ioperm.c.diff
2.3.2 flow.c.diff
作用: 修改gcc一處bug
下載地址:http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flow.c.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.563.4.2&r2=1.563.4.32.3.3 t-linux.diff
作用: 該補(bǔ)丁用于產(chǎn)生crti.o和crtn.o文件.
下載地址:http://frank.harvard.edu/~coldwell/toolchain/t-linux.diff
2.4 編譯GNU binutils
[xxxx@ ~]$ cd ctools
[xxxx@ ctools]$ mkdir BUILD
[xxxx@ ctools]$ tree -L 1
|-- BUILD
|-- binutils-2.16
|-- binutils-2.16.tar.gz
|-- flow.c.diff
|-- gcc-3.4.4
|-- gcc-3.4.4.tar.bz2
|-- gdb-6.4.tar.gz
|-- glibc-2.3.5
|-- glibc-2.3.5.tar.gz
|-- glibc-linuxthreads-2.3.5.tar.gz
|-- ioperm.c.diff
|-- linux-2.6.14.1.tar.bz2
`-- t-linux.diff
[xxxx@ ctools]$ tar zxvf binutils-2.16.tar.gz
[xxxx@ ctools]$ mkdir -p BUILD/binutils-2.16
[xxxx@ ctools]$ cd BUILD/binutils-2.16
[xxxx@ binutils-2.16]$ ../../binutils-2.16/configure --prefix=/usr/local/arm/3.4.4 --target=arm-linux --with-sysroot=/usr/local/arm/3.4.4/sysroot
[xxxx@ binutils-2.16]$ make
[xxxx@ binutils-2.16]$ su -m
[root@ binutils-2.16]# make install
[root@ binutils-2.16]# exit
[xxxx@ binutils-2.16]$
2.5 準(zhǔn)備內(nèi)核頭文件
2.5.1 使用當(dāng)前平臺(tái)的gcc編譯內(nèi)核頭文件
[xxxx@ binutils-2.16]$ cd ../../
[xxxx@ ctools]$
[xxxx@ ctools]$ tar jxvf ../btools/tchain3.4.4/linux-2.6.14.1.tar.bz2
[xxxx@ ctools]$ cd linux-2.6.14.1/
[xxxx@ linux-2.6.14.1]$ cp arch/arm/configs/smdk2410_defconfig  .config
選擇了一個(gè)配置文件smdk2410_defconfig,你可以根據(jù)你的需要選擇
[xxxx@ linux-2.6.14.1]$ make ARCH=arm menuconfig
System Type  --->
ARM system type (Samsung S3C2410)  --->
S3C24XX Implementations  --->
[ ] Simtec Electronics ANUBIS
[ ] Simtec Electronics BAST (EB2410ITX)
[ ] IPAQ H1940
[ ] Acer N30
[*] SMDK2410/A9M2410
[ ] SMDK2440
[ ] Thorcom VR1000
[ ] HP iPAQ rx3715
[ ] NexVision OTOM Board
[ ] NexVision NEXCODER 2440 Light Board
--- S3C2410 Boot
--- S3C2410 Setup
[ ] S3C2410 DMA support
(0) S3C2410 UART to use for low-level messages
--- Processor Type
--- Processor Features
[*] Support Thumb user binaries
[ ] Disable I-Cache
[ ] Disable D-Cache
[ ]   Force write through D-cache
退出時(shí)
Do you wish to save your new kernel configuration?
< Yes >      <  No  >
選擇Yes
[xxxx@ linux-2.6.14.1]$ make
2.5.2 復(fù)制內(nèi)核頭文件
[xxxx@ linux-2.6.14.1]$ su -m
[root@ linux-2.6.14.1]# mkdir -p /usr/local/arm/3.4.4/sysroot/usr/include
[root@ linux-2.6.14.1]# cp -a include/linux /usr/local/arm/3.4.4/sysroot/usr/include/linux
[root@ linux-2.6.14.1]# cp -a include/asm-arm /usr/local/arm/3.4.4/sysroot/usr/include/asm
[root@ linux-2.6.14.1]# cp -a include/asm-generic /usr/local/arm/3.4.4/sysroot/usr/include/asm-generic
[root@ linux-2.6.14.1]# exit
[xxxx@ linux-2.6.14.1]$
2.6 編譯glibc頭文件
[xxxx@ linux-2.6.14.1]$ cd ../
[xxxx@ ctools]$ tar zxvf glibc-2.3.5.tar.gz
[xxxx@ ctools]$ patch -d glibc-2.3.5 -p1 < ioperm.c.diff
[xxxx@ ctools]$ cd glibc-2.3.5
[xxxx@ glibc-2.3.5]$ tar zxvf  ../glibc-linuxthreads-2.3.5.tar.gz
[xxxx@ glibc-2.3.5]$ cd ..
[xxxx@ ctools]$ mkdir -p BUILD/glibc-2.3.5-headers
[xxxx@ ctools]$ cd BUILD/glibc-2.3.5-headers/
[xxxx@ glibc-2.3.5-headers]$ ../../glibc-2.3.5/configure --prefix=/usr --host=arm-linux --enable-add-ons=linuxthreads --with-headers=/usr/local/arm/3.4.4/sysroot/usr/include
[xxxx@ glibc-2.3.5-headers]$ su -m
[root@ glibc-2.3.5-headers]# make cross-compiling=yes install_root=/usr/local/arm/3.4.4/sysroot install-headers
[root@ glibc-2.3.5-headers]# touch /usr/local/arm/3.4.4/sysroot/usr/include/gnu/stubs.h
[root@ glibc-2.3.5-headers]# touch /usr/local/arm/3.4.4/sysroot/usr/include/bits/stdio_lim.h
[root@ glibc-2.3.5-headers]# exit
[xxxx@ glibc-2.3.5-headers]$
2.7 編譯gcc 第一階段
[xxxx@ glibc-2.3.5-headers]$ cd ../../
[xxxx@ ctools]$ tar jxvf gcc-3.4.4.tar.bz2
[xxxx@ ctools]$ patch -d gcc-3.4.4 -p1 < flow.c.diff
[xxxx@ ctools]$ patch -d gcc-3.4.4 -p1 < t-linux.diff
[xxxx@ ctools]$ mkdir -p BUILD/gcc-3.4.4-stage1
[xxxx@ ctools]$ cd BUILD/gcc-3.4.4-stage1/
[xxxx@ gcc-3.4.4-stage1]$ ../../gcc-3.4.4/configure --prefix=/usr/local/arm/3.4.4 --target=arm-linux --enable-languages=c --with-sysroot=/usr/local/arm/3.4.4/sysroot
【注意】不能加上--disable-shared
[xxxx@ gcc-3.4.4-stage1]$ make all-gcc
[xxxx@ gcc-3.4.4-stage1]$ su -m
[root@ gcc-3.4.4-stage1]# make install-gcc
[root@ gcc-3.4.4-stage1]# exit
[xxxx@ gcc-3.4.4-stage1]$
2.8 編譯完整的glibc
[xxxx@ gcc-3.4.4-stage1]$ cd ../../
[xxxx@ ctools]$ mkdir -p BUILD/glibc-2.3.5
[xxxx@ ctools]$ cd BUILD/glibc-2.3.5
[xxxx@ glibc-2.3.5]$ BUILD_CC=gcc CC=arm-linux-gcc AR=arm-linux-ar RANLIB=arm-linux-ranlib AS=arm-linux-as LD=arm-linux-ld ../../glibc-2.3.5/configure --prefix=/usr --build=i386-redhat-linux --host=arm-unknown-linux-gnu --target=arm-unknown-linux-gnu --without-__thread --enable-add-ons=linuxthreads --with-headers=/usr/local/arm/3.4.4/sysroot/usr/include
【說明】
--prefix:            指定安裝路徑。
--target:           指定目標(biāo)平臺(tái)。
--host:              指定當(dāng)前平臺(tái)。
--build:             指定編譯平臺(tái)。
--with-sysroot:      用于指定編譯所需要的頭文件,及鏈接庫。
--enable-add-ons:    加入其它的庫,如線程庫等。
--enable-languages:  指定gcc所支持的語言。
[xxxx@ glibc-2.3.5]$ make
[xxxx@ glibc-2.3.5]$ su -m
[root@ glibc-2.3.5]# make install_root=/usr/local/arm/3.4.4/sysroot install
[root@ glibc-2.3.5]# exit
[xxxx@ glibc-2.3.5]$
2.9 編譯完整的gcc
[xxxx@ glibc-2.3.5]$ cd ../../
[xxxx@ ctools]$ mkdir -p BUILD/gcc-3.4.4
[xxxx@ ctools]$ cd BUILD/gcc-3.4.4
[xxxx@ gcc-3.4.4]$../../gcc-3.4.4/configure --prefix=/usr/local/arm/3.4.4 --target= arm-linux --with-sysroot=/usr/local/arm/3.4.4/sysroot --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --with-softfloat-support=internal --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long
[xxxx@ gcc-3.4.4]$ make
[xxxx@ gcc-3.4.4]$ su -m
[root@ gcc-3.4.4]# make install
[root@ gcc-3.4.4]# exit
[xxxx@ gcc-3.4.4]$
[xxxx@ gcc-3.4.4]$ arm-linux-gcc -v
Reading specs from /usr/local/arm/3.4.4/lib/gcc/arm-linux/3.4.4/specsConfigured with: ../../gcc-3.4.4/configure --prefix=/usr/local/arm/3.4.4 --target=arm-linux --with-sysroot=/usr/local/arm/3.4.4/sysroot --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --with-softfloat-support=internal --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 3.4.4
[xxxx@ gcc-3.4.4]$ cd /usr/local/arm/3.4.4/
[xxxx@ 3.4.4]$ tree -L 1
|-- arm-linux
|-- bin
|-- include
|-- info
|-- lib
|-- libexec
|-- man
|-- share
`-- sysroot
[xxxx@ 3.4.4]$ du -sh
193M    .
[xxxx@ 3.4.4]$ ls bin/
arm-linux-addr2line  arm-linux-c++filt  arm-linux-gcc-3.4.4  arm-linux-nm       arm-linux-readelf
arm-linux-ar         arm-linux-cpp      arm-linux-gccbug     arm-linux-objcopy  arm-linux-size
arm-linux-as         arm-linux-g++      arm-linux-gcov       arm-linux-objdump  arm-linux-strings
arm-linux-c++        arm-linux-gcc      arm-linux-ld         arm-linux-ranlib   arm-linux-strip
2.11 編譯主機(jī)上運(yùn)行的gdb
[xxxx@ 3.4.4]$ cd ~/ctools/
[xxxx@ ctools]$ tar zxvf gdb-6.4.tar.gz
[xxxx@ ctools]$ mkdir -p BUILD/gdb-6.4-host
[xxxx@ ctools]$ cd  BUILD/gdb-6.4-host
[xxxx@ gdb-6.4-host]$ export CC=gcc
[xxxx@ gdb-6.4-host]$ ../../gdb-6.4/configure --target=arm-linux
[xxxx@ gdb-6.4-host]$ make
[xxxx@ gdb-6.4-host]$ file gdb/gdb
gdb/gdb: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs), for GNU/Linux 2.2.0, not stripped
2.12建立目標(biāo)平臺(tái)上運(yùn)行的gdbserver
[xxxx@ 3.4.4]$ cd ../../
[xxxx@ ctools]$ mkdir -p BUILD/ gdbserver-6.4
[xxxx@ ctools]$ cd  BUILD/gdbserver-6.4
[xxxx@ gdbserver-6.4]$ export CC=/usr/local/arm/3.4.4/bin/arm-linux-gcc
[xxxx@ gdbserver-6.4]$ ../../gdb-6.4/gdb/gdbserver/configure --host=arm-linux
[xxxx@ gdbserver-6.4]$ make
[xxxx@ gdbserver-6.4]$ file gdbserver
gdbserver: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), for GNU/Linux 2.0.0, not stripped
3. GNU交叉工具鏈的下載
工具鏈的官方下載地址:http://www.arm.linux.org.uk/
可以從該站點(diǎn)下載2.95.3, 3.0以及3.2工具鏈:
ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain/cross-2.95.3.tar.bz2
ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain/cross-3.0.tar.bz2
ftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.3.2.tar.bz2
ftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2
http://ftp.snapgear.org/pub/snapgear/tools/arm-linux/gcc-3.4.4.tar.bz2
http://blog.chinaunix.net/u2/70592/article_87727.html
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
交叉編譯gcc
Building a GNU/Linux ARM Toolchain (from scratch)
交叉編譯git
Golang Android 開發(fā)
嵌入式Linux系列第17篇:移植OpenCV
手工制作最新版arm-linux交叉工具鏈(ubuntu 9.04)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服