0

Linux カーネルで ld オプション --fatal-warning をオンにしました。この機能をテストするために簡単なリンカー警告を生成するにはどうすればよいですか?

4

2 に答える 2

1
#include<stdio.h>

int main()
{

    printf("Run !!");
    static const char warning[] __attribute__((section(".gnu.warning.printf")))="My sweet linker warning";
    return 0;
}

これを test.c として保存します

これを使用してビルドする場合:

gcc -Wl,--fatal-warnings test.c -o my_exe

リンカーの警告を受け取り、「my_exe」を準備しません

今試してください:

gcc -Wl,--no-fatal-warnings test.c -o my_exe

この場合、警告はそのまま報告されますが、エラーとして扱われず、「my_exe」が用意されます。

「オン」とは正確に何を意味するのかわかりませんが、上記の動作が見られる場合は、問題ないと思います。

カーネルソースで何かをしている場合は、 printf をソースに既にある関数名に置き換える必要があります( .gnu.warning セクション名も変更します)

于 2013-04-12T19:48:03.747 に答える