diff options
author | Mike Frysinger <vapier@chromium.org> | 2021-04-16 13:00:01 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2021-04-16 13:00:01 -0400 |
commit | 1f3572f01249e929feb26309fed5c2ce7d932a86 (patch) | |
tree | 15052a829adc83ef44780290bf6b5ce1d3aba847 /paxldso.c | |
parent | lddtree: add --cwd option (diff) | |
download | pax-utils-1f3572f01249e929feb26309fed5c2ce7d932a86.tar.gz pax-utils-1f3572f01249e929feb26309fed5c2ce7d932a86.tar.bz2 pax-utils-1f3572f01249e929feb26309fed5c2ce7d932a86.zip |
build: support debugging/testing object internals
Add a hack so we can build individual objects as standalone programs.
This way we can more easily poke internal static funcs to aid in the
overall debugging/development process.
Bug: https://bugs.gentoo.org/739014
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'paxldso.c')
-rw-r--r-- | paxldso.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -371,3 +371,21 @@ void paxldso_cleanup(void) #endif const char * ldcache_path = "/etc/ld.so.cache"; + +#ifdef MAIN + +const char argv0[] = "paxldso"; + +int main(int argc, char *argv[]) +{ + elfobj *elf = readelf(argv[0]); + for (int i = 1; i < argc; ++i) { + const char *search = argv[i]; + const char *lib = ldso_cache_lookup_lib(elf, search); + printf("%s -> %s\n", search, lib); + } + unreadelf(elf); + paxldso_cleanup(); +} + +#endif |