| delorie.com/archives/browse.cgi | search |
| Date: | Thu, 24 Apr 2003 16:57:01 -0500 |
| From: | Eric Rudd <rudd AT cyberoptics DOT com> |
| Organization: | CyberOptics |
| User-Agent: | Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.3) Gecko/20030312 |
| X-Accept-Language: | en,pdf |
| MIME-Version: | 1.0 |
| Newsgroups: | comp.os.msdos.djgpp |
| Subject: | Re: Bug 00314 -- div() still broken |
| References: | <3e9c6920$0$21928$afc38c87@> <fA9pa.20115$1s1 DOT 299825 AT newsfeeds DOT bigpond DOT com> <3EA5477F DOT 2020901 AT cyberoptics DOT com> <SzSpa.21592$1s1 DOT 332473 AT newsfeeds DOT bigpond DOT com> |
| In-Reply-To: | <SzSpa.21592$1s1.332473@newsfeeds.bigpond.com> |
| Lines: | 31 |
| Message-ID: | <3ea85d95$0$12489$4c41069e@reader1.ash.ops.us.uu.net> |
| NNTP-Posting-Host: | 65.214.98.62 |
| X-Trace: | 1051221397 reader1.ash.ops.us.uu.net 12489 65.214.98.62 |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
| Reply-To: | djgpp AT delorie DOT com |
Ben Peddell wrote: > Eric Rudd wrote: > >> I think I had some problem with -fomit-frame-pointer, but I'm still >> investigating. > > Things are being pushed wrong. > edi is supposed to hold the address of the div_t structure, yet is has > 0x28 (40) in it. eax and ebx are supposed to have 40 in them, yet they > have -3 in them. > div() wants the stack to look like: > 16(%ebp): divisor > 12(%ebp): numerator > 8(%ebp): &return > But it appears to look like: > 16(%ebp): something between -2 and +2 > 12(%ebp): divisor > 8(%ebp): numerator > > There in lies the problem. This confirms my suspicion that there is a problem with -fomit-frame-pointer. I thought that routines in libc.a could be called from a program compiled either with or without -fomit-frame-pointer, but I found that I could call the existing div.o in libc.a only if I didn't use -fomit-frame-pointer. Hmm... -Eric Rudd rudd AT cyberoptics DOT com
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |