This makes LLVM tools (including dependent tools such as LLD) readily useful in
more situations, foresees such needed additions as BPF and NVPTX, and brings
llvm_6 and newer on par with the current default llvm_5.
* add generic x86_32 support
- Add support for i386-i586.
- Add `isx86_32` predicate that can replace most uses of `isi686`.
- `isi686` is reinterpreted to mean "exactly i686 arch, and not say i585 or i386".
- This branch was used to build working i586 kernel running on i586 hardware.
* revert `isi[345]86`, remove dead code
- Remove changes to dead code in `doubles.nix` and `for-meta.nix`.
- Remove `isi[345]86` predicates since other cpu families don't have specific model predicates.
* remove i386-linux since linux not supported on that cpu
LLVM’s `LLVM_TARGETS_TO_BUILD` build flag defauls to `all`, which contains
`AMDGPU` among others. [1] Changes in llvm [2] switched to explicitly listing
host and target platforms, excluding the AMDGPU target, which is required
for Mesa to build.
[1]: db50b6fe39/CMakeLists.txt (L286-L302)
[2]: https://github.com/NixOS/nixpkgs/pull/52031
This is necessary to avoid objc errors like:
"_OBJC_CLASS_$_NSDictionary", referenced from:
objc-class-ref in liblldbHost.a(HostInfoMacOSX.mm.o)
objc-class-ref in liblldbPluginPlatformMacOSX.a(PlatformiOSSimulatorCoreSimulatorSupport.mm.o)
ld: symbol(s) not found for architecture x86_64