Bug 674010 - Remove check for DLL-challenged libcs. r=ted

This commit is contained in:
Matheus Kerschbaum 2011-08-06 16:59:47 +02:00
Родитель bde0e15494
Коммит 86af4fa3b9
2 изменённых файлов: 0 добавлений и 114 удалений

Просмотреть файл

@ -3892,63 +3892,6 @@ if test "x$ac_cv_va_val_copy" = "xno"; then
fi
AC_MSG_RESULT($ac_cv_va_val_copy)
dnl Check for dll-challenged libc's.
dnl This check is apparently only needed for Linux.
case "$target" in
*-linux*)
dnl ===================================================================
_curdir=`pwd`
export _curdir
rm -rf conftest* _conftest
mkdir _conftest
cat >> conftest.C <<\EOF
#include <stdio.h>
#include <link.h>
#include <dlfcn.h>
#ifdef _dl_loaded
void __dump_link_map(void) {
struct link_map *map = _dl_loaded;
while (NULL != map) {printf("0x%08x %s\n", map->l_addr, map->l_name); map = map->l_next;}
}
int main() {
dlopen("./conftest1.so",RTLD_LAZY);
dlopen("./../_conftest/conftest1.so",RTLD_LAZY);
dlopen("CURDIR/_conftest/conftest1.so",RTLD_LAZY);
dlopen("CURDIR/_conftest/../_conftest/conftest1.so",RTLD_LAZY);
__dump_link_map();
}
#else
/* _dl_loaded isn't defined, so this should be either a libc5 (glibc1) system, or a glibc2 system that doesn't have the multiple load bug (i.e., RH6.0).*/
int main() { printf("./conftest1.so\n"); }
#endif
EOF
$PERL -p -i -e "s/CURDIR/\$ENV{_curdir}/g;" conftest.C
cat >> conftest1.C <<\EOF
#include <stdio.h>
void foo(void) {printf("foo in dll called\n");}
EOF
${CXX-g++} -fPIC -c -g conftest1.C
${CXX-g++} -shared -Wl,-h -Wl,conftest1.so -o conftest1.so conftest1.o
${CXX-g++} -g conftest.C -o conftest -ldl
cp -f conftest1.so conftest _conftest
cd _conftest
if test `./conftest | grep conftest1.so | wc -l` -gt 1
then
echo
echo "*** Your libc has a bug that can result in loading the same dynamic"
echo "*** library multiple times. This bug is known to be fixed in glibc-2.0.7-32"
echo "*** or later. However, if you choose not to upgrade, the only effect"
echo "*** will be excessive memory usage at runtime."
echo
fi
cd ${_curdir}
rm -rf conftest* _conftest
dnl ===================================================================
;;
esac
dnl ===================================================================
dnl ========================================================
dnl Put your C++ language/feature checks below

Просмотреть файл

@ -3807,63 +3807,6 @@ if test "x$ac_cv_va_val_copy" = "xno"; then
fi
AC_MSG_RESULT($ac_cv_va_val_copy)
dnl Check for dll-challenged libc's.
dnl This check is apparently only needed for Linux.
case "$target" in
*-linux*)
dnl ===================================================================
_curdir=`pwd`
export _curdir
rm -rf conftest* _conftest
mkdir _conftest
cat >> conftest.C <<\EOF
#include <stdio.h>
#include <link.h>
#include <dlfcn.h>
#ifdef _dl_loaded
void __dump_link_map(void) {
struct link_map *map = _dl_loaded;
while (NULL != map) {printf("0x%08x %s\n", map->l_addr, map->l_name); map = map->l_next;}
}
int main() {
dlopen("./conftest1.so",RTLD_LAZY);
dlopen("./../_conftest/conftest1.so",RTLD_LAZY);
dlopen("CURDIR/_conftest/conftest1.so",RTLD_LAZY);
dlopen("CURDIR/_conftest/../_conftest/conftest1.so",RTLD_LAZY);
__dump_link_map();
}
#else
/* _dl_loaded isn't defined, so this should be either a libc5 (glibc1) system, or a glibc2 system that doesn't have the multiple load bug (i.e., RH6.0).*/
int main() { printf("./conftest1.so\n"); }
#endif
EOF
$PERL -p -i -e "s/CURDIR/\$ENV{_curdir}/g;" conftest.C
cat >> conftest1.C <<\EOF
#include <stdio.h>
void foo(void) {printf("foo in dll called\n");}
EOF
${CXX-g++} -fPIC -c -g conftest1.C
${CXX-g++} -shared -Wl,-h -Wl,conftest1.so -o conftest1.so conftest1.o
${CXX-g++} -g conftest.C -o conftest -ldl
cp -f conftest1.so conftest _conftest
cd _conftest
if test `./conftest | grep conftest1.so | wc -l` -gt 1
then
echo
echo "*** Your libc has a bug that can result in loading the same dynamic"
echo "*** library multiple times. This bug is known to be fixed in glibc-2.0.7-32"
echo "*** or later. However, if you choose not to upgrade, the only effect"
echo "*** will be excessive memory usage at runtime."
echo
fi
cd ${_curdir}
rm -rf conftest* _conftest
dnl ===================================================================
;;
esac
dnl ===================================================================
dnl ========================================================
dnl Put your C++ language/feature checks below