首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

一套完整的ARM交叉编译环境的搭建过程(7)

一套完整的ARM交叉编译环境的搭建过程(7)

2)[ALL ]     mawk: scripts/gen-sorted.awk: line 19: regular expression compile failed (bad class -- [], [^] or [)

   [ALL ]     /[^

   [ALL ]     mawk: scripts/gen-sorted.awk: line 19: syntax error at or near ]

   [ALL ]     mawk: scripts/gen-sorted.awk: line 19: runaway regular expression /, "", subd ...

在gen-sorted.awk第19行,出错,这是一个简单的错误,缺少了转义符

解决办法:

  查找一个看有没有类似的

  cd /tmp/crosstool-ng/targets/src/glibc-cvs-2.9/scripts

sed '/\^\//p' gen-sorted.awk -n

输出的则是存在语法错误的语句

可以直接用

sed -i 's/\^\//\^\\\//g' gen-sorted.awk

  这种方法不完善,后面的还是会出现错误。

网上搜了下,需要用/usr/bin/gawk 替换/usr/bin/mawk,即

   sudo apt-get install gawk

   cd /usr/bin

   sudo mv mawk mawk.bak

   sudo ln -s gawk mawk



3)../ports/sysdeps/unix/sysv/linux/arm/sigrestorer.S:30: Error: previous CFI entry not closed (missing .cfi_endproc)

解决方法:

root@fedora:/opt/embedded/build-tools/build-glibc# vi ../glibc-2.13/ports/sysdeps/unix/sysv/linux/arm/sigrestorer.S

找到如下行:

ENTRY(__default_sa_restorer)

在其下添加:

END(__default_sa_restorer)

找到如下行:

ENTRY(__default_rt_sa_restorer)

在其下添加:

END(__default_rt_sa_restorer)



4)继续make编译

root@fedora:/opt/embedded/build-tools/build-glibc# make

编译出错:

../sysdeps/unix/syscall-template.S:82: Error: CFI instruction used without previous .cfi_startproc

解决方法:

root@fedora:/opt/embedded/build-tools/build-glibc# vi ../glibc-2.13/sysdeps/unix/syscall-template.S

找到如下行:



#define T_PSEUDO(SYMBOL, NAME, N)                PSEUDO (SYMBOL, NAME, N)

在其上添加:

#define PSEUDO(name, syscall_name, args)   \

  .text;                                \

  ENTRY (name);                        \

    DO_CALL (syscall_name, args);         \

    cmn r0, $4096;
继承事业,薪火相传
返回列表