summaryrefslogtreecommitdiffhomepage
path: root/src/output
diff options
context:
space:
mode:
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";
}