summaryrefslogtreecommitdiffhomepage
path: root/crt/nt32/crtvrfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'crt/nt32/crtvrfs.c')
-rw-r--r--crt/nt32/crtvrfs.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/crt/nt32/crtvrfs.c b/crt/nt32/crtvrfs.c
index 50fffd1..ac8cccb 100644
--- a/crt/nt32/crtvrfs.c
+++ b/crt/nt32/crtvrfs.c
@@ -16,6 +16,10 @@ static const unsigned short __sdldso[] = {'l','i','b','p','s','x','s','c','l',
static const unsigned short __sdlibc[] = {'l','i','b','c',
'.','s','o',0};
+/* pty server root-relative name */
+static const unsigned short __sdctty[] = {'n','t','c','t','t','y',
+ '.','e','x','e',0};
+
static unsigned long __attribute__((section(".dsodata")))
__dsodata[65536/sizeof(unsigned long)];
@@ -27,8 +31,13 @@ void __libc_loader_init(void * __main, int flags)
void * hdsodir;
void * ldsobase;
void * libcbase;
- int (*__psx_init)(int *,char ***,char ***,void *);
- void (*__libc_entry_routine)(void *,void *,int);
+ int (*__psx_init)(
+ int *,char ***,char ***,
+ void *);
+ void (*__libc_entry_routine)(
+ void *,void *,
+ const unsigned short *,
+ int);
if ((status = __ldso_load_framework_loader_ex(
&ldsobase,&hroot,&hdsodir,
@@ -53,5 +62,5 @@ void __libc_loader_init(void * __main, int flags)
libcbase,"__libc_entry_routine")))
__ldso_terminate_current_process(NT_STATUS_NOINTERFACE);
- __libc_entry_routine(__main,__psx_init,flags);
+ __libc_entry_routine(__main,__psx_init,__sdctty,flags);
}