mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-06-13 07:48:05 +02:00
48 lines
1.4 KiB
Text
48 lines
1.4 KiB
Text
#compdef elfdump
|
|
|
|
local -a args
|
|
|
|
args=(
|
|
'-c[dump section header information]'
|
|
'-d[dump .dynamic section]'
|
|
'-e[dump file header]'
|
|
'-G[dump .got (global offset table) section]'
|
|
'-h[dump .hash section]'
|
|
'-i[dump .interp (interpreter) section]'
|
|
'-n[dump .note sections]'
|
|
'(-w)-p[dump program headers]'
|
|
'-r[dump relocation sections]'
|
|
'-s[dump symbol table sections]'
|
|
'(-p)-w[write contents of matched sections to file]:file:_files'
|
|
)
|
|
|
|
case $OSTYPE in
|
|
solaris*)
|
|
args+=(
|
|
'-g[dump .group section]'
|
|
'-H[dump .SUNW_cap (capabilities) section]'
|
|
'-m[dump .SUNW_move section]'
|
|
'-S[dump symbol table sections sorted according to symbol sort sections]'
|
|
'-u[dump stack unwind/exceptions sections]'
|
|
'-v[dump .SUNW_version (versioning) sections]'
|
|
'-y[dump .SUNW_syminfo (symbol bindings) section]'
|
|
'-I[match sections by index]:index or range'
|
|
"-N[match sections by name]:section"
|
|
'-T[match sections by type]:type'
|
|
'-C[demangle C++ symbol names]'
|
|
'-k[calculate ELF checksum]'
|
|
'-l[show long section names without truncation]'
|
|
'-O[specify osabi to apply]:osabi'
|
|
'-P[use alternative section header]'
|
|
)
|
|
;;
|
|
freebsd*)
|
|
args+=(
|
|
'-a[dump all information]'
|
|
'(-)-E[return success if file is an ELF file and failure if not]'
|
|
)
|
|
;;
|
|
esac
|
|
|
|
_arguments -s $args \
|
|
"*:elf file:_object_files"
|