(In reply to Fabian Vogt from comment #2) > Looking at the build log, there is this diff: > > - -- LLVM host triple: i586-suse-linux > - -- LLVM default target triple: i586-suse-linux > + -- LLVM host triple: i686-suse-linux > + -- LLVM default target triple: i686-suse-linux > > Which is coming from %_host_cpu: > > # Figure out the host triple. > %ifarch armv6hl > # See https://build.opensuse.org/request/show/968066. > %define host_cpu armv6kz > %else > %define host_cpu %{_host_cpu} > %endif > > The build happens on a recent x86_64 VM with an x86_64 kernel and 32bit x86 > userspace, so technically i686 is actually more correct than i586 and IMO > not an RPM regression. The intent here is actually not to figure out the host, but the "default target": what the compiler will emit without explicit --target=<triple>. Presumably our default target is still i586 and not i686, so how do I get that? Maybe %{_target_cpu}? With the current RPM, that's just an alias on x86_64: /usr/lib/rpm/macros:%_build_cpu %{_host_cpu} /usr/lib/rpm/macros:%_host_cpu x86_64 /usr/lib/rpm/macros:%_target_cpu %{_host_cpu} Though maybe that's not actually where it comes from, since I can override the target when building the package. Conceptually, using the _target_* macros instead of _host_* macros seems definitely right, but I'm not sure if it would fix the issue. The clang-tidy tests are not a big issue, but I don't think we want i686 as default target.