summaryrefslogtreecommitdiff
path: root/Completion/Linux/Command
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2025-01-27 23:10:16 +0100
committerOliver Kiddle <opk@zsh.org>2025-01-27 23:34:59 +0100
commit4e4274eda6012aead1f236502b163ba063bc465a (patch)
tree6635dd84f2aff322e452a91dc8f5d67a8a2e434e /Completion/Linux/Command
parentf3b865b9155269ba0dee7ced93b061e78df507c1 (diff)
downloadzsh-4e4274eda6012aead1f236502b163ba063bc465a.tar.gz
zsh-4e4274eda6012aead1f236502b163ba063bc465a.zip
53328: completion options update
Diffstat (limited to 'Completion/Linux/Command')
-rw-r--r--Completion/Linux/Command/_cpupower1
-rw-r--r--Completion/Linux/Command/_cryptsetup32
-rw-r--r--Completion/Linux/Command/_ethtool12
-rw-r--r--Completion/Linux/Command/_iptables166
-rw-r--r--Completion/Linux/Command/_selinux17
-rw-r--r--Completion/Linux/Command/_sshfs13
-rw-r--r--Completion/Linux/Command/_valgrind8
7 files changed, 227 insertions, 22 deletions
diff --git a/Completion/Linux/Command/_cpupower b/Completion/Linux/Command/_cpupower
index d342b69d9..cb6f37fb0 100644
--- a/Completion/Linux/Command/_cpupower
+++ b/Completion/Linux/Command/_cpupower
@@ -20,7 +20,6 @@ cmds=(
'info:show global power parameters'
'set:set global power parameters'
'monitor:report frequency and idle statistics'
- 'powercap-info:show powercapping related kernel and hardware configurations'
'help:print usage information'
)
case $state in
diff --git a/Completion/Linux/Command/_cryptsetup b/Completion/Linux/Command/_cryptsetup
index f7149a76f..897eb94f9 100644
--- a/Completion/Linux/Command/_cryptsetup
+++ b/Completion/Linux/Command/_cryptsetup
@@ -13,7 +13,7 @@ _arguments -s \
'(-y --verify-passphrase)'{-y,--verify-passphrase}'[query for password twice]' \
'(-d --key-file)'{-d+,--key-file=}'[set keyfile]:key file:_files' \
'--master-key-file=[set master key]:key file:_files' \
- '--dump-master-key[dump luks master key]' \
+ '--dump-volume-key[dump volume key instead of keyslots info]' \
'(-s --key-size)'{-s+,--key-size=}'[set key size]:size (bits)' \
'(-l --keyfile-size)'{-l+,--keyfile-size=}'[set keyfile size]:size (bytes)' \
'--keyfile-offset=[specify number of bytes to skip in keyfile]:offset (bytes)' \
@@ -37,8 +37,35 @@ _arguments -s \
'--shared[share device with another non-overlapping crypt segment]' \
'--uuid=[set device UUID]:uuid' \
'--allow-discards[allow discard (aka TRIM) requests for device]' \
+ '--cancel-deferred[cancel previously set deferred device removal]' \
+ '--disable-blkid[disable blkid on-disk signature detection and wiping]' \
+ '--disable-external-tokens[disable loading of external LUKS2 token plugins]' \
+ "--disable-veracrypt[don't scan for VeraCrypt compatible device]" \
+ '--dump-json-metadata[dump info in JSON format (LUKS2 only)]' \
+ '--dump-volume-key[dump volume key instead of keyslots info]' \
+ '--external-tokens-path=[specify path to directory with external token handlers (plugins)]:path:_directories' \
+ '--force-offline-reencrypt[force offline LUKS2 reencryption and bypass active device detection]' \
'--header=[device or file with separated LUKS header]:file:_files' \
- '--test-passphrase[do not activate device, just check passphrase]' \
+ '--hw-opal[use HW OPAL encryption together with SW encryption]' \
+ '--hw-opal-factory-reset[wipe WHOLE OPAL disk on luksErase]' \
+ '--hw-opal-only[use only HW OPAL encryption]' \
+ '--keep-key[do not change volume key]' \
+ '--link-vk-to-keyring=[set keyring where to link volume key]:string' \
+ '--new-keyfile=[read the key for a new slot from a file]:file:_files' \
+ '--new-key-slot=[specify slot number for new key]:slot [first free]' \
+ '--new-token-id=[token number]:number [any]' \
+ '--progress-json[print progress data in json format]' \
+ "--test-args[don't run action, just validate all command line parameters]" \
+ '--volume-key-file=[use the volume key from file]:file:_files' \
+ '--volume-key-keyring=[use the specified keyring key as a volume key]:key' \
+ '(-B --block-size)'{-B+,--block-size=}'[reencryption block size]:block size (MiB)' \
+ '(-N --new)'{-N,--new}'[create new header on not encrypted device]' \
+ '--use-directio[use direct-io when accessing devices]' \
+ '--use-fsync[use fsync after each block]' \
+ '--write-log[update log file after every block]' \
+ "--test-passphrase[don't activate device, just check passphrase]" \
+ '--token-replace[replace the current token]' \
+ '--token-type=[restrict allowed token types used to retrieve LUKS2 key]:string' \
'--tcrypt-hidden[use hidden header (hidden TCRYPT device)]' \
'--tcrypt-system[device is system TCRYPT drive (with bootloader)]' \
'--tcrypt-backup[use backup (secondary) TCRYPT header]' \
@@ -118,6 +145,7 @@ case $state in
'luksDump:dump header information'
'tcryptDump:dump TCRYPT device information'
'bitlkDump:dump BITLK device information'
+ 'fvault2Dump:dump FVAULT2 device information'
'luksSuspend:suspend LUKS device and wipe key'
'luksResume:resume suspended LUKS device'
'luksHeaderBackup:store binary backup of headers'
diff --git a/Completion/Linux/Command/_ethtool b/Completion/Linux/Command/_ethtool
index 3e3fc0b1d..8cff24e96 100644
--- a/Completion/Linux/Command/_ethtool
+++ b/Completion/Linux/Command/_ethtool
@@ -157,7 +157,7 @@ if [[ -n $state ]]; then
_wanted files expl 'file' _files
;;
rx-flow-hash)
- _wanted flow-types expl 'flow type' compadd {tcp,udp,ah,esp,sctp}{4,6}
+ _wanted flow-types expl 'flow type' compadd {tcp,udp,ah,esp,sctp}{4,6} gtp{c{4,6}{,t},u{4,6}{,e,u,d}}
;;
rule)
_message -e ids 'rule id'
@@ -177,6 +177,9 @@ if [[ -n $state ]]; then
hfunc)
_message -e functions 'hash function'
;;
+ xfrm)
+ _wanted transformations expl transformation compadd symmetric-xor none
+ ;;
flags)
_message -e masks mask
;;
@@ -186,6 +189,9 @@ if [[ -n $state ]]; then
power-mode-policy)
_wanted policies expl 'policy' compadd high auto
;;
+ tcp-data-split)
+ _wanted states expl state compadd auto on off
+ ;;
*)
case ${${(Mk)opt_args:#cmd?*}[1]#cmd?-} in
-a|--show-pause)
@@ -209,7 +215,7 @@ if [[ -n $state ]]; then
'rx-mini[change number of ring entries for the RX Mini ring]' \
'rx-jumbo[change number of ring entries for the RX Jumbo ring]' \
'tx[change number of ring entries for the TX ring]' \
- rx-buf-len cqe-size tx-push rx-push tx-push-buf-len
+ rx-buf-len tcp-data-split cqe-size tx-push rx-push tx-push-buf-len
;;
-d|--register-dump)
_values -S ' ' -w 'option' \
@@ -306,7 +312,7 @@ if [[ -n $state ]]; then
'(weight default)equal' \
'(equal default)weight' \
'(equal weight)default' \
- hkey hfunc delete
+ hkey hfunc xfrm delete
;;
-f|--flash)
if (( CURRENT == 4 )); then
diff --git a/Completion/Linux/Command/_iptables b/Completion/Linux/Command/_iptables
index 892c48710..0a901f0f2 100644
--- a/Completion/Linux/Command/_iptables
+++ b/Completion/Linux/Command/_iptables
@@ -128,6 +128,27 @@ while
)
;;
comment) args+=( '--comment[add comment to rule]:comment' ) ;;
+ connbytes)
+ args+=(
+ '--connbytes:size (min\:[max])'
+ '--connbytes-dir:packets:(original reply both)'
+ '--connbytes-mode:mode:(packets bytes avgpkt)'
+ )
+ ;;
+ connlabel)
+ args+=(
+ '--label[match if label name has been set on a connection]:label'
+ '--set[set label on connection]'
+ )
+ ;;
+ connlimit)
+ args+=(
+ --connlimit-{upto,above}:connections
+ '--connlimit-mask:prefix length'
+ --connlimit-{s,d}addr
+ )
+ ;;
+ connmark) args+=( --mark:value ) ;;
conntrack)
args+=(
'--ctstate[match packet state]:state:->cfstates'
@@ -136,18 +157,69 @@ while
'--ctorigdst[match original destination address]:*^!:network:_hosts'
'--ctreplsrc[match reply source address]:*^!:network:_hosts'
'--ctrepldst[match reply destination address]:*^!:network:_hosts'
+ --ct{orig,repl}{src,dst}port':port:_ports'
'--ctstatus[match internal conntrack states]:state:(NONE EXPECTED SEEN_REPLY ASSURED)'
'--ctexpire[match remaining lifetime]:time'
+ '--ctdir:direction:(original reply)'
+ )
+ ;;
+ cpu) args+=( --cpu:number ) ;;
+ dccp)
+ args+=(
+ --{s,d,source-,destination-}port:port:_ports
+ '--dccp-types:type:_sequence compadd - REQUEST RESPONSE DATA ACK DATAACK CLOSEREQ CLOSE RESET SYNC SYNCACK INVALID'
+ --dccp-option:option
)
;;
+ devgroup) args+=( --{src,dst}group:name ) ;;
dscp)
args+=(
'--dscp[match DSCP field]:value'
'--dscp-class[match the DiffServ class]:class'
)
;;
+ dst) args+=( --dst-len:length --dst-opts:type ) ;;
+ ecn) args+=( --ecn-{tcp-{cwr,ece},ip-ect} ) ;;
esp) args+=( '--espspi[match SPIs in ESP header]:*^!:spi' ) ;;
+ frag)
+ args+=(
+ --fragid:id --fraglen:length
+ --frag{res,first,more,last}
+ )
+ ;;
+ hashlimit)
+ args+=(
+ --hashlimit-{upto,above,burst}:amount
+ '--hashlimit-mode:object:_sequence compadd - srcip srcport dstip dstport'
+ --hashlimit-{src,dst}mask:prefix
+ --hashlimit-name:name
+ --hashlimit-htable-size:buckets
+ --hashlimit-htable-max:entries
+ --hashlimit-htable-{expire,gcinterval}:msec
+ --hashlimit-rate-match
+ --hashlimit-rate-intervale:sec
+ )
+ ;;
+ hbh) args+=( --hbh-len:length --hbh-opts:type ) ;;
helper) args+=( '--helper[match packets related to a conntrack-helper]:helper:(ftp)' ) ;;
+ hl) args+=( --hl-{eq,lt,gt}:value ) ;;
+ icmp) args+=( --icmp-type:type ) ;;
+ icmp6) args+=( --icmpv6-type:type ) ;;
+ iprange) args+=( --{src,dst}-range':IP range' ) ;;
+ ipv6header)
+ args+=(
+ --soft
+ '--header:header(hop dst route frag auth esp none prot)'
+ )
+ ;;
+ ipvs)
+ args+=(
+ --ipvs --vproto:protocol --vaddr:address
+ --vport{,ctl}':port:_ports'
+ '--vdir:directory:(ORIGINAL REPLY)'
+ '--vmethod:method:(GATE IPIP MASQ)'
+ )
+ ;;
length) args+=( '--length[match packet length]:length' ) ;;
limit)
args+=(
@@ -164,32 +236,120 @@ while
'--ports[match where source and destination ports are equal]:ports:->port-list'
)
;;
+ nfacct) args+=( --nfacct-name:name ) ;;
+ osf) args+=( --genre:string --{ttl,log}:level ) ;;
owner)
args+=(
'--uid-owner[match packet by user id of creating process]:user id'
'--gid-owner[match packet by ggroup id of creating process]:group id'
'--pid-owner[match packet by process id of creating process]:process id:_pids'
'--sid-owner[match packet by session id of creating process]:session id'
- '--cmd-owner[match packet by name of creating command]:command:_command_names -e'
+ --suppl-groups --socket-exists
)
;;
physdev)
args+=(
'--physdev-in[specify bridge port via which packet is received]:name'
'--physdev-out[specify bridge port via which packet is sent]:name'
+ --physdev-is-{in,out,bridged}
)
;;
pkttype) args+=( '--pkt-type[match link-layer packet type]:type:(unicast broadcast multicast)' ) ;;
+ policy)
+ args+=(
+ '--dir:direction:(in out)'
+ '(--strict)--pol:policy:(none ipsec)'
+ '(--pol)--strict'
+ --reqid:id --spi:id
+ '--proto:encapsulation protocol:(ah esp ipcomp)'
+ '--mode:encapsulation mode:(tunnel transport)'
+ --tunnel-{src,dst}:addr --next
+ )
+ ;;
+ quota) args+=( '--quota:quota (bytes)' ) ;;
+ rateest)
+ args+=(
+ --rateest-{delta,lt,gt,eq}
+ --rateest{,1,2}:name
+ --rateest-{bps,pps}{,1,2}:value
+ )
+ ;;
+ realm) args+=( --realm:value ) ;;
+ recent)
+ args+=(
+ --name:name --r{source,dest} --mask:netmask
+ '(--rcheck --update --remove)--set'
+ '(--set --update --remove)--rcheck'
+ '(--set --rcheck --remove)--update'
+ '(--set --rcheck --update)--remove'
+ --seconds:seconds --reap --hitcount:hits --rttl
+ )
+ ;;
+ rpfilter) args+=( --loose --validmark --accept-local --invert ) ;;
+ rt)
+ args+=(
+ --rt-type:type --rt-segsleft:number --rt-len:length
+ --rt-0-{res,not-strict} --rt-0-addrs:address
+ )
+ ;;
+ sctp)
+ args+=(
+ --{s,d,source-,destination-}port:port:_ports
+ '--chunk-types:match type:(all any only):chunk type'
+ )
+ ;;
+ set)
+ args+=(
+ '--match-set:set: :flag'
+ --return-nomatch --update-counters --update-subcounters
+ --{packet,byte}s-{eq,lt,gt}:value
+ )
+ ;;
+ socket) args+=( --transparent --nowildcard --restore-skmark ) ;;
state)
args+=(
'--state[match packet state]:state:->states'
)
;;
+ statistic) args+=( --mode:mode --{probability,every,packet}:value ) ;;
+ string)
+ args+=(
+ '--algo:strategy:(bm kmp)'
+ --{from,to}:offset
+ --{,hex}string:pattern
+ -icase
+ )
+ ;;
+ tcp)
+ args+=(
+ --{s,d,source-,destination-}port:port:_ports
+ '--tcp-flags:mask:->tcp-flags:comp:->tcp-flags'
+ --syn --tcp-option:option
+ )
+ ;;
+ tcpmss) args+=( --mss:value ) ;;
+ time)
+ args+=(
+ --date{start,stop}:date --time{start,stop}:time
+ --{month,week}days:day
+ --contiguous --kerneltz
+ )
+ ;;
tos) args+=( '--tos[match type of service field]:type of service:->tos' ) ;;
- ttl) args+=( '--ttl[match type to live]:TTL value' ) ;;
+ ttl) args+=( '--ttl-'{eq,lt,gt}':TTL value' ) ;;
+ u32) args+=( '--u32:tests' ) ;;
+ udp) args+=( --{s,d,source-,destination-}port:port:_ports ) ;;
esac
done
+if (( CURRENT > 2 )); then
+ if [[ $words[CURRENT-1] = (|\\)\! && ! -prefix - ]]; then
+ args+=( '*: :compadd -S "" - -' )
+ else
+ args+=( '*:negation:(!)' )
+ fi
+fi
+
_arguments -C -s \
'(-)'{-h,--help}'[print program information]' \
'(-)'{-V,--version}'[print version information]' \
@@ -211,13 +371,13 @@ _arguments -C -s \
"($cmds -s --src --source)"{-s,--src,--source}'[specify source]:*^!:network:_sequence _hosts' \
"($cmds -d --dst --destination)"{-d,--dst,--destination}'[specify destination]:*^!:network:_sequence _hosts' \
"($cmds -j --jump)"{-j,--jump}'[specify rule target]:target:->targets' \
+ "($cmds -g --goto)"{-g,--goto}'[jump to chain with no return]:target:->targets' \
"($cmds -i --in-interface)"{-i,--in-interface}'[specify interface via which packet is received]:*^!:interface:_net_interfaces' \
"($cmds -o --out-interface)"{-o,--out-interface}'[specify interface via which packet is to be sent]:*^!:interface:_net_interfaces' \
"($cmds -f --fragment)"{-f,--fragment}'[match second or further fragments only]' \
"($cmds -D --delete -c --set-counters)"{-c,--set-counters}'[initialise packet and byte counters]:packets: :bytes' \
'(-v --verbose)'{-v,--verbose}'[enable verbose output]' \
'(-w --wait)'{-w,--wait}'[specify maximum wait to acquire xtables lock before giving up]: :_numbers -u seconds -d 1 wait' \
- '(-W --wait-interval)'{-W,--wait-interval}'[specify wait time to try to acquire xtables lock]: :_numbers -u usecs -d "1 second" wait' \
'(-n --numeric)'{-n,--numeric}'[print IP addresses and port numbers in numeric format]' \
'(-x --exact)'{-x,--exact}'[expand numbers (display exact values)]' \
'--line-numbers[print line numbers when listing]' \
diff --git a/Completion/Linux/Command/_selinux b/Completion/Linux/Command/_selinux
index a7ba68952..22d78db7d 100644
--- a/Completion/Linux/Command/_selinux
+++ b/Completion/Linux/Command/_selinux
@@ -1,4 +1,4 @@
-#compdef audit2allow audit2why avcstat chcon checkmodule checkpolicy fixfiles getpidprevcon getsebool matchpathcon newrole restorecon runcon sealert secon sedta seinfo selinuxconlist selinuxdefcon selinuxexeccon semanage semodule semodule_unpackage sepolgen sepolicy sesearch sestatus setenforce setsebool validatetrans
+#compdef audit2allow audit2why avcstat chcon checkmodule checkpolicy fixfiles getpidprevcon getsebool matchpathcon newrole restorecon runcon sealert secon sedismod sedta seinfo selinuxconlist selinuxdefcon selinuxexeccon semanage semodule semodule_unpackage sepolgen sepolicy sesearch sestatus setenforce setsebool validatetrans
# encompasses checkpolicy libselinux-utils policycoreutils
# policycoreutils-devel policycoreutils-python-utils setools-console
@@ -127,6 +127,7 @@ case $service in
"${ign}(-h --help)"{-h,--help}'[display help information]'
'(-U --handle-unknown)'{-U+,--handle-unknown=}'[specify how the kernel should handle unknown classes or permissions]:action:(deny allow reject)'
'(-M --mls)'{-M,--mls}'[enable the MLS policy when checking and compiling the policy]'
+ '(-N --disable-neverallow)'{-N,--disable-neverallow}"[don't check neverallow rules]"
'(-o --output)'{-o+,--output=}'[write a policy file]:file:_files'
'-c+[specify the policy version]:policy version [latest]'
':input file:_files'
@@ -154,7 +155,6 @@ case $service in
'--perm-map=[specify file name of perm map]:file:_files'
'--interface-info=[specify file name of interface information]:file:_files'
'(-x --xperms)'{-x,--xperms}'[generate extended permission rules]'
- '--debug[leave generated modules for -M]'
'(-w --why)'{-w,--why}'[translate SELinux audit messages into a description of why the access was denied]'
"${ign}(-h --help)"{-h,--help}'[display help information]'
"${ign}--version[display version information]"
@@ -193,7 +193,7 @@ case $service in
;;
checkmodule)
- args=(
+ args+=(
"${ign}(-)"{-V,--version}'[show policy versions created by this program]'
'-m[build a policy module instead of a base module]'
'-c+[build a policy module targeting a modular policy version]:version (4-21)'
@@ -201,7 +201,7 @@ case $service in
;;
checkpolicy)
- args=(
+ args+=(
'(-F --conf)'{-F,--conf}'[write policy.conf file rather than binary policy file]'
'(-d --debug)'{-d,--debug}'[enter debug mode after loading the policy]'
'(-S --sort)'{-S,--sort}'[sort ocontexts before writing out the binary policy]'
@@ -347,6 +347,10 @@ case $service in
)
;;
+ sedismod)
+ args=( ':pp file:_files -g "*.pp(-.)"' )
+ ;;
+
sedta)
args=(
'(-p --policy)'{-p+,--policy=}'[specify path to SELinux policy to analyze]:policy:_files'
@@ -410,7 +414,10 @@ case $service in
selinuxdefcon)
args=(
+ '-r+[specify role]:role'
'-l+[specify mcs/mls level]:level'
+ '-s+[specify service]:service'
+ '-v[verbose output]'
':user:_users'
':context:_selinux_contexts'
)
@@ -726,8 +733,6 @@ case $service in
'--auditallowxperm[search auditallowxperm rules]'
'--dontaudit[search dontaudit rules]'
'--dontauditxperm[search dontauditxperm rules]'
- '--neverallow[search neverallow rules]'
- '--neverallowxperm[search neverallowxperm rules]'
'(-T --type_trans)'{-T,--type_trans}'[search type_transition rules]'
'--type_change[search type_change rules]'
'--type_member[search type_member rules]'
diff --git a/Completion/Linux/Command/_sshfs b/Completion/Linux/Command/_sshfs
index 3467fbd8a..48b308066 100644
--- a/Completion/Linux/Command/_sshfs
+++ b/Completion/Linux/Command/_sshfs
@@ -15,12 +15,13 @@ _arguments -C -S : \
'(-d --debug -f)'{-d,--debug}'[enable debug output]' \
'-f[foreground]' \
'-s[disable multithreaded operation]' \
+ '(-v --verbose)'{-v,--verbose}'[print ssh replies and messages]' \
':remote directory:_user_at_host -S:' \
':mountpoint:_files -/' && ret=0
if [[ $state == options ]]; then
# TODO complete ssh(1) options
- _values -s , "options to ssh, sshfs, mount, or FUSE" \
+ _values -s , "option to ssh, sshfs, mount, or FUSE" \
'port:number' \
'compression: :(yes no)' \
reconnect delay_connect sshfs_sync no_readahead sync_readdir \
@@ -42,14 +43,15 @@ if [[ $state == options ]]; then
'ssh_protocol:version:(1 2)' \
sftp_server:path:_files \
directport:port:_ports \
- slave disable_hardlink transform_symlinks follow_symlinks no_check_root password_stdin \
- debug \
- allow_other allow_root auto_unmount nonempty default_permissions \
+ passive disable_hardlink transform_symlinks follow_symlinks no_check_root password_stdin \
+ max_conns:number \
+ debug nonempty default_permissions \
fsname:filesystem\ name \
subtype:filesystem\ type \
large_read \
max_read:max\ size \
- hard_remove use_ino readdir_ino direct_io kernel_cache auto_cache noauto_cache \
+ hard_remove use_ino readdir_ino direct_io \
+ kernel_cache auto_cache noauto_cache \
'umask:permissions' \
'uid:owner' 'gid:group' \
'entry_timeout:timeout (seconds) [1]' \
@@ -58,6 +60,7 @@ if [[ $state == options ]]; then
'ac_attr_timeout:timeout (seconds) [= attr_timeout]' \
noforget \
'remember:time (seconds)' \
+ allow_other allow_root auto_unmount \
nopath intr \
'intr_signal:signal [10]' \
modules:module \
diff --git a/Completion/Linux/Command/_valgrind b/Completion/Linux/Command/_valgrind
index 5eaaea338..6bf0e4450 100644
--- a/Completion/Linux/Command/_valgrind
+++ b/Completion/Linux/Command/_valgrind
@@ -40,7 +40,7 @@ common_report_errors=(
'--error-exitcode=-[exit code to return if errors found]:exit code' \
'--error-markers=-[add lines with begin/end markers before/after]:markers (begin,end)' \
'(--show-error-list)-s[show detected errors list and suppression counts at exit]' \
- '--show-error-list=-[show detected errors list and suppression counts at exit]:enable [no]:(yes no)'
+ '--show-error-list=-[show detected errors list and suppression counts at exit]:enable [no]:(yes no all)'
'--keep-debuginfo=-[keep symbols etc for unloaded code]:enable:(yes no)' \
'--show-below-main=-[continue stack traces below main()]:enable [no]:(yes no)' \
'--default-suppression=-[load default suppressions]:enable [yes]:(yes no)' \
@@ -115,6 +115,7 @@ args_memcheck=(
$args_addrcheck
$common_read_varinfo
$common_report_errors
+ '--show-realloc-size-zero=-[show reallocs with a size of zero]:enable [yes]:(yes no)'
)
args_cachegrind=(
@@ -215,12 +216,13 @@ _arguments -C ${(P)args} $cmd \
'--child-silent-after-fork=-[omit child output between fork & exec]:enable:(yes no)' \
'--vgdb=-[activate gdbserver]:enable [yes]:(yes no full)' \
'--vgdb-error=-[invoke gdbserver after specified number of errors]:errors [999999999]:errors' \
- '--vgdb-stop-at=-[invoke gdbserver for given events]:event:_sequence compadd - startup exit valgrindabexit all none' \
+ '--vgdb-stop-at=-[invoke gdbserver for given events]:event:_sequence compadd - startup exit abexit valgrindabexit all none' \
'--track-fds=-[track open file descriptors]:enable [no]:(yes no all)' \
'--time-stamp=-[add timestamps to log messages]:enable:(yes no)' \
'--log-fd=-[log messages to specified file descriptor]:file descriptor:_file_descriptors' \
'--log-file=-[log messages to specified file with pid appended]:file:_files' \
'--log-socket=-[log messages to socket]:ipaddr\:port' \
+ '--enable-debuginfod=-[query debuginfod servers for missing debuginfo]:enable [yes]:(no yes)' \
'*--fullpath-after=-[show full source paths in call stacks]::prefix to remove from paths:_directories' \
'--extra-debuginfo-path=-[specify absolute path to search for additional debug symbols]:path:_directories' \
'--debuginfo-server=-[specify server to query for debug symbols]:server:_hosts' \
@@ -233,6 +235,7 @@ _arguments -C ${(P)args} $cmd \
'--run-libc-freeres=-[free up glibc memory at exit]:enable [yes]:(yes no)' \
'--run-cxx-freeres=-[free up libstdc++ memory at exit]:enable [yes]:(yes no)' \
'--sim-hints=-[activate unusual sim behaviours]:hint [none]:_sequence compadd - lax-ioctls lax-doors fuse-compatible enable-outer no-inner-prefix no-nptl-pthread-stackcache fallback-llsc none' \
+ '--scheduling-quantum=-[thread-scheduling timeslice in number of basic blocks]:blocks [100000]' \
'--fair-sched=-[schedule threads fairly on multicore systems]:enable [no]:(yes no try)' \
'--kernel-variant=-[handle non-standard kernel variants]:kernel variant:_sequence compadd - bproc android-no-hw-tls android-gpu-sgx5xx android-gpu-adreno3xx' \
'--merge-recursive-frames=-[merge frames between identical program counters in specified max frames]:frames [0]' \
@@ -247,6 +250,7 @@ _arguments -C ${(P)args} $cmd \
'--unw-stack-scan-thresh=-[enable stack-scan unwind if fewer than specified number of good frames found]:frames' \
'--resync-filter=-[attempt to avoid expensive address-space-resync operations]:enable:(yes no verbose)' \
'--max-threads=-[specify maximum number of threads that valgrind can handle]:threads [500]' \
+ '--realloc-zero-bytes-frees=-[should calls to realloc() with a size of 0 free memory and return NULL]:enable:(yes no)' \
&& return
typeset -a tools