aboutsummaryrefslogtreecommitdiffhomepage
path: root/.gitmodules
AgeCommit message (Collapse)Author
2022-12-16Revert "Bump CMSIS to 5.9.0"Ron Evans
This reverts commit 92be61534e607a2564e6fe73bbed759533eef65a.
2022-12-16Bump CMSIS to 5.9.0Anton D. Kachalov
2022-04-10all: use compiler-rt from LLVMAyke van Laethem
2022-02-28Revert "all: move stm32 files to separate repository"sago35
This reverts commit 644356c220ed88f110d01300f671a170cd36eb04.
2022-02-18all: move stm32 files to separate repositoryAyke van Laethem
2022-02-12builder: add support for cross compiling to DarwinAyke van Laethem
This means that it will be possible to generate a Darwin binary on any platform (Windows, Linux, and MacOS of course), including CGo. Of course, the resulting binaries can only run on MacOS itself. The binary links against libSystem.dylib, which is a shared library. The macos-minimal-sdk repository contains open source header files and generated symbol stubs so we can generate a stub libSystem.dylib without copying any closed source code.
2021-11-16all: add support for windows/amd64Ayke van Laethem
This uses Mingw-w64, which seems to be the de facto standard for porting Unixy programs to Windows.
2021-11-14internal/task: use asyncify on webassemblyNia Waldvogel
This change implements a new "scheduler" for WebAssembly using binaryen's asyncify transform. This is more reliable than the current "coroutines" transform, and works with non-Go code in the call stack. runtime (js/wasm): handle scheduler nesting If WASM calls into JS which calls back into WASM, it is possible for the scheduler to nest. The event from the callback must be handled immediately, so the task cannot simply be deferred to the outer scheduler. This creates a minimal scheduler loop which is used to handle such nesting.
2021-11-04builder: build static binaries using musl on LinuxAyke van Laethem
This commit adds support for musl-libc and uses it by default on Linux. The main benefit of it is that binaries are always statically linked instead of depending on the host libc, even when using CGo. Advantages: - The resulting binaries are always statically linked. - No need for any tools on the host OS, like a compiler, linker, or libc in a release build of TinyGo. - This also simplifies cross compilation as no cross compiler is needed (it's all built into the TinyGo release build). Disadvantages: - Binary size increases by 5-6 kilobytes if -no-debug is used. Binary size increases by a much larger margin when debugging symbols are included (the default behavior) because musl is built with debugging symbols enabled. - Musl does things a bit differently than glibc, and some CGo code might rely on the glibc behavior. - The first build takes a bit longer because musl needs to be built. As an additional bonus, time is now obtained from the system in a way that fixes the Y2038 problem because musl has been a bit more agressive in switching to 64-bit time_t.
2021-01-09stm32: use stm32-rs SVDs which are of much higher qualityAyke van Laethem
This commit changes the number of wait states for the stm32f103 chip to 2 instead of 4. This gets it back in line with the datasheet, but it also has the side effect of breaking I2C. Therefore, another (seemingly unrelated) change is needed: the i2cTimeout constant must be increased to a higher value to adjust to the lower flash wait states - presumably because the lower number of wait states allows the chip to run code faster.
2020-07-08cmsis-svd: change submodule url to the TinyGo forkYannis Huber
2020-07-08Add new kendryte k210 target definitionYannis Huber
2020-03-22all: include picolibc for bare metal targetsAyke van Laethem
This is necessary for better CGo support on bare metal. Existing libraries expect to be able to include parts of libc and expect to be able to link to those symbols. Because with this all targets have a working libc, it is now possible to add tests to check that a libc in fact works basically. Not all parts of picolibc are included, such as the math or stdio parts. These should be added later, when needed. This commit also avoids the need for the custom memcpy/memset/memcmp symbols that are sometimes emitted by LLVM. The C library will take care of that.
2020-02-19main: update cmsis-svd moduleAyke van Laethem
This reverts back to the upstream repository which has merged all necessary updates.
2020-01-23wasm: include wasi-libcAyke van Laethem
This allows CGo code to call some libc functions. Additionally, by putting memset/memmove/memcpy in an archive they're not included anymore when not necessary, reducing code size for small programs.
2019-11-25Revert "all: use compiler-rt from the llvm-project directory"Ayke van Laethem
This reverts commit acdaaa17d8232989d310292a512e70fccdb288a5. See https://github.com/tinygo-org/tinygo/issues/734 for details.
2019-11-13all: use compiler-rt from the llvm-project directoryAyke van Laethem
We don't need the separate submodule: compiler-rt is already included in the llvm-project repository. This should hopefully make CI slightly faster too.
2019-07-07all: add HiFive1 rev B board with RISC-V architectureAyke van Laethem
This page has been a big help in adding support for this new chip: https://wiki.osdev.org/HiFive-1_Bare_Bones
2019-03-22all: switch to LLVM 8Ayke van Laethem
2018-10-07all: use compiler-rt for builtinsAyke van Laethem
2018-09-22stm32: initial supportAyke van Laethem
2018-09-05avr: remove device files, use them from a subrepositoryAyke van Laethem
These files don't really belong in this repository. It's better to generate them automatically from a source, like the one provided by the avr-rust project. So a new command `make gen-device-avr` has been provided for this purpose.
2018-04-25Add runtime support for the nRF52Ayke van Laethem