This is the mail archive of the
mailing list for the GCC project.
Re: Minimal GCC/Linux shared lib + EH bug example
"David Abrahams" <firstname.lastname@example.org> writes:
> > .comm is only relevant for object files (relocatable objects):
> By this do you mean what we normally use "*.o" names for?
> From looking at the ELF spec, it wasn't clear if "object" meant
> something else, e.g. "*.so".
There are four kinds of object files in ELF (see e_type field):
- relocatable objects (your usual .o files);
- executable files
- shared object files (.so, aka "shared libraries", aka "DSO" =
"dynamic shared object")
- core files
I believe there is a fifth kind also, archives (aka static libraries),
but that may not be a ELF object.
> So, for a symbol in a C++ shared library composed of a single object file,
> even .comm would not be needed?
Exactly, but you would need to express allocation in the .bss section
by different means.