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

Muhammad Usama Anjum posted 1 patch 4 years, 4 months ago
Failed in applying to current master (apply log)
tools/testing/selftests/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH V2] selftests: Use -isystem instead of -I to include headers
Posted by Muhammad Usama Anjum 4 years, 4 months ago
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 <usama.anjum@collabora.com>
---
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

Re: [PATCH V2] selftests: Use -isystem instead of -I to include headers
Posted by Kees Cook 4 years, 4 months ago
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 <usama.anjum@collabora.com>

Reviewed-by: Kees Cook <keescook@chromium.org>

-- 
Kees Cook
Re: [PATCH V2] selftests: Use -isystem instead of -I to include headers
Posted by Shuah Khan 4 years, 4 months ago
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 <usama.anjum@collabora.com>
> 
> Reviewed-by: Kees Cook <keescook@chromium.org>
> 

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

Reviewed-by: Shuah Khan <skhan@linuxfoundation.org>

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