From: degomme Date: Tue, 18 Mar 2014 15:16:43 +0000 (+0100) Subject: Merge branch 'master' of git://scm.gforge.inria.fr/simgrid/simgrid X-Git-Tag: v3_11~213^2~5 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/19692c89dd9e208046e3b7880da2e2e91c3b1758?hp=1d28353196f968370fb0887166135f2de5f20596 Merge branch 'master' of git://scm.gforge.inria.fr/simgrid/simgrid --- diff --git a/buildtools/Cmake/CompleteInFiles.cmake b/buildtools/Cmake/CompleteInFiles.cmake index 04a2a3ef9a..30c3a26160 100644 --- a/buildtools/Cmake/CompleteInFiles.cmake +++ b/buildtools/Cmake/CompleteInFiles.cmake @@ -107,6 +107,8 @@ else() endif() # Checks for header libraries functions. +CHECK_LIBRARY_EXISTS(dl dlopen "" HAVE_DLOPEN_IN_LIBDL) +CHECK_LIBRARY_EXISTS(execinfo backtrace "" HAVE_BACKTRACE_IN_LIBEXECINFO) CHECK_LIBRARY_EXISTS(pthread pthread_create "" pthread) CHECK_LIBRARY_EXISTS(pthread sem_init "" HAVE_SEM_INIT_LIB) CHECK_LIBRARY_EXISTS(pthread sem_open "" HAVE_SEM_OPEN_LIB) @@ -171,7 +173,7 @@ else() endif() # Our usage of mmap is Linux-specific (flag MAP_ANONYMOUS), but kFreeBSD uses a GNU libc -IF(NOT "${CMAKE_SYSTEM}" MATCHES "Linux" AND NOT "${CMAKE_SYSTEM}" MATCHES "kFreeBSD" AND NOT "${CMAKE_SYSTEM}" MATCHES "GNU" AND NOT "${CMAKE_SYSTEM}" MATCHES "Darwin") +IF(NOT "${CMAKE_SYSTEM}" MATCHES "Linux" AND NOT "${CMAKE_SYSTEM}" MATCHES "FreeBSD" AND NOT "${CMAKE_SYSTEM}" MATCHES "GNU" AND NOT "${CMAKE_SYSTEM}" MATCHES "Darwin") SET(HAVE_MMAP 0) message(STATUS "Warning: MMAP is thought as non functional on this architecture (${CMAKE_SYSTEM})") ENDIF() @@ -249,7 +251,10 @@ CHECK_TYPE_SIZE(void* SIZEOF_VOIDP) ### Check for GNU dynamic linker CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H) if (HAVE_DLFCN_H) - execute_process(COMMAND ${CMAKE_C_COMPILER} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_gnu_dynlinker.c -ldl -o test_gnu_ld + if(HAVE_DLOPEN_IN_LIBDL) + set(DL_LIBRARY "-ldl") + endif(HAVE_DLOPEN_IN_LIBDL) + execute_process(COMMAND ${CMAKE_C_COMPILER} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_gnu_dynlinker.c ${DL_LIBRARY} -o test_gnu_ld WORKING_DIRECTORY ${CMAKE_BINARY_DIR} OUTPUT_VARIABLE HAVE_GNU_LD_compil ) diff --git a/buildtools/Cmake/MakeLib.cmake b/buildtools/Cmake/MakeLib.cmake index 1e2113774d..a3c0fe168f 100644 --- a/buildtools/Cmake/MakeLib.cmake +++ b/buildtools/Cmake/MakeLib.cmake @@ -87,7 +87,7 @@ if(HAVE_MC) endif() if(MMALLOC_WANT_OVERRIDE_LEGACY AND HAVE_GNU_LD) - SET(SIMGRID_DEP "${SIMGRID_DEP} -ldl") + SET(SIMGRID_DEP "${SIMGRID_DEP} ${DL_LIBRARY}") endif() if(HAVE_NS3) @@ -104,6 +104,10 @@ if(HAVE_POSIX_GETTIME) SET(SIMGRID_DEP "${SIMGRID_DEP} -lrt") endif() +if(HAVE_BACKTRACE_IN_LIBEXECINFO) + SET(SIMGRID_DEP "${SIMGRID_DEP} -lexecinfo") +endif(HAVE_BACKTRACE_IN_LIBEXECINFO) + # Compute the dependencies of SMPI ################################## if(enable_smpi AND APPLE) diff --git a/src/smpi/smpirun.in b/src/smpi/smpirun.in index bf5607ef7c..90c0d1e4ce 100755 --- a/src/smpi/smpirun.in +++ b/src/smpi/smpirun.in @@ -426,14 +426,6 @@ fi ${EXEC} ${TRACEOPTIONS} ${SIMOPTS} ${PLATFORMTMP} ${APPLICATIONTMP} status=$? -if [ ${status} = 139 ]; then - cat >&2 < diff --git a/src/xbt/mmalloc/mmorecore.c b/src/xbt/mmalloc/mmorecore.c index 2182cc4add..014b8b81c2 100644 --- a/src/xbt/mmalloc/mmorecore.c +++ b/src/xbt/mmalloc/mmorecore.c @@ -19,6 +19,7 @@ #include #include #include +#include #include "mmprivate.h" diff --git a/tools/tesh/background.tesh b/tools/tesh/background.tesh index 359d2a5446..1029d89c3a 100644 --- a/tools/tesh/background.tesh +++ b/tools/tesh/background.tesh @@ -43,7 +43,7 @@ $ cd temp_testdir_background < } $ mkfile delayed_cat.c -$ gcc -Wall -o delayed_cat delayed_cat.c +$ cc -Wall -o delayed_cat delayed_cat.c & ./delayed_cat > TOTO diff --git a/tools/tesh/bg-set-signal.tesh b/tools/tesh/bg-set-signal.tesh index 3efe2c359d..ff9c3d5401 100644 --- a/tools/tesh/bg-set-signal.tesh +++ b/tools/tesh/bg-set-signal.tesh @@ -13,7 +13,7 @@ $ cd temp_testdir-bg-set-signal < } $ mkfile segfault.c -$ gcc -o segfault segfault.c +$ cc -o segfault segfault.c ! expect signal SIGSEGV & ./segfault $ sleep 1 diff --git a/tools/tesh/catch-return.tesh b/tools/tesh/catch-return.tesh index ea794f1bbb..f9d21a29fc 100644 --- a/tools/tesh/catch-return.tesh +++ b/tools/tesh/catch-return.tesh @@ -12,7 +12,7 @@ $ cd temp_testdir-catch-return < } $ mkfile return1.c -$ gcc -o return1 return1.c +$ cc -o return1 return1.c ! expect return 41 < $ ./return1 diff --git a/tools/tesh/catch-signal.tesh b/tools/tesh/catch-signal.tesh index 5c7b45f05e..64d37e8a20 100644 --- a/tools/tesh/catch-signal.tesh +++ b/tools/tesh/catch-signal.tesh @@ -13,7 +13,7 @@ $ cd temp_testdir-catch-signal < } $ mkfile segfault.c -$ gcc -o segfault segfault.c +$ cc -o segfault segfault.c ! expect return 15 < $ ./segfault diff --git a/tools/tesh/set-return.tesh b/tools/tesh/set-return.tesh index ff0dd17760..679234de34 100644 --- a/tools/tesh/set-return.tesh +++ b/tools/tesh/set-return.tesh @@ -12,7 +12,7 @@ $ cd temp_testdir-set-return < } $ mkfile return1.c -$ gcc -o return1 return1.c +$ cc -o return1 return1.c ! expect return 1 $ ./return1 diff --git a/tools/tesh/set-signal.tesh b/tools/tesh/set-signal.tesh index 43f105e06e..314b7f0fe8 100644 --- a/tools/tesh/set-signal.tesh +++ b/tools/tesh/set-signal.tesh @@ -13,7 +13,7 @@ $ cd temp_testdir-set-signal < } $ mkfile segfault.c -$ gcc -o segfault segfault.c +$ cc -o segfault segfault.c ! expect signal SIGSEGV $ ./segfault $ cd .. diff --git a/tools/tesh/setenv.tesh b/tools/tesh/setenv.tesh index 72d5566d33..632fd8bb44 100644 --- a/tools/tesh/setenv.tesh +++ b/tools/tesh/setenv.tesh @@ -21,7 +21,7 @@ $ cd temp_testdir-setenv < } $ mkfile getenv.c -$ gcc -o getenv getenv.c -g +$ cc -o getenv getenv.c -g ! setenv tesh_test_toto=blah $ ./getenv