[Support] Import SipHash c reference implementation.
This brings the unmodified SipHash reference implementation: https://github.com/veorq/SipHash which has been very graciously licensed under our llvm license (Apache-2.0 WITH LLVM-exception) by Jean-Philippe Aumasson. SipHash is a lightweight hash function optimized for speed on short messages. We use it as part of the AArch64 ptrauth ABI (in arm64e and ELF PAuth) to generate discriminators based on language identifiers and mangled names. This commit brings the reference implementation (siphash.c@f26d35e) unmodified, as SipHash.cpp. Next, we will integrate it properly into libSupport, with a wrapping API suited for the ptrauth use-case.
Please register or sign in to comment