)]}'
{
  "commit": "877cff5296faa6ef312f8002216bbf73bea006c7",
  "tree": "eea8bdb0d80b396f147f917dbabc3e6e2b5ca1c7",
  "parents": [
    "5646bbd6684acf5c9b9dedb863b7d2f6f5a330fb"
  ],
  "author": {
    "name": "Sebastian Andrzej Siewior",
    "email": "bigeasy@linutronix.de",
    "time": "Tue Feb 07 11:46:33 2023 +0100"
  },
  "committer": {
    "name": "Borislav Petkov (AMD)",
    "email": "bp@alien8.de",
    "time": "Tue Feb 07 18:20:41 2023 +0100"
  },
  "message": "x86/vdso: Fake 32bit VDSO build on 64bit compile for vgetcpu\n\nThe 64bit register constrains in __arch_hweight64() cannot be\nfulfilled in a 32-bit build. The function is only declared but not used\nwithin vclock_gettime.c and gcc does not care. LLVM complains and\naborts. Reportedly because it validates extended asm even if latter\nwould get compiled out, see\n\n  https://lore.kernel.org/r/Y%2BJ%2BUQ1vAKr6RHuH@dev-arch.thelio-3990X\n\ni.e., a long standing design difference between gcc and LLVM.\n\nMove the \"fake a 32 bit kernel configuration\" bits from vclock_gettime.c\ninto a common header file. Use this from vclock_gettime.c and vgetcpu.c.\n\n  [ bp: Add background info from Nathan. ]\n\nFixes: 92d33063c081a (\"x86/vdso: Provide getcpu for x86-32.\")\nReported-by: kernel test robot \u003clkp@intel.com\u003e\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Borislav Petkov (AMD) \u003cbp@alien8.de\u003e\nLink: https://lore.kernel.org/r/Y+IsCWQdXEr8d9Vy@linutronix.de\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "db1b15f686e32910cf994b9064981a1e43ee3cc9",
      "new_mode": 33188,
      "new_path": "arch/x86/entry/vdso/vdso32/fake_32bit_build.h"
    },
    {
      "type": "modify",
      "old_id": "283ed9d0042676163e40277e53b159df28297921",
      "old_mode": 33188,
      "old_path": "arch/x86/entry/vdso/vdso32/vclock_gettime.c",
      "new_id": "86981decfea83f94395ea097f46b727f15b87efc",
      "new_mode": 33188,
      "new_path": "arch/x86/entry/vdso/vdso32/vclock_gettime.c"
    },
    {
      "type": "modify",
      "old_id": "b777f84ffae9b8aa7092b55cd9f82278eaa18644",
      "old_mode": 33188,
      "old_path": "arch/x86/entry/vdso/vdso32/vgetcpu.c",
      "new_id": "3a9791f5e99897dc4740f926af7ce88ae9d947d6",
      "new_mode": 33188,
      "new_path": "arch/x86/entry/vdso/vdso32/vgetcpu.c"
    }
  ]
}
