#!/bin/awk -f
# Before running this script please ensure that your PATH is
# typical as you use for compilation/installation. I use
# /bin /sbin /usr/bin /usr/sbin /usr/local/bin, but it may
# differ on your system.
BEGIN {
usage = "If some fields are empty or look unusual you may have an old version.\n"
usage = usage "Compare to the current minimal requirements in Documentation/Changes.\n"
print usage
system("uname -a")
printf("\n")
printversion("GNU C", version("gcc -dumpversion 2>&1"))
printversion("GNU Make", version("make --version 2>&1"))
printversion("Binutils", version("ld -v 2>&1"))
printversion("Util-linux", version("mount --version 2>&1"))
printversion("Mount", version("mount --version 2>&1"))
printversion("Module-init-tools", version("depmod -V 2>&1"))
printversion("E2fsprogs", version("tune2fs 2>&1"))
printversion("Jfsutils", version("fsck.jfs -V 2>&1"))
printversion("Reiserfsprogs", version("reiserfsck -V 2>&1"))
printversion("Reiser4fsprogs", version("fsck.reiser4 -V 2>&1"))
printversion("Xfsprogs", version("xfs_db -V 2>&1"))
printversion("Pcmciautils", version("pccardctl -V 2>&1"))
printversion("Pcmcia-cs", version("cardmgr -V 2>&1"))
printversion("Quota-tools", version("quota -V 2>&1"))
printversion("PPP", version("pppd --version 2>&1"))
printversion("Isdn4k-utils", version("isdnctrl 2>&1"))
printversion("Nfs-utils", version("showmount --version 2>&1"))
if (system("test -r /proc/self/maps") == 0) {
while (getline <"/proc/self/maps" > 0) {
n = split($0, procmaps, "/")
if (/libc.*so$/ && match(procmaps[n], /[0-9]+([.]?[0-9]+)+/)) {
ver = substr(procmaps[n], RSTART, RLENGTH)
printversion("Linux C Library", ver)
break
}
}
}
printversion("Dynamic linker (ldd)", version("ldd --version 2>&1"))
while ("ldconfig -p 2>/dev/null" | getline > 0) {
if (/(libg|stdc)[+]+\.so/) {
libcpp = $NF
break
}
}
if (system("test -r " libcpp) == 0)
printversion("Linux C++ Library", version("readlink " libcpp))
printversion("Procps", version("ps --version 2>&1"))
printversion("Net-tools", version("ifconfig --version 2>&1"))
printversion("Kbd", version("loadkeys -V 2>&1"))
printversion("Console-tools", version("loadkeys -V 2>&1"))
printversion("Oprofile", version("oprofiled --version 2>&1"))
printversion("Sh-utils", version("expr --v 2>&1"))
printversion("Udev", version("udevadm --version 2>&1"))
printversion("Wireless-tools", version("iwconfig --version 2>&1"))
if (system("test -r /proc/modules") == 0) {
while ("sort /proc/modules" | getline > 0) {
mods = mods sep $1
sep = " "
}
printversion("Modules Loaded", mods)
}
}
function version(cmd, ver) {
while (cmd | getline > 0) {
if (!/ver_linux/ && match($0, /[0-9]+([.]?[0-9]+)+/)) {
ver = substr($0, RSTART, RLENGTH)
break
}
}
close(cmd)
return ver
}
function printversion(name, value, ofmt) {
if (value != "") {
ofmt = "%-20s\t%s\n"
printf(ofmt, name, value)
}
}
el.c?id=a1efb01feca597b2abbc89873b40ef8ec6690168'>jump_label.c
jump_label, locking/static_keys: Rename JUMP_LABEL_TYPE_* and related helpers to the static_key* pattern
Rename the JUMP_LABEL_TYPE_* macros to be JUMP_TYPE_* and move the
inline helpers into kernel/jump_label.c, since that's the only place
they're ever used.
Also rename the helpers where it's all about static keys.
This is the second step in removing the naming confusion that has led to
a stream of avoidable bugs such as:
a833581e372a ("x86, perf: Fix static_key bug in load_mm_cr4()")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>