/contrib/sdk/sources/newlib/app.lds |
---|
14,7 → 14,7 |
LONG(___stacktop); |
LONG(___cmdline); |
LONG(___pgmname); /* full path */ |
LONG(0); /*FIXME tls data */ |
LONG(__subsystem__); |
LONG(__idata_start) |
LONG(__idata_end) |
LONG(_main) |
65,7 → 65,7 |
___crt_xt_end__ = . ; |
} |
.data ALIGN(64) : |
.data ALIGN(16) : |
{ |
PROVIDE ( __data_start__ = .) ; |
*(.data) |
79,12 → 79,12 |
___iend = . ; |
} |
.eh_frame BLOCK(16) : |
/* .eh_frame BLOCK(16) : |
{ |
PROVIDE (___EH_FRAME_BEGIN__ = .) ; |
*(.eh_frame*) |
} |
*/ |
.idata ALIGN(16): |
{ |
__idata_start = .; |
120,6 → 120,7 |
*(.drectve) |
*(.note.GNU-stack) |
*(.comment) |
*(.eh_frame) |
*(.debug_abbrev) |
*(.debug_info) |
*(.debug_line) |
/contrib/sdk/sources/newlib/libc/crt/crtbegin.c |
---|
File deleted |
/contrib/sdk/sources/newlib/libc/crt/crt1.c |
---|
29,8 → 29,12 |
int stacktop; |
char *cmdline; |
char *path; |
int __subsystem__; |
}; |
void __init_conio(); |
void __fini_conio(); |
extern int main (int, char **, char **); |
/* NOTE: The code for initializing the _argv, _argc, and environ variables |
177,6 → 181,8 |
init_reent(); |
init_stdio(); |
if(header->__subsystem__ == 3) |
__init_conio(); |
if( header->cmdline[0] != 0) |
{ |
196,6 → 202,9 |
retval = main(argc, argv, NULL); |
done: |
if(header->__subsystem__ == 3) |
__fini_conio(); |
exit (retval); |
} |
/contrib/sdk/sources/newlib/libc/crt/crtdll.c |
---|
29,7 → 29,7 |
int stacktop; |
char *cmdline; |
char *path; |
int reserved; |
int __subsystem__; |
void *__idata_start; |
void *__idata_end; |
int (*main)(int argc, char **argv, char **envp); |
38,7 → 38,8 |
void _pei386_runtime_relocator (void); |
void init_loader(void *libc_image); |
void init_reent(); |
void __init_conio(); |
void __fini_conio(); |
int link_app(); |
void* get_entry_point(void *raw); |
int (*entry)(int, char **, char **); |
182,6 → 183,10 |
_tls_map[0] = 0xE0; |
init_reent(); |
init_stdio(); |
if(header->__subsystem__ == 3) |
__init_conio(); |
__do_global_ctors(); |
// __appenv = load_file("/sys/system.env", &__appenv_size); |
209,6 → 214,9 |
retval = header->main(argc, argv, NULL); |
done: |
if(header->__subsystem__ == 3) |
__fini_conio(); |
exit (retval); |
} |
/contrib/sdk/sources/newlib/libc/stdio/printf.c |
---|
22,8 → 22,6 |
#include <stdarg.h> |
#include "local.h" |
int __gui_mode; |
int |
_DEFUN(_printf_r, (ptr, fmt), |
struct _reent *ptr _AND |
57,11 → 55,3 |
} |
#endif /* ! _REENT_ONLY */ |
extern int __gui_mode; |
extern void __attribute__ ((constructor)) __init_conio(); |
static void __attribute__ ((constructor)) init_printf() |
{ |
__gui_mode = (int)&__init_conio; |
} |
/contrib/sdk/sources/newlib/libc/stdio/puts.c |
---|
139,12 → 139,3 |
} |
#endif |
extern int __gui_mode; |
extern void __attribute__ ((constructor)) __init_conio(); |
static void __attribute__ ((constructor)) init_puts() |
{ |
__gui_mode = (int)&__init_conio; |
} |
/contrib/sdk/sources/newlib/libc/sys/conio.c |
---|
21,12 → 21,12 |
return count; |
}; |
void __attribute__ ((constructor)) __init_conio() |
void __init_conio() |
{ |
__io_handle *ioh; |
load_libconsole(); |
con_init(80, 25, 80, 250, "Console application"); |
con_init(80, 25, 80, 500, "Console application"); |
ioh = &__io_tab[STDOUT_FILENO]; |
ioh->mode = _WRITE|_ISTTY; |
33,7 → 33,7 |
ioh->write = &console_write; |
}; |
static void __attribute__ ((destructor)) __fini_conio() |
void __fini_conio() |
{ |
con_exit(0); |
} |
/contrib/sdk/sources/newlib/static.lds |
---|
14,7 → 14,7 |
LONG(___stacktop); |
LONG(___cmdline); |
LONG(___pgmname); /* full path */ |
LONG(0); /*FIXME tls data */ |
LONG(__subsystem__); |
*(.init) |
*(.text) |