public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Hui Zhu <hui.zhu@windriver.com>
To: Michal Marek <mmarek@suse.cz>
Cc: "Américo Wang" <xiyou.wangcong@gmail.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Arjan van de Ven" <arjan@linux.intel.com>,
	"Sam Ravnborg" <sam@ravnborg.org>,
	ozan@pardus.org.tr, "Matthew Wilcox" <willy@linux.intel.com>,
	linux-kernel@vger.kernel.org, teawater@gmail.com
Subject: Re: [PATCH] markup_oops.pl: add options to improve cross-sompilation environments
Date: Mon, 01 Feb 2010 13:41:22 +0800	[thread overview]
Message-ID: <4B666982.1020007@windriver.com> (raw)
In-Reply-To: <4B6344CA.10504@suse.cz>

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@gmail.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;



  reply	other threads:[~2010-02-01  5:37 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-26  3:11 [PATCH] markup_oops.pl: add options to improve cross-sompilation environments Hui Zhu
2010-01-26  3:05 ` Américo Wang
2010-01-26  7:38   ` Hui Zhu
2010-01-26  7:53     ` Américo Wang
2010-01-26  9:13       ` Hui Zhu
2010-01-26  9:15         ` Américo Wang
2010-01-26  9:21           ` Hui Zhu
2010-01-29 20:27         ` Michal Marek
2010-02-01  5:41           ` Hui Zhu [this message]
2010-02-05 21:38             ` Michal Marek
2010-02-08  2:55               ` Hui Zhu
2010-02-17 13:08                 ` Michal Marek
2010-02-20  2:16                   ` Hui Zhu
  -- strict thread matches above, loose matches on Subject: below --
2010-01-25 14:36 Hui Zhu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B666982.1020007@windriver.com \
    --to=hui.zhu@windriver.com \
    --cc=akpm@linux-foundation.org \
    --cc=arjan@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mmarek@suse.cz \
    --cc=ozan@pardus.org.tr \
    --cc=sam@ravnborg.org \
    --cc=teawater@gmail.com \
    --cc=willy@linux.intel.com \
    --cc=xiyou.wangcong@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox