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 X-pair-Authenticated: 217.4.27.21 Message-ID: <3D2EC616.19DA@multimediaware.com> Date: Fri, 12 Jul 2002 14:05:42 +0200 From: Wolfgang Hesseler MIME-Version: 1.0 To: egor duda Subject: Re: Bug: BSS segment in COFF files References: <3D2EA2E2 DOT 2881 AT multimediaware DOT com> <8772121004 DOT 20020712145134 AT logos-m DOT ru> <3D2EBFC2 DOT 6973 AT multimediaware DOT com> <9975891676 DOT 20020712155424 AT logos-m DOT ru> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit > >> If you run gcc with '--save-temps' flag, and then look into > >> 'yourfile.s' file, you'll see that uninitialized data is tagged as > >> "common" (using '.comm' directive) and is put to bss only by linker > >> when final executable is created. To turn this feature off, use > >> '-fno-common' flag when compiling your object file. > > WH> This works, however only if the variables are non-static. If a > WH> variable is static the .comm directive is still used. > > .lcomm, to be precise. > > That's easy to work around. Just add 'int dummy;' to your source > file compiled with gcc, and you have 4 bytes in bss section. But how does this help? The other static variables still use the .lcomm directive. -- 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/