--- src/Makefile.in.orig	Thu Nov 19 00:28:38 1998
+++ src/Makefile.in	Thu Nov 19 00:30:14 1998
@@ -126,6 +126,10 @@
 #define LIBS_MACHINE
 #endif
 
+#ifndef LIBS_XPG
+#define LIBS_XPG
+#endif
+
 #ifndef LIB_MATH
 # ifdef LISP_FLOAT_TYPE
 #  define LIB_MATH -lm
@@ -418,7 +422,11 @@
 libexecdir=${exec_prefix}/libexec
 archlibdir=${libexecdir}/emacs/${version}/${configuration}
 #ifdef __FreeBSD__
+#ifdef __ELF__
+#define LINKER $(CC) -nostdlib -Wl,-export-dynamic -Wl,-R${archlibdir}
+#else  /* not __ELF__ */
 #define LINKER $(CC) -nostdlib -Wl,-R${archlibdir}
+#endif /* __ELF__ */
 #else
 #define LINKER $(CC) -nostdlib -rdynamic -Wl,-rpath,${archlibdir}
 #endif
@@ -814,7 +822,7 @@
    duplicated symbols.  If the standard libraries were compiled
    with GCC, we might need gnulib again after them.  */
 LIBES = $(LOADLIBES) $(LDLIBS) $(LIBX) $(LIBDL) LIBS_SYSTEM LIBS_MACHINE LIBS_TERMCAP \
-   LIBS_DEBUG $(GNULIB_VAR) LIB_MATH LIB_STANDARD $(GNULIB_VAR)
+   LIBS_XPG LIBS_DEBUG $(GNULIB_VAR) LIB_MATH LIB_STANDARD $(GNULIB_VAR)
 
 /* Enable recompilation of certain other files depending on system type.  */
 
