Ubuntu Linux上编译kernel出错__stack_chk_fail

发布时间:2008-02-06 00:02:18来源:红联作者:SMuonon

init/built-in.o: In function `try_name':

do_mounts.c.text+0x5e3):对‘__stack_chk_fail’未定义的引用

init/built-in.o: In function `name_to_dev_t':

(.text+0x8cb):对‘__stack_chk_fail’未定义的引用

init/built-in.o: In function `change_floppy':

(.init.text+0xa11):对‘__stack_chk_fail’未定义的引用

init/built-in.o: In function `mount_block_root':

(.init.text+0xca7):对‘__stack_chk_fail’未定义的引用

init/built-in.o: In function `do_header':

initramfs.c.init.text+0x4343):对‘__stack_chk_fail’未定义的引用

arch/i386/kernel/built-in.o.text+0x54c6): more undefined references to `__stack_chk_fail' follow

make[1]: *** [.tmp_vmlinux1] 错误 1

make[1]: Leaving directory `/usr/src/linux-2.6.17.10'

make: *** [debian/stamp-build-kernel] 错误 2

在顶层的Makefile里找到CFLAGS然后添加-fno-stack-protector标志!

其实这是传给GCC的一个编译选项。

-fno-stack-protector参数用来disable Stack-smashing protection

Ubuntu 6.10中,gcc默认用-fstack-protector参数进行编译,很不友好的东东

对于调试程序也不方便,因为在程序down掉的时候不会产生coredump,只会产生下面的东东

Program received signal SIGABRT, Aborted.

0xffffe410 in __kernel_vsyscall ()

尽可能不要用GCC 4.2来编译老的程序,4.2之后又有比较严格的C标准的验证,很麻烦

GCC 4.2的问题在于:

在4.2下用默认编译选项

int main()

{

char *t = "Testing!";

fprintf(stdout,"%s",t);

return 0;

}

warning: deprecated conversion from string constant to ‘char*’

只要把 char * 改成 static const char * 的话这个 Warning 就不会出现了。估计是新一代的 GCC 怕程序员在代码中用了 char * 时又不注意的话容易出现越界操作的错误,所以给出个小小的 warning 来。

linux编译aborted,Ubuntu Linux上编译kernel出错__stack_chk_fail相关推荐

  1. ubuntu linux编译apt,Ubuntu Linux系统下apt-get命令详解

    整理了Ubuntu Linux操作系统下apt-get命令的详细说明,分享给大家. 常用的APT命令参数: apt-cache search package 搜索包 apt-cache show pa ...

  2. c程序在solaris与linux的不同,在Solaris上编译应用程序时,在Linux上使用Valgrind也会有所帮助吗?...

    我编写了一个注定要在Solaris SPARC系统上的C应用程序.但是,我的大部分开发工作都是在Mint Linux 64位计算机上进行的. 我已经看到内存泄漏很小,并且一直在Linux上使用Valg ...

  3. linux的驱动模块,ubuntu linux 驱动模块的使用

    ubuntu linux 驱动模块的使用 发布时间:2007-05-07 00:50:16来源:红联作者:Bnciwoz linux是基于模块的,所有的驱动都是模块化的: 管理模块的命令: 1. 列出 ...

  4. linux校园网客户端,Ubuntu Linux环境下校园网客户端安装使用

    最近发现好多兄弟姐妹不用Linux原因是在我们学校大大环境下上校园网有点费劲,或者干脆就不会弄,亦或者根本就没想到上网^_^ 这里我写上这么一段简单的过程,为了大家能够顺利上网,大牛直接掠过,不要喷我 ...

  5. 移动硬盘备份linux系统盘,将Ubuntu Linux系统放到你的移动硬盘

    将Ubuntu Linux系统放到你的移动硬盘 作者:佚名 来源:网络整理 2008-7-11 1.用livecd启动,插上移动硬盘,然后一切安正常的安装步骤进行,只是选择安装目标时选择你的移动硬盘, ...

  6. linux 圣经软件,Ubuntu(Linux)下好用的中文圣经

    其他系统有很多圣经软件.Ubuntu上,有个Xiphos是个不错的圣经软件,有好多不同的语言,但好像没有中文. 感谢主,我今天新发现了一个支持中文的圣经软件,介绍一直安装步骤.这个名叫中英文圣经 CE ...

  7. 树莓派指定python2编译_在树莓派上编译安装ROS2

    最新编译方式已经修改,请参考官网最新文档: ------------------------------------下文已经过时 仅供参考------------------------------- ...

  8. 树莓派能不能兼容linux,树莓派威武-Ubuntu Linux将会兼容所有树莓派产品

    Canonical已发布了路线图,在其最新的Ubuntu Server和Ubuntu Core操作系统上正式支持树莓派 4单板电脑.上个月,当它发布Ubuntu 19.10(Eoan Ermine)操 ...

  9. 魔改linux教程,[经验]Ubuntu Linux 魔改手册

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? https://bluedone.github.io/https://bluedone.github.io/https: ...

最新文章

  1. 聊聊Mysql的那些破事儿
  2. c#子线程线程中操作窗体更新的报错
  3. (七)深入浅出TCPIP之深入浅出TCPIP之TCP重传机制
  4. python爬取网页文本_手把手教你如何用Python爬取网站文本信息
  5. pandas 作图 统计_Pandas数据可视化工具——Seaborn用法整理(下)
  6. 哪里有好用的电脑pdf编辑器免费版
  7. ld.exe: cannot find -l?eclipse上用C/C++时,如何链接静态库?
  8. kafka 偏移量latest、earliest
  9. HTML的head,头头头头!!!
  10. 【小y设计】二维码条形码打印编辑器
  11. Easy-x的基础教程使用介绍
  12. 牛逼!腾讯竟然打响了反对996的第一枪....
  13. canal 记录 数据变更类型 QUERY ROWDATA INSERT xxx XXXXX
  14. 苹果更新提示:已接入无线局域网却提示需要接入
  15. 【重参数化】《Diverse Branch Block: Building a Convolution as an Inception-like Unit》 2021
  16. JAVA实训项目:银行网银系统管理平台(含源码)
  17. 点击滑动(slideToggle)
  18. java学习笔记:全部,txt版本
  19. 手写Java动态代理
  20. iphone android换机助手下载,腾讯换机助手手机最新版 目前最好用的安卓/苹果一键换机工具...

热门文章

  1. bios无cfg lock的情况如何disable cfg lock
  2. [JAVA]用数学解释数组移步问题(新增对链表移步的解释)
  3. 原创安卓手机QQ7.0登录界面动态背景视频实现方案
  4. hex文件格式剖析,以及hex与bin文件互相转换
  5. Ruby+Selenium demo
  6. Azure Information Protection信息保护(AIP)/Azure Rights Management权限管理(RMS)
  7. 学习笔记——LED跑马灯
  8. 编写Makefile:编译当前文件夹以及子文件夹下所有的ccpp文件并生成可执行文件
  9. js的变量命名需要遵循什么规则?
  10. cocos2d-x Touch触屏事件