编译系统内核 -fno-stack-protector

在编译于渊的《Orange’s 一个操作系统实现》中的源代码时, 经常提示:

klib.c:(.text+0xe5): undefined reference to __stack_chk_fail' make: *** [kernel.bin] Error 1

这是由于GCC中的编译器堆栈保护机制造成,编译时禁掉就可以。

解决方案:

在CFLAGS后面加上-fno-stack-protector

发表评论

电子邮件地址不会被公开。 必填项已用*标注

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax