... | ... | @@ -60,13 +60,15 @@ $ clang -print-targets |
|
|
```
|
|
|
In particular, these work:
|
|
|
```
|
|
|
x86_64-pc-windows-msvc # Windows (Intel) COFF object files, MSVC ABI
|
|
|
x86_64-w64-windows-gnu # Windows (Intel) COFF object files, GNU ABI
|
|
|
x86_64-pc-windows-msvc # Windows (Intel) COFF object files, PE executable, MSVC ABI for libc (Microsoft CRT)
|
|
|
x86_64-w64-windows-gnu # Windows (Intel) COFF object files, PE executable, GNU ABI for libc (glibc)
|
|
|
x86_64-apple-darwin # macOS (Intel) Mach-O object files
|
|
|
arm64-apple-macos # macOS (M1) Mach-O object files
|
|
|
x86_64-pc-linux-gnu # Linux (Intel) ELF object files
|
|
|
```
|
|
|
|
|
|
It seems both `x86_64-pc-windows-msvc` and `x86_64-w64-windows-gnu` have exactly the same LLVM code with the same ABI on Windows at the LLVM level. However they generate slightly different (and incompatible) object files.
|
|
|
|
|
|
General format: `<arch><sub>-<vendor>-<sys>-<abi>`, so we have:
|
|
|
|
|
|
* `<arch>` = `x86_64`, `arm64`
|
... | ... | |