Skip to content

Commit a8ffc4f

Browse files
saiarcot895pull[bot]
authored andcommitted
Package debugging and hardening for dhcpmon and dhcp6relay (#9862)
Enable dbgsym package for dhcpmon. Allow CFLAGS and LDFLAGS from environment variables to be used in the dhcp6relay build. This makes sure that the -O2 flag from dpkg-buildflags gets used. Finally, enable all hardening flags in dpkg-buildflags for dhcp6relay and dhcpmon. The change from the default set of flags is that during linking, immediate binding of symbols is done instead of lazy binding. Signed-off-by: Saikrishna Arcot <[email protected]>
1 parent ab1bdef commit a8ffc4f

File tree

5 files changed

+10
-3
lines changed

5 files changed

+10
-3
lines changed

rules/dhcpmon.mk

+3
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,6 @@ SONIC_DHCPMON_PKG_NAME = dhcpmon
66
SONIC_DHCPMON = sonic-$(SONIC_DHCPMON_PKG_NAME)_$(SONIC_DHCPMON_VERSION)_$(CONFIGURED_ARCH).deb
77
$(SONIC_DHCPMON)_SRC_PATH = $(SRC_PATH)/$(SONIC_DHCPMON_PKG_NAME)
88
SONIC_DPKG_DEBS += $(SONIC_DHCPMON)
9+
10+
SONIC_DHCPMON_DBG = sonic-$(SONIC_DHCPMON_PKG_NAME)-dbgsym_$(SONIC_DHCPMON_VERSION)_$(CONFIGURED_ARCH).deb
11+
$(eval $(call add_derived_package,$(SONIC_DHCPMON),$(SONIC_DHCPMON_DBG)))

rules/docker-dhcp-relay.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ $(DOCKER_DHCP_RELAY)_PATH = $(DOCKERS_PATH)/$(DOCKER_DHCP_RELAY_STEM)
99
$(DOCKER_DHCP_RELAY)_DEPENDS += $(ISC_DHCP_RELAY) $(SONIC_DHCPMON) $(SONIC_DHCP6RELAY) $(LIBSWSSCOMMON)
1010

1111
$(DOCKER_DHCP_RELAY)_DBG_DEPENDS = $($(DOCKER_CONFIG_ENGINE_BULLSEYE)_DBG_DEPENDS)
12-
$(DOCKER_DHCP_RELAY)_DBG_DEPENDS += $(ISC_DHCP_RELAY_DBG) $(SONIC_DHCP6RELAY_DBG)
12+
$(DOCKER_DHCP_RELAY)_DBG_DEPENDS += $(ISC_DHCP_RELAY_DBG) $(SONIC_DHCP6RELAY_DBG) $(SONIC_DHCPMON_DBG)
1313

1414
$(DOCKER_DHCP_RELAY)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BULLSEYE)_DBG_IMAGE_PACKAGES)
1515

src/dhcp6relay/Makefile

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ MKDIR := mkdir
55
CC := g++
66
MV := mv
77
LIBS := -levent -lhiredis -lswsscommon -pthread -lboost_thread -lboost_system
8-
CFLAGS = -g -Wall -std=c++17 -fPIC -I $(PWD)/../sonic-swss-common/common
8+
CFLAGS += -Wall -std=c++17 -fPIE -I$(PWD)/../sonic-swss-common/common
99
PWD := $(shell pwd)
1010

1111
ifneq ($(MAKECMDGOALS),clean)
@@ -21,7 +21,7 @@ all: sonic-dhcp6relay
2121
sonic-dhcp6relay: $(OBJS)
2222
@echo 'Building target: $@'
2323
@echo 'Invoking: G++ Linker'
24-
$(CC) -o $(DHCP6RELAY_TARGET) $(OBJS) $(LIBS)
24+
$(CC) $(LDFLAGS) -o $(DHCP6RELAY_TARGET) $(OBJS) $(LIBS)
2525
@echo 'Finished building target: $@'
2626
@echo ' '
2727

src/dhcp6relay/debian/rules

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
#!/usr/bin/make -f
22

3+
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
4+
35
%:
46
dh $@ --parallel

src/dhcpmon/debian/rules

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#!/usr/bin/make -f
22

3+
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
4+
35
DEB_CFLAGS_APPEND=-std=gnu11
46
export DEB_CFLAGS_APPEND
57

0 commit comments

Comments
 (0)