diff --git a/configure b/configure
index 717dbc244c721aeec3475b8a936c260713ca01f3..3eb7f05c18eebe8e66b46b8379f0e315bd4589aa 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.ac Revision: 276769 .
+# From configure.ac Revision: 276871 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.61 for asterisk trunk.
 #
@@ -18199,7 +18199,12 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 { echo "$as_me:$LINENO: checking for a version of GNU ld that supports the --dynamic-list flag" >&5
 echo $ECHO_N "checking for a version of GNU ld that supports the --dynamic-list flag... $ECHO_C" >&6; }
 old_LDFLAGS=${LDFLAGS}
-LDFLAGS+="-Wl,--dynamic-list,main/asterisk.dynamics"
+cat >conftest.dynamics <<_ACEOF
+{
+	*ast_*;
+};
+_ACEOF
+LDFLAGS="${LDFLAGS} -Wl,--dynamic-list,conftest.dynamics"
 PBX_DYNAMIC_LIST=0
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -18250,6 +18255,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 
 LDFLAGS=${old_LDFLAGS}
+rm -f conftest.dynamics
 
 if test "${ac_cv_header_sys_poll_h+set}" = set; then
   { echo "$as_me:$LINENO: checking for sys/poll.h" >&5
diff --git a/configure.ac b/configure.ac
index 8d69691b1df671c4bb435e5f1dad7999e75954c5..c7fe306787bad1282cc4fe5151ec4e59e4e1e8cd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -482,7 +482,12 @@ AC_LINK_IFELSE(
 
 AC_MSG_CHECKING(for a version of GNU ld that supports the --dynamic-list flag)
 old_LDFLAGS=${LDFLAGS}
-LDFLAGS+="-Wl,--dynamic-list,main/asterisk.dynamics"
+cat >conftest.dynamics <<_ACEOF
+{
+	*ast_*;
+};
+_ACEOF
+LDFLAGS="${LDFLAGS} -Wl,--dynamic-list,conftest.dynamics"
 PBX_DYNAMIC_LIST=0
 AC_LINK_IFELSE(
 	AC_LANG_PROGRAM([], []),
@@ -492,6 +497,7 @@ AC_LINK_IFELSE(
 )
 AC_SUBST(PBX_DYNAMIC_LIST)
 LDFLAGS=${old_LDFLAGS}
+rm -f conftest.dynamics
 
 AC_CHECK_HEADER([sys/poll.h], 
    [HAS_POLL=1]