All of lore.kernel.org
 help / color / mirror / Atom feed
* clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
@ 2024-04-16  7:42 ` kernel test robot
  0 siblings, 0 replies; 8+ messages in thread
From: kernel test robot @ 2024-04-14 10:25 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp

:::::: 
:::::: Manual check reason: "low confidence bisect report"
:::::: 

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Ryan Roberts <ryan.roberts@arm.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux Memory Management List <linux-mm@kvack.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   7efd0a74039fb6b584be2cb91c1d0ef0bd796ee1
commit: c652df8a4a9d7853fa1100b244024fd6f1a9c18a selftests: link libasan statically for tests with -fsanitize=address
date:   7 months ago
:::::: branch date: 17 hours ago
:::::: commit date: 7 months ago
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240414/202404141807.LgsqXPY5-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/r/202404141807.LgsqXPY5-lkp@intel.com/

All errors (new ones prefixed by >>):

>> clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
--
>> clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
   clang: error: cannot specify -o when generating multiple output files

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 8+ messages in thread

* clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
@ 2024-04-16  7:42 ` kernel test robot
  0 siblings, 0 replies; 8+ messages in thread
From: kernel test robot @ 2024-04-16  7:42 UTC (permalink / raw)
  To: Ryan Roberts
  Cc: oe-kbuild-all, linux-kernel, Andrew Morton, llvm,
	Linux Memory Management List

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   7efd0a74039fb6b584be2cb91c1d0ef0bd796ee1
commit: c652df8a4a9d7853fa1100b244024fd6f1a9c18a selftests: link libasan statically for tests with -fsanitize=address
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <yujie.liu@intel.com>
| Closes: https://lore.kernel.org/r/202404141807.LgsqXPY5-lkp@intel.com/

All errors (new ones prefixed by >>):

# tools/testing/selftests/fchmodat2$ make CC=clang
clang -Wall -O2 -g -fsanitize=address -fsanitize=undefined -static-libasan -isystem usr/include     fchmodat2_test.c  -o tools/testing/selftests/fchmodat2/fchmodat2_test
clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
make: *** [../lib.mk:181: tools/testing/selftests/fchmodat2/fchmodat2_test] Error 1

# tools/testing/selftests/openat2$ make CC=clang
clang -Wall -O2 -g -fsanitize=address -fsanitize=undefined -static-libasan     openat2_test.c helpers.c helpers.h  -o tools/testing/selftests/openat2/openat2_test
clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
clang: error: cannot specify -o when generating multiple output files
make: *** [../lib.mk:181: tools/testing/selftests/openat2/openat2_test] Error 1

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
  2024-04-16  7:42 ` kernel test robot
  (?)
@ 2024-04-16 14:33 ` Ryan Roberts
  2024-04-16 14:42   ` Arnd Bergmann
  -1 siblings, 1 reply; 8+ messages in thread
From: Ryan Roberts @ 2024-04-16 14:33 UTC (permalink / raw)
  To: kernel test robot, Arnd Bergmann
  Cc: oe-kbuild-all, linux-kernel, Andrew Morton, llvm,
	Linux Memory Management List

+ Arnd

On 16/04/2024 08:42, kernel test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   7efd0a74039fb6b584be2cb91c1d0ef0bd796ee1
> commit: c652df8a4a9d7853fa1100b244024fd6f1a9c18a selftests: link libasan statically for tests with -fsanitize=address
> compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
> 
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <yujie.liu@intel.com>
> | Closes: https://lore.kernel.org/r/202404141807.LgsqXPY5-lkp@intel.com/
> 
> All errors (new ones prefixed by >>):
> 
> # tools/testing/selftests/fchmodat2$ make CC=clang
> clang -Wall -O2 -g -fsanitize=address -fsanitize=undefined -static-libasan -isystem usr/include     fchmodat2_test.c  -o tools/testing/selftests/fchmodat2/fchmodat2_test
> clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
> make: *** [../lib.mk:181: tools/testing/selftests/fchmodat2/fchmodat2_test] Error 1
> 
> # tools/testing/selftests/openat2$ make CC=clang
> clang -Wall -O2 -g -fsanitize=address -fsanitize=undefined -static-libasan     openat2_test.c helpers.c helpers.h  -o tools/testing/selftests/openat2/openat2_test
> clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
> clang: error: cannot specify -o when generating multiple output files
> make: *** [../lib.mk:181: tools/testing/selftests/openat2/openat2_test] Error 1
> 

Hi Arnd,

This change went in quite a while ago and is on;y just blowing up. I saw your
comment in another thread [1] that Andrew merged your change to set -Wextra.
Perhaps that's what has caused this to show up only now? *although I don't
actually see -Wextra in the command line).

I guess the problem is that `-static-libasan` is only supported by gcc. But I'm
Makefile-illiterate. Can anyone advise on what's the best way to make this
argument gcc-only?

Thanks,
Ryan

[1]
https://lore.kernel.org/linux-mm/53d194db-c7d4-4026-9fbb-3b41de545849@app.fastmail.com/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
  2024-04-16 14:33 ` Ryan Roberts
@ 2024-04-16 14:42   ` Arnd Bergmann
  2024-04-16 14:55     ` Ryan Roberts
  2024-04-17 15:11     ` Ryan Roberts
  0 siblings, 2 replies; 8+ messages in thread
From: Arnd Bergmann @ 2024-04-16 14:42 UTC (permalink / raw)
  To: Ryan Roberts, kernel test robot
  Cc: oe-kbuild-all, linux-kernel, Andrew Morton, llvm,
	Linux Memory Management List

On Tue, Apr 16, 2024, at 16:33, Ryan Roberts wrote:
> On 16/04/2024 08:42, kernel test robot wrote:
>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>> head:   7efd0a74039fb6b584be2cb91c1d0ef0bd796ee1
>> commit: c652df8a4a9d7853fa1100b244024fd6f1a9c18a selftests: link libasan statically for tests with -fsanitize=address
>> compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
>> 
>> If you fix the issue in a separate patch/commit (i.e. not just a new version of
>> the same patch/commit), kindly add following tags
>> | Reported-by: kernel test robot <yujie.liu@intel.com>
>> | Closes: https://lore.kernel.org/r/202404141807.LgsqXPY5-lkp@intel.com/
>> 
>> All errors (new ones prefixed by >>):
>> 
>> # tools/testing/selftests/fchmodat2$ make CC=clang
>> clang -Wall -O2 -g -fsanitize=address -fsanitize=undefined -static-libasan -isystem usr/include     fchmodat2_test.c  -o tools/testing/selftests/fchmodat2/fchmodat2_test
>> clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
>> make: *** [../lib.mk:181: tools/testing/selftests/fchmodat2/fchmodat2_test] Error 1
>> 
>> # tools/testing/selftests/openat2$ make CC=clang
>> clang -Wall -O2 -g -fsanitize=address -fsanitize=undefined -static-libasan     openat2_test.c helpers.c helpers.h  -o tools/testing/selftests/openat2/openat2_test
>> clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
>> clang: error: cannot specify -o when generating multiple output files
>> make: *** [../lib.mk:181: tools/testing/selftests/openat2/openat2_test] Error 1
>> 
>
> Hi Arnd,
>
> This change went in quite a while ago and is on;y just blowing up. I saw your
> comment in another thread [1] that Andrew merged your change to set -Wextra.
> Perhaps that's what has caused this to show up only now? *although I don't
> actually see -Wextra in the command line).
>
> I guess the problem is that `-static-libasan` is only supported by gcc. But I'm
> Makefile-illiterate. Can anyone advise on what's the best way to make this
> argument gcc-only?

Thanks for letting me know about the problem, I had indeed missed
build-testing any of tools/testing, so this might not be
the only problem there.

I'm not entirely sure how much of the Kbuild infrastructure we
can rely on here. If the .config file gets included, this should
work:

--- a/tools/testing/selftests/fchmodat2/Makefile
+++ b/tools/testing/selftests/fchmodat2/Makefile
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: GPL-2.0-or-later
 
-CFLAGS += -Wall -O2 -g -fsanitize=address -fsanitize=undefined -static-libasan $(KHDR_INCLUDES)
+CFLAGS += -Wall -O2 -g -fsanitize=address -fsanitize=undefined $(KHDR_INCLUDES)
+ifdef CONFIG_CC_IS_GCC
+CFLAGS += -static-libasan
+else
+CFLAGS += -static-libsan
+endif
+
 TEST_GEN_PROGS := fchmodat2_test
 
 include ../lib.mk

Alternatively, if the cc-option macro is available, you could
try this one

CFLAGS += $(call cc-option, -static-libasan) $(call cc-option, -static-libsan) 

     Arnd

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
  2024-04-16 14:42   ` Arnd Bergmann
