Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cleanups in internal_config.h
authorMartin Quinson <martin.quinson@loria.fr>
Sun, 6 Mar 2016 23:00:56 +0000 (00:00 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Sun, 6 Mar 2016 23:00:56 +0000 (00:00 +0100)
CMakeLists.txt
src/simix/RawContext.cpp
src/simix/smx_context.cpp
src/xbt/ex.c
src/xbt/xbt_os_time.c
tools/cmake/src/internal_config.h.in

index 24dee6b..03a797d 100644 (file)
@@ -277,7 +277,6 @@ else()
   set(CMAKE_REQUIRED_DEFINITIONS "-D_GNU_SOURCE")
 endif()
 
-CHECK_INCLUDE_FILES("stdlib.h;stdarg.h;string.h;float.h" STDC_HEADERS)
 CHECK_INCLUDE_FILE("valgrind/valgrind.h" HAVE_VALGRIND_VALGRIND_H)
 CHECK_INCLUDE_FILE("sys/ptrace.h" HAVE_SYS_PTRACE_H)
 CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H)
@@ -911,7 +910,6 @@ message("______________________________________________________________________
 message("CMAKE_HOME_DIRECTORY ........: ${CMAKE_HOME_DIRECTORY}")
 message("")
 message("PTH_STACKGROWTH .............: ${PTH_STACKGROWTH}")
-message("HAVE_VA_COPY ................: ${HAVE_VA_COPY}")
 message("")
 message("\#define pth_skaddr_makecontext(skaddr,sksize) (${makecontext_addr})")
 message("\#define pth_sksize_makecontext(skaddr,sksize) (${makecontext_size})")
@@ -922,12 +920,10 @@ message("HAVE_PTHREAD ................: ${HAVE_PTHREAD}")
 message("HAVE_SEM_INIT ...............: ${HAVE_SEM_INIT_LIB}")
 message("HAVE_POSIX_GETTIME ..........: ${HAVE_POSIX_GETTIME}")
 message("")
-message("STDC_HEADERS ................: ${STDC_HEADERS}")
 message("HAVE_VALGRIND_VALGRIND_H ....: ${HAVE_VALGRIND_VALGRIND_H}")
 message("HAVE_UNISTD_H ...............: ${HAVE_UNISTD_H}")
 message("HAVE_EXECINFO_H .............: ${HAVE_EXECINFO_H}")
 message("HAVE_SIGNAL_H ...............: ${HAVE_SIGNAL_H}")
-message("HAVE_DLFCN_H ................: ${HAVE_DLFCN_H}")
 
 message("")
 message("HAVE_GETTIMEOFDAY ...........: ${HAVE_GETTIMEOFDAY}")
index e494570..6c86829 100644 (file)
@@ -124,7 +124,7 @@ extern "C" void raw_swapcontext(raw_stack_t* old, raw_stack_t new_context);
 
 #if PROCESSOR_x86_64
 __asm__ (
-#if defined(APPLE)
+#if defined(__APPLE__)
    ".text\n"
    ".globl _raw_makecontext\n"
    "_raw_makecontext:\n"
@@ -160,7 +160,7 @@ __asm__ (
 );
 
 __asm__ (
-#if defined(APPLE)
+#if defined(__APPLE__)
    ".text\n"
    ".globl _raw_swapcontext\n"
    "_raw_swapcontext:\n"
@@ -204,7 +204,7 @@ __asm__ (
 );
 #elif PROCESSOR_i686
 __asm__ (
-#if defined(APPLE) || defined(_WIN32)
+#if defined(__APPLE__) || defined(_WIN32)
    ".text\n"
    ".globl _raw_makecontext\n"
    "_raw_makecontext:\n"
@@ -231,7 +231,7 @@ __asm__ (
 );
 
 __asm__ (
-#if defined(APPLE) || defined(_WIN32)
+#if defined(__APPLE__) || defined(_WIN32)
    ".text\n"
    ".globl _raw_swapcontext\n"
    "_raw_swapcontext:\n"
index 75ddf21..a75367f 100644 (file)
@@ -33,8 +33,7 @@
 # include <valgrind/valgrind.h>
 #endif
 
-XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_context, simix,
-                                "Context switching mechanism");
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_context, simix, "Context switching mechanism");
 
 char* smx_context_factory_name = NULL; /* factory name specified by --cfg=contexts/factory:value */
 int smx_context_stack_size;
@@ -101,7 +100,7 @@ void SIMIX_context_mod_init(void)
 #else
         XBT_ERROR("  (boost was disabled at compilation time on this machine -- check configure logs for details. Did you install the libboost-context-dev package?)");
 #endif
-        XBT_ERROR("  thread: slow portability layer using system threads (pthreads on UNIX, CreateThread() on windows)");
+        XBT_ERROR("  thread: slow portability layer using pthreads as provided by gcc");
         xbt_die("Please use a valid factory.");
       }
     }
@@ -163,10 +162,8 @@ void *SIMIX_context_stack_new(void)
   }
 
 #ifdef HAVE_VALGRIND_VALGRIND_H
