diff --git a/ulib/_premain.c b/ulib/_premain.c index 9e16503..53380dd 100644 --- a/ulib/_premain.c +++ b/ulib/_premain.c @@ -9,8 +9,8 @@ #include extern void main(void); -extern uint8_t _bss_start[]; -extern uint8_t _bss_end[]; +extern volatile uint8_t _bss_start[]; +extern volatile uint8_t _bss_end[]; void clearbss(void) { uint8_t *p = _bss_start; @@ -20,7 +20,7 @@ void clearbss(void) { } #define MAX_ARGS 25 -static char *_args[MAX_ARGS]; +static volatile char *_args[MAX_ARGS]; size_t _argslen; @@ -40,7 +40,7 @@ void _premain(void) { _args[i] = umalloc(PROC_ARG_MAX); } - proc_argv(-1, &_argslen, _args, MAX_ARGS); + proc_argv(-1, &_argslen, (char **)_args, MAX_ARGS); main(); proc_kill(proc_getpid());