| From 3916c1cc32be205e185a8a56de5cde1b9ec60e81 Mon Sep 17 00:00:00 2001 |
| From: Denis Kenzior <denkenz@gmail.com> |
| Date: Mon, 30 Nov 2020 13:00:11 -0600 |
| Subject: [PATCH] build: Add rawmemchr to missing.h |
| |
| For those systems (i.e. musl) that do not support this |
| |
| [Upstream: https://git.kernel.org/pub/scm/libs/ell/ell.git/patch/?id=3916c1cc32be205e185a8a56de5cde1b9ec60e81] |
| Signed-off-by: Peter Seiderer <ps.report@gmx.net> |
| --- |
| configure.ac | 1 + |
| ell/missing.h | 10 ++++++++++ |
| 2 files changed, 11 insertions(+) |
| |
| diff --git a/configure.ac b/configure.ac |
| index 1e5ead9..f34add1 100644 |
| --- a/configure.ac |
| +++ b/configure.ac |
| @@ -98,6 +98,7 @@ AC_ARG_ENABLE(ubsan, AC_HELP_STRING([--enable-ubsan], |
| ]) |
| |
| AC_CHECK_FUNCS(explicit_bzero) |
| +AC_CHECK_FUNCS(rawmemchr) |
| |
| AC_CHECK_FUNC(signalfd, dummy=yes, |
| AC_MSG_ERROR(signalfd support is required)) |
| diff --git a/ell/missing.h b/ell/missing.h |
| index 6b9b0fd..2a3e647 100644 |
| --- a/ell/missing.h |
| +++ b/ell/missing.h |
| @@ -67,3 +67,13 @@ static inline void explicit_bzero(void *s, size_t n) |
| #ifndef SO_BINDTOIFINDEX |
| #define SO_BINDTOIFINDEX 62 |
| #endif |
| + |
| +#ifndef HAVE_RAWMEMCHR |
| +static inline void *rawmemchr(const void *s, int c) |
| +{ |
| +_Pragma("GCC diagnostic push") |
| +_Pragma("GCC diagnostic ignored \"-Wstringop-overflow=\"") |
| + return memchr(s, c, (size_t) -1); |
| +_Pragma("GCC diagnostic pop") |
| +} |
| +#endif |
| -- |
| 2.29.2 |
| |