Skip to content

Commit 4a2de2d

Browse files
authored
Build changes (deeplearning4j#10176)
Update cpp standard to 17 Add more new flags for functrace for easier debugging
1 parent 66c312b commit 4a2de2d

File tree

3 files changed

+8
-7
lines changed

3 files changed

+8
-7
lines changed

libnd4j/blas/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_SYSTEM_NAME MATCHES "A
200200
endif()
201201

202202
# Set C++ compiler and flags
203-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstack-protector -fstack-protector-all -g -lpthread -pthread -MT -Bsymbolic -lbfd -rdynamic -lunwind -ldw -ldl -fno-omit-frame-pointer -fno-optimize-sibling-calls -rdynamic -finstrument-functions -g -O0 -fPIC")
203+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstack-protector -fstack-protector-all -Wall -Wextra -Werror -Wno-error=int-in-bool-context -Wno-unused-variable -Wno-error=implicit-fallthrough -Wno-return-type -Wno-unused-parameter -Wno-error=unknown-pragmas -ggdb3 -lpthread -pthread -MT -Bsymbolic -lbfd -rdynamic -lunwind -ldw -ldl -fno-omit-frame-pointer -fno-optimize-sibling-calls -rdynamic -finstrument-functions -O0 -fPIC")
204204
add_compile_definitions(SD_GCC_FUNCTRACE)
205205
endif()
206206
endif()
@@ -262,7 +262,7 @@ if(SD_CUDA)
262262

263263
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
264264
if(SD_GCC_FUNCTRACE STREQUAL "ON")
265-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fPIC -DSD_GCC_FUNCTRACE=1 -Bsymbolic -lbfd -rdynamic -lunwind -ldw -ldl -fno-omit-frame-pointer -fno-optimize-sibling-calls -finstrument-functions -g -O0")
265+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wno-unused-variable -Wno-unused-parameter -Wreturn-type -W -ggdb3 -fPIC -DSD_GCC_FUNCTRACE=1 -Bsymbolic -lbfd -rdynamic -lunwind -ldw -ldl -fno-omit-frame-pointer -fno-optimize-sibling-calls -finstrument-functions -O0")
266266
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Xcompiler=-fPIC --device-debug -lineinfo -G")
267267
add_compile_definitions(SD_GCC_FUNCTRACE)
268268
else()

libnd4j/tests_cpu/layers_tests/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ else()
111111

112112
if("${SD_GCC_FUNCTRACE}" STREQUAL "ON")
113113
# Set C++ compiler and flags
114-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lpthread -pthread -MT -Bsymbolic -lbfd -rdynamic -lunwind -ldw -ldl -fno-omit-frame-pointer -fno-optimize-sibling-calls -rdynamic -finstrument-functions -g -O0")
114+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftemplate-backtrace-limit=0 -lpthread -pthread -MT -Bsymbolic -lbfd -rdynamic -lunwind -ldw -ldl -fno-omit-frame-pointer -fno-optimize-sibling-calls -rdynamic -finstrument-functions -g -O0")
115115
add_compile_definitions(SD_GCC_FUNCTRACE)
116116
endif()
117117
if (SD_SANITIZE)

nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/pom.xml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
<javacpp.build.output.path>${project.build.directory}/classes/org/nd4j/linalg/cpu/nativecpu/bindings/${javacpp.platform}${javacpp.platform.extension}</javacpp.build.output.path>
4141
<!-- Java 9 module name does not allow native-->
4242
<module.name>nd4j.cpu</module.name>
43-
<javacpp.compiler.options>-Wl,--no-undefined</javacpp.compiler.options>
43+
<javacpp.compiler.options>-std=c++17 -Wl,--no-undefined</javacpp.compiler.options>
4444

4545
</properties>
4646

@@ -368,7 +368,9 @@
368368
<linkResource>/org/bytedeco/openblas/${javacpp.platform}/lib/</linkResource>
369369
</linkResources>
370370
<compilerOptions>
371-
<compilerOption>${javacpp.compiler.options}</compilerOption>
371+
<compilerOption>-std=c++17</compilerOption>
372+
<compilerOption>-Wl,--no-undefined</compilerOption>
373+
372374
</compilerOptions>
373375
</configuration>
374376
<executions>
@@ -532,8 +534,7 @@
532534
<linkResource>/org/bytedeco/openblas/${javacpp.platform}/lib/</linkResource>
533535
</linkResources>
534536
<compilerOptions>
535-
<compilerOption>${javacpp.compiler.options}</compilerOption>
536-
<!-- This is the main function. Tells gcc to instrument every function with an enter and exit function.-->
537+
<compilerOption>${javacpp.compiler.options}</compilerOption> <!-- This is the main function. Tells gcc to instrument every function with an enter and exit function.-->
537538
<!-- Adds debug information in to the generated .so file. Needed for symbol decoding. -->
538539
<compilerOption>-rdynamic</compilerOption>
539540
<!-- Need these 2 libraries including bin utils for handling address decoding-->

0 commit comments

Comments
 (0)