diff mbox

linux-next: build failure after merge of Linus' tree

Message ID 20151008094444.10d9cc68@canb.auug.org.au (mailing list archive)
State Superseded
Headers show

Commit Message

Stephen Rothwell Oct. 7, 2015, 10:44 p.m. UTC
Hi Linus,

After merging Linus' tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

lib/string.c: In function 'strscpy':
lib/string.c:209:4: error: implicit declaration of function 'zero_bytemask' [-Werror=implicit-function-declaration]
    *(unsigned long *)(dest+res) = c & zero_bytemask(data);
    ^

Caused by commit

  30035e45753b ("string: provide strscpy()")

but only exposed by commit

  19c22f3a29fa ("word-at-a-time.h: fix some Kbuild files")

BIG_ENDIAN powerpc doesn't have a definition for this function ...

Isn't this why we have linux-next ... to find this stuff early?  :-(

Oh, well, I have applied the following (that just copies zero_bytemask
from asm-generic.  I have done no testing beyond compiling.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 8 Oct 2015 09:29:26 +1100
Subject: [PATCH] word-at-a-time.h: powerpc: implement define zero_bytemask

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 arch/powerpc/include/asm/word-at-a-time.h | 2 ++
 1 file changed, 2 insertions(+)

Comments

Chris Metcalf Oct. 8, 2015, 12:27 a.m. UTC | #1
On 10/7/2015 6:44 PM, Stephen Rothwell wrote:
> Hi Linus,
>
> After merging Linus' tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
>
> lib/string.c: In function 'strscpy':
> lib/string.c:209:4: error: implicit declaration of function 'zero_bytemask' [-Werror=implicit-function-declaration]
>      *(unsigned long *)(dest+res) = c & zero_bytemask(data);
>      ^
>
> Caused by commit
>
>    30035e45753b ("string: provide strscpy()")

I posted a change equivalent to yours earlier today:

http://lkml.kernel.org/r/1444229188-19640-1-git-send-email-cmetcalf@ezchip.com

I also did no testing, but since the rest of the PPC code is similar to the
asm-generic version, I believe the zero_bytemask() definition should be OK.

It probably should go through Linus' tree, like the previous set of patches.
I just pushed it up to the linux-tile tree for Linus to grab as:

git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile.git strscpy

Chris Metcalf (1):
       arch/powerpc: provide zero_bytemask() for big-endian

  arch/powerpc/include/asm/word-at-a-time.h | 5 +++++
  1 file changed, 5 insertions(+)
Guenter Roeck Oct. 8, 2015, 6:45 p.m. UTC | #2
On Wed, Oct 07, 2015 at 08:27:38PM -0400, Chris Metcalf wrote:
> On 10/7/2015 6:44 PM, Stephen Rothwell wrote:
> >Hi Linus,
> >
> >After merging Linus' tree, today's linux-next build (powerpc
> >ppc64_defconfig) failed like this:
> >
> >lib/string.c: In function 'strscpy':
> >lib/string.c:209:4: error: implicit declaration of function 'zero_bytemask' [-Werror=implicit-function-declaration]
> >     *(unsigned long *)(dest+res) = c & zero_bytemask(data);
> >     ^
> >
> >Caused by commit
> >
> >   30035e45753b ("string: provide strscpy()")
> 
> I posted a change equivalent to yours earlier today:
> 
> http://lkml.kernel.org/r/1444229188-19640-1-git-send-email-cmetcalf@ezchip.com
> 
> I also did no testing, but since the rest of the PPC code is similar to the
> asm-generic version, I believe the zero_bytemask() definition should be OK.
> 
> It probably should go through Linus' tree, like the previous set of patches.
> I just pushed it up to the linux-tile tree for Linus to grab as:
> 
Wonder if Linus is going to realize that you meant 4.3 in your subject line,
not 3.4.

Guenter

> git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile.git strscpy
> 
> Chris Metcalf (1):
>       arch/powerpc: provide zero_bytemask() for big-endian
> 
>  arch/powerpc/include/asm/word-at-a-time.h | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> -- 
> Chris Metcalf, EZChip Semiconductor
> http://www.ezchip.com
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 
>
Chris Metcalf Oct. 8, 2015, 7:47 p.m. UTC | #3
On 10/08/2015 02:45 PM, Guenter Roeck wrote:
> On Wed, Oct 07, 2015 at 08:27:38PM -0400, Chris Metcalf wrote:
>> On 10/7/2015 6:44 PM, Stephen Rothwell wrote:
>>> Hi Linus,
>>>
>>> After merging Linus' tree, today's linux-next build (powerpc
>>> ppc64_defconfig) failed like this:
>>>
>>> lib/string.c: In function 'strscpy':
>>> lib/string.c:209:4: error: implicit declaration of function 'zero_bytemask' [-Werror=implicit-function-declaration]
>>>      *(unsigned long *)(dest+res) = c & zero_bytemask(data);
>>>      ^
>>>
>>> Caused by commit
>>>
>>>    30035e45753b ("string: provide strscpy()")
>> I posted a change equivalent to yours earlier today:
>>
>> http://lkml.kernel.org/r/1444229188-19640-1-git-send-email-cmetcalf@ezchip.com
>>
>> I also did no testing, but since the rest of the PPC code is similar to the
>> asm-generic version, I believe the zero_bytemask() definition should be OK.
>>
>> It probably should go through Linus' tree, like the previous set of patches.
>> I just pushed it up to the linux-tile tree for Linus to grab as:
>>
> Wonder if Linus is going to realize that you meant 4.3 in your subject line,
> not 3.4.

Oops, good catch :-)