@ 2024-04-16 14:55     ` Ryan Roberts
  2024-04-17 15:11     ` Ryan Roberts
  1 sibling, 0 replies; 8+ messages in thread
From: Ryan Roberts @ 2024-04-16 14:55 UTC (permalink / raw)
  To: Arnd Bergmann, kernel test robot
  Cc: oe-kbuild-all, linux-kernel, Andrew Morton, llvm,
	Linux Memory Management List

On 16/04/2024 15:42, Arnd Bergmann wrote:
> On Tue, Apr 16, 2024, at 16:33, Ryan Roberts wrote:
>> On 16/04/2024 08:42, kernel test robot wrote:
>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>>> head:   7efd0a74039fb6b584be2cb91c1d0ef0bd796ee1
>>> commit: c652df8a4a9d7853fa1100b244024fd6f1a9c18a selftests: link libasan statically for tests with -fsanitize=address
>>> compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
>>>
>>> If you fix the issue in a separate patch/commit (i.e. not just a new version of
>>> the same patch/commit), kindly add following tags
>>> | Reported-by: kernel test robot <yujie.liu@intel.com>
>>> | Closes: https://lore.kernel.org/r/202404141807.LgsqXPY5-lkp@intel.com/
>>>
>>> All errors (new ones prefixed by >>):
>>>
>>> # tools/testing/selftests/fchmodat2$ make CC=clang
>>> clang -Wall -O2 -g -fsanitize=address -fsanitize=undefined -static-libasan -isystem usr/include     fchmodat2_test.c  -o tools/testing/selftests/fchmodat2/fchmodat2_test
>>> clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
>>> make: *** [../lib.mk:181: tools/testing/selftests/fchmodat2/fchmodat2_test] Error 1
>>>
>>> # tools/testing/selftests/openat2$ make CC=clang
>>> clang -Wall -O2 -g -fsanitize=address -fsanitize=undefined -static-libasan     openat2_test.c helpers.c helpers.h  -o tools/testing/selftests/openat2/openat2_test
>>> clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
>>> clang: error: cannot specify -o when generating multiple output files
>>> make: *** [../lib.mk:181: tools/testing/selftests/openat2/openat2_test] Error 1
>>>
>>
>> Hi Arnd,
>>
>> This change went in quite a while ago and is on;y just blowing up. I saw your
>> comment in another thread [1] that Andrew merged your change to set -Wextra.
>> Perhaps that's what has caused this to show up only now? *although I don't
>> actually see -Wextra in the command line).
>>
>> I guess the problem is that `-static-libasan` is only supported by gcc. But I'm
>> Makefile-illiterate. Can anyone advise on what's the best way to make this
>> argument gcc-only?
> 
> Thanks for letting me know about the problem, I had indeed missed
> build-testing any of tools/testing, so this might not be
> the only problem there.
> 
> I'm not entirely sure how much of the Kbuild infrastructure we
> can rely on here. If the .config file gets included, this should
> work:
> 
> --- a/tools/testing/selftests/fchmodat2/Makefile
> +++ b/tools/testing/selftests/fchmodat2/Makefile
> @@ -1,6 +1,12 @@
>  # SPDX-License-Identifier: GPL-2.0-or-later
>  
> -CFLAGS += -Wall -O2 -g -fsanitize=address -fsanitize=undefined -static-libasan $(KHDR_INCLUDES)
> +CFLAGS += -Wall -O2 -g -fsanitize=address -fsanitize=undefined $(KHDR_INCLUDES)
> +ifdef CONFIG_CC_IS_GCC
> +CFLAGS += -static-libasan
> +else
> +CFLAGS += -static-libsan
> +endif
> +
>  TEST_GEN_PROGS := fchmodat2_test
>  
>  include ../lib.mk
> 
> Alternatively, if the cc-option macro is available, you could
> try this one
> 
> CFLAGS += $(call cc-option, -static-libasan) $(call cc-option, -static-libsan) 
> 
>      Arnd

