diff options
| author | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2021-10-24 02:17:02 +0200 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2021-10-24 02:17:02 +0200 |
| commit | 17832b2bed76c4b5e6efd2b7d548d09a3be8783c (patch) | |
| tree | 0fc2bc3cefb96102c31543fde127df169f534600 | |
| parent | 15e2ff6bb683138878c376a84882b1a6da63cb94 (diff) | |
Clear BSS space using memset(3)
| -rw-r--r-- | libpsx/src/setup.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libpsx/src/setup.c b/libpsx/src/setup.c index 1a28685..2c7790d 100644 --- a/libpsx/src/setup.c +++ b/libpsx/src/setup.c @@ -1,5 +1,7 @@ #include <psx.h> #include <stdio.h> +#include <stddef.h> +#include <string.h> extern int __bss_start[]; extern int __bss_end[]; @@ -26,15 +28,14 @@ static void call_ctors(void) void psxsdk_setup() { - unsigned int x; + printf("Initializing PSXSDK... \n"); dprintf("Clearing BSS space...\n"); - -// Clear BSS space - for(x = (unsigned int)__bss_start; x < (unsigned int)__bss_end; x++) - *((unsigned char*)x) = 0; + +// Clear BSS space + memset(__bss_start, 0, (ptrdiff_t)__bss_end - (ptrdiff_t)__bss_start); dprintf("BSS space cleared.\n"); |
