This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Clarification on section variable attribute usage [try #2]
- From: Franck Bui-Huu <vagabon dot xyz at gmail dot com>
- To: gcc at gcc dot gnu dot org, gcc-help at gcc dot gnu dot org
- Date: Mon, 10 Dec 2007 21:58:33 +0100
- Subject: Clarification on section variable attribute usage [try #2]
[ example updated ]
Hi,
Since at least 3.4, the GCC manual says:
Use the `section' attribute with an _initialized_ definition of a
_global_ variable, as shown in the example. GCC issues a warning
and otherwise ignores the `section' attribute in uninitialized
variable declarations.
but this doesn't seem correct.
For example compiling the following tiny program:
int foo __attribute__ ((__section__ (".init.data")));
int main(int argc, char **argv)
{
foo = 4;
return 0;
}
produces no warning and the section attribute is not ignored at all:
$ readelf -S a.out | grep -A1 init.data
[24] .init.data PROGBITS 000000000060080c 0000080c
0000000000000004 0000000000000000 WA 0 0 4
This is with 4.1.2 from fedora, but I guess other GCC give the same result.
Could anybody clarify this point ?
Thanks,
Franck