Thanks! I'll give this a try. Although I can't actually find any mention of
-static-libsan in the clang manual. I believe I read somewhere that static
linking is default for clang, so worst case, I guess we just leave it out
(presumably that's effectively been the case so far anyway).

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
  2024-04-16 14:42   ` Arnd Bergmann
  2024-04-16 14:55     ` Ryan Roberts
@ 2024-04-17 15:11     ` Ryan Roberts
  2024-04-17 15:23       ` Arnd Bergmann
  1 sibling, 1 reply; 8+ messages in thread
From: Ryan Roberts @ 2024-04-17 15:11 UTC (permalink / raw)
  To: Arnd Bergmann, kernel test robot
  Cc: oe-kbuild-all, linux-kernel, Andrew Morton, llvm,
	Linux Memory Management List

On 16/04/2024 15:42, Arnd Bergmann wrote:
> On Tue, Apr 16, 2024, at 16:33, Ryan Roberts wrote:
>> On 16/04/2024 08:42, kernel test robot wrote:
>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>>> head:   7efd0a74039fb6b584be2cb91c1d0ef0bd796ee1
>>> commit: c652df8a4a9d7853fa1100b244024fd6f1a9c18a selftests: link libasan statically for tests with -fsanitize=address
>>> compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
>>>
>>> If you fix the issue in a separate patch/commit (i.e. not just a new version of
>>> the same patch/commit), kindly add following tags
>>> | Reported-by: kernel test robot <yujie.liu@intel.com>
>>> | Closes: https://lore.kernel.org/r/202404141807.LgsqXPY5-lkp@intel.com/
>>>
>>> All errors (new ones prefixed by >>):
>>>
>>> # tools/testing/selftests/fchmodat2$ make CC=clang
>>> clang -Wall -O2 -g -fsanitize=address -fsanitize=undefined -static-libasan -isystem usr/include     fchmodat2_test.c  -o tools/testing/selftests/fchmodat2/fchmodat2_test
>>> clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
>>> make: *** [../lib.mk:181: tools/testing/selftests/fchmodat2/fchmodat2_test] Error 1
>>>
>>> # tools/testing/selftests/openat2$ make CC=clang
>>> clang -Wall -O2 -g -fsanitize=address -fsanitize=undefined -static-libasan     openat2_test.c helpers.c helpers.h  -o tools/testing/selftests/openat2/openat2_test
>>> clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
>>> clang: error: cannot specify -o when generating multiple output files
>>> make: *** [../lib.mk:181: tools/testing/selftests/openat2/openat2_test] Error 1
>>>
>>
>> Hi Arnd,
>>
>> This change went in quite a while ago and is on;y just blowing up. I saw your
>> comment in another thread [1] that Andrew merged your change to set -Wextra.
>> Perhaps that's what has caused this to show up only now? *although I don't
>> actually see -Wextra in the command line).
>>
>> I guess the problem is that `-static-libasan` is only supported by gcc. But I'm
>> Makefile-illiterate. Can anyone advise on what's the best way to make this
>> argument gcc-only?
> 
> Thanks for letting me know about the problem, I had indeed missed
> build-testing any of tools/testing, so this might not be
> the only problem there.
> 
> I'm not entirely sure how much of the Kbuild infrastructure we
> can rely on here. If the .config file gets included, this should
> work:

