OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4589|回复: 4

Uboot和内核编译时提示警告信息是什么原因

[复制链接]

3

主题

7

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2018-6-30
在线时间
8 小时
发表于 2020-7-30 10:04:49 | 显示全部楼层 |阅读模式
1金钱
ubuntu 20.04 编译 uboot 和内核时候 执行默认配置命令  都会有一些警告信息   这个问题在ubuntu16.04中没有  哪位大神 知道这属于什么原因造成的? 有什么解决方法没有?
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_alientek_emmc_defconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
In file included from scripts/kconfig/zconf.tab.c:2534:
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:867,
                 from scripts/kconfig/zconf.tab.c:84:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:10: note: ‘__builtin___sprintf_chk’ output 1 or more bytes (assuming 4104) into a destination of size 4097
   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   37 |       __bos (__s), __fmt, __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from scripts/kconfig/zconf.tab.c:2534:
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:867,
                 from scripts/kconfig/zconf.tab.c:84:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:10: note: ‘__builtin___sprintf_chk’ output between 13 and 4119 bytes into a destination of size 4097
   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   37 |       __bos (__s), __fmt, __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#


最佳答案

查看完整内容[请看2#楼]

编译器 按照教程给的 版本 只是 ubuntu 是20.04 环境 但是在16.04环境下没有这个提示
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

7

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2018-6-30
在线时间
8 小时
 楼主| 发表于 2020-7-30 10:04:50 | 显示全部楼层
无忧花开 发表于 2020-8-1 15:33
这个不会吧?你编译器用的什么版本

编译器 按照教程给的 版本  只是 ubuntu 是20.04 环境  但是在16.04环境下没有这个提示
回复

使用道具 举报

0

主题

144

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
442
金钱
442
注册时间
2019-5-16
在线时间
143 小时
发表于 2020-7-30 14:47:32 | 显示全部楼层
那就用Ubuntu16吧
回复

使用道具 举报

0

主题

134

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
301
金钱
301
注册时间
2020-5-8
在线时间
20 小时
发表于 2020-8-1 15:33:03 | 显示全部楼层
这个不会吧?你编译器用的什么版本
回复

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2019-10-16
在线时间
17 小时
发表于 2020-10-23 20:28:43 | 显示全部楼层
是因为在confdata.c 771行,sprintf(newname, "%s%s", dirname, basename);中 newname的大小和dirname的大小相等,然后将dirname和basename中的数据写到newname中,编译器提示数据溢出,第774行也是同样的问题.@ubuntu12
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 18:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表