您尚未登录。

楼主 # 2022-06-28 19:12:25

linux-xc
会员
注册时间: 2022-06-28
已发帖子: 29
积分: 51

荔枝派zero内核编译错误显示不支持汇编指令。

根据荔枝派zero文档要求:
安装交叉编译器:gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf
下载Linux源码: git clone https://github.com/Lichee-Pi/linux.git
下载的是 4.10.y 版本。

然后使用以下步骤时出现错误:

root@linux:/home/linux-zero-4.10.y# make ARCH=arm licheepi_zero_defconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/zconf.tab.o
In file included from scripts/kconfig/zconf.tab.c:2468:
scripts/kconfig/confdata.c: In function ‘conf_write’:
scripts/kconfig/confdata.c:773:19: warning: ‘%s’ directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
  773 |  sprintf(newname, "%s%s", dirname, basename);
      |                   ^~~~~~
scripts/kconfig/confdata.c:773:19: note: assuming directive output of 7 bytes
In file included from /usr/include/stdio.h:894,
                 from scripts/kconfig/zconf.tab.c:82:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output 1 or more bytes (assuming 4104) into a destination of size 4097
   38 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   39 |       __glibc_objsize (__s), __fmt,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   40 |       __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~
In file included from scripts/kconfig/zconf.tab.c:2468:
scripts/kconfig/confdata.c:776:20: warning: ‘.tmpconfig.’ directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
  776 |   sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid());
      |                    ^~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:894,
                 from scripts/kconfig/zconf.tab.c:82:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 13 and 4119 bytes into a destination of size 4097
   38 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   39 |       __glibc_objsize (__s), __fmt,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   40 |       __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#



root@linux:/home/linux-zero-4.10.y# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  CHK     include/generated/timeconst.h
  CHK     include/generated/bounds.h
  CHK     include/generated/asm-offsets.h
  CALL    scripts/checksyscalls.sh
  CC      init/main.o
  CHK     include/generated/compile.h
  CC      arch/arm/vfp/vfpmodule.o
  CC      init/do_mounts.o
  CC      arch/arm/vdso/vgettimeofday.o
/tmp/cczqJHNG.s: Assembler messages:
/tmp/cczqJHNG.s:69: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:97: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:356: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1036: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1049: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1064: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1087: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1102: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1121: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1136: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1159: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1174: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1197: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1248: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1261: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1275: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1299: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1317: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1337: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1357: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1381: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1396: 错误: selected processor does not support `isb ' in ARM mode
/tmp/cczqJHNG.s:1420: 错误: selected processor does not support `isb ' in ARM mode
make[1]: *** [scripts/Makefile.build:295:arch/arm/vfp/vfpmodule.o] 错误 1
make: *** [Makefile:988:arch/arm/vfp] 错误 2
make: *** 正在等待未完成的任务....
/tmp/ccj2gZFh.s: Assembler messages:
/tmp/ccj2gZFh.s:65: 错误: selected processor does not support `dmb ish' in ARM mode
/tmp/ccj2gZFh.s:79: 错误: selected processor does not support `isb ' in ARM mode
/tmp/ccj2gZFh.s:82: 错误: selected processor does not support `mrrc p15,1,r4,r5,c14' in ARM mode
/tmp/ccj2gZFh.s:98: 错误: selected processor does not support `dmb ish' in ARM mode
/tmp/ccj2gZFh.s:113: 错误: selected processor does not support `dmb ish' in ARM mode
/tmp/ccj2gZFh.s:206: 错误: selected processor does not support `dmb ish' in ARM mode
/tmp/ccj2gZFh.s:216: 错误: selected processor does not support `dmb ish' in ARM mode
/tmp/ccj2gZFh.s:235: 错误: selected processor does not support `dmb ish' in ARM mode
/tmp/ccj2gZFh.s:247: 错误: selected processor does not support `dmb ish' in ARM mode
/tmp/ccj2gZFh.s:316: 错误: selected processor does not support `dmb ish' in ARM mode
/tmp/ccj2gZFh.s:327: 错误: selected processor does not support `isb ' in ARM mode
/tmp/ccj2gZFh.s:330: 错误: selected processor does not support `mrrc p15,1,r6,r7,c14' in ARM mode
/tmp/ccj2gZFh.s:349: 错误: selected processor does not support `dmb ish' in ARM mode
make[1]: *** [scripts/Makefile.build:295:arch/arm/vdso/vgettimeofday.o] 错误 1
make: *** [Makefile:988:arch/arm/vdso] 错误 2
/tmp/ccdtSPkT.s: Assembler messages:
/tmp/ccdtSPkT.s:933: 错误: selected processor does not support `cpsid i' in ARM mode
/tmp/ccdtSPkT.s:1054: 错误: selected processor does not support `cpsid i' in ARM mode
/tmp/ccdtSPkT.s:1092: 错误: selected processor does not support `cpsie i' in ARM mode
/tmp/ccdtSPkT.s:1274: 错误: selected processor does not support `cpsie i' in ARM mode
make[1]: *** [scripts/Makefile.build:294:init/main.o] 错误 1
make[1]: *** 正在等待未完成的任务....
/tmp/ccqH5JuW.s: Assembler messages:
/tmp/ccqH5JuW.s:852: 错误: selected processor does not support `dmb ish' in ARM mode
/tmp/ccqH5JuW.s:859: 错误: architectural extension `mp' is not allowed for the current base architecture
/tmp/ccqH5JuW.s:860: 错误: selected processor does not support `pldw [r3]' in ARM mode
/tmp/ccqH5JuW.s:863: 错误: selected processor does not support `pld [r3]' in ARM mode
/tmp/ccqH5JuW.s:869: 错误: selected processor does not support `ldrex r2,[r3]' in ARM mode
/tmp/ccqH5JuW.s:871: 错误: selected processor does not support `strex r1,r2,[r3]' in ARM mode
/tmp/ccqH5JuW.s:876: 错误: selected processor does not support `dmb ish' in ARM mode
make[1]: *** [scripts/Makefile.build:294:init/do_mounts.o] 错误 1
make: *** [Makefile:988:init] 错误 2




以上
查阅了各大网站解释,
说是gcc版本过高,因此降为GCC-9.4.0,无效

最近编辑记录 linux-xc (2022-06-28 19:20:20)

离线

#1 2022-06-28 20:58:11

unturned3
会员
注册时间: 2020-07-01
已发帖子: 263
积分: 301

Re: 荔枝派zero内核编译错误显示不支持汇编指令。

是不是不小心哪里打开thumb模式了

离线

楼主 #2 2022-06-28 21:14:40

linux-xc
会员
注册时间: 2022-06-28
已发帖子: 29
积分: 51

Re: 荔枝派zero内核编译错误显示不支持汇编指令。

已自行解决。
问题的原因是Ubuntu 安装了多个版本的arm-linux-gnueabihf,手动卸载/删除关于arm-linux-gnueabihf的文件后重新安装即可

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn