)]}'
{
  "commit": "c2fe3b5642e94b6fc2f2a19e54b7d9f447c8a151",
  "tree": "19ea47d001bcc23e6a4cb5eba7a8f161c837e087",
  "parents": [
    "1c136b8ee9b9fb402b66957bd51e89e47b94a0f6"
  ],
  "author": {
    "name": "Martin Storsjö",
    "email": "martin@martin.st",
    "time": "Sat Jan 11 20:42:09 2025 +0200"
  },
  "committer": {
    "name": "Martin Storsjö",
    "email": "martin@martin.st",
    "time": "Wed Jan 15 23:50:53 2025 +0200"
  },
  "message": "Add support for IMPORT_CONST in ILF (MSVC style) import libraries\n\nThis is a very strange and obsolete kind of import type; it is\nused for imported data just like IMPORT_DATA - but with an extra\nodd caveat.\n\nThe behaviour is explained at [1]; generating such import libraries\nwith current MSVC tools produces \"warning LNK4087: CONSTANT keyword is\nobsolete; use DATA\".\n\nWhile obsolete, some import libraries within the Microsoft WDK (Windows\nDriver Kit) do contain such symbols, which currently are ignored by\nbinutils and produce warnings about \"file format not recognized\".\n\nFor IMPORT_CONST for a DLL exported symbol \"foo\", we should provide\nthe import library symbols \"__imp_foo\" and \"foo\". For IMPORT_DATA, we\nonly provide \"__imp_foo\", and for IMPORT_CODE, \"foo\" points at a thunk.\nThe odd/surprising thing for IMPORT_CONST is that the \"foo\" symbol also\npoints at the same thing as \"__imp_foo\", i.e. directly at the IAT\nentry.\n\n[1] https://learn.microsoft.com/en-us/cpp/build/importing-using-def-files\n\nSigned-off-by: Martin Storsjö \u003cmartin@martin.st\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c48953dfee6669468835b2e639726c9860b19c30",
      "old_mode": 33188,
      "old_path": "bfd/peicode.h",
      "new_id": "ad4f1963b9c8bc02f2e2125f61e521adc4d231a5",
      "new_mode": 33188,
      "new_path": "bfd/peicode.h"
    }
  ]
}
