Re: ACPICA compilation error on x86_64_defconfig (W=1 build)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 9, 2025 at 4:01 PM Shevchenko, Andriy
<andriy.shevchenko@xxxxxxxxx> wrote:
>
> Note, I have posted two much better solutions in that bug report thread.

Which bug report thread do you mean?

> Please, choose one and fix, it prevents kernel from building...

With Clang-19 and 'make W=1' that is.

> On Wed, Apr 09, 2025 at 02:24:45PM +0300, Shevchenko, Andriy wrote:
> > GCC should ignore all clang specific pragmas as far as I know.
> >
> > But this seems to me the not the best solution either. What code needs is to
> > have some refactoring to make sure the variable is used or not defined and used
> > at all. Unfortunately, I am not familiar with ACPICA to propose anything right
> > now, though.
> >
> > On Tue, Apr 08, 2025 at 09:34:36PM +0300, Dumbre, Saket wrote:
> > > I am not sure about the Linux environment specifics like Andy described in the
> > > previous conversation, but if GCC or some other compiler throws an error in the
> > > code with #pragma for clang, then may I suggest using this instead:
> > >
> > > #pragma clang diagnostic push
> > > #if defined(__clang__) && __clang__ >= n (replace n with the least version
> > > number which introduces this new warning type)
> > > #pragma clang diagnostic ignored "-Wunused-but-set-variable"
> > > #endif
> > > u32 num_carats;
> > > #pragma clang diagnostic pop
> > >
> > > ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> > > From: Dumbre, Saket <saket.dumbre@xxxxxxxxx>
> > > Sent: Tuesday, April 8, 2025 11:11 AM
> > > To: Shevchenko, Andriy <andriy.shevchenko@xxxxxxxxx>; Rafael J. Wysocki
> > > <rafael@xxxxxxxxxx>
> > > Cc: Moore, Robert <robert.moore@xxxxxxxxx>; Wysocki, Rafael J
> > > <rafael.j.wysocki@xxxxxxxxx>; linux-acpi@xxxxxxxxxxxxxxx
> > > <linux-acpi@xxxxxxxxxxxxxxx>; acpica-devel@xxxxxxxxxxxxxxx
> > > <acpica-devel@xxxxxxxxxxxxxxx>
> > > Subject: Re: ACPICA compilation error on x86_64_defconfig (W=1 build)
> > >
> > > Hi Andy and Rafael,
> > >
> > > This issue is a duplication of an Apple ecosystem-based (ARM + M-series micro
> > > architecture) ACPICA GitHub Issue, which I was waiting on a response from the
> > > contributor/submitter to move ahead to resolve it:
> > > https://github.com/acpica/acpica/issues/973
> > >
> > > I don't see a platform specific file for Clang/LLVM in ACPICA (only for GCC and
> > > MSVC), so I think the worst-case untidy solution would be to locally patch this
> > > warning-turned-error by suppressing this warning type if the compiler is Clang/
> > > LLVM.
> > >
> > > It would look somewhat better to move that line all the way down after all the
> > > other definitions/declarations just before any execution line and wrap it with
> > > a #pragma something along the lines:
> > >
> > > #pragma clang diagnostic push
> > > #pragma clang diagnostic ignored "-Wunused-but-set-variable"
> > > u32 num_carats;
> > > #pragma clang diagnostic pop
> > >
> > > I am just not sure if this is the only place in the ACPICA code that generates
> > > this warning type and depending on the answer, this fix could be implemented at
> > > a wider/global scale, but please give this hacky fix a try and let me know if
> > > it resolves that. Thanks a lot!
> > >
> > >
> > > Kind regards,
> > >
> > > Saket Dumbre
> > >
> > >
> > > ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> > > From: Shevchenko, Andriy
> > > Sent: Monday, April 7, 2025 11:51 AM
> > > To: Rafael J. Wysocki
> > > Cc: Dumbre, Saket; Moore, Robert; Wysocki, Rafael J;
> > > linux-acpi@xxxxxxxxxxxxxxx; acpica-devel@xxxxxxxxxxxxxxx
> > > Subject: Re: ACPICA compilation error on x86_64_defconfig (W=1 build)
> > >
> > > On Mon, Apr 07, 2025 at 08:49:41PM +0200, Rafael J. Wysocki wrote:
> > > > On Mon, Apr 7, 2025 at 8:47 PM Andy Shevchenko
> > > > <andriy.shevchenko@xxxxxxxxx> wrote:
> > > > >
> > > > > v6.15-rc1 (but seems older should also be problematic) fails to compile by
> > > > > Clang 19 with `make W=1`.
> > > > >
> > > > >   CC      drivers/acpi/acpica/nsaccess.o
> > > > >   drivers/acpi/acpica/nsaccess.c:295:6: error: variable 'num_carats' set
> > > but not used [-Werror,-Wunused-but-set-variable]
> > > > >     295 |         u32 num_carats;
> > > > >         |             ^
> > > > >   1 error generated.
> > > > >
> > > > > I looked briefly in the code and I have no idea how to fix this, as
> > > probably
> > > > > __maybe_unused not an option for ACPICA. Hence this report.
> > > > >
> > > > > Note, the in-tree defconfig is in use:
> > > > >
> > > > >         git checkout v6.15-rc1
> > > > >         make x86_64_defconfig
> > >
> > > > >         make W=1
> > >
> > > Since it's a clang, this should have also something like LLVM=1.
> > >
> > > > > should trigger it.
> > >
> > > --
> > > With Best Regards,
> > > Andy Shevchenko
> > >
> > >
> >
> > --
> > With Best Regards,
> > Andy Shevchenko
> >
> >
>
> --
> With Best Regards,
> Andy Shevchenko
>
>
>





[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]
  Powered by Linux