From 98f3d9159b4ecdc7fea8f9187e50fd644b939204 Mon Sep 17 00:00:00 2001 From: Janusz Lisiecki Date: Mon, 1 Oct 2018 13:07:13 +0200 Subject: [PATCH] Add all non DALI symbols and test if ABI is clean Signed-off-by: Janusz Lisiecki --- cmake/Dependencies.cmake | 9 ++++++++- qa/L0_abi/test.sh | 12 ++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100755 qa/L0_abi/test.sh diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake index 573c8af9604..45d719bb29c 100644 --- a/cmake/Dependencies.cmake +++ b/cmake/Dependencies.cmake @@ -106,7 +106,9 @@ endif() message(STATUS "Found OpenCV: ${OpenCV_INCLUDE_DIRS} (found suitable version \"${OpenCV_VERSION}\", minimum required is \"2.0\")") include_directories(SYSTEM ${OpenCV_INCLUDE_DIRS}) list(APPEND DALI_LIBS ${OpenCV_LIBRARIES}) -list(APPEND DALI_EXCLUDES libopencv_core.a;libopencv_imgproc.a;libopencv_highgui.a;libopencv_imgcodecs.a) +list(APPEND DALI_EXCLUDES libopencv_core.a;libopencv_imgproc.a;libopencv_highgui.a;libopencv_imgcodecs.a; + liblibwebp.a;libittnotify.a;liblibpng.a;liblibtiff.a;liblibjasper.a;libIlmImf.a; + liblibjpeg-turbo.a) ################################################################## # PyBind @@ -141,3 +143,8 @@ include_directories(SYSTEM ${PROTOBUF_INCLUDE_DIRS}) list(APPEND DALI_LIBS ${PROTOBUF_LIBRARY}) # hide things from the protobuf, all we export is only is API generated from our proto files list(APPEND DALI_EXCLUDES libprotobuf.a) + +################################################################## +# Exclude stdlib +################################################################## +list(APPEND DALI_EXCLUDES libsupc++.a;libstdc++.a;libstdc++_nonshared.a;) diff --git a/qa/L0_abi/test.sh b/qa/L0_abi/test.sh new file mode 100755 index 00000000000..7e1b2b791f9 --- /dev/null +++ b/qa/L0_abi/test.sh @@ -0,0 +1,12 @@ +#!/bin/bash -e + +pushd ../.. + +# Run linter +cd build-docker-release +# Check if we export only dali::, _fini and _init symbols from libdali.so +nm -gC --defined-only ./lib/libdali.so | grep -v "dali::" | grep -i " t " | grep -vx ".*T dali.*" | grep -vx ".*T _fini" | grep -vxq ".*T _init" && exit 1 +nm -gC --defined-only ./dali/python/nvidia/dali/plugin/libdali_tf.so | grep -v "dali::" | grep -i " t " | grep -vx ".*T dali.*" | grep -vx ".*T _fini" | grep -vxq ".*T _init" && exit 1 +echo "Done" + +popd