aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@chromium.org>2021-04-16 13:00:01 -0400
committerMike Frysinger <vapier@gentoo.org>2021-04-16 13:00:01 -0400
commit1f3572f01249e929feb26309fed5c2ce7d932a86 (patch)
tree15052a829adc83ef44780290bf6b5ce1d3aba847 /paxldso.c
parentlddtree: add --cwd option (diff)
downloadpax-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.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/paxldso.c b/paxldso.c
index 2d8ddea..d89210d 100644
--- a/paxldso.c
+++ b/paxldso.c
@@ -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