Re: [PATCH 2/2] tracing/recordmount.pl: use apropriateperl-constructs
From: Steven Rostedt
Date: Tue Jan 05 2010 - 13:38:10 EST
On Tue, 2010-01-05 at 19:27 +0100, Wolfram Sang wrote:
> Signed-off-by: Wolfram Sang <w.sang@xxxxxxxxxxxxxx>
> ---
> scripts/recordmcount.pl | 33 ++++++++++++---------------------
> 1 files changed, 12 insertions(+), 21 deletions(-)
>
> diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
> index 5de12c7..59b73b9 100755
> --- a/scripts/recordmcount.pl
> +++ b/scripts/recordmcount.pl
> @@ -136,13 +136,13 @@ my %text_sections = (
> ".text.unlikely" => 1,
> );
>
> -$objdump = "objdump" if ((length $objdump) == 0);
> -$objcopy = "objcopy" if ((length $objcopy) == 0);
> -$cc = "gcc" if ((length $cc) == 0);
> -$ld = "ld" if ((length $ld) == 0);
> -$nm = "nm" if ((length $nm) == 0);
> -$rm = "rm" if ((length $rm) == 0);
> -$mv = "mv" if ((length $mv) == 0);
> +$objdump ||= 'objdump';
> +$objcopy ||= 'objcopy';
> +$cc ||= 'gcc';
> +$ld ||= 'ld';
> +$nm ||= 'nm';
> +$rm ||= 'rm';
> +$mv ||= 'mv';
I purposely did not do it this way (I need to add a comment about this),
because most kernel developers are not perl programmers, and I wanted
this to be as easy as possible for a non-perl programmer to understand.
Even as a perl programmer it still looks funny to me with the:
$x ||= 'x';
So I will not accept this part.
>
> #print STDERR "running: $P '$arch' '$objdump' '$objcopy' '$cc' '$ld' " .
> # "'$nm' '$rm' '$mv' '$inputfile'\n";
> @@ -163,9 +163,8 @@ my $section_type; # Section header plus possible alignment command
> my $can_use_local = 0; # If we can use local function references
>
> # Shut up recordmcount if user has older objcopy
> -my $quiet_recordmcount = ".tmp_quiet_recordmcount";
> -my $print_warning = 1;
> -$print_warning = 0 if ( -f $quiet_recordmcount);
> +my $quiet_recordmcount = '.tmp_quiet_recordmcount';
> +my $print_warning = (! -f $quiet_recordmcount);
Again, this is just using perl obfuscation for most C programmers to
understand.
>
> ##
> # check_objcopy - whether objcopy supports --globalize-symbols
> @@ -194,12 +193,8 @@ sub check_objcopy
> }
> }
>
> -if ($arch eq "x86") {
> - if ($bits == 64) {
> - $arch = "x86_64";
> - } else {
> - $arch = "i386";
> - }
> +if ($arch eq 'x86') {
> + $arch = ($bits == 64) ? 'x86_64' : 'i386';
> }
This part I like. It keeps to C constructs.
>
> #
> @@ -476,11 +471,7 @@ while (<IN>) {
> $read_headers = 0;
>
> # Only record text sections that we know are safe
> - if (defined($text_sections{$1})) {
> - $read_function = 1;
> - } else {
> - $read_function = 0;
> - }
> + $read_function = defined($text_sections{$1});
I fine with this change too.
-- Steve
> # print out any recorded offsets
> update_funcs();
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/