[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4B666982.1020007@windriver.com>
Date: Mon, 01 Feb 2010 13:41:22 +0800
From: Hui Zhu <hui.zhu@...driver.com>
To: Michal Marek <mmarek@...e.cz>
CC: Américo Wang <xiyou.wangcong@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Arjan van de Ven <arjan@...ux.intel.com>,
Sam Ravnborg <sam@...nborg.org>, ozan@...dus.org.tr,
Matthew Wilcox <willy@...ux.intel.com>,
linux-kernel@...r.kernel.org, teawater@...il.com
Subject: Re: [PATCH] markup_oops.pl: add options to improve cross-sompilation
environments
Michal Marek:
> On 26.1.2010 10:13, Hui Zhu wrote:
>> +# Get options
>> +Getopt::Long::GetOptions(
>> + 'cross-compile|c=s' => \$cross_compile,
>> + 'module|m=s' => \$modulefile,
>> + 'help|h' => \&usage,
>> +);
>
> You should check the return code of GetOptions() and abort on invalid
> options.
>
>
>> +my $vmlinux_name = $ARGV[$#ARGV];
>
> GetOptions() deletes the recognized options from @ARGV, so you can say
> $ARGV[0] as before (and maybe check if there aren't any superfluous
> arguments).
>
>
>> # if it's a module, we need to find the .ko file and calculate a load
>> offset
>> if ($module ne "") {
>> - my $modulefile = `modinfo $module | grep '^filename:' | awk '{
>> print \$2 }'`;
>> - chomp($modulefile);
>> + if ($modulefile eq "") {
>> + my $modulefile = `modinfo $module | grep '^filename:' | awk '{
>> print \$2 }'`;
>
> I know you didn't add this, but while at it, could you replace the
> pipeline with just `modinfo -F filename $module`?
>
>
>> +sub usage {
>> + print <<EOT;
>> +Usage:
>> + dmesg | perl $0 [OPTION] [VMLINUX]
>> +
>> +OPTION:
>> + -c, --cross-compile CROSS_COMPILE Specify the prefix used for
>> toolchain.
>> + -m, --module MODULE_DIRNAME Specify the module directory name.
>
> Here and in the changelog you talk about "module directory name", but in
> fact this is the module filename.
>
Thanks Michael.
I make a patch according to your mail.
Best regards,
Hui
1. Fix a little format issue.
2. Check the return of "Getopt::Long::GetOptions". Output usage and exit if it get error.
3. Change $ARGV[$#ARGV] to $ARGV[0].
4. Change the code which get $modulefile from modinfo. Replace the pipeline with `modinfo -F filename $module`.
4. Change usage from "Specify the module directory name" to "Specify the module filename".
Signed-off-by: Hui Zhu <teawater@...il.com>
---
scripts/markup_oops.pl | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
--- a/scripts/markup_oops.pl
+++ b/scripts/markup_oops.pl
@@ -23,10 +23,10 @@ my $modulefile = "";
# Get options
Getopt::Long::GetOptions(
'cross-compile|c=s' => \$cross_compile,
- 'module|m=s' => \$modulefile,
+ 'module|m=s' => \$modulefile,
'help|h' => \&usage,
-);
-my $vmlinux_name = $ARGV[$#ARGV];
+) || usage ();
+my $vmlinux_name = $ARGV[0];
if (!defined($vmlinux_name)) {
my $kerver = `uname -r`;
chomp($kerver);
@@ -193,7 +193,7 @@ if ($target eq "0") {
# if it's a module, we need to find the .ko file and calculate a load offset
if ($module ne "") {
if ($modulefile eq "") {
- my $modulefile = `modinfo $module | grep '^filename:' | awk '{ print \$2 }'`;
+ $modulefile = `modinfo -F filename $module`;
chomp($modulefile);
}
$filename = $modulefile;
@@ -361,7 +361,7 @@ Usage:
OPTION:
-c, --cross-compile CROSS_COMPILE Specify the prefix used for toolchain.
- -m, --module MODULE_DIRNAME Specify the module directory name.
+ -m, --module MODULE_DIRNAME Specify the module filename.
-h, --help Help.
EOT
exit;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists