[all-commits] [llvm/llvm-project] cfbed2: [Support] Import SipHash c reference implementatio...

Ahmed Bougacha via All-commits all-commits at lists.llvm.org
Fri Jun 14 16:56:26 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cfbed2c0e6110878e6174067e2fb8013fc512620
      https://github.com/llvm/llvm-project/commit/cfbed2c0e6110878e6174067e2fb8013fc512620
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-06-14 (Fri, 14 Jun 2024)

  Changed paths:
    M llvm/lib/Support/CMakeLists.txt
    A llvm/lib/Support/SipHash.cpp
    M llvm/unittests/Support/CMakeLists.txt
    A llvm/unittests/Support/SipHashTest.cpp

  Log Message:
  -----------
  [Support] Import SipHash c reference implementation. (#94393)

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 unmodified reference implementation and tests
as of f26d35e, specifically siphash.c and vectors.h, as SipHash.cpp and
SipHashTest.cpp.

Next, we will integrate it properly into libSupport, with a wrapping API
suited for the ptrauth use-case.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list