)]}'
{
  "commit": "29d3d156ef76282e6e9609500cb843401a8cd6d4",
  "tree": "01a72df66df11f801f08600ab6f75fa01fd5136f",
  "parents": [
    "7b21a6df8dbbdb04bb01c66ae3fd53a53b7d943c"
  ],
  "author": {
    "name": "Johnathan Van Why",
    "email": "jrvanwhy@google.com",
    "time": "Thu Feb 04 19:18:31 2021 -0800"
  },
  "committer": {
    "name": "Johnathan Van Why",
    "email": "jrvanwhy@google.com",
    "time": "Thu Feb 04 19:18:31 2021 -0800"
  },
  "message": "Migrate the assembler invocation into build.rs, and deal with the fallout.\n\nReview feedback indicated I should build libtock_runtime\u0027s external assembly files in build.rs rather than checking in a compiled binary. I added the compilation logic to build.rs and removed the assembly script and GitHub workflow.\n\nAdding the compilation logic exposed a layout configuration bug: rust-lld was still picking up generic_layout.ld from the root of the repository! I realize now that the linker script namespace is global rather than relative. As such, I renamed the file to \"libtock_layout.ld\", so as to prevent collisions with libtock-rs\u0027 generic_layout and application repositorys\u0027 files. This revealed that I never updated the per-board layout scripts to work with the new layout, so I made that change as well.\n\nNow that `build.rs` correctly fails when you try to build `libtock_runtime` for unsupported architectures (e.g. x86_64), the clippy and miri invocations in `make test` fail. I reconfigured them so they pass and test all platform-independent crates.\n\nLast, I added a Mac OS workflow to see if the changes are compatible with Mac OS. I expect this to take some more revision.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "94a8b10fb97617702eddacd5cadddbe6eeb48ac6",
      "old_mode": 33188,
      "old_path": ".github/workflows/artifacts.yml",
      "new_id": "d3940112f8e32d58d9ec5dca3d0efdc893e91b15",
      "new_mode": 33188,
      "new_path": ".github/workflows/artifacts.yml"
    },
    {
      "type": "delete",
      "old_id": "3ac8ceb72e67116f418f7d518f4764a80eb7d986",
      "old_mode": 33188,
      "old_path": ".github/workflows/assembly.yml",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "5bdae5f7c680af459693ecd53f9ded8f13bfefd9",
      "old_mode": 33188,
      "old_path": ".github/workflows/ci.yml",
      "new_id": "6631920b24d7701a7d3159d7339f38089fa2f4bb",
      "new_mode": 33188,
      "new_path": ".github/workflows/ci.yml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b04b51bd914291d017b3c10d8ca5d80a532d3441",
      "new_mode": 33188,
      "new_path": ".github/workflows/mac_os.yml"
    },
    {
      "type": "modify",
      "old_id": "cbf29399c10ade621cecbfa69503ddf4ac3b4e4d",
      "old_mode": 33188,
      "old_path": ".github/workflows/size-diff.yml",
      "new_id": "b991c5f1f4555746dc0855225902ca3ee301d589",
      "new_mode": 33188,
      "new_path": ".github/workflows/size-diff.yml"
    },
    {
      "type": "modify",
      "old_id": "da40d28e601f259f6e4d3c7ff397c1d4c417e448",
      "old_mode": 33188,
      "old_path": "Makefile",
      "new_id": "e228ab3ad11a631fd289375b36d3c9269b52a14d",
      "new_mode": 33188,
      "new_path": "Makefile"
    },
    {
      "type": "modify",
      "old_id": "3faebdc490ab872fac7543f477e6f7b0fa3be7b0",
      "old_mode": 33188,
      "old_path": "bors.toml",
      "new_id": "dfae60185a63cca0d02288d147163317a475489d",
      "new_mode": 33188,
      "new_path": "bors.toml"
    },
    {
      "type": "delete",
      "old_id": "d07e2ab21ff587beb9a9e51f592533bae109b8b5",
      "old_mode": 33261,
      "old_path": "core/runtime/asm/assemble.sh",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "f6139a7ae7568f9d3641e436de82b046c58fc2b0",
      "old_mode": 33188,
      "old_path": "core/runtime/asm/libriscv32.a",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "d0281b530d209947d9ff6d6826e0fde4c1709dc8",
      "old_mode": 33188,
      "old_path": "core/runtime/build.rs",
      "new_id": "347d82cb65c6970c86e85c62698ad44f45ad7d32",
      "new_mode": 33188,
      "new_path": "core/runtime/build.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1f9419a96df042a7fa3ab885d83bd780ac63a933",
      "new_mode": 33188,
      "new_path": "core/runtime/extern_asm.rs"
    },
    {
      "type": "modify",
      "old_id": "8713c278a76d20f0cf74ac4f7a844eeda2072edd",
      "old_mode": 33188,
      "old_path": "core/runtime/layouts/apollo3.ld",
      "new_id": "464cf983635363dafad8eca49495569e97ad2233",
      "new_mode": 33188,
      "new_path": "core/runtime/layouts/apollo3.ld"
    },
    {
      "type": "modify",
      "old_id": "179a8831e71df110b93d3df90e046c8ae38994ce",
      "old_mode": 33188,
      "old_path": "core/runtime/layouts/hail.ld",
      "new_id": "db48142a17cfca5da3021d3c43609c6fa2440527",
      "new_mode": 33188,
      "new_path": "core/runtime/layouts/hail.ld"
    },
    {
      "type": "modify",
      "old_id": "20294ce7282bfdf2996de70a3bccf1516867d88a",
      "old_mode": 33188,
      "old_path": "core/runtime/layouts/hifive1.ld",
      "new_id": "78dc51b723fedbbf98395057da49b46574d7ff8b",
      "new_mode": 33188,
      "new_path": "core/runtime/layouts/hifive1.ld"
    },
    {
      "type": "modify",
      "old_id": "3e7f904f5e537fb6f82dcc10b24763fdf1392896",
      "old_mode": 33188,
      "old_path": "core/runtime/layouts/imxrt1050.ld",
      "new_id": "1458870fa817028d3e36d7ec77e3c50d295342d6",
      "new_mode": 33188,
      "new_path": "core/runtime/layouts/imxrt1050.ld"
    },
    {
      "type": "modify",
      "old_id": "2c9d2a4c6c035bbdb0d326ae10f2eefd4ad7ffaf",
      "old_mode": 33188,
      "old_path": "core/runtime/layouts/msp432.ld",
      "new_id": "170d4b10ba4f0f03fd084e430beba630ee9cb621",
      "new_mode": 33188,
      "new_path": "core/runtime/layouts/msp432.ld"
    },
    {
      "type": "modify",
      "old_id": "942e86b3d342ea8526f7331252205378329c0332",
      "old_mode": 33188,
      "old_path": "core/runtime/layouts/nrf52.ld",
      "new_id": "fbbcdc3154e694b69d3c93ad30c47b96df2e0245",
      "new_mode": 33188,
      "new_path": "core/runtime/layouts/nrf52.ld"
    },
    {
      "type": "modify",
      "old_id": "31bf3468e9b4846bc3896c3e3577b9060e0cd63d",
      "old_mode": 33188,
      "old_path": "core/runtime/layouts/nrf52840.ld",
      "new_id": "06b6f6bf2d650aee9326efdeb97eb3627325da81",
      "new_mode": 33188,
      "new_path": "core/runtime/layouts/nrf52840.ld"
    },
    {
      "type": "modify",
      "old_id": "3e407b42c37ce4a798f0bc7d18314d4a9350bae4",
      "old_mode": 33188,
      "old_path": "core/runtime/layouts/nucleo_f429zi.ld",
      "new_id": "a9c634a8deed2d4c0c2dfe5cf770673bbedc4f9a",
      "new_mode": 33188,
      "new_path": "core/runtime/layouts/nucleo_f429zi.ld"
    },
    {
      "type": "modify",
      "old_id": "83e698b1b927d7ea922015ce43640c2f784ac134",
      "old_mode": 33188,
      "old_path": "core/runtime/layouts/nucleo_f446re.ld",
      "new_id": "d3953f57dfcf9be23126fe147e177a585c4a2cad",
      "new_mode": 33188,
      "new_path": "core/runtime/layouts/nucleo_f446re.ld"
    },
    {
      "type": "modify",
      "old_id": "ada781ceae6b547d1a83546631a67b683c73b43d",
      "old_mode": 33188,
      "old_path": "core/runtime/layouts/opentitan.ld",
      "new_id": "50ea340291b3a3ebb1bf2f9bae672e8b5221fb07",
      "new_mode": 33188,
      "new_path": "core/runtime/layouts/opentitan.ld"
    },
    {
      "type": "modify",
      "old_id": "9368003c547f576578d4b25506d231d2a417116f",
      "old_mode": 33188,
      "old_path": "core/runtime/layouts/stm32f3discovery.ld",
      "new_id": "05b0b5451d3fd4c8b9d61b889da6e97235ebeb96",
      "new_mode": 33188,
      "new_path": "core/runtime/layouts/stm32f3discovery.ld"
    },
    {
      "type": "rename",
      "old_id": "38624a0ce1b9857af6deb7161f9fcdab28c58c5d",
      "old_mode": 33188,
      "old_path": "core/runtime/layout_generic.ld",
      "new_id": "38624a0ce1b9857af6deb7161f9fcdab28c58c5d",
      "new_mode": 33188,
      "new_path": "core/runtime/libtock_layout.ld",
      "score": 100
    }
  ]
}
