lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
 <TYBPR01MB5470E7F3F1E80FF9842AAF75B1AF2@TYBPR01MB5470.jpnprd01.prod.outlook.com>
Date: Wed, 2 Apr 2025 10:36:29 +0800
From: luriwen <luriwen@...mail.com>
To: "Chen, Yu C" <yu.c.chen@...el.com>
Cc: Takashi Sakamoto <o-takashi@...amocchi.jp>, lenb@...nel.org,
 robert.moore@...el.com, linux1394-devel@...ts.sourceforge.net,
 linux-kernel@...r.kernel.org, linux-acpi@...r.kernel.org,
 acpica-devel@...ts.linux.dev, k2ci <kernel-bot@...inos.cn>,
 "Rafael J. Wysocki" <rafael@...nel.org>,
 Masahiro Yamada <masahiroy@...nel.org>, yu.chen.surf@...mail.com
Subject: Re: [PATCH v1] tools: Fix compile error of pfrut/firewire

在 2025/4/1 14:56, Chen, Yu C 写道:
> Hi Riwen,
> 
> On 3/31/2025 7:52 PM, Rafael J. Wysocki wrote:
>> On Mon, Mar 31, 2025 at 11:15 AM luriwen <luriwen@...mail.com> wrote:
>>>
>>> 在 2025/3/29 09:07, Takashi Sakamoto 写道:
>>>> Hi,
>>>>
>>>> On Fri, Mar 28, 2025 at 03:47:50PM +0800, Riwen Lu wrote:
>>>>> The value -rR of MAKEFLAGS implicit do not use make's built-in 
>>>>> rules and
>>>>> variables. Previous commit d1d096312176 ("tools: fix annoying 
>>>>> "mkdir -p
>>>>> ..." logs when building tools in parallel") removed the MAKEFLAGS=
>>>>> command for tools and caused the built-in rules for pfrut/firewire
>>>>> failed to take effect.
>>>>>
>>>>> Reported-by: k2ci <kernel-bot@...inos.cn>
>>>>> Signed-off-by: Riwen Lu <luriwen@...inos.cn>
>>
>> Yu, can you have a look at this please?
>>
>>>>> ---
>>>>>    tools/firewire/Makefile               | 7 +++++++
>>>>>    tools/power/acpi/tools/pfrut/Makefile | 2 +-
>>>>>    2 files changed, 8 insertions(+), 1 deletion(-)
>>>>
>>>> As long as testing with v6.14 release, I can not find such failure. I
>>>> guess that some one has fixed the issue between the commit and the
>>>> release.
>>>>
>>>> Would you please recheck the issue?
>>>>
>>>>
>>>> Thanks
>>>>
>>>> Takashi Sakamoto
>>>
>>> I have reconfirmed that this type of error does indeed exist when using
>>> make tools/all or make tools/firewire at commit 4e82c87058f4 ("Merge tag
>>> 'rust-6.15' of
>>> git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux") in the 6.14
>>> kernel.
>>> The relevant error messages are as follows:
>>> $ make tools/all
>>>     ...
>>>     LD       pfrut
>>> /usr/bin/ld:
>>> /home/luriwen/workspace/kernel/kernel.org/linux-git/linux/tools/power/acpi/tools/pfrut/pfrut.o:
>>> in function `print_cap':
>>> /home/luriwen/workspace/kernel/kernel.org/linux-git/linux/tools/power/acpi/tools/pfrut/pfrut.c:179:
>>> undefined reference to `uuid_unparse'
>>> /usr/bin/ld:
>>> /home/luriwen/workspace/kernel/kernel.org/linux-git/linux/tools/power/acpi/tools/pfrut/pfrut.c:184:
>>> undefined reference to `uuid_unparse'
>>> /usr/bin/ld:
>>> /home/luriwen/workspace/kernel/kernel.org/linux-git/linux/tools/power/acpi/tools/pfrut/pfrut.c:189:
>>> undefined reference to `uuid_unparse'
>>> /usr/bin/ld:
>>> /home/luriwen/workspace/kernel/kernel.org/linux-git/linux/tools/power/acpi/tools/pfrut/pfrut.c:191:
>>> undefined reference to `uuid_unparse'
>>> collect2: error: ld returned 1 exit status
>>>
>>> $ make tools/firewire
>>>     SYNC    include/config/auto.conf.cmd
>>>     HOSTCC  scripts/basic/fixdep
>>>     HOSTCC  scripts/kconfig/conf.o
>>>     HOSTCC  scripts/kconfig/confdata.o
>>>     HOSTCC  scripts/kconfig/expr.o
>>>     LEX     scripts/kconfig/lexer.lex.c
>>>     YACC    scripts/kconfig/parser.tab.[ch]
>>>     HOSTCC  scripts/kconfig/lexer.lex.o
>>>     HOSTCC  scripts/kconfig/menu.o
>>>     HOSTCC  scripts/kconfig/parser.tab.o
>>>     HOSTCC  scripts/kconfig/preprocess.o
>>>     HOSTCC  scripts/kconfig/symbol.o
>>>     HOSTCC  scripts/kconfig/util.o
>>>     HOSTLD  scripts/kconfig/conf
>>>     DESCEND firewire
>>> make[3]: *** No rule to make target 'nosy-dump.o', needed by
>>> 'nosy-dump'.  Stop.
>>> make[2]: *** [Makefile:72: firewire] Error 2
>>> make[1]: ***
>>> [/home/kylin/remote/kernel/kernel.org/linux-git/linux/Makefile:1438:
>>> tools/firewire] Error 2
>>> make: *** [Makefile:251: __sub-make] Error 2
>>>
> 
> Maybe add more background in the commit log that, the default
> MAKEFLAGS in Makefile under Linux's root directory is with "-rR".
> Before commit d1d096312176 is applied, the -rR is overwriten by
> the subdirectory's MAKEFLAGS, so it will not cause problems when
> compiling the sub-directory of tools. After commit d1d096312176,
> the -rR takes effect, which prevents the tools from using the
> built-in rules and variables. Maybe also added Fixed: tag.
> 
OK. I'll enhance the commit message and add a Fixes tag.
> Regarding the prfut Makefile, we have fixed the LDFLAGS issue,
> but the CFLAGS += xxx will not take effect, right?
> 
Correct. The CFLAGS += xxx is not take effect.
> This reminds me that, is it possible to just remove -rR for the
> sub-directories? In this way we don't have to change the code of
> every tool one-by-one, pfrut, firewire...
> Cced Masahiro for guidance.
> 
> Something like below:
> 
> diff --git a/Makefile b/Makefile
> index d138b17b8840..853be42ca1a1 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1431,12 +1431,11 @@ endif
> 
>   tools/: FORCE
>          $(Q)mkdir -p $(objtree)/tools
> -       $(Q)$(MAKE) LDFLAGS= O=$(abspath $(objtree)) subdir=tools -C 
> $(srctree)/tools/
> +       $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter-out rR,$(MAKEFLAGS))" 
> O=$(abspath $(objtree)) subdir=tools -C $(srctree)/tools/
> 
>   tools/%: FORCE
>          $(Q)mkdir -p $(objtree)/tools
> -       $(Q)$(MAKE) LDFLAGS= O=$(abspath $(objtree)) subdir=tools -C 
> $(srctree)/tools/ $*
> -
> +       $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter-out rR,$(MAKEFLAGS))" 
> O=$(abspath $(objtree)) subdir=tools -C $(srctree)/tools/ $*
>   # 
> ---------------------------------------------------------------------------
>   # Kernel selftest
> 
> I believe this modification is more appropriate.


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