This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Thumb Interworking libgcc fix


The patch below fixes a bit of the ARM libgcc soft-float libgcc code that 
isn't interworking safe.

Applied to svn trunk.

Paul

2008-02-29  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/ieee754-df.S (muldf3): Use RET macros.

Index: ieee754-df.S
===================================================================
--- ieee754-df.S	(revision 191959)
+++ ieee754-df.S	(revision 191960)
@@ -838,7 +838,7 @@ LSYM(Lml_d):
 	orr	xh, xh, r6
 	teq	r5, #0
 	do_it	ne
-	movne	pc, lr
+	RETc(ne)
 2:	and	r6, yh, #0x80000000
 3:	movs	yl, yl, lsl #1
 	adc	yh, yh, yh
@@ -847,7 +847,7 @@ LSYM(Lml_d):
 	subeq	r5, r5, #1
 	beq	3b
 	orr	yh, yh, r6
-	mov	pc, lr
+	RET
 
 LSYM(Lml_s):
 	@ Isolate the INF and NAN cases away


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]