From 21510613e08a41ac3ca3ef499d0020539fc7a8d2 Mon Sep 17 00:00:00 2001
From: midipix <writeonce@midipix.org>
Date: Sun, 15 Jan 2017 02:16:58 -0500
Subject: integrated first-thread SEH support.

---
 arch/nt64/src/crt_glue.c |  6 +++---
 arch/nt64/src/vtbl.c     | 10 +++++-----
 2 files changed, 8 insertions(+), 8 deletions(-)

(limited to 'arch/nt64')

diff --git a/arch/nt64/src/crt_glue.c b/arch/nt64/src/crt_glue.c
index 7c7d8b2..08928c1 100644
--- a/arch/nt64/src/crt_glue.c
+++ b/arch/nt64/src/crt_glue.c
@@ -5,8 +5,8 @@
 #include "psxglue.h"
 #include "pthread_impl.h"
 
-extern struct __ldso_vtbl *	__ldso_vtbl;
-extern struct __psx_vtbl *	__psx_vtbl;
+extern const struct __ldso_vtbl * __ldso_vtbl;
+extern const struct __psx_vtbl *  __psx_vtbl;
 
 typedef int __app_main();
 typedef int __pthread_surrogate_routine(struct pthread *);
@@ -86,7 +86,7 @@ void __libc_entry_routine(
 	__global_dtors_fn = ctx.do_global_dtors_fn;
 
 	/* enter libc */
-	__libc_start_main(__main,argc,argv);
+	__psx_vtbl->start_main(__main,argc,argv,__libc_start_main);
 
 	/* guard */
 	a_crash();
diff --git a/arch/nt64/src/vtbl.c b/arch/nt64/src/vtbl.c
index 25225a6..aabd633 100644
--- a/arch/nt64/src/vtbl.c
+++ b/arch/nt64/src/vtbl.c
@@ -1,11 +1,11 @@
 #include "psxglue.h"
 #include "errno.h"
 
-unsigned long **	__syscall_vtbl	= 0;
-struct __ldso_vtbl *	__ldso_vtbl	= 0;
-struct __psx_vtbl *	__psx_vtbl	= 0;
-unsigned long		__teb_sys_idx	= 0;
-unsigned long		__teb_libc_idx	= 0;
+const struct __ldso_vtbl *  __ldso_vtbl     = 0;
+const struct __psx_vtbl *   __psx_vtbl      = 0;
+unsigned long **            __syscall_vtbl  = 0;
+unsigned long               __teb_sys_idx   = 0;
+unsigned long               __teb_libc_idx  = 0;
 
 long __syscall_alert(long n)
 {
-- 
cgit v1.2.3