www.delorie.com/archives/browse.cgi | search |
Hi! Friday, 12 July, 2002 egor duda deo AT logos-m DOT ru wrote: ed> Friday, 12 July, 2002 Wolfgang Hesseler qv AT multimediaware DOT com wrote: >>> >> 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. WH>> But how does this help? The other static variables still use WH>> the .lcomm directive. Hmm. I should have checked first. I'm wrong. Variables declared as .lcomm _are_ put into .bss section in .o file. ed> The problem seems to be that you can't reference to static variable ed> from within the module. [...] Egor. mailto:deo AT logos-m DOT ru ICQ 5165414 FidoNet 2:5020/496.19 -- 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/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |