summaryrefslogtreecommitdiffhomepage
path: root/src/output
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2016-11-12 22:41:56 -0500
committermidipix <writeonce@midipix.org>2016-11-12 22:41:56 -0500
commit63714bb596ac11b20e9599b09bff1874697996d8 (patch)
tree157de51ce083ffa663577588e0af1c608b042cb6 /src/output
parentc7ca52f4ec6005315ac2a2374f4f05fb1ae62ad2 (diff)
downloadperk-63714bb596ac11b20e9599b09bff1874697996d8.tar.bz2
perk-63714bb596ac11b20e9599b09bff1874697996d8.tar.xz
pe_output_image_type(): pretty_framework(): added 'psxscl' support.
Diffstat (limited to 'src/output')
-rw-r--r--src/output/pe_output_image_type.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/output/pe_output_image_type.c b/src/output/pe_output_image_type.c
index d1211a9..b2a0bd7 100644
--- a/src/output/pe_output_image_type.c
+++ b/src/output/pe_output_image_type.c
@@ -5,6 +5,7 @@
/***************************************************************/
#include <stdint.h>
+#include <stdbool.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
@@ -62,6 +63,12 @@ static const char * pretty_subsystem(const struct pe_unit_ctx * uctx)
return pe_subsystem_name[uctx->meta->opt.img.subsystem];
}
+static bool pe_image_is_psxscl(const struct pe_unit_ctx * uctx)
+{
+ return (!uctx->meta->summary.nimplibs
+ && pe_get_expsym_by_name(uctx->meta,"__psx_init"));
+}
+
static const char * pretty_framework(const struct pe_unit_ctx * uctx)
{
if (pe_get_named_section_index(uctx->meta,".midipix") >= 0)
@@ -70,6 +77,9 @@ static const char * pretty_framework(const struct pe_unit_ctx * uctx)
else if (pe_get_named_section_index(uctx->meta,".freestd") >= 0)
return "freestd";
+ else if (pe_image_is_psxscl(uctx))
+ return "psxscl";
+
else
return "win32";
}