Subject: bug#50058: 28.0.5; emacs build fails with undefined reference to malloc_info

From: Lars Ingebrigtsen <[email-masked]>
Date: Sat, 14 Aug 2021 19:39:58 +0200

Eli Zaretskii <[email-masked]> writes:

> Yes.  Or we could use something to single out glibc, if there is such
> a macro.

There is __GLIBC__...  I wondered whether musl defined that (I thought I
vaguely remembered reading something about that), but I can't find it
now.  So testing for that should be OK.

[email-masked], can you try the following trivial patch and see
whether that allows you to compile Emacs again?

diff --git a/src/alloc.c b/src/alloc.c
index 8edcd06c84..4ea337ddba 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -7318,7 +7318,7 @@ DEFUN ("memory-use-counts", Fmemory_use_counts, Smemory_use_counts, 0, 0, 0,
 		make_int (strings_consed));
 }
 
-#ifdef GNU_LINUX
+#if defined GNU_LINUX && defined __GLIBC__
 DEFUN ("malloc-info", Fmalloc_info, Smalloc_info, 0, 0, "",
        doc: /* Report malloc information to stderr.
 This function outputs to stderr an XML-formatted
@@ -7678,7 +7678,7 @@ syms_of_alloc (void)
   defsubr (&Sgarbage_collect_maybe);
   defsubr (&Smemory_info);
   defsubr (&Smemory_use_counts);
-#ifdef GNU_LINUX
+#if defined GNU_LINUX && defined __GLIBC__
   defsubr (&Smalloc_info);
 #endif
   defsubr (&Ssuspicious_object);

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no