A bug was recently found in the make localmodconfig where it would miss
dependencies of config files are include in other config files inside an if statement. Also added a debug print that helped in solving this bug. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQEcBAABAgAGBQJRfwGyAAoJEOdOSU1xswtMsfIIAJAHT1Zvp25mcKB/eQb9aTsy bTJObwRPKovIIEXpHK4142/5Fn6okI9fGWTUfyMMCaxPdt82bn5IUMAeA7N35jEA gvVMtYlYGTblb6vG0xd1pVifihsl4iXfFsDDeAYWDOqmdoWGh14FUpyj2PoL3L5j RYNjsy54sV9+WuY4+BWd56s21IES7VRgSjYa8AAx9VBqxgxPggGqidHaP5QYK+ah NfIklYFBpdUMi+0hGRN8HrWlToA+1XKa6Acc3oq+0A8cAZFab9OMd+XvOJrBAl80 kUSTY1Ga7MuccbwqLmRdUswjA+tWJ2EYdfS+Pf22UDqUgyGb93EAt7/eR6Ugexw= =YjLR -----END PGP SIGNATURE----- Merge tag 'localmodconfig-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-kconfig Pull localmodconfig changes from Steven Rostedt: "A bug was recently found in the make localmodconfig where it would miss dependencies of config files are include in other config files inside an if statement. Also added a debug print that helped in solving this bug." * tag 'localmodconfig-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-kconfig: localmodconfig: Process source kconfig files as they are found localmodconfig: Add debug prints for dependencies of module configs
This commit is contained in:
Коммит
500fcbc4a9
|
@ -156,7 +156,6 @@ sub read_kconfig {
|
|||
|
||||
my $state = "NONE";
|
||||
my $config;
|
||||
my @kconfigs;
|
||||
|
||||
my $cont = 0;
|
||||
my $line;
|
||||
|
@ -190,7 +189,13 @@ sub read_kconfig {
|
|||
|
||||
# collect any Kconfig sources
|
||||
if (/^source\s*"(.*)"/) {
|
||||
$kconfigs[$#kconfigs+1] = $1;
|
||||
my $kconfig = $1;
|
||||
# prevent reading twice.
|
||||
if (!defined($read_kconfigs{$kconfig})) {
|
||||
$read_kconfigs{$kconfig} = 1;
|
||||
read_kconfig($kconfig);
|
||||
}
|
||||
next;
|
||||
}
|
||||
|
||||
# configs found
|
||||
|
@ -250,14 +255,6 @@ sub read_kconfig {
|
|||
}
|
||||
}
|
||||
close($kinfile);
|
||||
|
||||
# read in any configs that were found.
|
||||
foreach my $kconfig (@kconfigs) {
|
||||
if (!defined($read_kconfigs{$kconfig})) {
|
||||
$read_kconfigs{$kconfig} = 1;
|
||||
read_kconfig($kconfig);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($kconfig) {
|
||||
|
@ -396,6 +393,15 @@ foreach my $module (keys(%modules)) {
|
|||
foreach my $conf (@arr) {
|
||||
$configs{$conf} = $module;
|
||||
dprint "$conf added by direct ($module)\n";
|
||||
if ($debugprint) {
|
||||
my $c=$conf;
|
||||
$c =~ s/^CONFIG_//;
|
||||
if (defined($depends{$c})) {
|
||||
dprint " deps = $depends{$c}\n";
|
||||
} else {
|
||||
dprint " no deps\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
# Most likely, someone has a custom (binary?) module loaded.
|
||||
|
|
Загрузка…
Ссылка в новой задаче