2018-06-14 14:30:43

by James Hogan

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

From: Guenter Roeck <[email protected]>

Fix build error on nds32 due to the merge of commit e3d5980568f ("lib:
Rename compiler intrinsic selects to GENERIC_LIB_*") during the 4.18
merge window which renames Kconfig symbols. This had raced with commit
aeaa7af744fa ("nds32: lib: To use generic lib instead of libgcc to
prevent the symbol undefined issue.") merged late in the 4.17 cycle,
which added selects to nds32 using the original Kconfig symbol names.

When they came together in merge commit 763f96944c95 ("Merge tag
'mips_4.18' of
git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux") this resulted
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'

Rename all 6 selects in nds32 and adjust the ordering accordingly to be
alphabetical.

Fixes: 763f96944c95 ("Merge tag 'mips_4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux")
Signed-off-by: Guenter Roeck <[email protected]>
[[email protected]: Rename all 6 symbols, sort, update commit message]
Signed-off-by: James Hogan <[email protected]>
Cc: Greentime Hu <[email protected]>
Cc: Vincent Chen <[email protected]>
Cc: Matt Redfearn <[email protected]>
Cc: Palmer Dabbelt <[email protected]>
---
Changes in v2:
- Rename all 6 symbols, not just the 3 that caused build failures.
- Sort selects.
- Update commit message.
---
arch/nds32/Kconfig | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/nds32/Kconfig b/arch/nds32/Kconfig
index 6aed974276d8..34f7222c5efe 100644
--- a/arch/nds32/Kconfig
+++ b/arch/nds32/Kconfig
@@ -12,17 +12,17 @@ config NDS32
select CLONE_BACKWARDS
select COMMON_CLK
select DMA_NONCOHERENT_OPS
- select GENERIC_ASHLDI3
- select GENERIC_ASHRDI3
- select GENERIC_LSHRDI3
- select GENERIC_CMPDI2
- select GENERIC_MULDI3
- select GENERIC_UCMPDI2
select GENERIC_ATOMIC64
select GENERIC_CPU_DEVICES
select GENERIC_CLOCKEVENTS
select GENERIC_IRQ_CHIP
select GENERIC_IRQ_SHOW
+ select GENERIC_LIB_ASHLDI3
+ select GENERIC_LIB_ASHRDI3
+ select GENERIC_LIB_CMPDI2
+ select GENERIC_LIB_LSHRDI3
+ select GENERIC_LIB_MULDI3
+ select GENERIC_LIB_UCMPDI2
select GENERIC_STRNCPY_FROM_USER
select GENERIC_STRNLEN_USER
select GENERIC_TIME_VSYSCALL
--
2.17.1



2018-06-15 06:14:23

by Greentime Hu

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

James Hogan <[email protected]> 於 2018年6月14日 週四 下午10:29寫道:
>
> From: Guenter Roeck <[email protected]>
>
> Fix build error on nds32 due to the merge of commit e3d5980568f ("lib:
> Rename compiler intrinsic selects to GENERIC_LIB_*") during the 4.18
> merge window which renames Kconfig symbols. This had raced with commit
> aeaa7af744fa ("nds32: lib: To use generic lib instead of libgcc to
> prevent the symbol undefined issue.") merged late in the 4.17 cycle,
> which added selects to nds32 using the original Kconfig symbol names.
>
> When they came together in merge commit 763f96944c95 ("Merge tag
> 'mips_4.18' of
> git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux") this resulted
> 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'
>
> Rename all 6 selects in nds32 and adjust the ordering accordingly to be
> alphabetical.
>
> Fixes: 763f96944c95 ("Merge tag 'mips_4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux")
> Signed-off-by: Guenter Roeck <[email protected]>
> [[email protected]: Rename all 6 symbols, sort, update commit message]
> Signed-off-by: James Hogan <[email protected]>
> Cc: Greentime Hu <[email protected]>
> Cc: Vincent Chen <[email protected]>
> Cc: Matt Redfearn <[email protected]>
> Cc: Palmer Dabbelt <[email protected]>
> ---
> Changes in v2:
> - Rename all 6 symbols, not just the 3 that caused build failures.
> - Sort selects.
> - Update commit message.

Thank you James and Guenter.
Should I pick it in my tree? It will be ok to put in your tree. :)

Acked-by: Greentime Hu <[email protected]>

2018-06-15 12:35:29

by James Hogan

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

On Fri, Jun 15, 2018 at 02:12:58PM +0800, Greentime Hu wrote:
> Thank you James and Guenter.
> Should I pick it in my tree? It will be ok to put in your tree. :)
>
> Acked-by: Greentime Hu <[email protected]>

I think your tree makes most sense for this patch, since it only touches
nds32 code and it was nds32 that got broken (and I haven't actually
build tested it for nds32).

Though it'd have to be based on that MIPS merge I mentioned or 4.18-rc1
when it is released.

Thanks
James


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

2018-06-16 03:32:07

by Greentime Hu

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

James Hogan <[email protected]> 於 2018年6月15日 週五 下午8:34寫道:
>
> On Fri, Jun 15, 2018 at 02:12:58PM +0800, Greentime Hu wrote:
> > Thank you James and Guenter.
> > Should I pick it in my tree? It will be ok to put in your tree. :)
> >
> > Acked-by: Greentime Hu <[email protected]>
>
> I think your tree makes most sense for this patch, since it only touches
> nds32 code and it was nds32 that got broken (and I haven't actually
> build tested it for nds32).
>
> Though it'd have to be based on that MIPS merge I mentioned or 4.18-rc1
> when it is released.
>
> Thanks
> James

ok. I will pick this patch in my tree after 4.18-rc1 released. :)