mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-28 10:15:32 -05:00
Merge tag 'mm-nonmm-stable-2022-08-06-2' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
Pull misc updates from Andrew Morton: "Updates to various subsystems which I help look after. lib, ocfs2, fatfs, autofs, squashfs, procfs, etc. A relatively small amount of material this time" * tag 'mm-nonmm-stable-2022-08-06-2' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (72 commits) scripts/gdb: ensure the absolute path is generated on initial source MAINTAINERS: kunit: add David Gow as a maintainer of KUnit mailmap: add linux.dev alias for Brendan Higgins mailmap: update Kirill's email profile: setup_profiling_timer() is moslty not implemented ocfs2: fix a typo in a comment ocfs2: use the bitmap API to simplify code ocfs2: remove some useless functions lib/mpi: fix typo 'the the' in comment proc: add some (hopefully) insightful comments bdi: remove enum wb_congested_state kernel/hung_task: fix address space of proc_dohung_task_timeout_secs lib/lzo/lzo1x_compress.c: replace ternary operator with min() and min_t() squashfs: support reading fragments in readahead call squashfs: implement readahead squashfs: always build "file direct" version of page actor Revert "squashfs: provide backing_dev_info in order to disable read-ahead" fs/ocfs2: Fix spelling typo in comment ia64: old_rr4 added under CONFIG_HUGETLB_PAGE proc: fix test for "vsyscall=xonly" boot option ...
This commit is contained in:
@@ -7,24 +7,31 @@
|
||||
# This software may be used and distributed according to the terms
|
||||
# of the GNU General Public License, incorporated herein by reference.
|
||||
|
||||
import sys, os, re
|
||||
import sys, os, re, argparse
|
||||
from signal import signal, SIGPIPE, SIG_DFL
|
||||
|
||||
signal(SIGPIPE, SIG_DFL)
|
||||
|
||||
if len(sys.argv) < 3:
|
||||
sys.stderr.write("usage: %s [option] file1 file2\n" % sys.argv[0])
|
||||
sys.stderr.write("The options are:\n")
|
||||
sys.stderr.write("-c categorize output based on symbol type\n")
|
||||
sys.stderr.write("-d Show delta of Data Section\n")
|
||||
sys.stderr.write("-t Show delta of text Section\n")
|
||||
sys.exit(-1)
|
||||
parser = argparse.ArgumentParser(description="Simple script used to compare the symbol sizes of 2 object files")
|
||||
group = parser.add_mutually_exclusive_group()
|
||||
group.add_argument('-c', help='categorize output based on symbol type', action='store_true')
|
||||
group.add_argument('-d', help='Show delta of Data Section', action='store_true')
|
||||
group.add_argument('-t', help='Show delta of text Section', action='store_true')
|
||||
parser.add_argument('-p', dest='prefix', help='Arch prefix for the tool being used. Useful in cross build scenarios')
|
||||
parser.add_argument('file1', help='First file to compare')
|
||||
parser.add_argument('file2', help='Second file to compare')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
re_NUMBER = re.compile(r'\.[0-9]+')
|
||||
|
||||
def getsizes(file, format):
|
||||
sym = {}
|
||||
with os.popen("nm --size-sort " + file) as f:
|
||||
nm = "nm"
|
||||
if args.prefix:
|
||||
nm = "{}nm".format(args.prefix)
|
||||
|
||||
with os.popen("{} --size-sort {}".format(nm, file)) as f:
|
||||
for line in f:
|
||||
if line.startswith("\n") or ":" in line:
|
||||
continue
|
||||
@@ -77,9 +84,9 @@ def calc(oldfile, newfile, format):
|
||||
delta.reverse()
|
||||
return grow, shrink, add, remove, up, down, delta, old, new, otot, ntot
|
||||
|
||||
def print_result(symboltype, symbolformat, argc):
|
||||
def print_result(symboltype, symbolformat):
|
||||
grow, shrink, add, remove, up, down, delta, old, new, otot, ntot = \
|
||||
calc(sys.argv[argc - 1], sys.argv[argc], symbolformat)
|
||||
calc(args.file1, args.file2, symbolformat)
|
||||
|
||||
print("add/remove: %s/%s grow/shrink: %s/%s up/down: %s/%s (%s)" % \
|
||||
(add, remove, grow, shrink, up, -down, up-down))
|
||||
@@ -93,13 +100,13 @@ def print_result(symboltype, symbolformat, argc):
|
||||
percent = 0
|
||||
print("Total: Before=%d, After=%d, chg %+.2f%%" % (otot, ntot, percent))
|
||||
|
||||
if sys.argv[1] == "-c":
|
||||
print_result("Function", "tT", 3)
|
||||
print_result("Data", "dDbB", 3)
|
||||
print_result("RO Data", "rR", 3)
|
||||
elif sys.argv[1] == "-d":
|
||||
print_result("Data", "dDbBrR", 3)
|
||||
elif sys.argv[1] == "-t":
|
||||
print_result("Function", "tT", 3)
|
||||
if args.c:
|
||||
print_result("Function", "tT")
|
||||
print_result("Data", "dDbB")
|
||||
print_result("RO Data", "rR")
|
||||
elif args.d:
|
||||
print_result("Data", "dDbBrR")
|
||||
elif args.t:
|
||||
print_result("Function", "tT")
|
||||
else:
|
||||
print_result("Function", "tTdDbBrR", 2)
|
||||
print_result("Function", "tTdDbBrR")
|
||||
|
||||
@@ -1042,7 +1042,8 @@ our $FuncArg = qr{$Typecast{0,1}($LvalOrFunc|$Constant|$String)};
|
||||
our $declaration_macros = qr{(?x:
|
||||
(?:$Storage\s+)?(?:[A-Z_][A-Z0-9]*_){0,2}(?:DEFINE|DECLARE)(?:_[A-Z0-9]+){1,6}\s*\(|
|
||||
(?:$Storage\s+)?[HLP]?LIST_HEAD\s*\(|
|
||||
(?:SKCIPHER_REQUEST|SHASH_DESC|AHASH_REQUEST)_ON_STACK\s*\(
|
||||
(?:SKCIPHER_REQUEST|SHASH_DESC|AHASH_REQUEST)_ON_STACK\s*\(|
|
||||
(?:$Storage\s+)?(?:XA_STATE|XA_STATE_ORDER)\s*\(
|
||||
)};
|
||||
|
||||
our %allow_repeated_words = (
|
||||
@@ -5720,7 +5721,7 @@ sub process {
|
||||
$var !~ /^(?:[a-z0-9_]*|[A-Z0-9_]*)?_?[a-z][A-Z](?:_[a-z0-9_]+|_[A-Z0-9_]+)?$/ &&
|
||||
#Ignore some three character SI units explicitly, like MiB and KHz
|
||||
$var !~ /^(?:[a-z_]*?)_?(?:[KMGT]iB|[KMGT]?Hz)(?:_[a-z_]+)?$/) {
|
||||
while ($var =~ m{($Ident)}g) {
|
||||
while ($var =~ m{\b($Ident)}g) {
|
||||
my $word = $1;
|
||||
next if ($word !~ /[A-Z][a-z]|[a-z][A-Z]/);
|
||||
if ($check) {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
import os
|
||||
|
||||
sys.path.insert(0, os.path.dirname(__file__) + "/scripts/gdb")
|
||||
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)) + "/scripts/gdb")
|
||||
|
||||
try:
|
||||
gdb.parse_and_eval("0")
|
||||
|
||||
Reference in New Issue
Block a user