2022-02-14 20:31:53

by Muhammad Usama Anjum

[permalink] [raw]
Subject: [PATCH V2] selftests: Use -isystem instead of -I to include headers

Selftests need kernel headers and glibc for compilation. In compilation
of selftests, uapi headers from kernel source are used instead of
default ones while glibc has already been compiled with different header
files installed in the operating system. So there can be redefination
warnings from compiler. These warnings can be suppressed by using
-isystem to include the uapi headers.

Signed-off-by: Muhammad Usama Anjum <[email protected]>
---
Changes in V2:
Remove debug code
---
tools/testing/selftests/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile
index 4eda7c7c15694..06cc683f81b1a 100644
--- a/tools/testing/selftests/Makefile
+++ b/tools/testing/selftests/Makefile
@@ -130,11 +130,11 @@ ifneq ($(KBUILD_OUTPUT),)
# $(realpath ...) resolves symlinks
abs_objtree := $(realpath $(abs_objtree))
BUILD := $(abs_objtree)/kselftest
- KHDR_INCLUDES := -I${abs_objtree}/usr/include
+ KHDR_INCLUDES := -isystem ${abs_objtree}/usr/include
else
BUILD := $(CURDIR)
abs_srctree := $(shell cd $(top_srcdir) && pwd)
- KHDR_INCLUDES := -I${abs_srctree}/usr/include
+ KHDR_INCLUDES := -isystem ${abs_srctree}/usr/include
DEFAULT_INSTALL_HDR_PATH := 1
endif

--
2.30.2


2022-02-14 21:24:37

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH V2] selftests: Use -isystem instead of -I to include headers

On Mon, Feb 14, 2022 at 09:07:56PM +0500, Muhammad Usama Anjum wrote:
> Selftests need kernel headers and glibc for compilation. In compilation
> of selftests, uapi headers from kernel source are used instead of
> default ones while glibc has already been compiled with different header
> files installed in the operating system. So there can be redefination
> warnings from compiler. These warnings can be suppressed by using
> -isystem to include the uapi headers.
>
> Signed-off-by: Muhammad Usama Anjum <[email protected]>

Reviewed-by: Kees Cook <[email protected]>

--
Kees Cook

2022-02-14 22:34:54

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH V2] selftests: Use -isystem instead of -I to include headers

On 2/14/22 12:25 PM, Kees Cook wrote:
> On Mon, Feb 14, 2022 at 09:07:56PM +0500, Muhammad Usama Anjum wrote:
>> Selftests need kernel headers and glibc for compilation. In compilation
>> of selftests, uapi headers from kernel source are used instead of
>> default ones while glibc has already been compiled with different header
>> files installed in the operating system. So there can be redefination

Spelling - redefinition

>> warnings from compiler. These warnings can be suppressed by using
>> -isystem to include the uapi headers.
>>
>> Signed-off-by: Muhammad Usama Anjum <[email protected]>
>
> Reviewed-by: Kees Cook <[email protected]>
>

Looks good to me. With the above minor type fixed:

Reviewed-by: Shuah Khan <[email protected]>

This one depends on an earlier patch that added that added KHDR_INCLUDES
which is in Andrew's

https://ozlabs.org/~akpm/mmotm/broken-out/selftests-add-and-export-a-kernel-uapi-headers-path.patch

Andrew, would you like to take this through your tree?

thanks,
-- Shuah

Would you like to apply this on top of th