From: Oliver Kiddle <okiddle@yahoo.co.uk>
To: Zsh workers <zsh-workers@sunsite.dk>
Subject: PATCH: ldd and LD_DEBUG completions
Date: Thu, 28 Jun 2007 17:12:46 +0100 [thread overview]
Message-ID: <15204.1183047166@thecus> (raw)
Attached are completions for ldd and the LD_DEBUG environment variable.
The use of the Unix/Type directory for the latter is perhaps
questionable but is probably the best choice. These are based on Linux
and Solaris. I would have checked BSD but the sourceforge compile farm
has gone.
The zsh libraries are not especially cleanly linked by the way. Run ldd
-ur (preferably on Solaris) on them to see what I mean.
Oliver
Index: Completion/Unix/Command/_ldd
===================================================================
RCS file: Completion/Unix/Command/_ldd
diff -N Completion/Unix/Command/_ldd
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Completion/Unix/Command/_ldd 28 Jun 2007 16:11:00 -0000
@@ -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"'
Index: Completion/Unix/Type/_ld_debug
===================================================================
RCS file: Completion/Unix/Type/_ld_debug
diff -N Completion/Unix/Type/_ld_debug
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Completion/Unix/Type/_ld_debug 28 Jun 2007 16:11:00 -0000
@@ -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
+
next reply other threads:[~2007-06-28 16:12 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-28 16:12 Oliver Kiddle [this message]
2007-06-28 16:21 ` Peter Stephenson
2007-06-28 18:00 ` Phil Pennock
2007-06-29 9:59 ` Peter Stephenson
2007-06-29 10:42 ` Oliver Kiddle
2007-06-29 12:11 ` Clint Adams
2007-06-29 12:39 ` Oliver Kiddle
2007-06-29 14:35 ` Bart Schaefer
2007-06-29 16:08 ` Oliver Kiddle
2007-06-28 17:07 ` Danek Duvall
2007-06-28 17:15 ` Peter Stephenson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=15204.1183047166@thecus \
--to=okiddle@yahoo.co.uk \
--cc=zsh-workers@sunsite.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).