git: 06a7ac65bd3e - main - devel/elfutils: Fix build after mempcpy(3) and wmempcpy(3) were added

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sun, 07 Nov 2021 23:43:58 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=06a7ac65bd3efb5eb1a1705a55f11acc812d941d

commit 06a7ac65bd3efb5eb1a1705a55f11acc812d941d
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2021-11-07 23:42:46 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2021-11-07 23:43:55 +0000

    devel/elfutils: Fix build after mempcpy(3) and wmempcpy(3) were added
    
    PR:             258092
---
 devel/elfutils/Makefile                    | 6 ++++++
 devel/elfutils/files/patch-lib_eu-config.h | 6 +++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/devel/elfutils/Makefile b/devel/elfutils/Makefile
index 62b2f0e7e3a1..3776e5021b13 100644
--- a/devel/elfutils/Makefile
+++ b/devel/elfutils/Makefile
@@ -49,6 +49,12 @@ CONFIGURE_ARGS+=	--program-prefix=eu-
 # Disable debuginfod until option support can be added:
 CONFIGURE_ARGS+=	--disable-debuginfod
 
+.include <bsd.port.options.mk>
+
+.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1300512 # 2021-07-17
+CFLAGS+=	-DFREEBSD_HAS_MEMPCPY
+.endif
+
 pre-configure:
 	@${CP} -a \
 	    ${LOCALBASE}/share/gnulib/lib/obstack.c \
diff --git a/devel/elfutils/files/patch-lib_eu-config.h b/devel/elfutils/files/patch-lib_eu-config.h
index f9502d4abe2a..04549063aa1c 100644
--- a/devel/elfutils/files/patch-lib_eu-config.h
+++ b/devel/elfutils/files/patch-lib_eu-config.h
@@ -1,6 +1,6 @@
 --- lib/eu-config.h.orig	2020-03-30 12:17:45 UTC
 +++ lib/eu-config.h
-@@ -176,6 +176,182 @@ asm (".section predict_data, \"aw\"; .previous\n"
+@@ -176,6 +176,186 @@ asm (".section predict_data, \"aw\"; .previous\n"
  #define ELFUTILS_HEADER(name) <lib##name.h>
  
  
@@ -23,6 +23,9 @@
 +
 +#pragma GCC diagnostic push
 +#pragma GCC diagnostic ignored "-Wshadow"
++#ifndef FREEBSD_HAS_MEMPCPY // fix for the build failure, see bug#258092: mempcpy and wmempcpy were added in commits:
++// on 14: ee37f64cf875255338f917a9da76c643cf59786c on 2021-07-15
++// on 13: dba677d13b26ad5422133b2ab76486b74d63ade4 on 2021-07-22
 +static inline void *
 +mempcpy(void * restrict dst, const void * restrict src, size_t len)
 +{
@@ -36,6 +39,7 @@
 +
 +	return (wmemcpy(dst, src, len) + len);
 +}
++#endif
 +#pragma GCC diagnostic pop
 +
 +static inline void *