Comment # 4 on bug 1218701 from Aaron Puchert
(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.


You are receiving this mail because: