All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.