diff options
author | midipix <writeonce@midipix.org> | 2017-11-23 11:00:00 -0500 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2017-11-23 11:00:00 -0500 |
commit | 554d2c61eefc995bd1bd48af06f90e46745d0ce6 (patch) | |
tree | ab57908a0c190ad8d91ba052df7c690e1c8f5692 /crt/nt32/crtldso.c | |
parent | 31dfe38649f641ad2cbbc43c745c644bbdcc9182 (diff) | |
download | mmglue-554d2c61eefc995bd1bd48af06f90e46745d0ce6.tar.bz2 mmglue-554d2c61eefc995bd1bd48af06f90e46745d0ce6.tar.xz |
_start(), ldso: integrated -mposix and explicit pty server dependency support.
Diffstat (limited to 'crt/nt32/crtldso.c')
-rw-r--r-- | crt/nt32/crtldso.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/crt/nt32/crtldso.c b/crt/nt32/crtldso.c index 9a79a13..81dec5f 100644 --- a/crt/nt32/crtldso.c +++ b/crt/nt32/crtldso.c @@ -18,6 +18,11 @@ static const unsigned short __rrlibc[] = {'l','i','b','\\', 'l','i','b','c', '.','s','o',0}; +/* pty server root-relative name */ +static const unsigned short __rrctty[] = {'b','i','n','\\', + 'n','t','c','t','t','y', + '.','e','x','e',0}; + static unsigned long __attribute__((section(".dsodata"))) __dsodata[65536/sizeof(unsigned long)]; @@ -29,8 +34,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, @@ -55,5 +65,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,__rrctty,flags); } |