Resolve hisenbugs regarding GCC and -Os
This commit is contained in:
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user