-  unsigned int valgrind_stack_id =
-    VALGRIND_STACK_REGISTER(stack, (char *)stack + smx_context_stack_size);
-  memcpy((char *)stack + smx_context_usable_stack_size, &valgrind_stack_id,
-         sizeof valgrind_stack_id);
+  unsigned int valgrind_stack_id = VALGRIND_STACK_REGISTER(stack, (char *)stack + smx_context_stack_size);
+  memcpy((char *)stack + smx_context_usable_stack_size, &valgrind_stack_id, sizeof valgrind_stack_id);
 #endif
 
   return stack;
@@ -179,16 +176,14 @@ void SIMIX_context_stack_delete(void *stack)
 
 #ifdef HAVE_VALGRIND_VALGRIND_H
   unsigned int valgrind_stack_id;
-  memcpy(&valgrind_stack_id, (char *)stack + smx_context_usable_stack_size,
-         sizeof valgrind_stack_id);
+  memcpy(&valgrind_stack_id, (char *)stack + smx_context_usable_stack_size, sizeof valgrind_stack_id);
   VALGRIND_STACK_DEREGISTER(valgrind_stack_id);
 #endif
 
 #ifndef _WIN32
   if (smx_context_guard_size > 0 && !MC_is_active()) {
     stack = (char *)stack - smx_context_guard_size;
-    if (mprotect(stack, smx_context_guard_size,
-                 PROT_READ | PROT_WRITE) == -1) {
+    if (mprotect(stack, smx_context_guard_size, PROT_READ | PROT_WRITE) == -1) {
       XBT_WARN("Failed to remove page protection: %s", strerror(errno));
       /* try to pursue anyway */
     }
@@ -197,16 +192,12 @@ void SIMIX_context_stack_delete(void *stack)
     stack = *((void **)stack - 1);
 #endif
   }
-#endif
+#endif /* not windows */
 
   xbt_free(stack);
 }
 
-/**
- * \brief Returns whether some parallel threads are used
- * for the user contexts.
- * \return 1 if parallelism is used
- */
+/** @brief Returns whether some parallel threads are used for the user contexts. */
 int SIMIX_context_is_parallel(void) {
   return smx_parallel_contexts > 1;
 }
index 7a04ac6..97a9c33 100644 (file)
@@ -99,11 +99,8 @@ void xbt_backtrace_display(xbt_ex_t * e)
   if (e->used == 0) {
     fprintf(stderr, "(backtrace not set)\n");
   } else {
-    int i;
-
-    fprintf(stderr, "Backtrace (displayed in process %s):\n",
-        SIMIX_process_self_get_name());
-    for (i = 1; i < e->used; i++)       /* no need to display "xbt_backtrace_display" */
+    fprintf(stderr, "Backtrace (displayed in process %s):\n", SIMIX_process_self_get_name());
+    for (int i = 1; i < e->used; i++)       /* no need to display "xbt_backtrace_display" */
       fprintf(stderr, "---> %s\n", e->bt_strings[i] + 4);
   }
 
@@ -111,7 +108,6 @@ void xbt_backtrace_display(xbt_ex_t * e)
   e->msg = NULL;
   xbt_ex_free(*e);
 #else
-
   XBT_ERROR("No backtrace on this arch");
 #endif
 }
@@ -192,13 +188,9 @@ void xbt_ex_display(xbt_ex_t * e)
 
   } else
 #endif
