2018-06-13 19:44:37

by Guenter Roeck

[permalink] [raw]
Subject: [PATCH] nds32: Fix build error caused by incomplete configuration flag rename

GENERIC_ASHLDI3, GENERIC_ASHRDI3, and GENERIC_LSHRDI3 were renamed to
GENERIC_LIB_ASHLDI3, GENERIC_LIB_ASHRDI3, and GENERIC_LIB_LSHRDI3
without making the matching changes in arch/nds32. This results in
the following build errors.

nds32le-linux-ld: kernel/time/timekeeping.o:
in function `timekeeping_init':
timekeeping.c:(.init.text+0x140):
undefined reference to `__ashldi3'
nds32le-linux-ld: timekeeping.c:(.init.text+0x144):
undefined reference to `__ashldi3'
nds32le-linux-ld: timekeeping.c:(.init.text+0x17e):
undefined reference to `__lshrdi3'
nds32le-linux-ld: timekeeping.c:(.init.text+0x182):
undefined reference to `__lshrdi3'
nds32le-linux-ld: drivers/clocksource/mmio.o:
in function `clocksource_mmio_init':
mmio.c:(.init.text+0x54):
undefined reference to `__lshrdi3'
nds32le-linux-ld: mmio.c:(.init.text+0x58):
undefined reference to `__lshrdi3'

Fixes: e3d5980568f ("lib: Rename compiler intrinsic selects to GENERIC_LIB_*")
Cc: Matt Redfearn <[email protected]>
Cc: James Hogan <[email protected]>
Cc: Palmer Dabbelt <[email protected]>
Signed-off-by: Guenter Roeck <[email protected]>
---
arch/nds32/Kconfig | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/nds32/Kconfig b/arch/nds32/Kconfig
index 6aed974276d8..3a68d9494035 100644
--- a/arch/nds32/Kconfig
+++ b/arch/nds32/Kconfig
@@ -12,9 +12,9 @@ config NDS32
select CLONE_BACKWARDS
select COMMON_CLK
select DMA_NONCOHERENT_OPS
- select GENERIC_ASHLDI3
- select GENERIC_ASHRDI3
- select GENERIC_LSHRDI3
+ select GENERIC_LIB_ASHLDI3
+ select GENERIC_LIB_ASHRDI3
+ select GENERIC_LIB_LSHRDI3
select GENERIC_CMPDI2
select GENERIC_MULDI3
select GENERIC_UCMPDI2
--
2.7.4



2018-06-13 21:08:26

by James Hogan

[permalink] [raw]
Subject: Re: [PATCH] nds32: Fix build error caused by incomplete configuration flag rename

Thanks Guenter,

On Wed, Jun 13, 2018 at 12:43:52PM -0700, Guenter Roeck wrote:
> GENERIC_ASHLDI3, GENERIC_ASHRDI3, and GENERIC_LSHRDI3 were renamed to
> GENERIC_LIB_ASHLDI3, GENERIC_LIB_ASHRDI3, and GENERIC_LIB_LSHRDI3
> without making the matching changes in arch/nds32.

