about summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
authorPaul Ackersviller <packersv@users.sourceforge.net>2007-11-19 02:56:54 +0000
committerPaul Ackersviller <packersv@users.sourceforge.net>2007-11-19 02:56:54 +0000
commit9493483428f55f595efb1b1295171a811d3fd5e6 (patch)
treed477505f0a222190f80ebc3eadef32c8152f2cd2 /Completion
parent0fd2c9dd2fee0d06e7d6c1553f5befa57d446f8c (diff)
downloadzsh-9493483428f55f595efb1b1295171a811d3fd5e6.tar.gz
zsh-9493483428f55f595efb1b1295171a811d3fd5e6.tar.xz
zsh-9493483428f55f595efb1b1295171a811d3fd5e6.zip
23611: Merge new completion onto the 4.2 branch.
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Unix/Command/_ldd32
-rw-r--r--Completion/Unix/Type/_ld_debug39
2 files changed, 71 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_ldd b/Completion/Unix/Command/_ldd
new file mode 100644
index 000000000..e739181d6
--- /dev/null
+++ b/Completion/Unix/Command/_ldd
@@ -0,0 +1,32 @@
+#compdef ldd
+
+if _pick_variant gnu=GNU solaris --version; then
+  args=(
+    '(- *)--version[display version information]'
+    '(- *)--help[display help information]'
+    '(-v --verbose)'{-v,--verbose}'[include symbol versioning information]'
+    '(-d --data-relocs)'{-d,--data-relocs}'[perform data relocations and report missing objects]'
+    '(-f --function-relocs)'{-f,--function-relocs}'[perform data/function relocations and report missing objects]'
+    '(-u --unused)'{-u,--unused}'[display any unused objects]'
+  )
+else
+  args=(
+    -s
+    '(-r)-d[check immediate references]'
+    '(-d)-r[check immediate and lazy references]'
+    '-u[display any unused objects]'
+    '-U[display any unreferenced, or unused dependencies]'
+    '-e[set specified environment variable]:environment variable:(LD_PRELOAD LD_LIBRARY_PATH LD_RUN_PATH LD_DEBUG LD_DEBUG_OUTPUT LD_NOCONFIG LD_NOAUXFLTR)'
+    '-f[check for insecure executable]'
+    '-i[display order of execution of initialization sections]'
+    '-L[enable lazy loading]'
+    '-l[force immediate processing of any filters]'
+    '-s[display search path used]'
+    '-v[displays all dependency relationships]'
+  )
+fi
+
+_arguments $args \
+  '*: : _alternative
+    "executables:executable:_files -g \^\*.so\(\*\)"
+      "shared-objects:shared object:_files -g \*.so"'
diff --git a/Completion/Unix/Type/_ld_debug b/Completion/Unix/Type/_ld_debug
new file mode 100644
index 000000000..94593eff0
--- /dev/null
+++ b/Completion/Unix/Type/_ld_debug
@@ -0,0 +1,39 @@
+#compdef -value-,LD_DEBUG,-default-
+
+local vals
+
+vals=(
+  'libs[display library search paths]'
+  'files[show processing of files and libraries]'
+  'bindings[display symbol binding]'
+  'reloc[display relocation processing]'
+  'symbols[display symbol table processing]'
+  'unused[show unused files]'
+  'versions[show version processing]'
+  'help[display help message]'
+)
+
+case $OSTYPE in
+  solaris*)
+    vals+=(
+      'basic[provide basic trace information/warnings]'
+      'cap[display hardware/software capability processing]'
+      'detail[provide more info in conjunction with other options]'
+      'demangle[display C++ symbol names in their demangled form]'
+      'init[display init and fini processing]'
+      'long[display long object names without truncation]'
+      'move[display move section processing]'
+      'segments[display available output segments and address/offset processing]'
+      'strtab[display information about string table compression]'
+      'tls[display TLS processing info]'
+    )
+  ;;
+  linux*)
+    vals+=(
+      'all[combine all options]'
+      'statistics[display relocation statistics]'
+    )
+  ;;
+esac
+_values -s , capability $vals
+