)]}'
{
  "commit": "67694446f772ae95d330419eb6d01e38e6d24612",
  "tree": "21119de766ad7554bd06371b5713ab4f58917c96",
  "parents": [
    "183440b0aa1cd752c324a2f4c16a620bd938d9ad"
  ],
  "author": {
    "name": "Jan Beulich",
    "email": "jbeulich@suse.com",
    "time": "Fri Aug 25 14:56:44 2023 +0200"
  },
  "committer": {
    "name": "Jan Beulich",
    "email": "jbeulich@suse.com",
    "time": "Fri Aug 25 14:56:44 2023 +0200"
  },
  "message": "bfd: correct relocation handling for objcopy COFF -\u003e ELF\n\nWhile documented to not be reliable, it is still odd for objcopy to\nsilently produce bad output when converting COFF/PE object files to ELF\nones. The issue there is that relocation addends all are screwed up by\nsubtracting the symbol\u0027s section offset. In the COFF/PE world, to my\nknowledge, section contents stores the addends alone, not the result of\nsymbol value plus addend. Hence the compensation talked about in a\ncomment ahead of the sole use site of CALC_ADDEND() may need to account\nfor the VMA (which is always zero for object files anyway), but not for\nthe symbol value.\n\nThe coff-sh.c adjustment is based upon guessing that behavior there is\nthe same. Note also how coff-aarch64.c short-circuits CALC_ADDEND()\naltogether, which may suggest that a much simpler macro might do for the\nCOFF_WITH_PE case in the three arch-specific files touched here.\n\nFor (at least) Arm/WinCE this actually results in more appropriate\nobjdump output as well, as can be seen in the one testcase which has its\nexpectations adjusted (the generated binary doesn\u0027t change).\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "24a05d3aa65b5a79eb38f0cea24908ca6234a267",
      "old_mode": 33188,
      "old_path": "bfd/coff-i386.c",
      "new_id": "71516066da8898a4d2f72868ce96465ceadebacd",
      "new_mode": 33188,
      "new_path": "bfd/coff-i386.c"
    },
    {
      "type": "modify",
      "old_id": "14f502e363818877c5939a722d4133d4faa0ded1",
      "old_mode": 33188,
      "old_path": "bfd/coff-sh.c",
      "new_id": "a20c01127b6d2c333c78c9825c2d197c96dc33a6",
      "new_mode": 33188,
      "new_path": "bfd/coff-sh.c"
    },
    {
      "type": "modify",
      "old_id": "9a3f85cd1e5f33694a3675152ffe41514954a147",
      "old_mode": 33188,
      "old_path": "bfd/coff-x86_64.c",
      "new_id": "57b975c2eed897d2576e7f2e6cfd4a15e8793739",
      "new_mode": 33188,
      "new_path": "bfd/coff-x86_64.c"
    },
    {
      "type": "modify",
      "old_id": "e3f4afd389f5bfe3ca53807fa22af21e849ea013",
      "old_mode": 33188,
      "old_path": "bfd/coffcode.h",
      "new_id": "27927039a3444dbe052671f8f2bb1fb321caebb9",
      "new_mode": 33188,
      "new_path": "bfd/coffcode.h"
    },
    {
      "type": "modify",
      "old_id": "e5bac1de9c6ac0842d8ab71ac0a1ded5f1c393f4",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/arm/wince.d",
      "new_id": "e7afbedbbf5809598c62c8606895172474bad005",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/arm/wince.d"
    }
  ]
}
