summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2016-11-16 09:41:57 -0500
committermidipix <writeonce@midipix.org>2016-11-16 09:50:42 -0500
commit016925a048e34c3eeb2815d6830d61771f0ed999 (patch)
tree701bc47cb86ab0f4da049f2a9b955de3424b812d
parent39af3cb59a5bc2dff1fa1429623e1219d002a4b2 (diff)
downloadperk-016925a048e34c3eeb2815d6830d61771f0ed999.tar.bz2
perk-016925a048e34c3eeb2815d6830d61771f0ed999.tar.xz
driver: added --symbols support (list symbols found in coff symbol table).
-rw-r--r--include/perk/perk_output.h1
-rw-r--r--src/driver/pe_driver_ctx.c4
-rw-r--r--src/internal/perk_driver_impl.h1
-rw-r--r--src/skin/pe_skin_default.c3
4 files changed, 9 insertions, 0 deletions
diff --git a/include/perk/perk_output.h b/include/perk/perk_output.h
index 6ef9054..d0a9c19 100644
--- a/include/perk/perk_output.h
+++ b/include/perk/perk_output.h
@@ -11,6 +11,7 @@
#define PERK_OUTPUT_IMPORT_SYMS 0x00000004
#define PERK_OUTPUT_IMAGE_CATEGORY 0x00000008
#define PERK_OUTPUT_IMAGE_SECTIONS 0x00000010
+#define PERK_OUTPUT_IMAGE_SYMBOLS 0x00000020
/* pretty-printer flags */
diff --git a/src/driver/pe_driver_ctx.c b/src/driver/pe_driver_ctx.c
index 8bc1706..accb9c1 100644
--- a/src/driver/pe_driver_ctx.c
+++ b/src/driver/pe_driver_ctx.c
@@ -162,6 +162,10 @@ int pe_get_driver_ctx(
cctx.fmtflags |= PERK_OUTPUT_IMAGE_SECTIONS;
break;
+ case TAG_SYMBOLS:
+ cctx.fmtflags |= PERK_OUTPUT_IMAGE_SYMBOLS;
+ break;
+
case TAG_EXPSYMS:
cctx.fmtflags |= PERK_OUTPUT_EXPORT_SYMS;
break;
diff --git a/src/internal/perk_driver_impl.h b/src/internal/perk_driver_impl.h
index 0386d81..4229977 100644
--- a/src/internal/perk_driver_impl.h
+++ b/src/internal/perk_driver_impl.h
@@ -17,6 +17,7 @@ enum app_tags {
TAG_PRETTY,
TAG_CATEGORY,
TAG_SECTIONS,
+ TAG_SYMBOLS,
TAG_EXPSYMS,
TAG_IMPLIBS,
TAG_IMPSYMS,
diff --git a/src/skin/pe_skin_default.c b/src/skin/pe_skin_default.c
index aee0cc3..e33b8c0 100644
--- a/src/skin/pe_skin_default.c
+++ b/src/skin/pe_skin_default.c
@@ -17,6 +17,9 @@ const struct argv_option pe_default_options[] = {
{"sections", 'c',TAG_SECTIONS,ARGV_OPTARG_NONE,0,0,0,
"list image sections"},
+ {"symbols", 's',TAG_SYMBOLS,ARGV_OPTARG_NONE,0,0,0,
+ "list symbols found in the coff symbol table"},
+
{"expsyms", 'e',TAG_EXPSYMS,ARGV_OPTARG_NONE,0,0,0,
"list exported symbols" },