Thanks for the pointers. Unfortunately neither don't works as we don't have any
of the Kbuild infrastructure.

I'm not really sure what to do here. The best I've come up with so far is to
just remove asan from these binaries. They are pretty simple selftests. I'm not
sure its adding a whole lot of value anyway.

Does anyone have any advice?

> 
> --- a/tools/testing/selftests/fchmodat2/Makefile
> +++ b/tools/testing/selftests/fchmodat2/Makefile
> @@ -1,6 +1,12 @@
>  # SPDX-License-Identifier: GPL-2.0-or-later
>  
> -CFLAGS += -Wall -O2 -g -fsanitize=address -fsanitize=undefined -static-libasan $(KHDR_INCLUDES)
> +CFLAGS += -Wall -O2 -g -fsanitize=address -fsanitize=undefined $(KHDR_INCLUDES)
> +ifdef CONFIG_CC_IS_GCC
> +CFLAGS += -static-libasan
> +else
> +CFLAGS += -static-libsan
> +endif
> +
>  TEST_GEN_PROGS := fchmodat2_test
>  
>  include ../lib.mk
> 
> Alternatively, if the cc-option macro is available, you could
> try this one
> 
> CFLAGS += $(call cc-option, -static-libasan) $(call cc-option, -static-libsan) 
> 
>      Arnd


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
  2024-04-17 15:11     ` Ryan Roberts
@ 2024-04-17 15:23       ` Arnd Bergmann
  2024-04-17 15:52         ` Ryan Roberts
  0 siblings, 1 reply; 8+ messages in thread
From: Arnd Bergmann @ 2024-04-17 15:23 UTC (permalink / raw)
  To: Ryan Roberts, kernel test robot
  Cc: oe-kbuild-all, linux-kernel, Andrew Morton, llvm,
	Linux Memory Management List

On Wed, Apr 17, 2024, at 17:11, Ryan Roberts wrote:
> On 16/04/2024 15:42, Arnd Bergmann wrote:
>> On Tue, Apr 16, 2024, at 16:33, Ryan Roberts wrote:
>> 
>> I'm not entirely sure how much of the Kbuild infrastructure we
>> can rely on here. If the .config file gets included, this should
>> work:
>
> Thanks for the pointers. Unfortunately neither don't works as we don't have any
> of the Kbuild infrastructure.
>
> I'm not really sure what to do here. The best I've come up with so far is to
> just remove asan from these binaries. They are pretty simple selftests. I'm not
> sure its adding a whole lot of value anyway.
>
> Does anyone have any advice?
>

>> Alternatively, if the cc-option macro is available, you could
>> try this one
>> 
>> CFLAGS += $(call cc-option, -static-libasan) $(call cc-option, -static-libsan) 

I had another look at this and found example code in
tools/thermal/tmon/Makefile that you should be able to adapt.
Apparently the cc-option macro is not provided by default, but
there is a copy you can include:

# We need this for the "cc-option" macro.
include ../../build/Build.include
WARNFLAGS=-Wall -Wshadow -W -Wformat -Wimplicit-function-declaration -Wimplicit-int
override CFLAGS+= $(call cc-option,-O3,-O1) ${WARNFLAGS}
# Add "-fstack-protector" only if toolchain supports it.
override CFLAGS+= $(call cc-option,-fstack-protector-strong)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'?
  2024-04-17 15:23       ` Arnd Bergmann
