Sophie

Sophie

distrib > PLD > ra > i686 > by-pkgid > b61420ddcda9e6b986342f4de9b9ed1f > files > 2

lcc-4.1-2.src.rpm

diff -urN lcc-4.1-/lib/ftol.s lcc-4.1/lib/ftol.s
--- lcc-4.1-/lib/ftol.s	Thu Jan  1 01:00:00 1970
+++ lcc-4.1/lib/ftol.s	Thu Nov 23 00:16:02 2000
@@ -0,0 +1,27 @@
+/
+/ file generated with gcc from :
+/	long __ftol(double a)
+/	{
+/		return (long)a;
+/	}
+/ with loading of double a arg removed, so what's on stack is used.
+/
+
+.text
+	.align 4
+.globl __ftol
+	.type	 __ftol,@function
+__ftol:
+	subl $28,%esp
+	fnstcw 14(%esp)
+	movw 14(%esp),%dx
+	orw $3072,%dx
+	movw %dx,12(%esp)
+	fldcw 12(%esp)
+	fistpl 8(%esp)
+	movl 8(%esp),%eax
+	fldcw 14(%esp)
+	addl $28,%esp
+	ret
+.Lfe1:
+	.size	 __ftol,.Lfe1-__ftol
diff -urN lcc-4.1-/makefile lcc-4.1/makefile
--- lcc-4.1-/makefile	Mon Sep 21 20:34:16 1998
+++ lcc-4.1/makefile	Thu Nov 23 00:24:41 2000
@@ -137,13 +137,14 @@
 $Blcc$O:	etc/lcc.c;	$(CC) $(CFLAGS) -c -DTEMPDIR=\"$(TEMPDIR)\" -o $@ etc/lcc.c
 $Bhost$O:	$(HOSTFILE);	$(CC) $(CFLAGS) -c -o $@ $(HOSTFILE)
 
-LIBOBJS=$Bassert$O $Bbbexit$O $Byynull$O
+LIBOBJS=$Bassert$O $Bbbexit$O $Byynull$O $Bftol$O
 
-$Bliblcc$A:	$(LIBOBJS);	$(AR) $@ $Bassert$O $Bbbexit$O $Byynull$O; $(RANLIB) $@ || true
+$Bliblcc$A:	$(LIBOBJS);	$(AR) $@ $Bassert$O $Bbbexit$O $Bftol$O $Byynull$O; $(RANLIB) $@ || true
 
 $Bassert$O:	lib/assert.c;	$(CC) $(CFLAGS) -c -o $@ lib/assert.c
 $Byynull$O:	lib/yynull.c;	$(CC) $(CFLAGS) -c -o $@ lib/yynull.c
 $Bbbexit$O:	lib/bbexit.c;	$(CC) $(CFLAGS) -c -o $@ lib/bbexit.c
+$Bftol$O:	lib/ftol.s;	$(CC) $(CFLAGS) -c -o $@ lib/ftol.s
 
 $Blburg$E:	$Blburg$O $Bgram$O;	$(LD) $(LDFLAGS) -o $@ $Blburg$O $Bgram$O 
 
diff -urN lcc-4.1-/src/x86linux.md lcc-4.1/src/x86linux.md
--- lcc-4.1-/src/x86linux.md	Mon Sep 21 20:35:14 1998
+++ lcc-4.1/src/x86linux.md	Thu Nov 23 00:20:21 2000
@@ -566,8 +566,7 @@
 freg: CVFF8(freg)  "# CVFF8\n"
 freg: CVFF4(freg)  "sub $4,%%esp\nfstps (%%esp)\nflds (%%esp)\naddl $4,%%esp\n"  12
 
-stmt: ASGNI4(addr,CVFI4(freg))  "fistpl %0\n" 29
-reg: CVFI4(freg)  "subl $4,%%esp\nfistpl 0(%%esp)\npopl %c\n" 31
+reg: CVFI4(freg)  "call __ftol\n" 31
 
 freg: CVIF8(INDIRI4(addr))      "fildl %0\n"  10
 freg: CVIF8(reg)  "pushl %0\nfildl (%%esp)\naddl $4,%%esp\n"  12