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 $state = "NONE";
|
||||||
my $config;
|
my $config;
|
||||||
my @kconfigs;
|
|
||||||
|
|
||||||
my $cont = 0;
|
my $cont = 0;
|
||||||
my $line;
|
my $line;
|
||||||
|
@ -190,7 +189,13 @@ sub read_kconfig {
|
||||||
|
|
||||||
# collect any Kconfig sources
|
# collect any Kconfig sources
|
||||||
if (/^source\s*"(.*)"/) {
|
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
|
# configs found
|
||||||
|
@ -250,14 +255,6 @@ sub read_kconfig {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
close($kinfile);
|
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) {
|
if ($kconfig) {
|
||||||
|
@ -396,6 +393,15 @@ foreach my $module (keys(%modules)) {
|
||||||
foreach my $conf (@arr) {
|
foreach my $conf (@arr) {
|
||||||
$configs{$conf} = $module;
|
$configs{$conf} = $module;
|
||||||
dprint "$conf added by direct ($module)\n";
|
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 {
|
} else {
|
||||||
# Most likely, someone has a custom (binary?) module loaded.
|
# Most likely, someone has a custom (binary?) module loaded.
|
||||||
|
|
Загрузка…
Ссылка в новой задаче