)]}'
{
  "commit": "67e30b15212adc1502b898a1ca224fdf65dc110d",
  "tree": "b5a4bd115a06aa54c301944401772e58d0ab0122",
  "parents": [
    "ca6f0a61e78dd3b7f26dcffa3ec21eb81b6c525c"
  ],
  "author": {
    "name": "H.J. Lu",
    "email": "hjl.tools@gmail.com",
    "time": "Thu Aug 29 08:47:00 2024 -0700"
  },
  "committer": {
    "name": "H.J. Lu",
    "email": "hjl.tools@gmail.com",
    "time": "Fri Aug 30 05:18:10 2024 -0700"
  },
  "message": "x86: Check invalid TLS descriptor call\n\nTLS descriptor call,\n\ncall *x@tlsdesc(%rax)\n\nor\n\ncall *x@tlsdesc(%eax)\n\ncalls _dl_tlsdesc_return which expects that RAX/EAX points to the TLS\ndescriptor.  Update x86 linker to issue an error with or without TLS\ntransition.\n\nbfd/\n\n\tPR ld/32123\n\t* elf32-i386.c (elf_i386_check_tls_transition): Move\n\tR_386_TLS_DESC_CALL to ...\n\t(elf_i386_tls_transition): Here.\n\t* elf64-x86-64.c (elf_x86_64_check_tls_transition): Move.\n\tR_X86_64_TLSDESC_CALL check to ...\n\t(elf_x86_64_tls_transition): Here.\n\nld/\n\n\tPR ld/32123\n\t* testsuite/ld-i386/i386.exp: Run tlsgdesc3.\n\t* testsuite/ld-i386/tlsgdesc3.d: New file.\n\t* testsuite/ld-x86-64/tlsdesc5.d: Likewise.\n\t* testsuite/ld-x86-64/x86-64.exp: Run tlsdesc5.\n\nSigned-off-by: H.J. Lu \u003chjl.tools@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7d573e7e2c7e29e3a0fd847722fe22cfcba0af23",
      "old_mode": 33188,
      "old_path": "bfd/elf32-i386.c",
      "new_id": "b1d997b86f0db7de656ffda076bda3002caba2a2",
      "new_mode": 33188,
      "new_path": "bfd/elf32-i386.c"
    },
    {
      "type": "modify",
      "old_id": "83399ea8928856df7e7421f848b73a253b57773f",
      "old_mode": 33188,
      "old_path": "bfd/elf64-x86-64.c",
      "new_id": "cef5cbb27fbb14a4921ab4afb5189ba6b6ec20e0",
      "new_mode": 33188,
      "new_path": "bfd/elf64-x86-64.c"
    },
    {
      "type": "modify",
      "old_id": "6f97f5daa23dd949d19a1760eeb0b84ee5f4f9e1",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-i386/i386.exp",
      "new_id": "a66d67a3244099cd154572be9888e4ed0a59788c",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-i386/i386.exp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f2c29d880f2cf9cc106b73b28f237d88c283b0ed",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-i386/tlsgdesc3.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6a0158b44b7f23243cc78e141ab3a0d8a8db8c90",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-x86-64/tlsdesc5.d"
    },
    {
      "type": "modify",
      "old_id": "2214e08ecff11ec87d213496e713ec5134337790",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-x86-64/x86-64.exp",
      "new_id": "e729b69a7cd08af6cb659a93a7adc8276605bb7f",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-x86-64/x86-64.exp"
    }
  ]
}
