)]}'
{
  "commit": "c6901792f009cfd824707724b687e99edd4c8ecd",
  "tree": "8d58b90398ad5a2ffff18becc2a1025a90585916",
  "parents": [
    "a2bed43939b40ec843fd99bc9fd0d0e58124e082"
  ],
  "author": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Sun Feb 05 23:55:14 2023 +0000"
  },
  "committer": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Sun Feb 05 23:55:14 2023 +0000"
  },
  "message": "[build] Allow for per-architecture unprefixed constant operand modifier\n\nOver the years, the undocumented operand modifier used to produce the\nunprefixed constant values in __einfo_error() has varied from \"%c0\" to\n\"%a0\" in commit 1a77466 (\"[build] Fix use of inline assembly on GCC\n4.8 ARM64 builds\") and back to \"%c0\" in commit 3fb3ffc (\"[build] Fix\nuse of inline assembly on GCC 8 ARM64 builds\"), according to the\nevolving demands of the toolchain.\n\nLoongArch64 suffers from a similar issue: GCC 13 will allow either,\nbut the currently released GCC 12 allows only the \"%a0\" form.\n\nIntroduce a macro ASM_NO_PREFIX, defined in bits/compiler.h, to\nabstract away this difference and allow different architectures to use\ndifferent operand modifiers.\n\nSigned-off-by: Michael Brown \u003cmcb30@ipxe.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e420cf922238024b2087177f86110840fc5b00ea",
      "old_mode": 33188,
      "old_path": "src/arch/arm32/include/bits/compiler.h",
      "new_id": "e119f044554b3821fb4105131d6240232fffc3fd",
      "new_mode": 33188,
      "new_path": "src/arch/arm32/include/bits/compiler.h"
    },
    {
      "type": "modify",
      "old_id": "3b129c2fdff7ad63392073ebb862852d9328d8f1",
      "old_mode": 33188,
      "old_path": "src/arch/arm64/include/bits/compiler.h",
      "new_id": "b3e1b30a5721e709e11a55d9078a0af123f71fa1",
      "new_mode": 33188,
      "new_path": "src/arch/arm64/include/bits/compiler.h"
    },
    {
      "type": "modify",
      "old_id": "87201135f78cfe10a21ec91aa73c05df7a7e87b5",
      "old_mode": 33188,
      "old_path": "src/arch/i386/include/bits/compiler.h",
      "new_id": "78c600428ebc023e8608643e6c524ac2f4c4cef7",
      "new_mode": 33188,
      "new_path": "src/arch/i386/include/bits/compiler.h"
    },
    {
      "type": "modify",
      "old_id": "5129f90d0f9561acd417a56f2116f04470e948c6",
      "old_mode": 33188,
      "old_path": "src/arch/x86_64/include/bits/compiler.h",
      "new_id": "1c04a7b30829399e89b93365f9184dc0d000e28e",
      "new_mode": 33188,
      "new_path": "src/arch/x86_64/include/bits/compiler.h"
    },
    {
      "type": "modify",
      "old_id": "decde38edcadba329e2b44cf5203d7e55cca3998",
      "old_mode": 33188,
      "old_path": "src/include/errno.h",
      "new_id": "ac012a6917157219893173ebdfabf62f023ffd38",
      "new_mode": 33188,
      "new_path": "src/include/errno.h"
    }
  ]
}
