[all-commits] [llvm/llvm-project] a04b46: [libc++] Add FreeBSD-specific EINTEGRITY errc value

Dimitry Andric via All-commits all-commits at lists.llvm.org
Mon Dec 25 08:44:26 PST 2023


  Branch: refs/heads/users/DimitryAndric/libcxx-add-eintegrity
  Home:   https://github.com/llvm/llvm-project
  Commit: a04b4649945bdec40e51b4d70ddf46481c2623f2
      https://github.com/llvm/llvm-project/commit/a04b4649945bdec40e51b4d70ddf46481c2623f2
  Author: Dimitry Andric <dimitry at andric.com>
  Date:   2023-12-25 (Mon, 25 Dec 2023)

  Changed paths:
    M libcxx/include/__system_error/errc.h
    M libcxx/test/std/diagnostics/syserr/errc.pass.cpp

  Log Message:
  -----------
  [libc++] Add FreeBSD-specific EINTEGRITY errc value

Since ~2019 we have been carrying a libc++ patch in FreeBSD, that adds
the `EINTEGRITY` errno value. At the time, I submitted
https://reviews.llvm.org/D56398 for this, but due to the complicated
`ELAST` handling in `errno.h`, which that patch made even more
complicated, it was put on hold.

I would like to try this again, but much simplified: there is no need to
modify `errno.h`, since all supported versions of FreeBSD define both
`EOWNERDEAD` and `ENOTRECOVERABLE`, so the part that attempts to
redefine `ELAST` is effectively never used, and for FreeBSD we can
simply ignore it.

The only proposed changes will now be to optionally add `EINTEGRITY` as
an `enum errc` value, and add a corresponding test to `errc.pass.cpp`.




More information about the All-commits mailing list