This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: Bug: BSS segment in COFF files
Hi!
Friday, 12 July, 2002 egor duda deo@logos-m.ru wrote:
ed> Friday, 12 July, 2002 Wolfgang Hesseler qv@multimediaware.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@logos-m.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/