-  {
-    fprintf(stderr,
-            "\n"
-            "**   In %s() at %s:%d\n"
-            "**   (no backtrace available)\n",
-            e->func, e->file, e->line);
-  }
+    fprintf(stderr, "\n"
+        "**   In %s() at %s:%d\n"
+        "**   (no backtrace available)\n", e->func, e->file, e->line);
 }
 
 
@@ -216,16 +208,13 @@ XBT_EXPORT_NO_IMPORT(ex_term_cb_t) __xbt_ex_terminate = &__xbt_ex_terminate_defa
 
 void xbt_ex_free(xbt_ex_t e)
 {
-  int i;
-
   free(e.msg);
 
   if (e.bt_strings) {
-    for (i = 0; i < e.used; i++)
+    for (int i = 0; i < e.used; i++)
       free(e.bt_strings[i]);
     free(e.bt_strings);
   }
-  /* memset(e,0,sizeof(xbt_ex_t)); */
 }
 
 /** \brief returns a short name for the given exception category */
index 4c6d37a..836bd17 100644 (file)
@@ -304,7 +304,7 @@ void xbt_os_threadtimer_start(xbt_os_timer_t timer)
   timer->elapse.tv_sec = 0;
   timer->elapse.tv_nsec = 0;
   clock_gettime(CLOCK_THREAD_CPUTIME_ID, &(timer->start));
-#elif defined(HAVE_GETTIMEOFDAY) && defined(__MACH__) && defined(__APPLE__)//attempt for timing of the thread on OSX
+#elif defined(HAVE_GETTIMEOFDAY) && defined(__MACH__) && defined(__APPLE__)
   timer->elapse.tv_sec = 0;
   timer->elapse.tv_usec = 0;
   mach_msg_type_number_t count = THREAD_BASIC_INFO_COUNT;
index 3d3f0f1..4bd72e6 100644 (file)
 /* Warning: The file internal_config.h is AUTOMATICALLY GENERATED by Cmake. 
  * Edit the template instead: tools/cmake/src/internal_config.h.in          */
 
-/* Copyright (c) 2004-2016. The SimGrid Team.
- * All rights reserved.                                                     */
+/* Copyright (c) 2004-2016. The SimGrid Team. All rights reserved.          */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-/* If __thread is available */
-#cmakedefine HAVE_THREAD_LOCAL_STORAGE @HAVE_THREAD_LOCAL_STORAGE@
-
-#ifndef __STRICT_ANSI__
-       #cmakedefine __STRICT_ANSI__ @__STRICT_ANSI__@
-#endif
-#ifndef _MSC_VER
-       #cmakedefine _MSC_VER @_MSC_VER@
-#endif
-#ifndef _M_IX86
-       #cmakedefine _M_IX86 @_M_IX86@
-#endif
-#cmakedefine APPLE @APPLE@
-/* Set to true if enable_model-checking is true */
-#cmakedefine MMALLOC_WANT_OVERRIDE_LEGACY @MMALLOC_WANT_OVERRIDE_LEGACY@
-#cmakedefine HAVE_MC @HAVE_MC@
-
-/* If have linux_futex.h */
-#cmakedefine HAVE_FUTEX_H @HAVE_FUTEX_H@
-
-/* Some variable for graphviz */
-#cmakedefine HAVE_GRAPHVIZ @HAVE_GRAPHVIZ@
-#cmakedefine HAVE_GRAPH_H @GRAPH_H@
-#cmakedefine HAVE_CGRAPH_H @CGRAPH_H@
-#cmakedefine HAVE_AGRAPH_H @AGRAPH_H@
-
-/* Path to the addr2line tool */
-#cmakedefine ADDR2LINE "@ADDR2LINE@"
-
-/* Define if xbt contexts are based on our threads implementation or not */
-#cmakedefine HAVE_THREAD_CONTEXTS @HAVE_THREAD_CONTEXTS@
-
-/* Define to 1 if you have the <ucontext.h> header file. */
-#cmakedefine HAVE_UCONTEXT_H @HAVE_UCONTEXT_H@
-
-/* Define if xbt contexts are based on ucontext or not */
+/* Non-standard header files */
+#cmakedefine HAVE_EXECINFO_H          @HAVE_EXECINFO_H@           /* <execinfo.h> */
+#cmakedefine HAVE_FUTEX_H             @HAVE_FUTEX_H@              /* <linux/futex.h> */
+#cmakedefine HAVE_SIGNAL_H            @HAVE_SIGNAL_H@             /* <signal.h> */
+#cmakedefine HAVE_SYS_PTRACE_H        @HAVE_SYS_PTRACE_H@         /* <sys/ptrace.h> */
+#cmakedefine HAVE_SYS_TYPES_H         @HAVE_SYS_TYPES_H@          /* <sys/types.h> */
+#cmakedefine HAVE_UNISTD_H            @HAVE_UNISTD_H@             /* <unistd.h>    */
+#cmakedefine HAVE_UCONTEXT_H          @HAVE_UCONTEXT_H@           /* <ucontext.h>  */
+#cmakedefine HAVE_VALGRIND_VALGRIND_H @HAVE_VALGRIND_VALGRIND_H@  /* <valgrind/valgrind.h> */
+
+/* Time portability */
+#cmakedefine HAVE_GETTIMEOFDAY  @HAVE_GETTIMEOFDAY@  /* Function gettimeofday */
+#cmakedefine HAVE_POSIX_GETTIME @HAVE_POSIX_GETTIME@ /* Function clock_gettime */
+#cmakedefine HAVE_NANOSLEEP     @HAVE_NANOSLEEP@     /* Function nanosleep */
+
+/* The usable context factories */
+#cmakedefine HAVE_BOOST_CONTEXTS    @HAVE_BOOST_CONTEXTS@
+#cmakedefine HAVE_RAW_CONTEXTS      @HAVE_RAW_CONTEXTS@
+#cmakedefine HAVE_THREAD_CONTEXTS   @HAVE_THREAD_CONTEXTS@
 #cmakedefine HAVE_UCONTEXT_CONTEXTS @HAVE_UCONTEXT_CONTEXTS@
 
