)]}'
{
  "commit": "bd94e7cd84c19da4a37dbdbc2d5587db6383f28c",
  "tree": "bd95e91fa2af12e704cf5a79194fd5a4a3c3d7b9",
  "parents": [
    "e65a355022d0dc6b5707310876a72b5693ec0aa5"
  ],
  "author": {
    "name": "Xi Ruoyao",
    "email": "xry111@xry111.site",
    "time": "Wed Dec 25 12:41:43 2024 +0800"
  },
  "committer": {
    "name": "cailulu",
    "email": "cailulu@loongson.cn",
    "time": "Fri Dec 27 17:52:29 2024 +0800"
  },
  "message": "LoongArch: Fix resolution of undefined weak hidden/protected symbols\n\nAn undefined weak hidden/protect symbol should be resolved to runtime\naddress 0, but we were actually resolving it to link-time address 0.  So\nin PIE or DSO the runtime address would be incorrect.\n\nFix the issue by rewriting pcalau12i to lu12i.w, and pcaddi to addi.w.\nThe latter does not always work because the immediate field of addi.w is\nnarrower, report an error in the case the addend is too large.\n\nSigned-off-by: Xi Ruoyao \u003cxry111@xry111.site\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "995d67c0b781816006d094652278ecb67e100fba",
      "old_mode": 33188,
      "old_path": "bfd/elfnn-loongarch.c",
      "new_id": "4cf1512cefe86735d7ac08ca7f1f12b6c0aaeedf",
      "new_mode": 33188,
      "new_path": "bfd/elfnn-loongarch.c"
    },
    {
      "type": "modify",
      "old_id": "493fe9bcce3f5d3f40622f6ed4ce227923f3647a",
      "old_mode": 33188,
      "old_path": "include/opcode/loongarch.h",
      "new_id": "35799696c5567903d65c0fb94e436822d079d326",
      "new_mode": 33188,
      "new_path": "include/opcode/loongarch.h"
    },
    {
      "type": "modify",
      "old_id": "004c1994673893771b94bd855fa97ec1fdc3e850",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp",
      "new_id": "35a3a4fc4307e2e85b80a076a00dd40dec8611d8",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "913bc96f70b997bf57a8701faec0760a38e53558",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-loongarch-elf/weak-undef-hidden-pie.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fdb215e6dd4503ca60d8d9741aae78fa9497d74c",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-loongarch-elf/weak-undef-hidden-shared.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ac67007da26bba90fa8166685d49bdd1adf6d430",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-loongarch-elf/weak-undef-hidden.s"
    }
  ]
}
