From b476dc856431436ac0f3e0179f8a25302421a0cc Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Mon, 5 Apr 2021 00:22:15 +0200 Subject: Added new randomization features --- libs/libc/crt/crt0.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'libs/libc/crt') diff --git a/libs/libc/crt/crt0.c b/libs/libc/crt/crt0.c index 6c38474..3bd413f 100644 --- a/libs/libc/crt/crt0.c +++ b/libs/libc/crt/crt0.c @@ -1,18 +1,28 @@ // MIT License, Copyright (c) 2021 Marvin Borner +#include #include +#include #include #ifdef USER -extern int main(int, char **); +extern u32 __stack_chk_guard; +u32 __stack_chk_guard; -void _start(void); -void _start(void) +int main(int, char **); + +int _start(int argc, char **argv); +int _start(int argc, char **argv) { - exit(main(0, NULL)); - while (1) - ; + u32 stamp = 0; + assert(read("/dev/rtc", &stamp, 0, sizeof(stamp)) == sizeof(stamp) && stamp); + srand(stamp); + rand_fill(&__stack_chk_guard, sizeof(__stack_chk_guard)); + + exit(main(argc, argv)); + + return 1; } #endif -- cgit v1.2.3