[PATCH 2/2] [PPC] Add strncmp to arch/ppc

Josh Boyer jwboyer at linux.vnet.ibm.com
Tue Apr 22 10:50:27 EST 2008


Commit 0119536cd314ef95553604208c25bc35581f7f0a added an assembly version
of strncmp to PowerPC.  However, it changed a common header file between
arch/ppc and arch/powerpc without adding strncmp to arch/ppc.  This fixes
that omission so that arch/ppc links again.

Signed-off-by: Josh Boyer <jwboyer at linux.vnet.ibm.com>

---
 arch/ppc/kernel/ppc_ksyms.c |    1 +
 arch/ppc/lib/string.S       |   14 ++++++++++++++
 2 files changed, 15 insertions(+)

--- linux-2.6.orig/arch/ppc/kernel/ppc_ksyms.c
+++ linux-2.6/arch/ppc/kernel/ppc_ksyms.c
@@ -89,6 +89,7 @@ EXPORT_SYMBOL(strncpy);
 EXPORT_SYMBOL(strcat);
 EXPORT_SYMBOL(strlen);
 EXPORT_SYMBOL(strcmp);
+EXPORT_SYMBOL(strncmp);
 
 EXPORT_SYMBOL(csum_partial);
 EXPORT_SYMBOL(csum_partial_copy_generic);
--- linux-2.6.orig/arch/ppc/lib/string.S
+++ linux-2.6/arch/ppc/lib/string.S
@@ -121,6 +121,20 @@ _GLOBAL(strcmp)
 	beq	1b
 	blr
 
+_GLOBAL(strncmp)
+	PPC_LCMPI r5,0
+	beqlr
+	mtctr	r5
+	addi	r5,r3,-1
+	addi	r4,r4,-1
+1:	lbzu	r3,1(r5)
+	cmpwi	1,r3,0
+	lbzu	r0,1(r4)
+	subf.	r3,r0,r3
+	beqlr	1
+	bdnzt	eq,1b
+	blr
+
 _GLOBAL(strlen)
 	addi	r4,r3,-1
 1:	lbzu	r0,1(r4)




More information about the Linuxppc-dev mailing list