All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Next Mailing List <linux-next@vger.kernel.org>
Subject: Re: linux-next: build failure after merge of the arm tree
Date: Fri, 3 May 2024 09:23:40 +0100	[thread overview]
Message-ID: <ZjSfDGh+yqndr9ya@shell.armlinux.org.uk> (raw)
In-Reply-To: <ZjSduO+MI7EA3O9A@shell.armlinux.org.uk>

On Fri, May 03, 2024 at 09:18:01AM +0100, Russell King (Oracle) wrote:
> On Fri, May 03, 2024 at 10:15:16AM +1000, Stephen Rothwell wrote:
> > Hi all,
> > 
> > After merging the arm tree, today's linux-next build (x86_64 allmodconfig)
> > failed like this:
> > 
> > drivers/clk/clkdev.c: In function 'vclkdev_alloc':
> > drivers/clk/clkdev.c:195:16: error: assignment to '__va_list_tag (*)[1]' from incompatible pointer type '__va_list_tag **' [-Werror=incompatible-pointer-types]
> >   195 |         fmt.va = &ap;
> >       |                ^
> > cc1: all warnings being treated as errors
> 
> This builds perfectly fine for me - this is on debian stable with
> arm-linux-gnueabihf-gcc (Debian 10.2.1-6) 10.2.1 20210110:
> 
>   CC      drivers/clk/clkdev.o
>   AR      drivers/clk/built-in.a
>   AR      drivers/built-in.a
>   AR      built-in.a
>   AR      vmlinux.a
>   LD      vmlinux.o
>   OBJCOPY modules.builtin.modinfo
>   GEN     modules.builtin
>   MODPOST Module.symvers
>   UPD     include/generated/utsversion.h
>   CC      init/version-timestamp.o
>   LD      .tmp_vmlinux.kallsyms1
>   NM      .tmp_vmlinux.kallsyms1.syms
>   KSYMS   .tmp_vmlinux.kallsyms1.S
>   AS      .tmp_vmlinux.kallsyms1.S
>   LD      .tmp_vmlinux.kallsyms2
>   NM      .tmp_vmlinux.kallsyms2.syms
>   KSYMS   .tmp_vmlinux.kallsyms2.S
>   AS      .tmp_vmlinux.kallsyms2.S
>   LD      vmlinux
>   NM      System.map
> 
> No warnings, no errors.
> 
> va_format is defined as:
> 
> struct va_format {
>         const char *fmt;
>         va_list *va;
> };
> 
> and what we have here is a "va_list ap".
> 
> Therefore, the assignment:
> 
>         fmt.va = &ap;
> 
> is correct.
> 
> What certainly won't work is:
> 
> 	fmt.va = ap;
> 
> and there aren't any other reasonable alternatives.
> 
> My conclusion: your compiler is being stupid.

... and even more evidence that your error is strange:

void __ext4_error(struct super_block *sb, const char *function,
                  unsigned int line, bool force_ro, int error, __u64 block,
                  const char *fmt, ...)
{
        struct va_format vaf;
        va_list args;

                vaf.fmt = fmt;
                vaf.va = &args;

Now, looking at __ext4_error(), it seems that va_start()..va_end()
need to be around this - but why this oddity? None of the other printing
functions like vsnprintf() require it? Why do we have this pitfall?
Why isn't this oddity documented anywhere?

However, I don't see that lack of va_start() etc would cause a type
error.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!

  reply	other threads:[~2024-05-03  8:23 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-03  0:15 linux-next: build failure after merge of the arm tree Stephen Rothwell
2024-05-03  8:18 ` Russell King (Oracle)
2024-05-03  8:23   ` Russell King (Oracle) [this message]
2024-05-03 12:08   ` Stephen Rothwell
2024-05-03 12:29     ` Russell King (Oracle)
  -- strict thread matches above, loose matches on Subject: below --
2024-11-12 23:46 Stephen Rothwell
2024-11-13  0:25 ` Stephen Rothwell
2024-08-20 23:36 Stephen Rothwell
2024-08-21  3:27 ` liuyuntao (F)
2022-08-31  9:10 Stephen Rothwell
2022-08-31  9:14 ` Matija Glavinic Pecotic
2021-10-25 23:25 Stephen Rothwell
2020-01-19 21:24 Stephen Rothwell
2020-01-19 21:31 ` Stephen Rothwell
2020-01-19 22:02 ` Russell King - ARM Linux admin
2017-04-20 22:40 Stephen Rothwell
2017-04-21  7:58 ` Mason
2017-04-21  7:58   ` Mason
2017-04-21  8:12   ` Stephen Rothwell
2017-04-21  8:12     ` Stephen Rothwell
2017-04-21  8:30     ` Mason
2017-04-21  8:30       ` Mason
2017-04-21 23:43     ` Russell King - ARM Linux
2017-04-21 23:43       ` Russell King - ARM Linux
2017-04-21 23:43       ` Russell King - ARM Linux
2017-04-22  8:41       ` Mason
2017-04-22  8:41         ` Mason
2017-04-22  8:41         ` Mason
2017-04-24  4:20         ` Vinod Koul
2017-04-24  4:20           ` Vinod Koul
2017-06-14 19:23       ` Mason
2017-06-14 19:23         ` Mason
2017-04-21 11:27   ` Mason
2017-04-21 11:27     ` Mason
2015-05-29  1:09 Stephen Rothwell
2014-04-10  1:35 Stephen Rothwell
2011-03-02 14:13 Stephen Rothwell
2011-03-02 15:55 ` Nicolas Pitre

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZjSfDGh+yqndr9ya@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=sfr@canb.auug.org.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.