kernel/kconfigでの依存性サイクルの追跡

kernel/kconfigでの依存性サイクルの追跡

Linuxカーネルのkconfig設定で依存関係のサイクルを追跡したいと思います。

gcc-6.3でコンパイルすると、問題なく次のことができます。

$ make ARCH=powerpc custom_defconfig
$ make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu-

ところでもうgcc-8.2バージョンでもう一度試してみると何か新しいものが触発されるようだ。代わりに、私は次のようになります。

$ make ARCH=powerpc custom_defconfig
$ make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu-
  GEN     Makefile
scripts/kconfig/conf  --syncconfig Kconfig
*
* Restart config...
*
*
* General architecture-dependent options
*
OProfile system profiling (OPROFILE) [M/n/y/?] m
Kprobes (KPROBES) [Y/n/?] y
Optimize very unlikely/likely branches (JUMP_LABEL) [N/y/?] n
Stack Protector buffer overflow detection (STACKPROTECTOR) [Y/n/?] (NEW) 

もちろん、custom_defconfig最小化を確認しました(savedefconfig実行と違いはありません)。だからkconfigオプションで何らかのループをトリガーしているようです。カーネル管理者に正確な情報を報告できるように、これをどのように追跡しますか?

ベストアンサー1

依存関係のサイクルがなく、単にユーザーエラーであり、正しい手順は、構成とビルドの両方で同じコンパイラーを使用することです。たとえば、次のようになります。

$ make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- custom_defconfig
$ make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu-

おすすめ記事