From 6a5b8fa5c6c8111dd523891398dde0230c9101c5 Mon Sep 17 00:00:00 2001 From: Connor Roos Date: Wed, 4 Mar 2026 01:14:14 +0000 Subject: [PATCH 1/7] Set ASAN build to work on top of regular build Signed-off-by: Connor Roos --- platform/mellanox/docker-syncd-mlnx.dep | 2 +- platform/mellanox/docker-syncd-mlnx.mk | 2 +- platform/template/docker-syncd-bookworm.mk | 4 ++++ rules/docker-orchagent.dep | 2 +- rules/docker-orchagent.mk | 6 +++++- rules/swss.dep | 2 +- rules/swss.mk | 10 ++++++++++ rules/syncd.dep | 2 +- rules/syncd.mk | 10 ++++++++++ rules/sysmgr.dep | 2 +- slave.mk | 3 ++- 11 files changed, 37 insertions(+), 8 deletions(-) diff --git a/platform/mellanox/docker-syncd-mlnx.dep b/platform/mellanox/docker-syncd-mlnx.dep index 20b1ca143cd..33c93e7b247 100644 --- a/platform/mellanox/docker-syncd-mlnx.dep +++ b/platform/mellanox/docker-syncd-mlnx.dep @@ -6,7 +6,7 @@ DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST) DEP_FILES += $(shell git ls-files -- $(DPATH)) $(DOCKER_SYNCD_BASE)_CACHE_MODE := GIT_CONTENT_SHA -$(DOCKER_SYNCD_BASE)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST) $(ENABLE_ASAN) $(MLNX_SDK_VERSION) $(MLNX_SAI_VERSION) +$(DOCKER_SYNCD_BASE)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST) $(MLNX_SDK_VERSION) $(MLNX_SAI_VERSION) $(DOCKER_SYNCD_BASE)_DEP_FILES := $(DEP_FILES) $(eval $(call add_dbg_docker,$(DOCKER_SYNCD_BASE),$(DOCKER_SYNCD_BASE_DBG))) diff --git a/platform/mellanox/docker-syncd-mlnx.mk b/platform/mellanox/docker-syncd-mlnx.mk index 3d784823d6b..3138bef5013 100644 --- a/platform/mellanox/docker-syncd-mlnx.mk +++ b/platform/mellanox/docker-syncd-mlnx.mk @@ -23,7 +23,7 @@ include $(PLATFORM_PATH)/../template/docker-syncd-bookworm.mk $(DOCKER_SYNCD_BASE)_DEPENDS += $(SYNCD) $(PYTHON_SDK_API) $(MFT) $(MFT_FWTRACE_CFG) $(IPROUTE2_MLNX) ifeq ($(ENABLE_ASAN), y) -$(DOCKER_SYNCD_BASE)_DEPENDS += $(SYNCD_DBG) +$(DOCKER_SYNCD_BASE)_DEPENDS += $(SYNCD_DBG) $(LIBSWSSCOMMON_DBG) $(LIBSAIMETADATA_DBG) $(LIBSAIREDIS_DBG) endif $(DOCKER_SYNCD_BASE)_FILES += $(RDB-CLI) $(ISSU_VERSION_FILE) diff --git a/platform/template/docker-syncd-bookworm.mk b/platform/template/docker-syncd-bookworm.mk index 3649516d463..342661b5163 100644 --- a/platform/template/docker-syncd-bookworm.mk +++ b/platform/template/docker-syncd-bookworm.mk @@ -2,7 +2,11 @@ DOCKER_SYNCD_BASE_STEM = docker-syncd-$(DOCKER_SYNCD_PLATFORM_CODE) +ifeq ($(ENABLE_ASAN), y) +DOCKER_SYNCD_BASE = $(DOCKER_SYNCD_BASE_STEM)-asan.gz +else DOCKER_SYNCD_BASE = $(DOCKER_SYNCD_BASE_STEM).gz +endif DOCKER_SYNCD_BASE_DBG = $(DOCKER_SYNCD_BASE_STEM)-$(DBG_IMAGE_MARK).gz $(DOCKER_SYNCD_BASE)_PATH = $(PLATFORM_PATH)/docker-syncd-$(DOCKER_SYNCD_PLATFORM_CODE) diff --git a/rules/docker-orchagent.dep b/rules/docker-orchagent.dep index a5fc67a65aa..7aff4d0d9f2 100644 --- a/rules/docker-orchagent.dep +++ b/rules/docker-orchagent.dep @@ -5,7 +5,7 @@ DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST) DEP_FILES += $(shell git ls-files $(DPATH)) $(DOCKER_ORCHAGENT)_CACHE_MODE := GIT_CONTENT_SHA -$(DOCKER_ORCHAGENT)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST) $(ENABLE_ASAN) +$(DOCKER_ORCHAGENT)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST) $(DOCKER_ORCHAGENT)_DEP_FILES := $(DEP_FILES) $(eval $(call add_dbg_docker,$(DOCKER_ORCHAGENT),$(DOCKER_ORCHAGENT_DBG))) diff --git a/rules/docker-orchagent.mk b/rules/docker-orchagent.mk index 3c0aa8fbad2..29d20bade5e 100644 --- a/rules/docker-orchagent.mk +++ b/rules/docker-orchagent.mk @@ -1,13 +1,17 @@ # docker image for orchagent DOCKER_ORCHAGENT_STEM = docker-orchagent +ifeq ($(ENABLE_ASAN), y) +DOCKER_ORCHAGENT = $(DOCKER_ORCHAGENT_STEM)-asan.gz +else DOCKER_ORCHAGENT = $(DOCKER_ORCHAGENT_STEM).gz +endif DOCKER_ORCHAGENT_DBG = $(DOCKER_ORCHAGENT_STEM)-$(DBG_IMAGE_MARK).gz $(DOCKER_ORCHAGENT)_DEPENDS += $(SWSS) $(LIB_SONIC_DASH_API) ifeq ($(ENABLE_ASAN), y) -$(DOCKER_ORCHAGENT)_DEPENDS += $(SWSS_DBG) +$(DOCKER_ORCHAGENT)_DEPENDS += $(SWSS_DBG) $(LIBSWSSCOMMON_DBG) $(LIBSAIREDIS_DBG) endif $(DOCKER_ORCHAGENT)_DBG_DEPENDS = $($(DOCKER_SWSS_LAYER_BOOKWORM)_DBG_DEPENDS) diff --git a/rules/swss.dep b/rules/swss.dep index 784d2ddd951..e57a9e7a631 100644 --- a/rules/swss.dep +++ b/rules/swss.dep @@ -5,7 +5,7 @@ DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST) SMDEP_FILES := $(addprefix $(SPATH)/,$(shell cd $(SPATH) && git ls-files)) $(SWSS)_CACHE_MODE := GIT_CONTENT_SHA -$(SWSS)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST) $(ENABLE_ASAN) +$(SWSS)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST) $(SWSS)_DEP_FILES := $(DEP_FILES) $(SWSS)_SMDEP_FILES := $(SMDEP_FILES) $(SWSS)_SMDEP_PATHS := $(SPATH) diff --git a/rules/swss.mk b/rules/swss.mk index b68804887c1..600c3309240 100644 --- a/rules/swss.mk +++ b/rules/swss.mk @@ -1,6 +1,11 @@ # swss package +ifeq ($(ENABLE_ASAN), y) +SWSS = swss-asan_1.0.0_$(CONFIGURED_ARCH).deb +$(SWSS)_DPKG_DEB_NAME = swss_1.0.0_$(CONFIGURED_ARCH).deb +else SWSS = swss_1.0.0_$(CONFIGURED_ARCH).deb +endif $(SWSS)_SRC_PATH = $(SRC_PATH)/sonic-swss $(SWSS)_DEPENDS += $(LIBSAIREDIS_DEV) $(LIBSAIMETADATA_DEV) $(LIBTEAM_DEV) \ $(LIBTEAMDCTL) $(LIBTEAM_UTILS) $(LIBSWSSCOMMON_DEV) \ @@ -13,7 +18,12 @@ $(SWSS)_RDEPENDS += $(LIBSAIREDIS) $(LIBSAIMETADATA) $(LIBTEAM) \ $(PROTOBUF) $(PROTOBUF_LITE) $(PYTHON3_PROTOBUF) $(LIB_SONIC_DASH_API) SONIC_DPKG_DEBS += $(SWSS) +ifeq ($(ENABLE_ASAN), y) +SWSS_DBG = swss-dbg-asan_1.0.0_$(CONFIGURED_ARCH).deb +$(SWSS_DBG)_DPKG_DEB_NAME = swss-dbg_1.0.0_$(CONFIGURED_ARCH).deb +else SWSS_DBG = swss-dbg_1.0.0_$(CONFIGURED_ARCH).deb +endif $(SWSS_DBG)_DEPENDS += $(SWSS) $(SWSS_DBG)_RDEPENDS += $(SWSS) $(eval $(call add_derived_package,$(SWSS),$(SWSS_DBG))) diff --git a/rules/syncd.dep b/rules/syncd.dep index a9a72d4f2a8..53c0d6aa792 100644 --- a/rules/syncd.dep +++ b/rules/syncd.dep @@ -12,7 +12,7 @@ $(foreach path, $(SMDEP_PATHS), $(eval $(path) :=$(filter-out $(SMDEP_PATHS),$(a $(SYNCD)_CACHE_MODE := GIT_CONTENT_SHA -$(SYNCD)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST) $(ENABLE_ASAN) +$(SYNCD)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST) $(SYNCD)_DEP_FILES := $(DEP_FILES) $(SYNCD)_SMDEP_FILES := $(foreach path, $(SMDEP_PATHS), $($(path))) $(SYNCD)_SMDEP_PATHS := $(SMDEP_PATHS) diff --git a/rules/syncd.mk b/rules/syncd.mk index cbed33fbf50..0c1414263f0 100644 --- a/rules/syncd.mk +++ b/rules/syncd.mk @@ -2,7 +2,12 @@ ifneq ($(CONFIGURED_PLATFORM),vs) +ifeq ($(ENABLE_ASAN), y) +SYNCD = syncd-asan_1.0.0_$(CONFIGURED_ARCH).deb +$(SYNCD)_DPKG_DEB_NAME = syncd_1.0.0_$(CONFIGURED_ARCH).deb +else SYNCD = syncd_1.0.0_$(CONFIGURED_ARCH).deb +endif $(SYNCD)_RDEPENDS += $(LIBSAIREDIS) $(LIBSAIMETADATA) $(SYNCD)_DEB_BUILD_PROFILES += syncd $(SYNCD)_SRC_PATH = $(SRC_PATH)/sonic-sairedis @@ -21,7 +26,12 @@ $(SYNCD)_DEPENDS += $(LIBSWSSCOMMON_DEV) $(LIBTHRIFT_DEV) $(SYNCD)_DEB_BUILD_PROFILES += rpc endif +ifeq ($(ENABLE_ASAN), y) +SYNCD_DBG = syncd-dbgsym-asan_1.0.0_$(CONFIGURED_ARCH).deb +$(SYNCD_DBG)_DPKG_DEB_NAME = syncd-dbgsym_1.0.0_$(CONFIGURED_ARCH).deb +else SYNCD_DBG = syncd-dbgsym_1.0.0_$(CONFIGURED_ARCH).deb +endif $(SYNCD_DBG)_DEPENDS += $(SYNCD) $(SYNCD_DBG)_RDEPENDS += $(SYNCD) $(eval $(call add_derived_package,$(SYNCD),$(SYNCD_DBG))) diff --git a/rules/sysmgr.dep b/rules/sysmgr.dep index e6756daec01..41097fbc643 100644 --- a/rules/sysmgr.dep +++ b/rules/sysmgr.dep @@ -7,7 +7,7 @@ $(foreach path, $(SMDEP_PATHS), $(eval $(path) :=$(filter-out $(SMDEP_PATHS),$(a $(shell cd $(path) && git ls-files | grep -v " "))))) $(SYSMGR)_CACHE_MODE := GIT_CONTENT_SHA -$(SYSMGR)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST) $(ENABLE_ASAN) +$(SYSMGR)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST) $(SYSMGR)_DEP_FILES := $(DEP_FILES) $(SYSMGR)_SMDEP_FILES := $(foreach path, $(SMDEP_PATHS), $($(path))) $(SYSMGR)_SMDEP_PATHS := $(SPATH) diff --git a/slave.mk b/slave.mk index 0bc7ee30ee9..e805c7612b5 100644 --- a/slave.mk +++ b/slave.mk @@ -860,7 +860,7 @@ $(addprefix $(DEBS_PATH)/, $(SONIC_DPKG_DEBS)) : $(DEBS_PATH)/% : .platform $$(a # Clean up if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && quilt pop -a -f; [ -d .pc ] && rm -rf .pc; popd; fi # Take built package(s) - mv -f $(addprefix $($*_SRC_PATH)/../, $* $($*_DERIVED_DEBS) $($*_EXTRA_DEBS)) $(DEBS_PATH) $(LOG) + $(foreach deb,$* $($*_DERIVED_DEBS) $($*_EXTRA_DEBS),mv -f $($*_SRC_PATH)/../$(or $($(deb)_DPKG_DEB_NAME),$(deb)) $(DEBS_PATH)/$(deb) $(LOG) ;) # Save the target deb into DPKG cache $(call SAVE_CACHE,$*,$@) @@ -1228,6 +1228,7 @@ $(addprefix $(TARGET_PATH)/, $(DOCKER_IMAGES)) : $(TARGET_PATH)/%.gz : .platform # Export variables for j2. Use path for unique variable names, e.g. docker_orchagent_debs export include_system_eventd="$(INCLUDE_SYSTEM_EVENTD)" export build_reduce_image_size="$(BUILD_REDUCE_IMAGE_SIZE)" + export ENABLE_ASAN="$(ENABLE_ASAN)" export sonic_asic_platform="$(patsubst %-$(CONFIGURED_ARCH),%,$(CONFIGURED_PLATFORM))" $(eval export $(subst -,_,$(notdir $($*.gz_PATH)))_debs=$(shell printf "$(subst $(SPACE),\n,$(call expand,$($*.gz_DEPENDS),RDEPENDS))\n" | awk '!a[$$0]++')) $(eval export $(subst -,_,$(notdir $($*.gz_PATH)))_pydebs=$(shell printf "$(subst $(SPACE),\n,$(call expand,$($*.gz_PYTHON_DEBS)))\n" | awk '!a[$$0]++')) From 35db3ab73d747a36fe3510eba878d6fb19cc4fef Mon Sep 17 00:00:00 2001 From: Connor Roos Date: Fri, 6 Mar 2026 17:34:08 +0000 Subject: [PATCH 2/7] Address comments Signed-off-by: Connor Roos --- dockers/docker-orchagent/Dockerfile.j2 | 2 +- dockers/docker-orchagent/docker-init.j2 | 5 +++-- platform/template/docker-syncd-bookworm.mk | 2 +- rules/docker-orchagent.mk | 2 +- rules/swss.mk | 5 +++-- rules/syncd.mk | 7 ++++--- slave.mk | 2 +- 7 files changed, 14 insertions(+), 11 deletions(-) diff --git a/dockers/docker-orchagent/Dockerfile.j2 b/dockers/docker-orchagent/Dockerfile.j2 index f9fc4adc91c..5204562f96b 100755 --- a/dockers/docker-orchagent/Dockerfile.j2 +++ b/dockers/docker-orchagent/Dockerfile.j2 @@ -65,7 +65,7 @@ COPY ["orchagent.sh", "swssconfig.sh", "buffermgrd.sh", "/usr/bin/"] # Copy all Jinja2 template files into the templates folder COPY ["*.j2", "/usr/share/sonic/templates/"] -RUN sonic-cfggen -a "{\"ENABLE_ASAN\":\"{{ENABLE_ASAN}}\"}" -t /usr/share/sonic/templates/docker-init.j2 > /usr/bin/docker-init.sh +RUN sonic-cfggen -a "{\"ENABLE_ASAN\":\"{{enable_asan}}\"}" -t /usr/share/sonic/templates/docker-init.j2 > /usr/bin/docker-init.sh RUN rm -f /usr/share/sonic/templates/docker-init.j2 RUN chmod 755 /usr/bin/docker-init.sh diff --git a/dockers/docker-orchagent/docker-init.j2 b/dockers/docker-orchagent/docker-init.j2 index 88ebba30ed8..5405c2907aa 100755 --- a/dockers/docker-orchagent/docker-init.j2 +++ b/dockers/docker-orchagent/docker-init.j2 @@ -8,9 +8,10 @@ mkdir -p /dev/shm/supervisor/ CFGGEN_PARAMS=" \ -d \ {% if ENABLE_ASAN == "y" %} - -a "{\"ENABLE_ASAN\":\"{{ENABLE_ASAN}}\"}" \ -{% endif %} + -a "{\"ENABLE_ASAN\":\"{{ENABLE_ASAN}}\",\"ASIC_VENDOR\":\"${ASIC_VENDOR:-unknown}\"}" \ +{% else %} -a "{\"ASIC_VENDOR\":\"${ASIC_VENDOR:-unknown}\"}" \ +{% endif %} -y /etc/sonic/constants.yml \ -t /usr/share/sonic/templates/orch_zmq_tables.conf.j2,/etc/swss/orch_zmq_tables.conf \ -t /usr/share/sonic/templates/switch.json.j2,/etc/swss/config.d/switch.json \ diff --git a/platform/template/docker-syncd-bookworm.mk b/platform/template/docker-syncd-bookworm.mk index 342661b5163..ad1aa7c6111 100644 --- a/platform/template/docker-syncd-bookworm.mk +++ b/platform/template/docker-syncd-bookworm.mk @@ -7,7 +7,7 @@ DOCKER_SYNCD_BASE = $(DOCKER_SYNCD_BASE_STEM)-asan.gz else DOCKER_SYNCD_BASE = $(DOCKER_SYNCD_BASE_STEM).gz endif -DOCKER_SYNCD_BASE_DBG = $(DOCKER_SYNCD_BASE_STEM)-$(DBG_IMAGE_MARK).gz +DOCKER_SYNCD_BASE_DBG = $(basename $(DOCKER_SYNCD_BASE))-$(DBG_IMAGE_MARK).gz $(DOCKER_SYNCD_BASE)_PATH = $(PLATFORM_PATH)/docker-syncd-$(DOCKER_SYNCD_PLATFORM_CODE) diff --git a/rules/docker-orchagent.mk b/rules/docker-orchagent.mk index 29d20bade5e..29cb87df09e 100644 --- a/rules/docker-orchagent.mk +++ b/rules/docker-orchagent.mk @@ -6,7 +6,7 @@ DOCKER_ORCHAGENT = $(DOCKER_ORCHAGENT_STEM)-asan.gz else DOCKER_ORCHAGENT = $(DOCKER_ORCHAGENT_STEM).gz endif -DOCKER_ORCHAGENT_DBG = $(DOCKER_ORCHAGENT_STEM)-$(DBG_IMAGE_MARK).gz +DOCKER_ORCHAGENT_DBG = $(basename $(DOCKER_ORCHAGENT))-$(DBG_IMAGE_MARK).gz $(DOCKER_ORCHAGENT)_DEPENDS += $(SWSS) $(LIB_SONIC_DASH_API) diff --git a/rules/swss.mk b/rules/swss.mk index 600c3309240..e2f5f4c0b69 100644 --- a/rules/swss.mk +++ b/rules/swss.mk @@ -2,7 +2,6 @@ ifeq ($(ENABLE_ASAN), y) SWSS = swss-asan_1.0.0_$(CONFIGURED_ARCH).deb -$(SWSS)_DPKG_DEB_NAME = swss_1.0.0_$(CONFIGURED_ARCH).deb else SWSS = swss_1.0.0_$(CONFIGURED_ARCH).deb endif @@ -12,6 +11,9 @@ $(SWSS)_DEPENDS += $(LIBSAIREDIS_DEV) $(LIBSAIMETADATA_DEV) $(LIBTEAM_DEV) \ $(LIBSAIVS) $(LIBSAIVS_DEV) $(STP)\ $(PROTOBUF) $(PROTOBUF_LITE) $(PROTOBUF_DEV) $(LIB_SONIC_DASH_API) $(SWSS)_UNINSTALLS = $(LIBSAIVS_DEV) +ifeq ($(ENABLE_ASAN), y) +$(SWSS)_DEB_BUILD_PROFILES += asan +endif $(SWSS)_RDEPENDS += $(LIBSAIREDIS) $(LIBSAIMETADATA) $(LIBTEAM) \ $(LIBTEAMDCTL) $(LIBSWSSCOMMON) $(PYTHON3_SWSSCOMMON) \ @@ -20,7 +22,6 @@ SONIC_DPKG_DEBS += $(SWSS) ifeq ($(ENABLE_ASAN), y) SWSS_DBG = swss-dbg-asan_1.0.0_$(CONFIGURED_ARCH).deb -$(SWSS_DBG)_DPKG_DEB_NAME = swss-dbg_1.0.0_$(CONFIGURED_ARCH).deb else SWSS_DBG = swss-dbg_1.0.0_$(CONFIGURED_ARCH).deb endif diff --git a/rules/syncd.mk b/rules/syncd.mk index 0c1414263f0..1a5e85cc1ef 100644 --- a/rules/syncd.mk +++ b/rules/syncd.mk @@ -4,12 +4,14 @@ ifneq ($(CONFIGURED_PLATFORM),vs) ifeq ($(ENABLE_ASAN), y) SYNCD = syncd-asan_1.0.0_$(CONFIGURED_ARCH).deb -$(SYNCD)_DPKG_DEB_NAME = syncd_1.0.0_$(CONFIGURED_ARCH).deb else SYNCD = syncd_1.0.0_$(CONFIGURED_ARCH).deb endif $(SYNCD)_RDEPENDS += $(LIBSAIREDIS) $(LIBSAIMETADATA) $(SYNCD)_DEB_BUILD_PROFILES += syncd +ifeq ($(ENABLE_ASAN), y) +$(SYNCD)_DEB_BUILD_PROFILES += asan +endif $(SYNCD)_SRC_PATH = $(SRC_PATH)/sonic-sairedis $(SYNCD)_DEPENDS += $(LIBSWSSCOMMON_DEV) $(LIBSAIREDIS) $(SYNCD)_RDEPENDS += $(LIBSWSSCOMMON) @@ -27,8 +29,7 @@ $(SYNCD)_DEB_BUILD_PROFILES += rpc endif ifeq ($(ENABLE_ASAN), y) -SYNCD_DBG = syncd-dbgsym-asan_1.0.0_$(CONFIGURED_ARCH).deb -$(SYNCD_DBG)_DPKG_DEB_NAME = syncd-dbgsym_1.0.0_$(CONFIGURED_ARCH).deb +SYNCD_DBG = syncd-asan-dbgsym_1.0.0_$(CONFIGURED_ARCH).deb else SYNCD_DBG = syncd-dbgsym_1.0.0_$(CONFIGURED_ARCH).deb endif diff --git a/slave.mk b/slave.mk index e805c7612b5..20747860275 100644 --- a/slave.mk +++ b/slave.mk @@ -1228,7 +1228,7 @@ $(addprefix $(TARGET_PATH)/, $(DOCKER_IMAGES)) : $(TARGET_PATH)/%.gz : .platform # Export variables for j2. Use path for unique variable names, e.g. docker_orchagent_debs export include_system_eventd="$(INCLUDE_SYSTEM_EVENTD)" export build_reduce_image_size="$(BUILD_REDUCE_IMAGE_SIZE)" - export ENABLE_ASAN="$(ENABLE_ASAN)" + export enable_asan="$(ENABLE_ASAN)" export sonic_asic_platform="$(patsubst %-$(CONFIGURED_ARCH),%,$(CONFIGURED_PLATFORM))" $(eval export $(subst -,_,$(notdir $($*.gz_PATH)))_debs=$(shell printf "$(subst $(SPACE),\n,$(call expand,$($*.gz_DEPENDS),RDEPENDS))\n" | awk '!a[$$0]++')) $(eval export $(subst -,_,$(notdir $($*.gz_PATH)))_pydebs=$(shell printf "$(subst $(SPACE),\n,$(call expand,$($*.gz_PYTHON_DEBS)))\n" | awk '!a[$$0]++')) From 531edd4951ab3099a60551139aa252a9bb690402 Mon Sep 17 00:00:00 2001 From: Connor Roos Date: Fri, 6 Mar 2026 18:04:06 +0000 Subject: [PATCH 3/7] Update header Signed-off-by: Connor Roos --- platform/mellanox/docker-syncd-mlnx.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/mellanox/docker-syncd-mlnx.mk b/platform/mellanox/docker-syncd-mlnx.mk index 3138bef5013..41c4ab4c76b 100644 --- a/platform/mellanox/docker-syncd-mlnx.mk +++ b/platform/mellanox/docker-syncd-mlnx.mk @@ -1,6 +1,6 @@ # # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2016-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2016-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); From 268b42056634fb414dbefe3eeda093a64040bfa0 Mon Sep 17 00:00:00 2001 From: Connor Roos Date: Sat, 7 Mar 2026 21:35:31 +0000 Subject: [PATCH 4/7] Use capital ENABLE_ASAN Signed-off-by: Connor Roos --- dockers/docker-orchagent/Dockerfile.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockers/docker-orchagent/Dockerfile.j2 b/dockers/docker-orchagent/Dockerfile.j2 index 5204562f96b..f9fc4adc91c 100755 --- a/dockers/docker-orchagent/Dockerfile.j2 +++ b/dockers/docker-orchagent/Dockerfile.j2 @@ -65,7 +65,7 @@ COPY ["orchagent.sh", "swssconfig.sh", "buffermgrd.sh", "/usr/bin/"] # Copy all Jinja2 template files into the templates folder COPY ["*.j2", "/usr/share/sonic/templates/"] -RUN sonic-cfggen -a "{\"ENABLE_ASAN\":\"{{enable_asan}}\"}" -t /usr/share/sonic/templates/docker-init.j2 > /usr/bin/docker-init.sh +RUN sonic-cfggen -a "{\"ENABLE_ASAN\":\"{{ENABLE_ASAN}}\"}" -t /usr/share/sonic/templates/docker-init.j2 > /usr/bin/docker-init.sh RUN rm -f /usr/share/sonic/templates/docker-init.j2 RUN chmod 755 /usr/bin/docker-init.sh From 6ee4ff5481af0bc4968b6151893517f51f8c3500 Mon Sep 17 00:00:00 2001 From: Connor Roos Date: Tue, 10 Mar 2026 00:52:17 +0200 Subject: [PATCH 5/7] Address package name comments Signed-off-by: Connor Roos --- rules/swss.mk | 4 +++- rules/syncd.mk | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/rules/swss.mk b/rules/swss.mk index e2f5f4c0b69..58937da4570 100644 --- a/rules/swss.mk +++ b/rules/swss.mk @@ -2,6 +2,7 @@ ifeq ($(ENABLE_ASAN), y) SWSS = swss-asan_1.0.0_$(CONFIGURED_ARCH).deb +$(SWSS)_DPKG_DEB_NAME = swss_1.0.0_$(CONFIGURED_ARCH).deb else SWSS = swss_1.0.0_$(CONFIGURED_ARCH).deb endif @@ -21,7 +22,8 @@ $(SWSS)_RDEPENDS += $(LIBSAIREDIS) $(LIBSAIMETADATA) $(LIBTEAM) \ SONIC_DPKG_DEBS += $(SWSS) ifeq ($(ENABLE_ASAN), y) -SWSS_DBG = swss-dbg-asan_1.0.0_$(CONFIGURED_ARCH).deb +SWSS_DBG = swss-asan-dbg_1.0.0_$(CONFIGURED_ARCH).deb +$(SWSS_DBG)_DPKG_DEB_NAME = swss-dbg_1.0.0_$(CONFIGURED_ARCH).deb else SWSS_DBG = swss-dbg_1.0.0_$(CONFIGURED_ARCH).deb endif diff --git a/rules/syncd.mk b/rules/syncd.mk index 1a5e85cc1ef..a5417b5e8c2 100644 --- a/rules/syncd.mk +++ b/rules/syncd.mk @@ -4,6 +4,7 @@ ifneq ($(CONFIGURED_PLATFORM),vs) ifeq ($(ENABLE_ASAN), y) SYNCD = syncd-asan_1.0.0_$(CONFIGURED_ARCH).deb +$(SYNCD)_DPKG_DEB_NAME = syncd_1.0.0_$(CONFIGURED_ARCH).deb else SYNCD = syncd_1.0.0_$(CONFIGURED_ARCH).deb endif @@ -30,6 +31,7 @@ endif ifeq ($(ENABLE_ASAN), y) SYNCD_DBG = syncd-asan-dbgsym_1.0.0_$(CONFIGURED_ARCH).deb +$(SYNCD_DBG)_DPKG_DEB_NAME = syncd-dbgsym_1.0.0_$(CONFIGURED_ARCH).deb else SYNCD_DBG = syncd-dbgsym_1.0.0_$(CONFIGURED_ARCH).deb endif From 3b4220810416389c5033a2b2abc710a97924cbd7 Mon Sep 17 00:00:00 2001 From: Connor Roos Date: Tue, 10 Mar 2026 17:55:11 +0200 Subject: [PATCH 6/7] Remove DPKG_DEB_NAME change Signed-off-by: Connor Roos --- rules/swss.mk | 2 -- rules/syncd.mk | 2 -- 2 files changed, 4 deletions(-) diff --git a/rules/swss.mk b/rules/swss.mk index 58937da4570..2b8248b6ef5 100644 --- a/rules/swss.mk +++ b/rules/swss.mk @@ -2,7 +2,6 @@ ifeq ($(ENABLE_ASAN), y) SWSS = swss-asan_1.0.0_$(CONFIGURED_ARCH).deb -$(SWSS)_DPKG_DEB_NAME = swss_1.0.0_$(CONFIGURED_ARCH).deb else SWSS = swss_1.0.0_$(CONFIGURED_ARCH).deb endif @@ -23,7 +22,6 @@ SONIC_DPKG_DEBS += $(SWSS) ifeq ($(ENABLE_ASAN), y) SWSS_DBG = swss-asan-dbg_1.0.0_$(CONFIGURED_ARCH).deb -$(SWSS_DBG)_DPKG_DEB_NAME = swss-dbg_1.0.0_$(CONFIGURED_ARCH).deb else SWSS_DBG = swss-dbg_1.0.0_$(CONFIGURED_ARCH).deb endif diff --git a/rules/syncd.mk b/rules/syncd.mk index a5417b5e8c2..1a5e85cc1ef 100644 --- a/rules/syncd.mk +++ b/rules/syncd.mk @@ -4,7 +4,6 @@ ifneq ($(CONFIGURED_PLATFORM),vs) ifeq ($(ENABLE_ASAN), y) SYNCD = syncd-asan_1.0.0_$(CONFIGURED_ARCH).deb -$(SYNCD)_DPKG_DEB_NAME = syncd_1.0.0_$(CONFIGURED_ARCH).deb else SYNCD = syncd_1.0.0_$(CONFIGURED_ARCH).deb endif @@ -31,7 +30,6 @@ endif ifeq ($(ENABLE_ASAN), y) SYNCD_DBG = syncd-asan-dbgsym_1.0.0_$(CONFIGURED_ARCH).deb -$(SYNCD_DBG)_DPKG_DEB_NAME = syncd-dbgsym_1.0.0_$(CONFIGURED_ARCH).deb else SYNCD_DBG = syncd-dbgsym_1.0.0_$(CONFIGURED_ARCH).deb endif From e62785d90403c164a6c54ce85198fbfd8328a458 Mon Sep 17 00:00:00 2001 From: Connor Roos Date: Tue, 10 Mar 2026 23:06:12 +0200 Subject: [PATCH 7/7] Revert ASAN debug package name Signed-off-by: Connor Roos --- rules/swss.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rules/swss.mk b/rules/swss.mk index 2b8248b6ef5..e2f5f4c0b69 100644 --- a/rules/swss.mk +++ b/rules/swss.mk @@ -21,7 +21,7 @@ $(SWSS)_RDEPENDS += $(LIBSAIREDIS) $(LIBSAIMETADATA) $(LIBTEAM) \ SONIC_DPKG_DEBS += $(SWSS) ifeq ($(ENABLE_ASAN), y) -SWSS_DBG = swss-asan-dbg_1.0.0_$(CONFIGURED_ARCH).deb +SWSS_DBG = swss-dbg-asan_1.0.0_$(CONFIGURED_ARCH).deb else SWSS_DBG = swss-dbg_1.0.0_$(CONFIGURED_ARCH).deb endif