The x86_64 SysV psABI defines four levels of x86_64 with certain CPU features required for each level. Those definitions are meant to be generically useful and recognized as such by glibc and gcc as well.
For backward-compatibility and to avoid surprises, default to building x86_64 even on v2+ capable machines. Tested by running `rpm --eval %_target_cpu` and using `rpmbuild` with various `BuildArch` values on a `x86_64_v3` host. This should be less controverisal than adding CPU model specific architectures such as `znver1` (https://github.com/rpm-software-management/rpm/pull/1035). There might be one slight issue: The psABI document defines x86-64-v3 as x86-64-v2 + AVX + AVX2 + F16C + FMA + LZCNT + MOVBE + BMI + BMI2 + OSXSAVE, but glibc's hwcaps code only looks at x86-64-v2 + AVX + AVX2 + F16C + FMA + LZCNT + MOVBE (no BMI, BMI2 or OSXSAVE). Not sure whether that's a bug or for some reason intentional. gcc uses the psABI definition, so code built with `-march=x86-64-v3` is not compatible with `%_libdir/glibc-hwcaps/x86-64-v3/`... CC @Conan-Kudo @dirkmueller @DimStar77 @mlschroe You can view, comment on, or merge this pull request online at: https://github.com/rpm-software-management/rpm/pull/2315 -- Commit Summary -- * Add x86-64 architecture levels (v2-v4) as architectures -- File Changes -- M lib/rpmrc.c (75) M rpmrc.in (18) -- Patch Links -- https://github.com/rpm-software-management/rpm/pull/2315.patch https://github.com/rpm-software-management/rpm/pull/2315.diff -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/2315 You are receiving this because you are subscribed to this thread. Message ID: <rpm-software-management/rpm/pull/2...@github.com>
_______________________________________________ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint