--- a/configure.ac
+++ b/configure.ac
@@ -44,6 +44,7 @@ fi
 
 AC_CONFIG_AUX_DIR([config])
 AC_CONFIG_FILES([config/Makefile])
+AC_CONFIG_FILES([libgnu/Makefile])
 
 AC_COPYRIGHT([Copyright (C) 1996-2024 The elfutils developers.])
 AC_PREREQ(2.63)			dnl Minimum Autoconf version required.
@@ -88,11 +89,14 @@ AS_IF([test "$use_locks" = yes],
 
 AH_TEMPLATE([USE_LOCKS], [Defined if libraries should be thread-safe.])
 
+AC_USE_SYSTEM_EXTENSIONS()
+
 m4_version_prereq([2.70], [AC_PROG_CC], [AC_PROG_CC_C99])
 AC_PROG_CXX
 AC_PROG_RANLIB
 AC_PROG_YACC
 AC_PROG_LEX([noyywrap])
+gl_EARLY
 # Only available since automake 1.12
 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
 AC_CHECK_TOOL([READELF], [readelf])
@@ -635,6 +639,8 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],
 CFLAGS="$old_CFLAGS"])
 AS_IF([test "x$ac_cv_fno_addrsig" = "xyes"], CFLAGS="$CFLAGS -fno-addrsig")
 
+gl_INIT
+
 saved_LIBS="$LIBS"
 AC_SEARCH_LIBS([argp_parse], [argp])
 LIBS="$saved_LIBS"
--- a/lib/eu-config.h
+++ b/lib/eu-config.h
@@ -59,14 +59,19 @@
 # define once(once_control, init_routine)	init_routine()
 #endif	/* USE_LOCKS */
 
-#include <libintl.h>
+#include <gettext.h>
 /* gettext helper macros.  */
 #define N_(Str) Str
 #define _(Str) dgettext ("elfutils", Str)
 
 /* Compiler-specific definitions.  */
+#define __PRAGMA(str) _Pragma (#str)
+#ifdef __APPLE__
+#define strong_alias(name, aliasname) __PRAGMA(weak aliasname = name)
+#else
 #define strong_alias(name, aliasname) \
   extern __typeof (name) aliasname __attribute__ ((alias (#name)));
+#endif
 
 #ifdef __i386__
 # define internal_function __attribute__ ((regparm (3), stdcall))
@@ -77,7 +82,7 @@
 #define internal_strong_alias(name, aliasname) \
   extern __typeof (name) aliasname __attribute__ ((alias (#name))) internal_function;
 
-#ifdef HAVE_VISIBILITY
+#if defined(HAVE_VISIBILITY) && !defined(__APPLE__)
 #define attribute_hidden \
   __attribute__ ((visibility ("hidden")))
 #else
@@ -166,7 +171,7 @@ asm (".section predict_data, \"aw\"; .pr
 #endif
 
 /* Avoid PLT entries.  */
-#ifdef PIC
+#if defined(PIC) && !defined(__APPLE__)
 # define INTUSE(name) _INTUSE(name)
 # define _INTUSE(name) __##name##_internal
 # define INTDEF(name) _INTDEF(name)
--- a/backends/i386_auxv.c
+++ b/backends/i386_auxv.c
@@ -48,5 +48,4 @@ EBLHOOK(auxv_info) (GElf_Xword a_type, c
   return 1;
 }
 
-__typeof (i386_auxv_info) x86_64_auxv_info
-			  __attribute__ ((alias ("i386_auxv_info")));
+auxv_info_alias(x86_64)
--- a/backends/ppc_regs.c
+++ b/backends/ppc_regs.c
@@ -204,5 +204,11 @@ ppc_register_info (Ebl *ebl __attribute_
   return namelen;
 }
 
-__typeof (ppc_register_info)
-     ppc64_register_info __attribute__ ((alias ("ppc_register_info")));
+ssize_t
+ppc64_register_info (Ebl *ebl,
+		     int regno, char *name, size_t namelen,
+		     const char **prefix, const char **setname,
+		     int *bits, int *type)
+{
+  return ppc_register_info(ebl, regno, name, namelen, prefix, setname, bits, type);
+}
--- a/backends/libebl_CPU.h
+++ b/backends/libebl_CPU.h
@@ -97,4 +97,10 @@ dwarf_is_pointer (int tag)
   case DW_TAG_reference_type: \
   case DW_TAG_rvalue_reference_type
 
+#define auxv_info_alias(arch) \
+	int EBLHOOK_1(arch ## _, auxv_info) (GElf_Xword a_type, const char **name, const char **format) \
+	{ \
+		return EBLHOOK(auxv_info)(a_type, name, format); \
+	}
+
 #endif	/* libebl_CPU.h */
--- a/backends/ppc_auxv.c
+++ b/backends/ppc_auxv.c
@@ -51,5 +51,4 @@ EBLHOOK(auxv_info) (GElf_Xword a_type, c
   return 1;
 }
 
-__typeof (ppc_auxv_info) ppc64_auxv_info
-			 __attribute__ ((alias ("ppc_auxv_info")));
+auxv_info_alias(ppc64)
--- a/backends/ppc_cfi.c
+++ b/backends/ppc_cfi.c
@@ -72,6 +72,7 @@ ppc_abi_cfi (Ebl *ebl __attribute__ ((un
   return 0;
 }
 
-__typeof (ppc_abi_cfi)
-     ppc64_abi_cfi
-     __attribute__ ((alias ("ppc_abi_cfi")));
+int ppc64_abi_cfi(Ebl *ebl, Dwarf_CIE *abi_info)
+{
+  return ppc_abi_cfi(ebl, abi_info);
+}
--- a/backends/ppc_initreg.c
+++ b/backends/ppc_initreg.c
@@ -68,9 +68,10 @@ ppc_dwarf_to_regno (Ebl *ebl __attribute
   abort ();
 }
 
-__typeof (ppc_dwarf_to_regno)
-     ppc64_dwarf_to_regno
-     __attribute__ ((alias ("ppc_dwarf_to_regno")));
+bool ppc64_dwarf_to_regno (Ebl *ebl, unsigned *regno)
+{
+  return ppc_dwarf_to_regno(ebl, regno);
+}
 
 bool
 ppc_set_initial_registers_tid (pid_t tid __attribute__ ((unused)),
@@ -127,6 +128,7 @@ ppc_set_initial_registers_tid (pid_t tid
 #endif /* __powerpc__ */
 }
 
-__typeof (ppc_set_initial_registers_tid)
-     ppc64_set_initial_registers_tid
-     __attribute__ ((alias ("ppc_set_initial_registers_tid")));
+bool ppc64_set_initial_registers_tid(pid_t tid, ebl_tid_registers_t *setfunc, void *arg)
+{
+  return ppc_set_initial_registers_tid(tid, setfunc, arg);
+}
--- a/backends/ppc_attrs.c
+++ b/backends/ppc_attrs.c
@@ -81,6 +81,9 @@ ppc_check_object_attribute (Ebl *ebl __a
   return false;
 }
 
-__typeof (ppc_check_object_attribute)
-     ppc64_check_object_attribute
-     __attribute__ ((alias ("ppc_check_object_attribute")));
+bool ppc64_check_object_attribute(Ebl *ebl,
+				  const char *vendor, int tag, uint64_t value,
+				  const char **tag_name, const char **value_name)
+{
+  return ppc_check_object_attribute(ebl, vendor, tag, value, tag_name, value_name);
+}
--- a/libdwfl/libdwflP.h
+++ b/libdwfl/libdwflP.h
@@ -31,6 +31,7 @@
 
 #include <libdwfl.h>
 #include <libebl.h>
+#include <libeu.h>
 #include <assert.h>
 #include <dirent.h>
 #include <errno.h>
--- /dev/null
+++ b/lib/stdio_ext.h
@@ -0,0 +1,6 @@
+#include <stdio.h>
+#ifndef __APPLE__
+#include_next <stdio_ext.h>
+#else
+#define __fsetlocking(...) 0
+#endif
--- a/libdw/libdwP.h
+++ b/libdw/libdwP.h
@@ -32,6 +32,7 @@
 #include <stdbool.h>
 #include <pthread.h>
 
+#include <libeu.h>
 #include <libdw.h>
 #include <dwarf.h>
 
--- a/config/libdebuginfod.pc.in
+++ b/config/libdebuginfod.pc.in
@@ -8,5 +8,5 @@ Description: elfutils library to query d
 Version: @VERSION@
 URL: http://elfutils.org/
 
-Libs: -L${libdir} -ldebuginfod
+Libs: -L${libdir} -ldebuginfod -lpthread
 Cflags: -I${includedir}
--- a/config/libdw.pc.in
+++ b/config/libdw.pc.in
@@ -8,7 +8,7 @@ Description: elfutils library for DWARF
 Version: @VERSION@
 URL: http://elfutils.org/
 
-Libs: -L${libdir} -ldw
+Libs: -L${libdir} -ldw -lz -lelf -lz -ldl -lpthread
 Cflags: -I${includedir}
 
 # We need the exact matching elfutils libelf version since internal data
--- a/config/libelf.pc.in
+++ b/config/libelf.pc.in
@@ -8,7 +8,7 @@ Description: elfutils libelf library to
 Version: @VERSION@
 URL: http://elfutils.org/
 
-Libs: -L${libdir} -lelf
+Libs: -L${libdir} -lelf -lz
 Cflags: -I${includedir}
 
 Requires.private: zlib @LIBZSTD@
--- a/lib/next_prime.c
+++ b/lib/next_prime.c
@@ -27,6 +27,7 @@
    the GNU Lesser General Public License along with this program.  If
    not, see <http://www.gnu.org/licenses/>.  */
 
+#include <config.h>
 #include <stddef.h>
 
 
--- a/libebl/eblopenbackend.c
+++ b/libebl/eblopenbackend.c
@@ -200,8 +200,6 @@ static bool default_object_note (const c
 				 uint32_t descsz, const char *desc);
 static bool default_debugscn_p (const char *name);
 static bool default_copy_reloc_p (int reloc);
-static bool default_none_reloc_p (int reloc);
-static bool default_relative_reloc_p (int reloc);
 static bool default_check_special_symbol (Elf *elf,
 					  const GElf_Sym *sym,
 					  const char *name,
@@ -253,8 +251,8 @@ fill_defaults (Ebl *result)
   result->object_note = default_object_note;
   result->debugscn_p = default_debugscn_p;
   result->copy_reloc_p = default_copy_reloc_p;
-  result->none_reloc_p = default_none_reloc_p;
-  result->relative_reloc_p = default_relative_reloc_p;
+  result->none_reloc_p = default_copy_reloc_p;
+  result->relative_reloc_p = default_copy_reloc_p;
   result->check_special_symbol = default_check_special_symbol;
   result->data_marker_symbol = default_data_marker_symbol;
   result->check_st_other_bits = default_check_st_other_bits;
@@ -636,8 +634,6 @@ default_copy_reloc_p (int reloc __attrib
 {
   return false;
 }
-strong_alias (default_copy_reloc_p, default_none_reloc_p)
-strong_alias (default_copy_reloc_p, default_relative_reloc_p)
 
 static bool
 default_check_special_symbol (Elf *elf __attribute__ ((unused)),
--- a/src/srcfiles.cxx
+++ b/src/srcfiles.cxx
@@ -78,7 +78,9 @@ ARGP_PROGRAM_VERSION_HOOK_DEF = print_ve
 /* Bug report address.  */
 ARGP_PROGRAM_BUG_ADDRESS_DEF = PACKAGE_BUGREPORT;
 
+#ifdef HAVE_LIBARCHIVE
 constexpr size_t BUFFER_SIZE = 8192;
+#endif
 
 /* Definitions of arguments for argp functions.  */
 static const struct argp_option options[] =
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -92,6 +92,7 @@ strings_LDADD = $(libelf) $(libeu) $(arg
 ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(obstack_LIBS)
 unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
 stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(demanglelib)
+EXTRA_stack_DEPENDENCIES = $(if $(findstring srcfiles,$(bin_PROGRAMS)),$(srcfiles_OBJECTS))
 elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
 elfclassify_LDADD = $(libelf) $(libdw) $(libeu) $(argp_LDADD)
 srcfiles_SOURCES = srcfiles.cxx
