Build ID on arm64 is broken if CONFIG_MODVERSIONS=y on 5.4, 5.10, and 5.15 Discussed: https://lore.kernel.org/all/3df32572ec7016e783d37e185f88495831671f5d.1671143628.git.tom.saeger@xxxxxxxxxx/ https://lore.kernel.org/all/cover.1670358255.git.tom.saeger@xxxxxxxxxx/ Which is fixed for arm64 with backporting: [2/6] ("arch: fix broken BuildID for arm64 and riscv") Which had fixes: [3/6] powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT [4/6] powerpc/vmlinux.lds: Don't discard .rela* for relocatable builds [5/6] s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36 But broke arch/sh (or so it was thought). arch/sh is also broken in mainline. [6/6] sh: define RUNTIME_DISCARD_EXIT *NOTE* is not in mainline, but was sent here: https://lore.kernel.org/all/9166a8abdc0f979e50377e61780a4bba1dfa2f52.1674518464.git.tom.saeger@xxxxxxxxxx/ There was enough breakage in 5.4.230-rc1 that the previous series was dropped (which didn't have 1/6 or 6/6). https://lore.kernel.org/stable/CA+G9fYuYi1Rvv19R_EVdht_7LV9qiR-6KVvZUGjct3kEk0uQTA@xxxxxxxxxxxxxx/ [1/6] 84d5f77fc2ee ("x86, vmlinux.lds: Add RUNTIME_DISCARD_EXIT to generic DISCARDS") First defined RUNTIME_DISCARD_EXIT generically and its use for x86_64 specifically. $ git describe --contains 84d5f77fc2ee4e0 v5.7-rc1~164^2~1 Which explains why the previous series broke 5.4. I've build tested on a fairly wide matrix so far, but would appreciate more testing. with and without CONFIG_MODVERSIONS=y # view Build ID $ readelf -n vmlinux | grep "Build ID" 5.10 and 5.15 will have a similar series [2-6], as both already have [1/6]. If arch/sh is a must have, then [6/6] needs to find its way into mainline. Regards, --Tom H.J. Lu (1): x86, vmlinux.lds: Add RUNTIME_DISCARD_EXIT to generic DISCARDS Masahiro Yamada (2): arch: fix broken BuildID for arm64 and riscv s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36 Michael Ellerman (2): powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT powerpc/vmlinux.lds: Don't discard .rela* for relocatable builds Tom Saeger (1): sh: define RUNTIME_DISCARD_EXIT arch/powerpc/kernel/vmlinux.lds.S | 6 +++++- arch/s390/kernel/vmlinux.lds.S | 2 ++ arch/sh/kernel/vmlinux.lds.S | 1 + arch/x86/kernel/vmlinux.lds.S | 1 + include/asm-generic/vmlinux.lds.h | 16 ++++++++++++++-- 5 files changed, 23 insertions(+), 3 deletions(-) base-commit: 90245959a5b936ee013266e5d1e6a508ed69274e -- 2.39.1