Resolve hisenbugs regarding GCC and -Os

This commit is contained in:
2025-09-17 21:48:16 +02:00
parent 0a5523f234
commit 91e65bb35a
13 changed files with 74 additions and 93 deletions

View File

@ -8,15 +8,13 @@
#include <log.h>
extern void main(void);
extern uint8_t _bss_start;
extern uint8_t _bss_end;
extern uint8_t _bss_start[];
extern uint8_t _bss_end[];
void clearbss(void) {
uint8_t *ps = &_bss_start;
uint8_t *pe = &_bss_end;
size_t sz = pe - ps;
for (size_t i = 0; i < sz; i++) {
ps[i] = 0;
uint8_t *p = _bss_start;
while (p < _bss_end) {
*p++ = 0;
}
}