)]}'
{
  "commit": "fa1b698e8796b8feb1047e8679f7733fdbdddb71",
  "tree": "8599d8b85637da49133e19671d8ea6ac4ff75f57",
  "parents": [
    "8e57719926e9be5d145704f0ff846262b2c2a861"
  ],
  "author": {
    "name": "Sam Elliott",
    "email": "selliott@lowrisc.org",
    "time": "Mon Mar 23 18:40:07 2020 +0000"
  },
  "committer": {
    "name": "Garret Kelly",
    "email": "Garret.Kelly@gmail.com",
    "time": "Tue Mar 24 13:14:18 2020 -0400"
  },
  "message": "[sw/crt] Initialise Global Pointer Correctly\n\n`__global_pointer$` is used by GNU ld during linker relaxation to\nrepresent the value in `gp`, so that some accesses can have their\naddresses materialised directly in the load/store instruction, rather\nthan having to do `lui; addi` or similair.\n\nThe real payoff of this relaxation is for loads and stores of small\nglobals. For this reason, we want to ensure that the small data sections\ncome before their respective regular sections, so they have a higher\nprobability of landing within a 12-bit signed immediate of\n`__global_pointer$`. This commit reorders these sections and describes\nwhy.\n\nSigned-off-by: Sam Elliott \u003cselliott@lowrisc.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2009f914afd4a3b4cd066b1ad0170a5b182b5905",
      "old_mode": 33188,
      "old_path": "sw/device/boot_rom/rom_crt.S",
      "new_id": "6713de5ebc89d6bd3c66de9d31e18c1ebd4a3cb2",
      "new_mode": 33188,
      "new_path": "sw/device/boot_rom/rom_crt.S"
    },
    {
      "type": "modify",
      "old_id": "59f93a3c12a38660b017c7be94039012a75ab407",
      "old_mode": 33188,
      "old_path": "sw/device/boot_rom/rom_link.ld",
      "new_id": "dfb328c990ca29ab9b1c83097f8ba5df9bddb06d",
      "new_mode": 33188,
      "new_path": "sw/device/boot_rom/rom_link.ld"
    },
    {
      "type": "modify",
      "old_id": "c082356288dc7c72cf91d2aaccf347eec59e0a12",
      "old_mode": 33188,
      "old_path": "sw/device/exts/common/flash_crt.S",
      "new_id": "0ffac3b63da322539850f9763834f08b20266f8c",
      "new_mode": 33188,
      "new_path": "sw/device/exts/common/flash_crt.S"
    },
    {
      "type": "modify",
      "old_id": "3e41e5c7cc559ef88f21ae873476c25b0c0beaba",
      "old_mode": 33188,
      "old_path": "sw/device/exts/common/flash_link.ld",
      "new_id": "49c09f32ea502c0e479fbc71285f2133be92b9e3",
      "new_mode": 33188,
      "new_path": "sw/device/exts/common/flash_link.ld"
    }
  ]
}
