www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1999/01/25/12:19:36

Message-ID: <B0000066767@stargate.astr.lu.lv>
From: "Andris Pavenis" <pavenis AT lanet DOT lv>
To: djgpp-workers AT delorie DOT com
Date: Mon, 25 Jan 1999 19:19:05 +0200
MIME-Version: 1.0
Subject: Some inline assembler related patches to djdev202 and djlsr202
CC: dj AT delorie DOT com
X-mailer: Pegasus Mail for Win32 (v3.01d)
Reply-To: djgpp-workers AT delorie DOT com

--Message-Boundary-26288
Content-type: text/plain; charset=US-ASCII
Content-transfer-encoding: 7BIT
Content-description: Mail message body

Hi!

I tried to build latest weekly binutils snapshot (990120) for DJGPP with configure
option --enable-bfd-assembler  (binutils-2.9.1 is broken if built with this option). 
As result some things in djdev202 and djlsr202 appeared:
	- length suffix were wrong in some places (eg. in include/sys/segments.h);
	- latest snapshots of AS no more recognizes argument length suffix for
         floating point opcerations that doesn't have memory operand (eg. fld1).
	  I think such suffix is useless there anyway.

I tested that these  changes doers not break building djlsr202 also with 
binutils-2.8.1.

Andris


--Message-Boundary-26288
Content-type: text/plain; charset=US-ASCII
Content-disposition: inline
Content-description: Attachment information.

The following section of this message contains a file attachment
prepared for transmission using the Internet MIME message format.
If you are using Pegasus Mail, or any another MIME-compliant system,
you should be able to save it or view it from within your mailer.
If you cannot, please ask your system administrator for assistance.

   ---- File information -----------
     File:  djgpp202-upd-990125.diff
     Date:  25 Jan 1999, 18:41
     Size:  3489 bytes.
     Type:  Text

--Message-Boundary-26288
Content-type: Application/Octet-stream; name="djgpp202-upd-990125.diff"; type=Text
Content-disposition: attachment; filename="djgpp202-upd-990125.diff"

*** src/libc/ansi/math/exp.S~1	Wed Nov 23 05:18:22 1994
--- src/libc/ansi/math/exp.S	Mon Jan 25 17:58:40 1999
***************
*** 20,26 ****
  	andw	$0xf3ff,LCW2
  	orw	$0x0400,LCW2
  	fldcww	LCW2
! 	fldl	%st(0)
  	frndint
  	fldcww	LCW1
  	fxch	%st(1)
--- 20,26 ----
  	andw	$0xf3ff,LCW2
  	orw	$0x0400,LCW2
  	fldcww	LCW2
! 	fld	%st(0)
  	frndint
  	fldcww	LCW1
  	fxch	%st(1)
*** src/libc/ansi/math/fmod.S~1	Wed Nov 23 05:08:34 1994
--- src/libc/ansi/math/fmod.S	Mon Jan 25 18:02:10 1999
***************
*** 15,28 ****
  	fxch	%st(1)
  	sahf
  	jnz	next
! 	fstpl	%st(0)
  	jmp	out
  next:
! 	fpreml
  	fnstsw	%ax
  	sahf
  	jpe	next
! 	fstpl	%st(1)
  out:
  	ret
  
--- 15,28 ----
  	fxch	%st(1)
  	sahf
  	jnz	next
! 	fstp	%st(0)
  	jmp	out
  next:
! 	fprem
  	fnstsw	%ax
  	sahf
  	jpe	next
! 	fstp	%st(1)
  out:
  	ret
  
*** src/libc/ansi/math/pow2.S~1	Sun Oct  1 16:19:24 1995
--- src/libc/ansi/math/pow2.S	Mon Jan 25 18:04:52 1999
***************
*** 18,24 ****
  	andw	$0xf3ff,LCW2
  	orw	$0x0400,LCW2
  	fldcww	LCW2
! 	fldl	%st(0)
  	frndint
  	fldcww	LCW1
  	fxch	%st(1)
--- 18,24 ----
  	andw	$0xf3ff,LCW2
  	orw	$0x0400,LCW2
  	fldcww	LCW2
! 	fld	%st(0)
  	frndint
  	fldcww	LCW1
  	fxch	%st(1)
*** src/libc/ansi/math/pow.S~1	Wed Nov 23 05:17:44 1994
--- src/libc/ansi/math/pow.S	Mon Jan 25 18:04:10 1999
***************
*** 18,24 ****
  	andw	$0xf3ff,LCW2
  	orw	$0x0400,LCW2
  	fldcww	LCW2
! 	fldl	%st(0)
  	frndint
  	fldcww	LCW1
  	fxch	%st(1)
--- 18,24 ----
  	andw	$0xf3ff,LCW2
  	orw	$0x0400,LCW2
  	fldcww	LCW2
! 	fld	%st(0)
  	frndint
  	fldcww	LCW1
  	fxch	%st(1)
***************
*** 52,65 ****
  	ja	ygtz
  	jb	error
  	fstp	%st(0) 
! 	fld1l
  	fchs
  error:
  	fsqrt
  	ret
  ygtz:
  	fstp	%st(0)
! 	fldzl
  	ret
  xltz:
  	fabs
--- 52,65 ----
  	ja	ygtz
  	jb	error
  	fstp	%st(0) 
! 	fld1
  	fchs
  error:
  	fsqrt
  	ret
  ygtz:
  	fstp	%st(0)
! 	fldz
  	ret
  xltz:
  	fabs
*** src/libc/emu387/fpu.S~1	Sat Apr 22 01:48:32 1995
--- src/libc/emu387/fpu.S	Mon Jan 25 18:22:02 1999
***************
*** 37,43 ****
  	wait
  	andw	$0x0fffa,(%esi)		/* enable invalid operation exception */
  	fldcw	(%esi)
! 	movw	$1,%eax
  	jmp	Lexit
  Lno_387:
  	xorl	%eax,%eax
--- 37,43 ----
  	wait
  	andw	$0x0fffa,(%esi)		/* enable invalid operation exception */
  	fldcw	(%esi)
! 	movl	$1,%eax
  	jmp	Lexit
  Lno_387:
  	xorl	%eax,%eax
*** include/sys/segments.h~1	Sun Jun 28 22:13:52 1998
--- include/sys/segments.h	Mon Jan 25 18:38:48 1999
***************
*** 17,23 ****
  _my_cs(void)
  {
    unsigned short result;
!   __asm__("movl %%cs,%0" : "=r" (result));
    return result;
  }
  
--- 17,23 ----
  _my_cs(void)
  {
    unsigned short result;
!   __asm__("movw %%cs,%0" : "=r" (result));
    return result;
  }
  
***************
*** 25,31 ****
  _my_ds(void)
  {
    unsigned short result;
!   __asm__("movl %%ds,%0" : "=r" (result));
    return result;
  }
  
--- 25,31 ----
  _my_ds(void)
  {
    unsigned short result;
!   __asm__("movw %%ds,%0" : "=r" (result));
    return result;
  }
  
***************
*** 33,39 ****
  _my_ss(void)
  {
    unsigned short result;
!   __asm__("movl %%ss,%0" : "=r" (result));
    return result;
  }
  
--- 33,39 ----
  _my_ss(void)
  {
    unsigned short result;
!   __asm__("movw %%ss,%0" : "=r" (result));
    return result;
  }
  

--Message-Boundary-26288--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019