)]}'
{
  "commit": "014a7c0fa36ecc41918e5793052dd3ae8372efe5",
  "tree": "c7096278373a77de515d75acbc18cba99c4d4b86",
  "parents": [
    "3097045a18a8878bc40548bd0995f9bad5609c43"
  ],
  "author": {
    "name": "Torbjörn SVENSSON",
    "email": "torbjorn.svensson@foss.st.com",
    "time": "Tue Dec 17 18:56:10 2024 +0100"
  },
  "committer": {
    "name": "Torbjörn SVENSSON",
    "email": "torbjorn.svensson@foss.st.com",
    "time": "Thu Jan 23 10:36:03 2025 +0100"
  },
  "message": "ld: fix alignment issue for ARM thumb long branch stub using PureCode section\n\nWhen pure-code option is activated. The linker creates for M-profile architecures\na 2-bytes branch instruction. This causes the section alignment to be set to 2-byte\nalignment instead of 4-byte alignment. This is a problem for long branch stub\nwithout pure-code section as it contains a 32-bit address as data, which is expected\nto be 4-byte aligned. Hence creating a long branch stub for PureCode section followed\nby a long branch stub will result in a misalignment for the 32-bit address.\n\nAn easy fix is to add a nop instruction after the branch to keep the section alignment\nto 4 bytes.\n\nSigned-off-by: Torbjörn SVENSSON \u003ctorbjorn.svensson@foss.st.com\u003e\nCo-authored-by: Guillaume VACHERIAS \u003cguillaume.vacherias@st.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8865befc06c37d2b548ec054b19cd95ec239e003",
      "old_mode": 33188,
      "old_path": "bfd/elf32-arm.c",
      "new_id": "10c93e229b6fbb2f7aa69711932a79b440913f69",
      "new_mode": 33188,
      "new_path": "bfd/elf32-arm.c"
    },
    {
      "type": "modify",
      "old_id": "be49d8fc6e527529d6cc90662ddac199235f36f8",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-arm/arm-elf.exp",
      "new_id": "cacd3bddfd46dc78125dc25eff00ff752d8acd93",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-arm/arm-elf.exp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b89da03eec06e0482f9b54cbbf7eab95a6789b98",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-arm/farcall-thumb2-purecode-consecutive-veneer.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ee3d6c10b7b7d9f77cb93e43dcbb15cc637744b8",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-arm/farcall-thumb2-purecode-consecutive-veneer.s"
    },
    {
      "type": "modify",
      "old_id": "451832678e9cc576f0e9c777c060459abc9b19d1",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-arm/farcall-thumb2-purecode.d",
      "new_id": "00a070eed5b635b0bf9c060b1902f04a61c82fd4",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-arm/farcall-thumb2-purecode.d"
    }
  ]
}
