| www.delorie.com/archives/browse.cgi | search |
| Xref: | news2.mv.net comp.os.msdos.djgpp:3505 |
| From: | Thomas Demmer <demmer AT LSTM DOT Ruhr-UNI-Bochum DOT De> |
| Newsgroups: | comp.os.msdos.djgpp |
| Subject: | Re: libm.a/linker *BUG* with test program |
| Date: | Mon, 06 May 1996 15:43:14 +0100 |
| Organization: | Lehrstuhl fuer Stroemungsmechanik |
| Lines: | 49 |
| Message-ID: | <318E1002.2781@LSTM.Ruhr-UNI-Bochum.De> |
| References: | <25900 DOT 9605051801 AT bylands DOT dur DOT ac DOT uk> <318DE92E DOT 41C6 AT LSTM DOT Ruhr-UNI-Bochum DOT De> |
| NNTP-Posting-Host: | bvb.lstm.ruhr-uni-bochum.de |
| Mime-Version: | 1.0 |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Thomas Demmer wrote:
> The solution is to change src/libm/src/s_scalbn.S to:
>
> #include <machine/asm.h>
>
> ENTRY(scalbn)
> fidl 12(%esp)
> fldl 4(%esp)
> fscale /* Now we have result in ST(0) and */
> /* 2nd operand in ST(1) */
> fxch %st(1) /* Swap result and 2nd operand */
> fincstp /* throw away operand, result is now TOS */
> ret
>
> gcc -c s_scalbn.S
>
> and replace s_scalbn.o in libm.a
>
> with
> ar -rv libm.a s_scalbn.o
Sometimes I'm pretty stupid...
The correction _MUST_ be
ENTRY(scalbn)
fidl 12(%esp)
fldl 4(%esp)
fscale /* Now we have result in ST(0) and */
/* 2nd operand in ST(1) */
ffree %st(1)
ret
Sorry for that.
Ciao
Tom
*************************************************************
* Thomas Demmer *
* Lehrstuhl fuer Stroemungsmechanik *
* Ruhr-Uni-Bochum *
* Universitaetsstr. 150 *
* D-44780 Bochum *
* Tel: +49 234 700 6434 *
* Fax: +49 234 709 4162 *
* http://www.lstm.ruhr-uni-bochum.de/~demmer *
*************************************************************
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |