亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

HOWTO build arm-linux toolchain for ARM/XSCALE

2019-11-18 11:28:26
字體:
來源:轉載
供稿:網友

  These instrUCtions document how to build an arm-linux tool chain
that contains both little-endian and big-endian target libraries.


1. Packages used:

    binutils-2.14.tar.gz
    gcc-3.3.2.tar.gz
    glibc-2.2.5.tar.gz
    glibc-linuxthreads-2.2.5.tar.gz


2. binutils-2.14

   tar xvzf binutils-2.14.tar.gz
   cd binutils-2.14
   mkdir arm-linux
   cd arm-linux
   ../configure --target=arm-linux

   vi ld/earmelf_linux.c
     - add a new SERACH_DIR line for every current SERACH_DIR line in file
SEARCH_DIR(/"/usr/local/arm-linux/lib/be/");/n/

   make
   make install
   chmod 777 /usr/local/arm-linux


3. gcc-3.3.2

   tar xvzf gcc-3.3.2.tar.gz
   cd gcc-3.3.2
   cp $(ATTACHED t-linux file) gcc/config/arm/
   mkdir arm-linux
   cd arm-linux
   ../configure --target=arm-linux --disable-shared --disable-threads /
--with-headers=linux-2.4.x/include /
--with-gnu-as --with-gnu-ld --enable-multilib --enable-languages=c
   make install


4. glibc-2.2.5 (big-endian)

   tar xvzf glibc-2.2.5.tar.gz
   cd glibc-2.2.5
   tar xvzf glibc-linuxthreads-2.2.5.tar.gz

   perl -pi -e 's/i386/arm*)/n/tlibc_cv_gcc_unwind_find_fde=yes/n/tarch_minimum_kernel=2.0.10/n/t;;/n   i386/' sysdeps/unix/sysv/linux/configure
   perl -pi -e 's/weak_alias /(__old_sys_nerr///// $&/' sysdeps/unix/sysv/linux/arm/errlist.c
   vi linuxthreads/sysdeps/pthread/pthread.h
      - change line 163, "__thread" -> "__thr"
      - change line 591, "__thread" -> "__thr"
   vi linuxthreads/internals.h
      - change line 555, "__thread" -> "__thr"
   vi linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h
      - change line 36, "__thread" -> "__thr"
   vi stdio-common/sPRintf.c
      - line 30, change to "sprintf(char *s, const char *format, ...)"
   vi stdio-common/sscanf.c
      - line 30, change to "sscanf(const char *s, const char *format, ...)"
   vi sysdeps/unix/sysv/linux/arm/sysdep.h
      - line 134, remove "a1" from clobber list
   vi sysdeps/arm/dl-machine.h
      - add '/n/' to end of all macro asm lines (there is a _lot_ of them)

   vi config.make.in
      - change "slibdir=@...@" to "slibdir=@libdir@"

   mkdir arm-linux
   cd arm-linux
   CC="arm-linux-gcc -mbig-endian -finline-limit=10000" /
   AS="arm-linux-as -mbig-endian" /
   LD="arm-linux-ld -EB" /
   ../configure --host=arm-linux --build=i686-pc-linux-gnu /
--with-headers=linux-2.4.x/include /
--enable-add-ons --enable-shared --prefix=/usr/local/arm-linux /
--libdir=/usr/local/arm-linux/lib/be
   make
   make install


5. glibc-2.2.5 (little-endian)

   tar xvzf glibc-2.2.5.tar.gz
   cd glibc-2.2.5
   tar xvzf glibc-linuxthreads-2.2.5.tar.gz

   [ Apply same fixes as above ]

   mkdir arm-linux
   cd arm-linux
   CC="arm-linux-gcc -finline-limit=10000" /
   AS="arm-linux-as" /
   LD="arm-linux-ld" /
   ../configure --host=arm-linux --build=i686-pc-linux-gnu /
--with-headers=linux-2.4.x/include /
--enable-add-ons --enable-shared --prefix=/usr/local/arm-linux
   make
   make install


6. gcc-3.3.2 (c++, etc)

   tar xvzf gcc-3.3.2.tar.gz
   cd gcc-3.3.2

   cp $(ATTACHED t-linux file) gcc/config/arm/
   vi gcc/config/arm/t-linux 
      - remove all "-Dinhibit_libc" occruances

   mkdir arm-linux
   cd arm-linux
   ../configure --target=arm-linux --disable-shared /
--with-headers=linux-2.4.x/include /
--with-gnu-as --with-gnu-ld --enable-multilib
   perl -pi -e 's/int namelen/unsigned int namelen/' ../libjava/java/net/natInetAddress.cc
   make
   make install


7. cd /
   tar cvzf /tmp/arm-linux-tools-xxxxxxxx.tar.gz /usr/local/arm-linux /
/usr/local/lib/gcc-lib/arm-linux /usr/local/include/c++/3.3.2 /
/usr/local/bin/arm-linux-* /usr/local/bin/genext2fs


------------------------------------------------------------------------------

APPENDIX A  --  modified t-linux for gcc-3.3.2

------------------------------------------------------------------------------
# Just for these, we omit the frame pointer since it makes such a big
# difference.  It is then pointless adding debugging.
TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC -Dinhibit_libc -D__gthr_posix
LIBGCC2_DEBUG_CFLAGS = -g0

# Don't build enquire
ENQUIRE=

LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx

# MULTILIB_OPTIONS = mhard-float/msoft-float
# MULTILIB_DIRNAMES = hard-float soft-float
MULTILIB_OPTIONS = mlittle-endian/mbig-endian
MULTILIB_DIRNAMES = le be

# If you want to build both APCS variants as multilib options this is how
# to do it.
# MULTILIB_OPTIONS += mapcs-32/mapcs-26
# MULTILIB_DIRNAMES += apcs-32 apcs-26

EXTRA_MULTILIB_PARTS = crtbegin.o crtbeginS.o crtend.o crtendS.o crti.o crtn.o

LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
T_CFLAGS = -Dinhibit_libc -D__gthr_posix_h

# Assemble startup files.
$(T)crti.o: $(srcdir)/config/arm/crti.asm $(GCC_PASSES)
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) /
  -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/arm/crti.asm

$(T)crtn.o: $(srcdir)/config/arm/crtn.asm $(GCC_PASSES)
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) /
  -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/arm/crtn.asm
