Message ID | 20151008094444.10d9cc68@canb.auug.org.au (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
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(+)
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/ > >
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/ >> >>
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 --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