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 <[email protected]>
> ---
> 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) <[email protected]>
> 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
--
Sponsored by the NGI0 Core fund.