Well, thats a little misleading. The commit in question was applied
based on 4.17-rc2 a month *before* commit aeaa7af744fa ("nds32: lib: To
use generic lib instead of libgcc to prevent the symbol undefined
issue.") raced and overtook it and was merged in time for final 4.17, so
technically it was only when the two recently came together in merge
commit 763f96944c95 ("Merge tag 'mips_4.18' of
git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux") that it was a
problem.

Incidentally, is anybody building linux-next for nds32? (I could have
asked Linus to fix this up in the merge commit had I known).

> Fixes: e3d5980568f ("lib: Rename compiler intrinsic selects to GENERIC_LIB_*")

Perhaps this would be more accurate?:
Fixes: 763f96944c95 ("Merge tag 'mips_4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux")

> - select GENERIC_ASHLDI3
> - select GENERIC_ASHRDI3
> - select GENERIC_LSHRDI3
> + select GENERIC_LIB_ASHLDI3
> + select GENERIC_LIB_ASHRDI3
> + select GENERIC_LIB_LSHRDI3
> select GENERIC_CMPDI2
> select GENERIC_MULDI3
> select GENERIC_UCMPDI2

These 3 were renamed also.

Cheers
James


Attachments:
(No filename) (1.41 kB)
signature.asc (235.00 B)
Download all attachments

2018-06-13 21:29:02

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] nds32: Fix build error caused by incomplete configuration flag rename

On Wed, Jun 13, 2018 at 10:06:13PM +0100, James Hogan wrote:
> Thanks Guenter,
>
> On Wed, Jun 13, 2018 at 12:43:52PM -0700, Guenter Roeck wrote:
> > GENERIC_ASHLDI3, GENERIC_ASHRDI3, and GENERIC_LSHRDI3 were renamed to
> > GENERIC_LIB_ASHLDI3, GENERIC_LIB_ASHRDI3, and GENERIC_LIB_LSHRDI3
> > without making the matching changes in arch/nds32.
>
> Well, thats a little misleading. The commit in question was applied
> based on 4.17-rc2 a month *before* commit aeaa7af744fa ("nds32: lib: To
> use generic lib instead of libgcc to prevent the symbol undefined
> issue.") raced and overtook it and was merged in time for final 4.17, so
> technically it was only when the two recently came together in merge
> commit 763f96944c95 ("Merge tag 'mips_4.18' of
> git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux") that it was a
> problem.
>
> Incidentally, is anybody building linux-next for nds32? (I could have
> asked Linus to fix this up in the merge commit had I known).
>

Yes, me, and I had mentioned the failure a while ago in some e-mail exchange
talking about testing on -next. I did not have time to bisect, though.
Also, I rarely report problems in -next anymore after some less than friendly
reactions. One always risks something like "You should have checked branch <x>
of repository <y> before bugging me with this report", which is especially
annoying if the branch in question is not pulled into -next. People can always
check http://kerneltests.org/builders if they are interested in the status
of various branches.

> > Fixes: e3d5980568f ("lib: Rename compiler intrinsic selects to GENERIC_LIB_*")
>
> Perhaps this would be more accurate?:
> Fixes: 763f96944c95 ("Merge tag 'mips_4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux")
>
> > - select GENERIC_ASHLDI3
> > - select GENERIC_ASHRDI3
> > - select GENERIC_LSHRDI3
> > + select GENERIC_LIB_ASHLDI3
> > + select GENERIC_LIB_ASHRDI3
> > + select GENERIC_LIB_LSHRDI3
> > select GENERIC_CMPDI2
> > select GENERIC_MULDI3
> > select GENERIC_UCMPDI2
>
> These 3 were renamed also.
>

Good point. Maybe someone else can take it from here to find a more
politically correct wording of the patch description ?

Thanks,
Guenter

2018-06-13 21:56:59

by James Hogan

[permalink] [raw]
Subject: Re: [PATCH] nds32: Fix build error caused by incomplete configuration flag rename

On Wed, Jun 13, 2018 at 02:28:08PM -0700, Guenter Roeck wrote:
> On Wed, Jun 13, 2018 at 10:06:13PM +0100, James Hogan wrote:
> > Thanks Guenter,
> >
> > On Wed, Jun 13, 2018 at 12:43:52PM -0700, Guenter Roeck wrote:
> > > GENERIC_ASHLDI3, GENERIC_ASHRDI3, and GENERIC_LSHRDI3 were renamed to
> > > GENERIC_LIB_ASHLDI3, GENERIC_LIB_ASHRDI3, and GENERIC_LIB_LSHRDI3
> > > without making the matching changes in arch/nds32.
> >
> > Well, thats a little misleading. The commit in question was applied
> > based on 4.17-rc2 a month *before* commit aeaa7af744fa ("nds32: lib: To
> > use generic lib instead of libgcc to prevent the symbol undefined
> > issue.") raced and overtook it and was merged in time for final 4.17, so
> > technically it was only when the two recently came together in merge
> > commit 763f96944c95 ("Merge tag 'mips_4.18' of
> > git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux") that it was a
> > problem.
> >
> > Incidentally, is anybody building linux-next for nds32? (I could have
> > asked Linus to fix this up in the merge commit had I known).
> >
>
> Yes, me, and I had mentioned the failure a while ago in some e-mail exchange
> talking about testing on -next. I did not have time to bisect, though.

My appologies if I was cc'd and missed it.

> Also, I rarely report problems in -next anymore after some less than friendly
> reactions. One always risks something like "You should have checked branch <x>
> of repository <y> before bugging me with this report", which is especially
> annoying if the branch in question is not pulled into -next. People can always

Thats a pity, but fair enough!

> check http://kerneltests.org/builders if they are interested in the status
> of various branches.

Thanks for the link. For the record i'm always interested in -next
issues you might become aware of related to patches I've applied (which
is hard to tell at a glance on the webpage in this case unfortunately).

>
> > > Fixes: e3d5980568f ("lib: Rename compiler intrinsic selects to GENERIC_LIB_*")
> >
> > Perhaps this would be more accurate?:
> > Fixes: 763f96944c95 ("Merge tag 'mips_4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux")
> >
> > > - select GENERIC_ASHLDI3
> > > - select GENERIC_ASHRDI3
> > > - select GENERIC_LSHRDI3
> > > + select GENERIC_LIB_ASHLDI3
> > > + select GENERIC_LIB_ASHRDI3
> > > + select GENERIC_LIB_LSHRDI3
> > > select GENERIC_CMPDI2
> > > select GENERIC_MULDI3
> > > select GENERIC_UCMPDI2
> >
> > These 3 were renamed also.
> >
>
> Good point. Maybe someone else can take it from here to find a more
> politically correct wording of the patch description ?

happy to tomorrow if rds32 folk don't want to.

Thanks again,
James