@ 2024-04-17 15:52         ` Ryan Roberts
  0 siblings, 0 replies; 8+ messages in thread
From: Ryan Roberts @ 2024-04-17 15:52 UTC (permalink / raw)
  To: Arnd Bergmann, kernel test robot
  Cc: oe-kbuild-all, linux-kernel, Andrew Morton, llvm,
	Linux Memory Management List

On 17/04/2024 16:23, Arnd Bergmann wrote:
> On Wed, Apr 17, 2024, at 17:11, Ryan Roberts wrote:
>> On 16/04/2024 15:42, Arnd Bergmann wrote:
>>> On Tue, Apr 16, 2024, at 16:33, Ryan Roberts wrote:
>>>
>>> I'm not entirely sure how much of the Kbuild infrastructure we
>>> can rely on here. If the .config file gets included, this should
>>> work:
>>
>> Thanks for the pointers. Unfortunately neither don't works as we don't have any
>> of the Kbuild infrastructure.
>>
>> I'm not really sure what to do here. The best I've come up with so far is to
>> just remove asan from these binaries. They are pretty simple selftests. I'm not
>> sure its adding a whole lot of value anyway.
>>
>> Does anyone have any advice?
>>
> 
>>> Alternatively, if the cc-option macro is available, you could
>>> try this one
>>>
>>> CFLAGS += $(call cc-option, -static-libasan) $(call cc-option, -static-libsan) 
> 
> I had another look at this and found example code in
> tools/thermal/tmon/Makefile that you should be able to adapt.
> Apparently the cc-option macro is not provided by default, but
> there is a copy you can include:
> 
> # We need this for the "cc-option" macro.
> include ../../build/Build.include
> WARNFLAGS=-Wall -Wshadow -W -Wformat -Wimplicit-function-declaration -Wimplicit-int
> override CFLAGS+= $(call cc-option,-O3,-O1) ${WARNFLAGS}
> # Add "-fstack-protector" only if toolchain supports it.
> override CFLAGS+= $(call cc-option,-fstack-protector-strong)

Ahh thanks! That sorted it:

diff --git a/tools/testing/selftests/fchmodat2/Makefile
b/tools/testing/selftests/fchmodat2/Makefile
index 71ec34bf1501..a68bb5a00797 100644
--- a/tools/testing/selftests/fchmodat2/Makefile
+++ b/tools/testing/selftests/fchmodat2/Makefile
@@ -1,6 +1,9 @@
 # SPDX-License-Identifier: GPL-2.0-or-later
+# We need this for the "cc-option" macro.
+include ../../../build/Build.include

-CFLAGS += -Wall -O2 -g -fsanitize=address -fsanitize=undefined -static-libasan
$(KHDR_INCLUDES)
+CFLAGS += -Wall -O2 -g -fsanitize=address -fsanitize=undefined $(KHDR_INCLUDES)
+CFLAGS += $(call cc-option, -static-libasan) $(call cc-option, -static-libsan)
 TEST_GEN_PROGS := fchmodat2_test

 include ../lib.mk
diff --git a/tools/testing/selftests/openat2/Makefile
b/tools/testing/selftests/openat2/Makefile
index 254d676a2689..02af9b6ca5eb 100644
--- a/tools/testing/selftests/openat2/Makefile
+++ b/tools/testing/selftests/openat2/Makefile
@@ -1,8 +1,11 @@
 # SPDX-License-Identifier: GPL-2.0-or-later
+# We need this for the "cc-option" macro.
+include ../../../build/Build.include

-CFLAGS += -Wall -O2 -g -fsanitize=address -fsanitize=undefined -static-libasan
+CFLAGS += -Wall -O2 -g -fsanitize=address -fsanitize=undefined
+CFLAGS += $(call cc-option, -static-libasan) $(call cc-option, -static-libsan)
 TEST_GEN_PROGS := openat2_test resolve_test rename_attack_test

 include ../lib.mk

-$(TEST_GEN_PROGS): helpers.c helpers.h
+$(TEST_GEN_PROGS): helpers.c


I'll tidy this up and send it out.

Thanks,
Ryan



^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-04-17 15:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-14 10:25 clang: error: unknown argument '-static-libasan'; did you mean '-static-libsan'? kernel test robot
2024-04-16  7:42 ` kernel test robot
2024-04-16 14:33 ` Ryan Roberts
2024-04-16 14:42   ` Arnd Bergmann
2024-04-16 14:55     ` Ryan Roberts
2024-04-17 15:11     ` Ryan Roberts
2024-04-17 15:23       ` Arnd Bergmann
2024-04-17 15:52         ` Ryan Roberts

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.