Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Mon, 23 Dec 2002 23:51:42 +0100 Message-ID: <3E00A20100008131@mail-8.tiscalinet.it> From: fabrizio_ge-wolit AT tiscali DOT it Subject: Strange behaviour of gcc To: cygwin AT cygwin DOT com MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id gBNMqSh11775 Can somebody explain why gcc (version 3.2 20020927) on Cygwin does this? Type this simple C program void func(void){ struct {unsigned char data[3985];}var; } and compile with gcc -c filename.c Then type nm filename.o The output is 00000000 b .bss 00000000 d .data 00000000 t .text U __alloca 00000000 T _func Why on earth is the symbol __alloca doing there? Just change the program to void func(void){ struct {unsigned char data[3984];}var; } and compile it. This time, nm's output is 00000000 b .bss 00000000 d .data 00000000 t .text 00000000 T _func as it should. Is there a reason why the symbol __alloca appears? __________________________________________________________________ Tiscali ADSL. Scopri la fantastica promozione di Natale: tutto Gratis fino al 9 gennaio! Abbonati ora: prima ti abboni, pił risparmi! http://point.tiscali.it/adsl/index.shtml -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/