nds32: Fix build error caused by configuration flag rename
PATCH v2 1/1 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' ofgit://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.
---
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(-)
arch/nds32/Kconfig +6 -6
@@ -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
Signature · 1 line
2.17.1
James Hogan <[email protected]> 於 2018年6月14日 週四 下午10:29寫道:
Quoted 35 lines
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 renamesKconfigsymbols. This had raced with commitaeaa7af744fa("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 originalKconfigsymbol names.When they came together in merge commit
763f96944c95("Merge tag 'mips_4.18' ofgit://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]>
Quoted 5 lines
---
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. :)
Quoted 4 lines · Greentime Hu
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
James Hogan <[email protected]> 於 2018年6月15日 週五 下午8:34寫道:
Quoted 11 lines · Greentime Hu
Quoted 4 lines
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).
Quoted 5 lines
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. :)