Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm Sender: cygwin-owner AT sourceware DOT cygnus DOT com List-Unsubscribe: List-Archive: List-Help: , Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-Id: <199907262250.AA00043@ha.bekkoame.ne.jp> Date: Tue, 27 Jul 1999 07:50:56 +0900 To: cygwin AT sourceware DOT cygnus DOT com Subject: bugs call __alloca From: S DOT Yoshida AT ha DOT bekkoame DOT ne DOT jp MIME-Version: 1.0 X-Mailer: AL-Mail32 Version 1.10 Content-Type: text/plain; charset=us-ascii thanks for great project.:- i could not compile. who was wrong? the source is.. #include #include char *gptr; void char1(char *ptr) { printf("ptr = %08p gptr = %08p\n", ptr, gptr); } void __attribute__ ((regparm(3))) char2(char *ptr) { printf("ptr = %08p gptr = %08p\n", ptr, gptr); } void __attribute__ ((regparm(3))) char3(char *ptr) { char buf[0x8000]; // call __alloca does destroy some register (and ptr) printf("ptr = %08p gptr = %08p\n", ptr, gptr); buf[0] = '1'; } void char4(char *ptr) { char buf[0x8000]; printf("ptr = %08p gptr = %08p\n", ptr, gptr); buf[0] = '2'; } int main(int argc, char **argv[]) { char buf[100]; gptr = buf; char1(buf); char2(buf); char3(buf); char4(buf); return 0; } ptr = 0253FDB0 gptr = 0253FDB0 ptr = 0253FDB0 gptr = 0253FDB0 ptr = 00401205 gptr = 0253FDB0 << ??? ptr = 0253FDB0 gptr = 0253FDB0 one idea is.. | push 32768 | call __allocapop e_cygwin.bat is... | @echo off | apath -1 D:\CC\cygnus\cygwin-b20\H-i586-cygwin32\bin | SET HOME=D:\CC\CYGNUS\USR | SET SHELL=D:\CC\CYGNUS\BIN\SH.EXE | SET ROOT=D:\ | SET MAKE_MODE=UNIX | SET CYGWIN=notty binmode notitle nostrip_title glob envcache | SET CYGINCLUDE=d:\cc\cygnus\cygwin~1\h-i586~1\i586-c~1\include | SET CYGLIB=d:\cc\cygnus\cygwin~1\h-i586~1\i586-c~1\lib | SET GCC_EXEC_PREFIX=D:\cc\cygnus\cygwin-b20\H-5386-cygwin32\lib\gcc-lib\ | SET TCL_LIBRARY=d:/cc/cygnus/cygwin-b20/tcl/lib/tcl7.6 | SET GDBTK_LIBRARY=d:/cc/cygnus/cygwin-b20/share/gdbtcl -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com