Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade tinygo to v29.0.0 #6

Closed
wants to merge 65 commits into from

Commits on Jun 16, 2023

  1. Configuration menu
    Copy the full SHA
    e041a8e View commit details
    Browse the repository at this point in the history
  2. ci: rename release-double-zipped to something more useful

    The Linux artifacts have clear names (linux-amd64-double-zipped etc),
    but the MacOS and Windows ones didn't. This patch renames these artifact
    names to be more readable, especially when downloading the artifacts.
    aykevl authored and deadprogram committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    785eb93 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2023

  1. os: define ErrNoDeadline

    svrakitin authored and deadprogram committed Jun 17, 2023
    Configuration menu
    Copy the full SHA
    91ee4d0 View commit details
    Browse the repository at this point in the history
  2. reflect: use .key() instead of a type assert

    This should be ever so slightly more efficient.
    aykevl committed Jun 17, 2023
    Configuration menu
    Copy the full SHA
    0cb5d33 View commit details
    Browse the repository at this point in the history
  3. ci: update Node.js from version 14 to version 16

    Node.js 14 is not maintained anymore, so we can drop support for it.
    aykevl authored and deadprogram committed Jun 17, 2023
    Configuration menu
    Copy the full SHA
    6d5f4c4 View commit details
    Browse the repository at this point in the history
  4. wasm: remove i64 workaround, use BigInt instead

    Browsers previously didn't support the WebAssembly i64 type, so we had
    to work around that limitation by converting the LLVM i64 type to
    something else. Some people used a pair of i32 values, but we used a
    pointer to a stack allocated i64.
    
    Now however, all major browsers and Node.js do support WebAssembly
    BigInt integration so that i64 values can be passed back and forth
    between WebAssembly and JavaScript easily. Therefore, I think the time
    has come to drop support for this workaround.
    
    For more information: https://v8.dev/features/wasm-bigint (note that
    TinyGo has used a slightly different way of passing i64 values between
    JS and Wasm).
    
    For information on browser support: https://webassembly.org/roadmap/
    aykevl authored and deadprogram committed Jun 17, 2023
    Configuration menu
    Copy the full SHA
    4d2a6d2 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2023

  1. example: simplify pininterrupt

    ysoldak authored and deadprogram committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    cec2379 View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2023

  1. nrf: wait for stop condition after reading from the I2C bus

    Found while working on the PineTime. For some reason it still kind of
    works in most cases, but I was hitting this issue when interacting with
    two different I2C devices (the touch sensor and the BMA421).
    aykevl authored and deadprogram committed Jun 22, 2023
    Configuration menu
    Copy the full SHA
    4619896 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2023

  1. machine/usb/hid,joystick: fix hidreport (3) (tinygo-org#3802)

    * machine/usb/hid,joystick: fix hidreport (3) and handling of logical, usage, and physical minimum/maximum values
    sago35 authored Jul 1, 2023
    Configuration menu
    Copy the full SHA
    ad32d26 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dd4e9e8 View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2023

  1. reflect: Add FieldByNameFunc

    This adds FieldByNameFunc, which some libraries like reflect2 need.
    
    For my usecase I could also just stub FieldByNameFunc to panic, but
    figured that it would work OK to just make it work. I'm not sure if
    the overhead to FieldByName using a closure is acceptable.
    
    Signed-off-by: Tyler Rockwood <[email protected]>
    rockwotj authored and deadprogram committed Jul 2, 2023
    Configuration menu
    Copy the full SHA
    fdc4bbb View commit details
    Browse the repository at this point in the history
  2. docker: update clang to version 15

    radkomih authored and deadprogram committed Jul 2, 2023
    Configuration menu
    Copy the full SHA
    93cc03b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ef72c5b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    acba074 View commit details
    Browse the repository at this point in the history
  5. compiler: update .ll test output

    dgryski authored and deadprogram committed Jul 2, 2023
    Configuration menu
    Copy the full SHA
    08b3a45 View commit details
    Browse the repository at this point in the history
  6. example: adjust time offset

    ysoldak authored and deadprogram committed Jul 2, 2023
    Configuration menu
    Copy the full SHA
    dc91c96 View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2023

  1. Configuration menu
    Copy the full SHA
    db8d807 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6efa940 View commit details
    Browse the repository at this point in the history
  3. main: improve detection of filesystems

    This is a rewrite of how filesystems are detected. Specifically, it
    fixes an issue on Linux where the location of the FAT filesystem can
    vary between distributions (for example, we supported most distros by
    checking two different paths, but NixOS uses a different path): it now
    uses the data in /proc/mounts instead which should be universal.
    aykevl authored and deadprogram committed Jul 3, 2023
    Configuration menu
    Copy the full SHA
    9aadea9 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2023

  1. modules: add submodule for Renesas SVD file mirror repo

    Signed-off-by: deadprogram <[email protected]>
    deadprogram committed Jul 5, 2023
    Configuration menu
    Copy the full SHA
    04601a2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7755f23 View commit details
    Browse the repository at this point in the history
  3. make: add make task to generate Renesas device wrappers

    Signed-off-by: deadprogram <[email protected]>
    deadprogram committed Jul 5, 2023
    Configuration menu
    Copy the full SHA
    3871b83 View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2023

  1. Configuration menu
    Copy the full SHA
    9126b95 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2023

  1. reflect: implement Value.Grow

    This was added in Go 1.20 and becomes necessary for encoding/json in Go
    1.21.
    aykevl authored and deadprogram committed Jul 7, 2023
    Configuration menu
    Copy the full SHA
    e98dfd6 View commit details
    Browse the repository at this point in the history
  2. wasi: allow zero inodes when reading directories

    Signed-off-by: Achille Roussel <[email protected]>
    achille-roussel authored and deadprogram committed Jul 7, 2023
    Configuration menu
    Copy the full SHA
    46d2696 View commit details
    Browse the repository at this point in the history
  3. main: use go env instead of doing all detection manually

    This replaces our own manual detection of various variables (GOROOT,
    GOPATH, Go version) with a simple call to `go env`.
    
    If the `go` command is not found:
    
        error: could not find 'go' command: executable file not found in $PATH
    
    If the Go version is too old:
    
        error: requires go version 1.18 through 1.20, got go1.17
    
    If the Go tool itself outputs an error (using GOROOT=foobar here):
    
        go: cannot find GOROOT directory: foobar
    
    This does break the case where `go` wasn't available in $PATH but we
    would detect it anyway (via some hardcoded OS-dependent paths). I'm not
    sure we want to fix that: I think it's better to tell users "make sure
    `go version` prints the right value" than to do some automagic detection
    of Go binary locations.
    aykevl authored and deadprogram committed Jul 7, 2023
    Configuration menu
    Copy the full SHA
    e075e05 View commit details
    Browse the repository at this point in the history
  4. reflect: add SetZero

    This was added in Go 1.20 and is required by encoding/json starting with
    Go 1.21.
    aykevl authored and deadprogram committed Jul 7, 2023
    Configuration menu
    Copy the full SHA
    fffad84 View commit details
    Browse the repository at this point in the history
  5. machine/rp2040: wait for 1000 us after flash reset to avoid issues wi…

    …th busy USB bus
    
    Signed-off-by: deadprogram <[email protected]>
    deadprogram committed Jul 7, 2023
    Configuration menu
    Copy the full SHA
    c83f712 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2023

  1. machine.UART refactor (tinygo-org#3832)

    * add gosched calls to UART
    
    * add UART.flush() stubs for all supported architectures
    
    * add comment un uart.go on flush functionality
    
    * uart.writeByte as base of UART usage
    
    * fix NXP having duplicate WriteByte
    
    * fix writeByte not returning error on some platforms
    
    * add flush method for fe310 device
    
    * check for error in WriteByte call to writeByte
    soypat authored Jul 15, 2023
    Configuration menu
    Copy the full SHA
    a7b205c View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2023

  1. nrf: add I2C timeout

    This commit adds I2C timeouts for nrf51 and nrf52 (but not yet for
    others like nrf52840).
    
    Tested on the PineTime, where I now got a timeout instead of hanging and
    resetting due to a watchdog reset.
    aykevl authored and deadprogram committed Jul 16, 2023
    Configuration menu
    Copy the full SHA
    14ddba8 View commit details
    Browse the repository at this point in the history
  2. rp2040:add NoPin support

    soypat authored and deadprogram committed Jul 16, 2023
    Configuration menu
    Copy the full SHA
    4da1f6b View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2023

  1. sync: add implementation from upstream Go for OnceFunc, OnceValue, an…

    …d OnceValues
    
    Signed-off-by: deadprogram <[email protected]>
    deadprogram committed Jul 20, 2023
    Configuration menu
    Copy the full SHA
    01d2ef3 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2023

  1. avr: pin change interrupt

    ysoldak authored and deadprogram committed Jul 27, 2023
    Configuration menu
    Copy the full SHA
    00d46bd View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2023

  1. wasm: fix functions exported through //export

    When a function is exported using //export, but also had a
    //go:wasm-module pragma, the //export name was ignored. The
    //go:wasm-module doesn't actually do anything besides breaking the
    export (exported functions don't have a module name).
    
    I've refactored and cleaned up the code, and in the process removed this
    weird edge case.
    aykevl authored and deadprogram committed Jul 28, 2023
    Configuration menu
    Copy the full SHA
    d845f1e View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2023

  1. Configuration menu
    Copy the full SHA
    5b581d8 View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2023

  1. Configuration menu
    Copy the full SHA
    5f2e72f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d1eb642 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2023

  1. Configuration menu
    Copy the full SHA
    069e4f0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    395ee2d View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2023

  1. Configuration menu
    Copy the full SHA
    c51f5ce View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    215dd3f View commit details
    Browse the repository at this point in the history
  3. testing: add Testing function

    This is new in Go 1.21.
    aykevl authored and deadprogram committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    c25dd0a View commit details
    Browse the repository at this point in the history
  4. all: Go 1.21 support

    aykevl authored and deadprogram committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    a93f0ed View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f791c82 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a2f886a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    f1e25a1 View commit details
    Browse the repository at this point in the history
  8. compiler: improve panic message when a runtime call is unavailable

    This should not happen under normal circumstances. It can still happen
    when there is a mismatch between TinyGo version and the associated
    runtime, or while developing the compiler package.
    aykevl authored and deadprogram committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    62294fe View commit details
    Browse the repository at this point in the history
  9. board: add AKIZUKI DENSHI AE-RP2040

    sago35 authored and deadprogram committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    67ec722 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2023

  1. Configuration menu
    Copy the full SHA
    72270f9 View commit details
    Browse the repository at this point in the history
  2. Add support for HID Keyboard LEDs

    Unrud authored and deadprogram committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    0ef86e1 View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2023

  1. builder: update message for max supported Go version

    Signed-off-by: deadprogram <[email protected]>
    deadprogram authored and aykevl committed Aug 9, 2023
    Configuration menu
    Copy the full SHA
    253dbe3 View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2023

  1. build: switch GH actions builds to use Go 1.21 final release

    Signed-off-by: deadprogram <[email protected]>
    deadprogram authored and aykevl committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    ab64e21 View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2023

  1. docker: use Go 1.21 for Docker dev container build

    Signed-off-by: deadprogram <[email protected]>
    deadprogram authored and aykevl committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    59cc7d4 View commit details
    Browse the repository at this point in the history
  2. modules: update to go-serial package v1.6.0

    Signed-off-by: deadprogram <[email protected]>
    deadprogram authored and aykevl committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    37a4fa2 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2023

  1. rp2040: move flash related functions into separate file from C import…

    …s for correct LSP. Fixes tinygo-org#3852
    
    Signed-off-by: deadprogram <[email protected]>
    deadprogram committed Aug 13, 2023
    Configuration menu
    Copy the full SHA
    bfe9ee3 View commit details
    Browse the repository at this point in the history
  2. main: add target JSON file in tinygo info output

    It looks like this on my system, for example:
    
        {
          "target": {
            "llvm-target": "aarch64-unknown-linux",
            "cpu": "generic",
            "features": "+neon",
            "goos": "linux",
            "goarch": "arm64",
            "build-tags": [
              "linux",
              "arm64"
            ],
            "gc": "precise",
            "scheduler": "tasks",
            "linker": "ld.lld",
            "rtlib": "compiler-rt",
            "libc": "musl",
            "default-stack-size": 65536,
            "ldflags": [
              "--gc-sections"
            ],
            "extra-files": [
              "src/runtime/asm_arm64.S",
              "src/internal/task/task_stack_arm64.S"
            ],
            "gdb": [
              "gdb"
            ],
            "flash-1200-bps-reset": "false"
          },
          "goroot": "/home/ayke/.cache/tinygo/goroot-23c311bcaa05f188affa3c42310aba343acc82562d5e5f04dea9d5b79ac35f7e",
          "goos": "linux",
          "goarch": "arm64",
          "goarm": "6",
          ...
        }
    
    This can be very useful while working on the automatically generated
    target object for example (in my case, GOOS=wasip1).
    aykevl authored and deadprogram committed Aug 13, 2023
    Configuration menu
    Copy the full SHA
    9037bf8 View commit details
    Browse the repository at this point in the history
  3. loader: merge go.env file which is now required starting in Go 1.21 t…

    …o correctly get required packages
    
    Signed-off-by: deadprogram <[email protected]>
    deadprogram authored and aykevl committed Aug 13, 2023
    Configuration menu
    Copy the full SHA
    756cdf4 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2023

  1. Configuration menu
    Copy the full SHA
    f4375d0 View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2023

  1. wasm: add support for GOOS=wasip1

    This adds true GOOS=wasip1 support in addition to our existing
    -target=wasi support. The old support for WASI isn't removed, but should
    be treated as deprecated and will likely be removed eventually to reduce
    the test burden.
    aykevl authored and deadprogram committed Aug 17, 2023
    Configuration menu
    Copy the full SHA
    a545f17 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2023

  1. adding new uf2 target for PCA10056 (tinygo-org#3765)

    targets: adding new uf2 target for PCA10056
    jpconstantineau authored Aug 19, 2023
    Configuration menu
    Copy the full SHA
    3e2471d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e3bc6da View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2023

  1. nRF52: set SPI TX/RX lengths even data is empty. Fixes tinygo-org#3868 (

    tinygo-org#3877)
    
    machine/hrf: Set SPI TX/RX lengths even data is empty. Fixes tinygo-org#3868
    perttierkkila authored Aug 24, 2023
    Configuration menu
    Copy the full SHA
    806498f View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2023

  1. all: update version for 0.29 release

    Signed-off-by: deadprogram <[email protected]>
    deadprogram committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    a158d31 View commit details
    Browse the repository at this point in the history
  2. docs: update CHANGELOG for release 0.29

    Signed-off-by: deadprogram <[email protected]>
    deadprogram committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    dc44988 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5ca7414 View commit details
    Browse the repository at this point in the history