I updated the subject line of this reply so it will catch on Linus's mail
filters better, if that helps!

>> git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile.git strscpy
>>
>> Chris Metcalf (1):
>>        arch/powerpc: provide zero_bytemask() for big-endian
>>
>>   arch/powerpc/include/asm/word-at-a-time.h | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> -- 
>> Chris Metcalf, EZChip Semiconductor
>> http://www.ezchip.com
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at  http://www.tux.org/lkml/
>>
>>
Stephen Rothwell Oct. 10, 2015, 12:39 a.m. UTC | #4
Hi Linus,

On Wed, 7 Oct 2015 20:27:38 -0400 Chris Metcalf <cmetcalf@ezchip.com> wrote:
>
> On 10/7/2015 6:44 PM, Stephen Rothwell wrote:
> >
> > After merging Linus' tree, today's linux-next build (powerpc
> > ppc64_defconfig) failed like this:
> >
> > lib/string.c: In function 'strscpy':
> > lib/string.c:209:4: error: implicit declaration of function 'zero_bytemask' [-Werror=implicit-function-declaration]
> >      *(unsigned long *)(dest+res) = c & zero_bytemask(data);
> >      ^
> >
> > Caused by commit
> >
> >    30035e45753b ("string: provide strscpy()")
> 
> I posted a change equivalent to yours earlier today:
> 
> http://lkml.kernel.org/r/1444229188-19640-1-git-send-email-cmetcalf@ezchip.com
> 
> I also did no testing, but since the rest of the PPC code is similar to the
> asm-generic version, I believe the zero_bytemask() definition should be OK.
> 
> It probably should go through Linus' tree, like the previous set of patches.
> I just pushed it up to the linux-tile tree for Linus to grab as:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile.git strscpy
> 
> Chris Metcalf (1):
>        arch/powerpc: provide zero_bytemask() for big-endian
> 
>   arch/powerpc/include/asm/word-at-a-time.h | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> -- 
> Chris Metcalf, EZChip Semiconductor
> http://www.ezchip.com

Can you please do this pull as most of the powerpc build testing is
failing at the moment ... :-(
diff mbox

Patch

diff --git a/arch/powerpc/include/asm/word-at-a-time.h b/arch/powerpc/include/asm/word-at-a-time.h
index 5b3a903adae6..4f9b6b93c18f 100644
--- a/arch/powerpc/include/asm/word-at-a-time.h
+++ b/arch/powerpc/include/asm/word-at-a-time.h
@@ -40,6 +40,8 @@  static inline bool has_zero(unsigned long val, unsigned long *data, const struct
 	return (val + c->high_bits) & ~rhs;
 }
 
+#define zero_bytemask(mask) (~1ul << __fls(mask))
+
 #else
 
 #ifdef CONFIG_64BIT