zig/lib/libc/include
Jakub Konka 5b813f1a2a Set macOS/iPhoneOS/tvOS/watchOS ABI to none (unspecified) by default
Prior to this change we would assume the ABI for Apple targets to
be GNU which could result in subtle errors in LLVM emitting calls
to non-existent system libc provided functions such as `_sincosf`
which is a GNU extension and as such is not provided by macOS for example.
This would result in linker errors where the linker would not be
able to find the said symbol in `libSystem.tbd`.

With this change, we now correctly identify macOS (and other Apple
platforms) as having ABI `unknown` which translates to unspecified
in LLVM under-the-hood:

```
// main.ll
target triple = "aarch64-unknown-macos-unknown"
```

Note however that we never suffix the target OS with target version
such as `macos11` or `macos12` which means we fail to instruct LLVM
of potential optimisations provided by the OS such as the availability
of function `___sincosf_stret`. I suggest we investigate that in a
follow-up commit.
2022-05-22 17:45:02 +02:00
..
aarch64_be-linux-gnu
aarch64-linux-any/asm [linux headers] rename arm64 to aarch64 2022-01-26 07:57:34 +02:00
aarch64-linux-gnu
aarch64-linux-musl/bits musl: update to 1.2.3 2022-05-04 01:00:57 +02:00
aarch64-macos.11-none Set macOS/iPhoneOS/tvOS/watchOS ABI to none (unspecified) by default 2022-05-22 17:45:02 +02:00
aarch64-macos.12-none Set macOS/iPhoneOS/tvOS/watchOS ABI to none (unspecified) by default 2022-05-22 17:45:02 +02:00
any-linux-any [linux headers] rename arm64 to aarch64 2022-01-26 07:57:34 +02:00
any-macos-any
any-macos.11-any
any-macos.12-any
any-windows-any
arc-linux-any/asm
arm-linux-any/asm
arm-linux-gnueabi glibc: fix inconsistency of mips ABI mapping 2021-12-15 19:09:50 -07:00
arm-linux-gnueabihf glibc: fix inconsistency of mips ABI mapping 2021-12-15 19:09:50 -07:00
arm-linux-musl/bits musl: update to 1.2.3 2022-05-04 01:00:57 +02:00
armeb-linux-gnueabi glibc: fix inconsistency of mips ABI mapping 2021-12-15 19:09:50 -07:00
armeb-linux-gnueabihf glibc: fix inconsistency of mips ABI mapping 2021-12-15 19:09:50 -07:00
csky-linux-any/asm
csky-linux-gnueabi glibc: fix inconsistency of mips ABI mapping 2021-12-15 19:09:50 -07:00
csky-linux-gnueabihf glibc: fix inconsistency of mips ABI mapping 2021-12-15 19:09:50 -07:00
generic-glibc glibc: version-gate _DYNAMIC_STACK_SIZE_SOURCE 2022-01-28 18:36:23 -07:00
generic-musl musl: update to 1.2.3 2022-05-04 01:00:57 +02:00
hexagon-linux-any/asm
i386-linux-gnu
i386-linux-musl/bits musl: update to 1.2.3 2022-05-04 01:00:57 +02:00
m68k-linux-any/asm
m68k-linux-gnu glibc: fix inconsistency of mips ABI mapping 2021-12-15 19:09:50 -07:00
m68k-linux-musl/bits musl: update to 1.2.3 2022-05-04 01:00:57 +02:00
mips-linux-any/asm
mips-linux-gnueabi glibc: fix inconsistency of mips ABI mapping 2021-12-15 19:09:50 -07:00
mips-linux-gnueabihf glibc: fix inconsistency of mips ABI mapping 2021-12-15 19:09:50 -07:00
mips-linux-musl/bits musl: update to 1.2.3 2022-05-04 01:00:57 +02:00
mips64-linux-gnuabi64 glibc: fix inconsistency of mips ABI mapping 2021-12-15 19:09:50 -07:00
mips64-linux-gnuabin32 glibc: fix inconsistency of mips ABI mapping 2021-12-15 19:09:50 -07:00
mips64-linux-musl/bits musl: update to 1.2.3 2022-05-04 01:00:57 +02:00
mips64el-linux-gnuabi64 glibc: fix inconsistency of mips ABI mapping 2021-12-15 19:09:50 -07:00
mips64el-linux-gnuabin32 glibc: fix inconsistency of mips ABI mapping 2021-12-15 19:09:50 -07:00
mipsel-linux-gnueabi glibc: fix inconsistency of mips ABI mapping 2021-12-15 19:09:50 -07:00
mipsel-linux-gnueabihf glibc: fix inconsistency of mips ABI mapping 2021-12-15 19:09:50 -07:00
powerpc-linux-any/asm
powerpc-linux-gnueabi glibc: fix inconsistency of powerpc ABI mapping 2021-12-16 03:01:13 -07:00
powerpc-linux-gnueabihf glibc: fix inconsistency of powerpc ABI mapping 2021-12-16 03:01:13 -07:00
powerpc-linux-musl/bits musl: update to 1.2.3 2022-05-04 01:00:57 +02:00
powerpc64-linux-gnu
powerpc64-linux-musl/bits musl: update to 1.2.3 2022-05-04 01:00:57 +02:00
powerpc64le-linux-gnu
riscv-linux-any/asm
riscv64-linux-gnu
riscv64-linux-musl/bits musl: update to 1.2.3 2022-05-04 01:00:57 +02:00
s390x-linux-any/asm
s390x-linux-gnu
s390x-linux-musl/bits musl: update to 1.2.3 2022-05-04 01:00:57 +02:00
sparc-linux-any/asm
sparc-linux-gnu
sparcv9-linux-gnu
wasm-freestanding-musl
wasm-wasi-musl
x86_64-linux-gnu
x86_64-linux-gnux32
x86_64-linux-musl/bits musl: update to 1.2.3 2022-05-04 01:00:57 +02:00
x86_64-macos.10-none Set macOS/iPhoneOS/tvOS/watchOS ABI to none (unspecified) by default 2022-05-22 17:45:02 +02:00
x86_64-macos.11-none Set macOS/iPhoneOS/tvOS/watchOS ABI to none (unspecified) by default 2022-05-22 17:45:02 +02:00
x86_64-macos.12-none Set macOS/iPhoneOS/tvOS/watchOS ABI to none (unspecified) by default 2022-05-22 17:45:02 +02:00
x86-linux-any/asm