On Wed, Nov 12, 2025 at 3:23 PM H. Peter Anvin <[email protected]> wrote: > > - Separate out the vdso sources into common, vdso32, and vdso64 > directories. > - Move the vdso2c tool to arch/x86/tools. > - Build the 32- and 64-bit vdsos in their respective subdirectories; > this greatly simplifies the build flags handling. > - Unify the mangling of Makefile flags between the 32- and 64-bit > vdso code as much as possible; all common rules are put in > arch/x86/entry/vdso/common/Makefile.include. The remaining > is very simple for 32 bits; the 64-bit one is only slightly more > complicated because it contains the x32 generation rule. > - Define __DISABLE_EXPORTS when building the vdso. This need seems to > have been masked by different ordering compile flags before. > - Change CONFIG_X86_64 to BUILD_VDSO32_64 in vdso32/system_call.S, > to make it compatible with including fake_32bit_build.h. > - The -fcf-protection= option was "leaking" from the kernel build, > for reasons that was not clear to me. Futhermore, several > distributions ship with it set to a default value other than > "-fcf-protection=none". Make it match the configuration options > for *user space*. > > Note that this patch may seem large, but the vast majority of it is > simply code movement.
Some of these changes (like moving vdso2c) can be split out into smaller patches.

