diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/Makefile.build | 2 | ||||
| -rwxr-xr-x | scripts/checkversion.pl | 18 | ||||
| -rwxr-xr-x | scripts/recordmcount.pl | 40 | ||||
| -rwxr-xr-x | scripts/setlocalversion | 13 | ||||
| -rwxr-xr-x | scripts/spdxcheck.py | 2 | ||||
| -rwxr-xr-x | scripts/tracing/draw_functrace.py | 6 | 
6 files changed, 24 insertions, 57 deletions
diff --git a/scripts/Makefile.build b/scripts/Makefile.build index 10b2f2380d6f..02197cb8e3a7 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build @@ -386,7 +386,7 @@ ifeq ($(CONFIG_LTO_CLANG) $(CONFIG_MODVERSIONS),y y)        cmd_update_lto_symversions =					\  	rm -f $@.symversions						\  	$(foreach n, $(filter-out FORCE,$^),				\ -		$(if $(wildcard $(n).symversions),			\ +		$(if $(shell test -s $(n).symversions && echo y),	\  			; cat $(n).symversions >> $@.symversions))  else        cmd_update_lto_symversions = echo >/dev/null diff --git a/scripts/checkversion.pl b/scripts/checkversion.pl index f67b125c5269..94cd49eff605 100755 --- a/scripts/checkversion.pl +++ b/scripts/checkversion.pl @@ -1,10 +1,10 @@  #! /usr/bin/env perl  # SPDX-License-Identifier: GPL-2.0  # -# checkversion find uses of LINUX_VERSION_CODE or KERNEL_VERSION -# without including <linux/version.h>, or cases of -# including <linux/version.h> that don't need it. -# Copyright (C) 2003, Randy Dunlap <rdunlap@xenotime.net> +# checkversion finds uses of all macros in <linux/version.h> +# where the source files do not #include <linux/version.h>; or cases +# of including <linux/version.h> where it is not needed. +# Copyright (C) 2003, Randy Dunlap <rdunlap@infradead.org>  use strict; @@ -13,7 +13,8 @@ $| = 1;  my $debugging;  foreach my $file (@ARGV) { -    next if $file =~ "include/linux/version\.h"; +    next if $file =~ "include/generated/uapi/linux/version\.h"; +    next if $file =~ "usr/include/linux/version\.h";      # Open this file.      open( my $f, '<', $file )        or die "Can't open $file: $!\n"; @@ -41,8 +42,11 @@ foreach my $file (@ARGV) {  	    $iLinuxVersion      = $. if m/^\s*#\s*include\s*<linux\/version\.h>/o;  	} -	# Look for uses: LINUX_VERSION_CODE, KERNEL_VERSION, UTS_RELEASE -	if (($_ =~ /LINUX_VERSION_CODE/) || ($_ =~ /\WKERNEL_VERSION/)) { +	# Look for uses: LINUX_VERSION_CODE, KERNEL_VERSION, +	# LINUX_VERSION_MAJOR, LINUX_VERSION_PATCHLEVEL, LINUX_VERSION_SUBLEVEL +	if (($_ =~ /LINUX_VERSION_CODE/) || ($_ =~ /\WKERNEL_VERSION/) || +	    ($_ =~ /LINUX_VERSION_MAJOR/) || ($_ =~ /LINUX_VERSION_PATCHLEVEL/) || +	    ($_ =~ /LINUX_VERSION_SUBLEVEL/)) {  	    $fUseVersion = 1;              last if $iLinuxVersion;          } diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl index c17e48020ec3..8f6b13ae46bf 100755 --- a/scripts/recordmcount.pl +++ b/scripts/recordmcount.pl @@ -173,39 +173,6 @@ my $mcount_regex;	# Find the call site to mcount (return offset)  my $mcount_adjust;	# Address adjustment to mcount offset  my $alignment;		# The .align value to use for $mcount_section  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); - -## -# check_objcopy - whether objcopy supports --globalize-symbols -# -#  --globalize-symbols came out in 2.17, we must test the version -#  of objcopy, and if it is less than 2.17, then we can not -#  record local functions. -sub check_objcopy -{ -    open (IN, "$objcopy --version |") or die "error running $objcopy"; -    while (<IN>) { -	if (/objcopy.*\s(\d+)\.(\d+)/) { -	    $can_use_local = 1 if ($1 > 2 || ($1 == 2 && $2 >= 17)); -	    last; -	} -    } -    close (IN); - -    if (!$can_use_local && $print_warning) { -	print STDERR "WARNING: could not find objcopy version or version " . -	    "is less than 2.17.\n" . -	    "\tLocal function references are disabled.\n"; -	open (QUIET, ">$quiet_recordmcount"); -	printf QUIET "Disables the warning from recordmcount.pl\n"; -	close QUIET; -    } -}  if ($arch =~ /(x86(_64)?)|(i386)/) {      if ($bits == 64) { @@ -434,8 +401,6 @@ if ($filename =~ m,^(.*)(\.\S),) {  my $mcount_s = $dirname . "/.tmp_mc_" . $prefix . ".s";  my $mcount_o = $dirname . "/.tmp_mc_" . $prefix . ".o"; -check_objcopy(); -  #  # Step 1: find all the local (static functions) and weak symbols.  #         't' is local, 'w/W' is weak @@ -473,11 +438,6 @@ sub update_funcs      # is this function static? If so, note this fact.      if (defined $locals{$ref_func}) { - -	# only use locals if objcopy supports globalize-symbols -	if (!$can_use_local) { -	    return; -	}  	$convert{$ref_func} = 1;      } diff --git a/scripts/setlocalversion b/scripts/setlocalversion index 151f04971faa..6b54e46a0f12 100755 --- a/scripts/setlocalversion +++ b/scripts/setlocalversion @@ -131,11 +131,14 @@ res="${res}${CONFIG_LOCALVERSION}${LOCALVERSION}"  if test "$CONFIG_LOCALVERSION_AUTO" = "y"; then  	# full scm version string  	res="$res$(scm_version)" -elif [ -z "${LOCALVERSION}" ]; then -	# append a plus sign if the repository is not in a clean -	# annotated or signed tagged state (as git describe only -	# looks at signed or annotated tags - git tag -a/-s) and -	# LOCALVERSION= is not specified +elif [ "${LOCALVERSION+set}" != "set" ]; then +	# If the variable LOCALVERSION is not set, append a plus +	# sign if the repository is not in a clean annotated or +	# signed tagged state (as git describe only looks at signed +	# or annotated tags - git tag -a/-s). +	# +	# If the variable LOCALVERSION is set (including being set +	# to an empty string), we don't want to append a plus sign.  	scm=$(scm_version --short)  	res="$res${scm:++}"  fi diff --git a/scripts/spdxcheck.py b/scripts/spdxcheck.py index 3e784cf9f401..ebd06ae642c9 100755 --- a/scripts/spdxcheck.py +++ b/scripts/spdxcheck.py @@ -44,7 +44,7 @@ def read_spdxdata(repo):                  continue              exception = None -            for l in open(el.path).readlines(): +            for l in open(el.path, encoding="utf-8").readlines():                  if l.startswith('Valid-License-Identifier:'):                      lid = l.split(':')[1].strip().upper()                      if lid in spdx.licenses: diff --git a/scripts/tracing/draw_functrace.py b/scripts/tracing/draw_functrace.py index 74f8aadfd4cb..7011fbe003ff 100755 --- a/scripts/tracing/draw_functrace.py +++ b/scripts/tracing/draw_functrace.py @@ -17,7 +17,7 @@ Usage:  	$ cat /sys/kernel/debug/tracing/trace_pipe > ~/raw_trace_func  	Wait some times but not too much, the script is a bit slow.  	Break the pipe (Ctrl + Z) -	$ scripts/draw_functrace.py < raw_trace_func > draw_functrace +	$ scripts/tracing/draw_functrace.py < ~/raw_trace_func > draw_functrace  	Then you have your drawn trace in draw_functrace  """ @@ -103,10 +103,10 @@ def parseLine(line):  	line = line.strip()  	if line.startswith("#"):  		raise CommentLineException -	m = re.match("[^]]+?\\] +([0-9.]+): (\\w+) <-(\\w+)", line) +	m = re.match("[^]]+?\\] +([a-z.]+) +([0-9.]+): (\\w+) <-(\\w+)", line)  	if m is None:  		raise BrokenLineException -	return (m.group(1), m.group(2), m.group(3)) +	return (m.group(2), m.group(3), m.group(4))  def main():  | 
