From 20ed56ec8b80936132d3dd66e3a7b82dd1d2ed89 Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Sun, 7 Apr 2024 23:28:51 -0400 Subject: [PATCH] tools/elfutils: use locally declared static reallocarray() On macOS, stdlib.h in the standard include paths does not provide reallocarray() while both elfutils and gnulib do, however they are declared differently, leading to an error: ./system.h:101:1: error: static declaration of 'reallocarray' follows non-static declaration reallocarray (void *ptr, size_t nmemb, size_t size) A normal "configure && make" build cycle results in both declarations being enabled as a result of both elfutils and gnulib having completely separate configure checks where gnulib uses an internal placeholder symbol HAVE_REALLOCARRAY, and elfutils uses a standard autoconf macro HAVE_DECL_REALLOCARRAY. Fix this by excluding the import of the reallocarray module which causes gnulib checks in the configure stage to not even consider whether to declare reallocarray later on, so the decision is only between the standard include stdlib.h and the elfutils header. Tested-by: Georgi Valkov # MacOS Signed-off-by: Michael Pratt Signed-off-by: Tony Ambardar --- tools/elfutils/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/elfutils/Makefile b/tools/elfutils/Makefile index c7d94d2a476..140250801c9 100644 --- a/tools/elfutils/Makefile +++ b/tools/elfutils/Makefile @@ -36,6 +36,7 @@ PKG_GNULIB_ARGS = \ --local-dir=$(STAGING_DIR_HOST)/share/gnulib \ --source-base=$(PKG_GNULIB_BASE) \ --libtool \ + --avoid=reallocarray \ --import PKG_GNULIB_MODS = \