bd91b2eef3
This is to improve the readability of ASAN reports. The debug package adds function names and source code references to the backtrace (currently, there are only binary addresses of functions) Another way to address this issue is to build the image with "INSTALL_DEBUG_TOOLS=y". The downside of this approach is that the image size and compilation time are unnecessarily big. Also, the idea is to make the "ENABLE_ASAN" self-sufficient, which would not be the case for this approach. - Why I did it To improve the readability of asan logs. - How I did it Added SYNCD_DBG and SWSS_DBG to corresponding docker images for ASAN_ENABLE=y build - How to verify it Add artificial memory leak Build with ASAN_ENABLE=y Test the image and check the ASAN report Signed-off-by: Yakiv Huryk <yhuryk@nvidia.com>
43 lines
1.4 KiB
Makefile
43 lines
1.4 KiB
Makefile
#
|
|
# Copyright (c) 2016-2021 NVIDIA CORPORATION & AFFILIATES.
|
|
# Apache-2.0
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
# docker image for mlnx syncd
|
|
|
|
DOCKER_SYNCD_PLATFORM_CODE = mlnx
|
|
include $(PLATFORM_PATH)/../template/docker-syncd-bullseye.mk
|
|
|
|
$(DOCKER_SYNCD_BASE)_DEPENDS += $(SYNCD) $(PYTHON_SDK_API) $(MFT)
|
|
|
|
ifeq ($(ENABLE_ASAN), y)
|
|
$(DOCKER_SYNCD_BASE)_DEPENDS += $(SYNCD_DBG)
|
|
endif
|
|
|
|
$(DOCKER_SYNCD_BASE)_FILES += $(ISSU_VERSION_FILE)
|
|
|
|
$(DOCKER_SYNCD_BASE)_DBG_DEPENDS += $(SYNCD_DBG) \
|
|
$(LIBSWSSCOMMON_DBG) \
|
|
$(LIBSAIMETADATA_DBG) \
|
|
$(LIBSAIREDIS_DBG)
|
|
|
|
ifeq ($(SDK_FROM_SRC), y)
|
|
$(DOCKER_SYNCD_BASE)_DBG_DEPENDS += $(MLNX_SDK_DBG_DEBS) $(MLNX_SAI_DBGSYM)
|
|
endif
|
|
|
|
$(DOCKER_SYNCD_BASE)_VERSION = 1.0.0
|
|
$(DOCKER_SYNCD_BASE)_PACKAGE_NAME = syncd
|
|
|
|
$(DOCKER_SYNCD_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot
|