Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tools: ynl: extend CFLAGS to keep options from environment

Package build environments like Fedora rpmbuild introduced hardening
options (e.g. -pie -Wl,-z,now) by passing a -spec option to CFLAGS
and LDFLAGS.

ynl Makefiles currently override CFLAGS but not LDFLAGS, which leads
to a mismatch and build failure:
CC sample devlink
/usr/bin/ld: devlink.o: relocation R_X86_64_32 against symbol `ynl_devlink_family' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status

Extend CFLAGS to support hardening options set by build environment.

Signed-off-by: Jan Stancek <jstancek@redhat.com>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
Link: https://patch.msgid.link/265b2d5d3a6d4721a161219f081058ed47dc846a.1731399562.git.jstancek@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Jan Stancek and committed by
Jakub Kicinski
05a318b4 c3b3eb56

+3 -3
+1 -1
tools/net/ynl/generated/Makefile
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 3 3 CC=gcc 4 - CFLAGS=-std=gnu11 -O2 -W -Wall -Wextra -Wno-unused-parameter -Wshadow \ 4 + CFLAGS += -std=gnu11 -O2 -W -Wall -Wextra -Wno-unused-parameter -Wshadow \ 5 5 -I../lib/ -idirafter $(UAPI_PATH) 6 6 ifeq ("$(DEBUG)","1") 7 7 CFLAGS += -g -fsanitize=address -fsanitize=leak -static-libasan
+1 -1
tools/net/ynl/lib/Makefile
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 3 3 CC=gcc 4 - CFLAGS=-std=gnu11 -O2 -W -Wall -Wextra -Wno-unused-parameter -Wshadow 4 + CFLAGS += -std=gnu11 -O2 -W -Wall -Wextra -Wno-unused-parameter -Wshadow 5 5 ifeq ("$(DEBUG)","1") 6 6 CFLAGS += -g -fsanitize=address -fsanitize=leak -static-libasan 7 7 endif
+1 -1
tools/net/ynl/samples/Makefile
··· 3 3 include ../Makefile.deps 4 4 5 5 CC=gcc 6 - CFLAGS=-std=gnu11 -O2 -W -Wall -Wextra -Wno-unused-parameter -Wshadow \ 6 + CFLAGS += -std=gnu11 -O2 -W -Wall -Wextra -Wno-unused-parameter -Wshadow \ 7 7 -I../lib/ -I../generated/ -idirafter $(UAPI_PATH) 8 8 ifeq ("$(DEBUG)","1") 9 9 CFLAGS += -g -fsanitize=address -fsanitize=leak -static-libasan