)]}'
{
  "commit": "159afbb7617d2c8a9cd3f3350374711f37f60442",
  "tree": "c6ca5d1b84b1c73cecd1bc918f75c4908e70f822",
  "parents": [
    "e0f747d5e912f3a7115a578662a7a5a537cd0eae"
  ],
  "author": {
    "name": "Tatsuyuki Ishi",
    "email": "ishitatsuyuki@gmail.com",
    "time": "Wed Feb 21 02:55:52 2024 +0900"
  },
  "committer": {
    "name": "Nelson Chu",
    "email": "nelson@rivosinc.com",
    "time": "Thu Feb 29 15:02:55 2024 +0800"
  },
  "message": "RISC-V: Initial ld.bfd support for TLSDESC.\n\nOnly relocation handling for now; relaxation is not implemented yet.\n\nbfd/\n    * elfnn-riscv.c (riscv_elf_check_relocs): Record GOT reference and\n    paired relocation for TLSDESC_HI20.\n    (riscv_elf_adjust_dynamic_symbol): Allocate GOT and reloc slots for\n    TLSDESC symbols.\n    (riscv_elf_size_dynamic_sections): Likewise but for local symbols.\n    (tlsdescoff): New helper to determine static addend for R_TLSDESC.\n    (riscv_elf_relocate_section): Ignore TLSDESC_CALL reloc for now (it is\n    relaxation only).\n    Handle TLSDESC_{LOAD,ADD}_LO12 as paired pcrel relocs.\n    For TLS GOT slot generation, generalize the logic to handle any\n    combination of (GD, IE, TLSDESC).\n    Add TLSDESC Rela generation.\n    * ld/testsuite/ld-riscv-elf/tls*: Add TLSDESC instruction sequences\n    next to the existing GD and IE sequences. Update expectations.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "17d44979d7e361969a83a54dd275bcb45e8226ac",
      "old_mode": 33188,
      "old_path": "bfd/elfnn-riscv.c",
      "new_id": "40ff08e934d75d8868e5b9adffd99847a153e4a3",
      "new_mode": 33188,
      "new_path": "bfd/elfnn-riscv.c"
    },
    {
      "type": "modify",
      "old_id": "e7f20309bf124f52e7e72787199bafdbeefa389e",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-riscv-elf/tls.d",
      "new_id": "6cf008ac7a090db759a6bd5d6b3e4d61d1654514",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-riscv-elf/tls.d"
    },
    {
      "type": "modify",
      "old_id": "79e9bc20374044809f71126b1d43c8fc09018b05",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-riscv-elf/tls.s",
      "new_id": "7cbf5ea6c720ffe0f3d89820e650639efb2a2e3d",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-riscv-elf/tls.s"
    },
    {
      "type": "modify",
      "old_id": "cdcd51a919965b68fe575cac61a725a5ddbc4164",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-riscv-elf/tlsbin.d",
      "new_id": "79b7ade405e14e55217945ae73ec40e4e90acebc",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-riscv-elf/tlsbin.d"
    }
  ]
}
