delorie.com/archives/browse.cgi | search |
Message-ID: | <3B36A44F.28AB8846@iedu.com> |
From: | Morris Dovey <mrdovey AT iedu DOT com> |
X-Mailer: | Mozilla 4.51 [en] (Win95; U) |
X-Accept-Language: | en,fr,pt,ru,es |
MIME-Version: | 1.0 |
Newsgroups: | comp.os.msdos.djgpp,comp.lang.c++,comp.lang.c |
Subject: | Re: DJGPP reserves wrong int size |
References: | <9dde68b7 DOT 0106241053 DOT 2a385311 AT posting DOT google DOT com> |
Lines: | 47 |
Date: | Sun, 24 Jun 2001 21:39:11 -0500 |
NNTP-Posting-Host: | 216.161.123.201 |
X-Trace: | news.uswest.net 993436845 216.161.123.201 (Sun, 24 Jun 2001 21:40:45 CDT) |
NNTP-Posting-Date: | Sun, 24 Jun 2001 21:40:45 CDT |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
ZMAN wrote: > Please consider the following code: > > int main () > { > int i; > i = 0x12345678; > } > > -Yes I am aware there is no return statement even if I do have it in there > it still messes up. > When I compile this code using: > > gcc -c test.c > ld -o test -Ttext 0x0 -e main test.o > objcopy -R .note -R .comment -S -O binary test test.bin > > and disassemble it I get the following: > > 00000000 55 push ebp > 00000001 89E5 mov ebp,esp > 00000003 83EC04 sub esp,byte +0x18 > 00000006 C745FC78563412 mov dword [ebp-0x4],0x12345678 > 0000000D C9 leave > 0000000E C3 ret > > The third line reserves 18 bytes. > And it should reserve 4 bytes because thats the size of an int right? > If you declare a char it still reserves 18 bytes. > Could someone tell me what's going on? I am loosing my mind! > Line 4 is correct though. > > I am compiling this on Windows 98 and ME boxes and still get the same results. > The gcc version number is 2.953 > binutills is version 2.11 ZMAN... The third line appears to reserve 24 bytes. Is the problem that you don't trust the generated code? Has it produced incorrect results? -- Morris Dovey West Des Moines, Iowa USA mrdovey AT iedu DOT com
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |