This is the mail archive of the crossgcc@sourceware.cygnus.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more infromation.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Date: Thu, 06 Apr 2000 12:29:38 -0700 From: Peter Popov <ppopov@redcreek.com> What's the difference between the COMMON and bss/sbss sections? Both refer to uninitialized data which must be zeroed out, so why have a COMMON section -- shouldn't those variables be part of the bss section? This is a powerpc-eabi, linux hosted cross compiler I'm using (gcc-2.95.2, binutils 2.9.1). The difference is that the COMMON section is a dummy section used to hold common variables in input files, whereas the bss/sbss sections hold uninitialized variables. It is legal to have an definition for a common variable in another object file (see the documentation for the --warn-common option in the GNU linker). If you have a definition for a bss/sbss variable in another object file, the linker will report a multiple definition error. If there is no definition for a common variable, then it should normally be put in the bss/sbss section of the output file. You can not have a common variable in an output file. Ian ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |