Message ID | 3d173603ee258f419d0403363765c9f9494ff79a.1737635092.git.jstancek@redhat.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [net] selftests: net/{lib,openvswitch}: extend CFLAGS to keep options from environment | expand |
Hi Jan, On 23/01/2025 13:38, Jan Stancek wrote: > Package build environments like Fedora rpmbuild introduced hardening > options (e.g. -pie -Wl,-z,now) by passing a -spec option to CFLAGS > and LDFLAGS. > > Some Makefiles currently override CFLAGS but not LDFLAGS, which leads > to a mismatch and build failure, for example: > /usr/bin/ld: /tmp/ccd2apay.o: relocation R_X86_64_32 against > `.rodata.str1.1' 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 > make[1]: *** [../../lib.mk:222: tools/testing/selftests/net/lib/csum] Error 1 Thank you for the fix! > openvswitch/Makefile CFLAGS currently do not appear to be used, but > fix it anyway for the case when new tests are introduced in future. > > Fixes: 1d0dc857b5d8 ("selftests: drv-net: add checksum tests") Note that this commit is only for the Makefile in 'lib', not in 'openvswitch', but I guess there is no need to backport that all along. Maybe the two modifications should be split, but I guess that's fine here. > Signed-off-by: Jan Stancek <jstancek@redhat.com> > --- > tools/testing/selftests/net/lib/Makefile | 2 +- > tools/testing/selftests/net/openvswitch/Makefile | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/net/lib/Makefile b/tools/testing/selftests/net/lib/Makefile > index 18b9443454a9..578de40cc5e3 100644 > --- a/tools/testing/selftests/net/lib/Makefile > +++ b/tools/testing/selftests/net/lib/Makefile > @@ -1,6 +1,6 @@ > # SPDX-License-Identifier: GPL-2.0 > > -CFLAGS = -Wall -Wl,--no-as-needed -O2 -g > +CFLAGS += -Wall -Wl,--no-as-needed -O2 -g (small detail: I guess the double whitespaces after the '=' were there to keep the alignment with the next line, so probably there should be only one now, but I don't think this alone is enough to ask for a v2!) Apart from that: Acked-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> > CFLAGS += -I../../../../../usr/include/ $(KHDR_INCLUDES) > # Additional include paths needed by kselftest.h > CFLAGS += -I../../ > diff --git a/tools/testing/selftests/net/openvswitch/Makefile b/tools/testing/selftests/net/openvswitch/Makefile > index 2f1508abc826..1567a549ba34 100644 > --- a/tools/testing/selftests/net/openvswitch/Makefile > +++ b/tools/testing/selftests/net/openvswitch/Makefile > @@ -2,7 +2,7 @@ > > top_srcdir = ../../../../.. > > -CFLAGS = -Wall -Wl,--no-as-needed -O2 -g -I$(top_srcdir)/usr/include $(KHDR_INCLUDES) > +CFLAGS += -Wall -Wl,--no-as-needed -O2 -g -I$(top_srcdir)/usr/include $(KHDR_INCLUDES) > > TEST_PROGS := openvswitch.sh > Cheers, Matt
diff --git a/tools/testing/selftests/net/lib/Makefile b/tools/testing/selftests/net/lib/Makefile index 18b9443454a9..578de40cc5e3 100644 --- a/tools/testing/selftests/net/lib/Makefile +++ b/tools/testing/selftests/net/lib/Makefile @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 -CFLAGS = -Wall -Wl,--no-as-needed -O2 -g +CFLAGS += -Wall -Wl,--no-as-needed -O2 -g CFLAGS += -I../../../../../usr/include/ $(KHDR_INCLUDES) # Additional include paths needed by kselftest.h CFLAGS += -I../../ diff --git a/tools/testing/selftests/net/openvswitch/Makefile b/tools/testing/selftests/net/openvswitch/Makefile index 2f1508abc826..1567a549ba34 100644 --- a/tools/testing/selftests/net/openvswitch/Makefile +++ b/tools/testing/selftests/net/openvswitch/Makefile @@ -2,7 +2,7 @@ top_srcdir = ../../../../.. -CFLAGS = -Wall -Wl,--no-as-needed -O2 -g -I$(top_srcdir)/usr/include $(KHDR_INCLUDES) +CFLAGS += -Wall -Wl,--no-as-needed -O2 -g -I$(top_srcdir)/usr/include $(KHDR_INCLUDES) TEST_PROGS := openvswitch.sh
Package build environments like Fedora rpmbuild introduced hardening options (e.g. -pie -Wl,-z,now) by passing a -spec option to CFLAGS and LDFLAGS. Some Makefiles currently override CFLAGS but not LDFLAGS, which leads to a mismatch and build failure, for example: /usr/bin/ld: /tmp/ccd2apay.o: relocation R_X86_64_32 against `.rodata.str1.1' 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 make[1]: *** [../../lib.mk:222: tools/testing/selftests/net/lib/csum] Error 1 openvswitch/Makefile CFLAGS currently do not appear to be used, but fix it anyway for the case when new tests are introduced in future. Fixes: 1d0dc857b5d8 ("selftests: drv-net: add checksum tests") Signed-off-by: Jan Stancek <jstancek@redhat.com> --- tools/testing/selftests/net/lib/Makefile | 2 +- tools/testing/selftests/net/openvswitch/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)