avr: fix time.Sleep() in init code

In the early days of TinyGo, the idea of `postinit` was to enable
interrupts only after initializers have run. Which kind of makes
sense... except that `time.Sleep` is allowed in init code and
`time.Sleep` requires interrupts to be enabled. Therefore, interrupts
must be enabled while initializers are being run.

This commit simply moves the enabling of interrupts to a point right
before running package initializers. It also removes `runtime.postinit`,
which is not necessary anymore (and was only used on AVR).
This commit is contained in:
Ayke van Laethem
2022-01-01 22:54:29 +01:00
committed by Ayke
parent e536676a67
commit fcd88356db
22 changed files with 5 additions and 47 deletions
-2
View File
@@ -22,8 +22,6 @@ func fd_write(id uint32, iovs *__wasi_iovec_t, iovs_len uint, nwritten *uint) (e
//export proc_exit
func proc_exit(exitcode uint32)
func postinit() {}
const (
putcharBufferSize = 120
stdout = 1