Skip to contentSkip to conversation

LO reg. gets trashed by kgdb in 2.4.x and older kernels

PATCH Sergei Shtylyov 2 participants 2 messages Jul 5, 2004 – Jul 8, 2004 MIPS

lore
Share & tools
lore
#0 lore raw

Hi.

I have discovered that the gdb-low.S trashes the LO reg. instead of
restoring it. This was fixed for the 2.6 kernels but, as it seems, was left unfixed in the earlier ones (run into this on 2.4.18/2.4.20). Here's the patch against the lastest 2.4.x revision of the file...

Index: linux/arch/mips/kernel/gdb-low.S
===================================================================
RCS file: /home/cvs/linux/arch/mips/kernel/gdb-low.S,v retrieving revision 1.11.2.3

arch/mips/kernel/gdb-low.S +1 -1
diff -a -u -r1.11.2.3 gdb-low.S
@@ -283,7 +283,7 @@
 		lw	v0,GDB_FR_HI(sp)
 		lw	v1,GDB_FR_LO(sp)
 		mthi	v0
-		mtlo	v0
+		mtlo	v1
 		lw	ra,GDB_FR_REG31(sp)
 		lw	fp,GDB_FR_REG30(sp)
 		lw	gp,GDB_FR_REG28(sp)
#1 lore raw
Quoted 5 lines · Sergei Shtylyov

I have discovered that the gdb-low.S trashes the LO reg. instead of
restoring it. This was fixed for the 2.6 kernels but, as it seems, was left unfixed in the earlier ones (run into this on 2.4.18/2.4.20). Here's the patch
against the lastest 2.4.x revision of the file...

Thanks. This also was an ancient bug probably dating back to late '94 or early '95 so all branches other than 2.6 were affected.

Ralf