Skip to content

Commit

Permalink
Reimplemented stackTrace, added line info output.
Browse files Browse the repository at this point in the history
  • Loading branch information
corbett5 committed Aug 12, 2020
1 parent de32884 commit ae95dc9
Show file tree
Hide file tree
Showing 12 changed files with 381 additions and 63 deletions.
4 changes: 3 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ if( NOT is_submodule )
option( ENABLE_OPENMP "Build with OpenMP" ON )
option( ENABLE_CALIPER "Build with Caliper" ON )

option( ENABLE_ADDR2LINE "Enable addr2line usage in stacktraces" ON )

include( cmake/blt/SetupBLT.cmake )
include( cmake/CMakeBasics.cmake )
include( cmake/SetupTPL.cmake )
Expand All @@ -34,7 +36,7 @@ endif()
include(cmake/Macros.cmake)
include(cmake/Config.cmake)

set( lvarray_dependencies "" )
set( lvarray_dependencies dl )

if( ENABLE_CHAI )
set( lvarray_dependencies ${lvarray_dependencies} chai umpire )
Expand Down
18 changes: 15 additions & 3 deletions cmake/Config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,27 @@ foreach( DEP in ${PREPROCESSOR_DEFINES})
endif()
endforeach()

if( USE_ADDR2LINE )
if ( NOT DEFINED ADDR2LINE_EXEC )
set( ADDR2LINE_EXEC /usr/bin/addr2line CACHE PATH "" )
endif()

if ( NOT EXISTS ${ADDR2LINE_EXEC} )
message( FATAL_ERROR "The addr2line executable does not exist: ${ADDR2LINE_EXEC}" )
endif()

set( LVARRAY_ADDR2LINE_EXEC ${ADDR2LINE_EXEC} )
endif()

configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/src/LvArrayConfig.hpp.in
${CMAKE_BINARY_DIR}/include/LvArrayConfig.hpp )

function( make_full_config_file
PREPROCESSOR_VARS )
foreach( DEP in ${PREPROCESSOR_VARS})
set(USE_${DEP} TRUE )
set(GEOSX_USE_${DEP} TRUE )
set(${DEP} TRUE )
set(USE_${DEP} TRUE )
set(GEOSX_USE_${DEP} TRUE )
set(${DEP} TRUE )
endforeach()

configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/src/LvArrayConfig.hpp.in
Expand Down
2 changes: 2 additions & 0 deletions docs/doxygen/LvArrayConfig.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,5 @@
#ifndef USE_CALIPER
#define USE_CALIPER
#endif

#define LVARRAY_ADDR2LINE_EXEC "/usr/bin/addr2line"
1 change: 1 addition & 0 deletions host-configs/LLNL/[email protected]
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ set(GEOSX_TPL_DIR ${GEOSX_TPL_ROOT_DIR}/2020-07-08/install-${CONFIG_NAME}-releas

set(ENABLE_UMPIRE ON CACHE BOOL "")
set(ENABLE_CHAI ON CACHE BOOL "")
set(USE_ADDR2LINE ON CACHE BOOL "")

# C options
set(CMAKE_C_COMPILER /usr/tce/packages/clang/clang-upstream-2019.03.26/bin/clang CACHE PATH "")
Expand Down
1 change: 1 addition & 0 deletions host-configs/LLNL/[email protected]
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ set(GEOSX_TPL_DIR ${GEOSX_TPL_ROOT_DIR}/2020-07-08/install-${CONFIG_NAME}-releas

set(ENABLE_UMPIRE ON CACHE BOOL "")
set(ENABLE_CHAI ON CACHE BOOL "")
set(USE_ADDR2LINE ON CACHE BOOL "")

set(CMAKE_C_COMPILER /usr/tce/packages/gcc/gcc-8.3.1/bin/gcc CACHE PATH "")
set(CMAKE_CXX_COMPILER /usr/tce/packages/gcc/gcc-8.3.1/bin/g++ CACHE PATH "")
Expand Down
2 changes: 2 additions & 0 deletions host-configs/LLNL/quartz-base.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ set(ENABLE_CALIPER ON CACHE BOOL "")
set(ENABLE_PAPI ON CACHE BOOL "")
set(PAPI_PREFIX /usr/tce/packages/papi/papi-5.4.3 CACHE PATH "")

set(USE_ADDR2LINE ON CACHE BOOL "")

set(ENABLE_OPENMP ON CACHE BOOL "")
set(CUDA_ENABLED OFF CACHE BOOL "")

Expand Down
2 changes: 2 additions & 0 deletions src/LvArrayConfig.hpp.in
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,5 @@
#ifndef USE_CALIPER
#cmakedefine USE_CALIPER
#endif

#cmakedefine LVARRAY_ADDR2LINE_EXEC "@LVARRAY_ADDR2LINE_EXEC@"
2 changes: 1 addition & 1 deletion src/Macros.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@
__oss << "***** LOCATION: " LOCATION "\n"; \
__oss << "***** Controlling expression (should be false): " STRINGIZE( EXP ) "\n"; \
__oss << MSG << "\n"; \
__oss << LvArray::system::stackTrace(); \
__oss << LvArray::system::stackTrace( true ); \
std::cout << __oss.str() << std::endl; \
LvArray::system::abort(); \
} \
Expand Down
Loading

0 comments on commit ae95dc9

Please sign in to comment.