-/* Used to select the flavor of assembly that we need today */
+/* Variables for the thread contexts (and parallel mode of raw contexts) */
+#cmakedefine HAVE_PTHREAD @HAVE_PTHREAD@ /* Define to 1 if threads are usable . */
+#cmakedefine HAVE_PTHREAD_SETAFFINITY @HAVE_PTHREAD_SETAFFINITY@ /* Does not seems defined on Mac nor Windows */
+#cmakedefine HAVE_THREAD_LOCAL_STORAGE @HAVE_THREAD_LOCAL_STORAGE@ /* If __thread is available */
+
+/* Variables for the raw contexts (to select the right assembly code) */
 #cmakedefine PROCESSOR_i686 @PROCESSOR_i686@
 #cmakedefine PROCESSOR_x86_64 @PROCESSOR_x86_64@
 #cmakedefine CMAKE_SYSTEM_PROCESSOR @CMAKE_SYSTEM_PROCESSOR@
-#cmakedefine HAVE_RAW_CONTEXTS @HAVE_RAW_CONTEXTS@
-#cmakedefine HAVE_BOOST_CONTEXTS @HAVE_BOOST_CONTEXTS@
-
-/* Define to 1 if you have the <execinfo.h> header file. */
-#cmakedefine HAVE_EXECINFO_H @HAVE_EXECINFO_H@
-
-/* Define to 1 if mmalloc is compiled in. */
-#cmakedefine HAVE_MMALLOC @HAVE_MMALLOC@
-
-/* Define to 1 if mmap is available */
-#cmakedefine HAVE_MMAP @HAVE_MMAP@
-
-/* Define to 1 if process_vm_readv is available */
-#cmakedefine HAVE_PROCESS_VM_READV @HAVE_PROCESS_VM_READV@
-
-/* Define to 1 if you have the `getdtablesize' function. */
-#cmakedefine HAVE_GETDTABLESIZE @HAVE_GETDTABLESIZE@
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#cmakedefine HAVE_GETTIMEOFDAY @HAVE_GETTIMEOFDAY@
 
