Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

powerpc: Added __cmpdi2 for signed 64bit comparision

This was missing on powerpc and I am getting compilation error
drivers/vfio/pci/vfio_pci_rdwr.c:193: undefined reference to `__cmpdi2'
drivers/vfio/pci/vfio_pci_rdwr.c:193: undefined reference to `__cmpdi2'

Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

authored by

Bharat Bhushan and committed by
Benjamin Herrenschmidt
41b93b23 8616dff5

+16
+14
arch/powerpc/kernel/misc_32.S
··· 659 659 blr 660 660 661 661 /* 662 + * 64-bit comparison: __cmpdi2(s64 a, s64 b) 663 + * Returns 0 if a < b, 1 if a == b, 2 if a > b. 664 + */ 665 + _GLOBAL(__cmpdi2) 666 + cmpw r3,r5 667 + li r3,1 668 + bne 1f 669 + cmplw r4,r6 670 + beqlr 671 + 1: li r3,0 672 + bltlr 673 + li r3,2 674 + blr 675 + /* 662 676 * 64-bit comparison: __ucmpdi2(u64 a, u64 b) 663 677 * Returns 0 if a < b, 1 if a == b, 2 if a > b. 664 678 */
+2
arch/powerpc/kernel/ppc_ksyms.c
··· 145 145 EXPORT_SYMBOL(__lshrdi3); 146 146 int __ucmpdi2(unsigned long long, unsigned long long); 147 147 EXPORT_SYMBOL(__ucmpdi2); 148 + int __cmpdi2(long long, long long); 149 + EXPORT_SYMBOL(__cmpdi2); 148 150 #endif 149 151 long long __bswapdi2(long long); 150 152 EXPORT_SYMBOL(__bswapdi2);