Clear BSS space using memset(3)
This commit is contained in:
parent
15e2ff6bb6
commit
17832b2bed
|
@ -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");
|
||||
|
||||
|
|
Loading…
Reference in New Issue