-/* Define to 1 if you have the `clock_gettime' function. */
-#cmakedefine HAVE_POSIX_GETTIME @HAVE_POSIX_GETTIME@
-
-/* Indicates that we have SMPI support */
-#cmakedefine HAVE_SMPI @HAVE_SMPI@
-
-/* Indicates that we have SMPI FORTRAN support */
-#cmakedefine SMPI_FORTRAN @SMPI_FORTRAN@
-
-/* We have mmap and objdump to handle privatization */
-#cmakedefine HAVE_PRIVATIZATION @HAVE_PRIVATIZATION@
-
-#cmakedefine HAVE_PTHREAD @HAVE_PTHREAD@ /* Define to 1 if threads are usable . */
-#cmakedefine HAVE_PTHREAD_SETAFFINITY @HAVE_PTHREAD_SETAFFINITY@ /* Seems to be linux only */
-
-/* Define to 1 if you have the `popen' function. */
-#cmakedefine HAVE_POPEN @HAVE_POPEN@
-
-/* Define if sem_init() is avaible or not (part of XPG6 standard only) */
-#cmakedefine HAVE_SEM_INIT @HAVE_SEM_INIT@
-
-/* Define to 1 if you have the <signal.h> header file. */
-#cmakedefine HAVE_SIGNAL_H @HAVE_SIGNAL_H@
-
-/* Define to 1 if you have the `sysconf' function. */
-#cmakedefine HAVE_SYSCONF @HAVE_SYSCONF@
-
-/* Define to 1 if you have the <sys/ptrace.h> header file. */
-#cmakedefine HAVE_SYS_PTRACE_H @HAVE_SYS_PTRACE_H@
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#cmakedefine HAVE_SYS_TYPES_H @HAVE_SYS_TYPES_H@
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#cmakedefine HAVE_UNISTD_H @HAVE_UNISTD_H@
-
-/* Define to 1 if you have the `nanosleep' function. */
-#cmakedefine HAVE_NANOSLEEP @HAVE_NANOSLEEP@
-
-/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
-#cmakedefine HAVE_VALGRIND_VALGRIND_H @HAVE_VALGRIND_VALGRIND_H@
-
-#cmakedefine HAVE_VASPRINTF @HAVE_VASPRINTF@
+/* MC variables */
+#cmakedefine HAVE_GETDTABLESIZE    @HAVE_GETDTABLESIZE@    /* getdtablesize: get descriptor table size */
+#cmakedefine HAVE_MMALLOC          @HAVE_MMALLOC@          /* Did we compile mmalloc in? */
+#cmakedefine HAVE_PROCESS_VM_READV @HAVE_PROCESS_VM_READV@ /* process_vm_readv: transfer data between process address spaces */
+#cmakedefine MMALLOC_WANT_OVERRIDE_LEGACY @MMALLOC_WANT_OVERRIDE_LEGACY@ /* Set to true if enable_model-checking is true */
+#cmakedefine HAVE_MC @HAVE_MC@
 
-/* define for stack growth */
-#cmakedefine PTH_STACKGROWTH @PTH_STACKGROWTH@
+/* SMPI variables */
+#cmakedefine HAVE_SMPI          @HAVE_SMPI@
+#cmakedefine SMPI_FORTRAN       @SMPI_FORTRAN@
+#cmakedefine HAVE_PRIVATIZATION @HAVE_PRIVATIZATION@ /* We have mmap and objdump to handle privatization */
 
-/* Define to 1 if you have the ANSI C header files. */
-#cmakedefine STDC_HEADERS @STDC_HEADERS@
+/* graphviz variables */
+#cmakedefine HAVE_GRAPHVIZ @HAVE_GRAPHVIZ@
+#cmakedefine HAVE_GRAPH_H  @GRAPH_H@
+#cmakedefine HAVE_CGRAPH_H @CGRAPH_H@
+#cmakedefine HAVE_AGRAPH_H @AGRAPH_H@
 
-/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a `char[]'. */
-#cmakedefine YYTEXT_POINTER 
+/* Other function checks */
+#cmakedefine HAVE_MMAP      @HAVE_MMAP@ /* Function mmap */
+#cmakedefine HAVE_SEM_INIT  @HAVE_SEM_INIT@ /* Function sem_init (part of XPG6 standard only) */
+#cmakedefine HAVE_POPEN     @HAVE_POPEN@ /* Function popen */
+#cmakedefine HAVE_SYSCONF   @HAVE_SYSCONF@ /* Function sysconf */
+#cmakedefine HAVE_VASPRINTF @HAVE_VASPRINTF@ /* Function vasprintf */
 
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#cmakedefine size_t @size_t@
+/* Other checks */
+#cmakedefine PTH_STACKGROWTH @PTH_STACKGROWTH@ /* Does the stack growth upward, or downward? */
+#cmakedefine ADDR2LINE "@ADDR2LINE@" /* Path to the addr2line tool */