------------------------------------------------------------------------------

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91色视频在线观看| 久久这里只有精品视频首页| 久久精品青青大伊人av| 成人在线中文字幕| 欧美专区在线播放| 国产精品白嫩初高中害羞小美女| 日韩av在线免费| 日韩高清电影免费观看完整| 亚洲人成人99网站| 国产精品色视频| 国产999精品久久久| 成人久久久久久| 1769国产精品| 91精品国产777在线观看| 91高清视频在线免费观看| 国产成人精品日本亚洲专区61| 国产精品久久久久久av下载红粉| 欧美大荫蒂xxx| 日韩久久午夜影院| 欧美精品做受xxx性少妇| 欧美夫妻性生活xx| 日韩中文字幕在线播放| 日本久久久久久久久久久| 亚洲一级一级97网| 亚洲国产精品va在线观看黑人| 最新国产精品拍自在线播放| 国产欧美在线视频| 欧美激情va永久在线播放| 中国日韩欧美久久久久久久久| 高清欧美一区二区三区| 亚洲伊人一本大道中文字幕| 日韩亚洲欧美中文在线| 日本欧美中文字幕| 久久久久久久久久久成人| 91精品久久久久久久久| 国产成人精品在线视频| 国产精品草莓在线免费观看| 国产精品最新在线观看| 亚洲的天堂在线中文字幕| 欧美日韩免费观看中文| 国产区精品视频| 全色精品综合影院| 亚洲欧美国产精品专区久久| 国产亚洲成精品久久| 青青青国产精品一区二区| 国产做受高潮69| 欧美日韩中文字幕在线| 亚洲第一精品久久忘忧草社区| 亚洲成av人片在线观看香蕉| 亚洲va欧美va国产综合久久| 亚洲自拍欧美另类| 日本中文字幕成人| 中文字幕av一区二区三区谷原希美| 久久午夜a级毛片| 亚洲精品中文字幕av| 亚洲国产天堂久久国产91| 久久综合免费视频| 亚洲成av人片在线观看香蕉| 国产一区二区在线播放| 少妇高潮久久久久久潘金莲| 亚洲天堂男人天堂女人天堂| 亚洲人精选亚洲人成在线| 久久久久久久久久久久久久久久久久av| 久久综合网hezyo| 亚洲免费视频在线观看| 久久久在线免费观看| 国产精品免费视频xxxx| 亚洲女成人图区| 97**国产露脸精品国产| 在线精品91av| 国产欧美一区二区三区视频| 亚洲黄色在线观看| 91精品国产高清自在线| 亚洲免费视频一区二区| 日本高清不卡在线| 91中文字幕一区| 日日噜噜噜夜夜爽亚洲精品| 色综合五月天导航| 国产午夜精品视频| 亚洲午夜女主播在线直播| 亚洲欧洲在线播放| 欧美日韩福利在线观看| 色偷偷噜噜噜亚洲男人的天堂| 欧美日韩一区二区三区在线免费观看| 欧美日在线观看| 欧美大全免费观看电视剧大泉洋| 欧美日韩国产成人在线观看| 日韩人在线观看| 国产精品尤物福利片在线观看| 日韩精品视频在线免费观看| 一级做a爰片久久毛片美女图片| 久久久久久亚洲精品不卡| 97精品在线视频| 久久久久久国产精品三级玉女聊斋| 欧美裸体视频网站| 久久精品成人欧美大片古装| 久久99久久99精品中文字幕| 成人写真视频福利网| 国产97人人超碰caoprom| 色视频www在线播放国产成人| 免费成人高清视频| 亚洲成人网av| 欧洲成人在线视频| 亚洲性生活视频在线观看| 久久精品国产99国产精品澳门| 国产一区二区动漫| 日韩激情视频在线| 久久人人爽亚洲精品天堂| 色综合色综合网色综合| 亚洲精品一区二三区不卡| 正在播放亚洲1区| 日韩精品中文字幕久久臀| 欧美专区国产专区| 国产精品亚洲片夜色在线| 欧美性生交大片免费| 欧美孕妇孕交黑巨大网站| 国产日韩av在线播放| 欧美交受高潮1| 川上优av一区二区线观看| 久久综合伊人77777蜜臀| 亚洲人成网站777色婷婷| 精品香蕉一区二区三区| 欧美高清视频一区二区| 久久影视三级福利片| 欧美性生交大片免费| 色偷偷综合社区| 久久天天躁狠狠躁夜夜躁| 在线观看国产成人av片| 这里只有精品视频在线| 亚洲乱亚洲乱妇无码| 91国内产香蕉| 一区二区欧美久久| 夜夜嗨av色综合久久久综合网| 日韩精品福利在线| 国产成人+综合亚洲+天堂| 日本欧美黄网站| 51久久精品夜色国产麻豆| 88国产精品欧美一区二区三区| 国产精品老牛影院在线观看| 久久青草精品视频免费观看| 亚洲自拍中文字幕| 日韩亚洲欧美中文在线| 久久艳片www.17c.com| 国产精品欧美风情| 亚洲国产精品女人久久久| 亚洲视频国产视频| 欧美疯狂xxxx大交乱88av| 日韩av最新在线| 日韩av片免费在线观看| 国产成人精品久久二区二区| 久久97精品久久久久久久不卡| 97国产精品人人爽人人做| 美女av一区二区三区| 国产亚洲精品久久久久久牛牛| 亚洲精品电影网| 久久久久久网址| 亚洲国产精品女人久久久| 久久九九精品99国产精品| 欧美在线观看网站| 国产成人avxxxxx在线看| 国a精品视频大全| 久久精品免费电影| 国产精品自拍视频| 亚洲男子天堂网|