lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1262716675.28171.1612.camel@gandalf.stny.rr.com>
Date:	Tue, 05 Jan 2010 13:37:55 -0500
From:	Steven Rostedt <rostedt@...dmis.org>
To:	Wolfram Sang <w.sang@...gutronix.de>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] tracing/recordmount.pl: use apropriate
 perl-constructs

On Tue, 2010-01-05 at 19:27 +0100, Wolfram Sang wrote:
> Signed-off-by: Wolfram Sang <w.sang@...gutronix.de>
> ---
>  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@...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

Powered by Openwall GNU/*/Linux Powered by OpenVZ