Sent from my iPhone

On Sep 13, 2008, at 2:04 AM, "nm127 at freemail dot hu" <[EMAIL PROTECTED] > wrote:

With the __attribute__ __section__ it is possible to allocate variables to
different section than the default (
http://gcc.gnu.org/onlinedocs/gcc/Variable-Attributes.html ). In case of the following source code I would achieve to allocate both "foo bar" and "Hello
World!" strings into the .xxx_section section:

char x[] __attribute__ ((__section__(".xxx_section"))) = "foo bar";
char* y __attribute__ ((__section__(".xxx_section"))) = "Hello World!";

int main() {
       return 0;
}

However, with gcc version 4.3.1 (Debian 4.3.1-9) only the "foo bar" string is
stored in .xxx_section:

$ objdump -s a.out

a.out:     file format elf32-i386
[...]
Contents of section .rodata:
8048448 03000000 01000200 48656c6c 6f20576f  ........Hello Wo
8048458 726c6421 00                          rld!.
[...]
Contents of section .xxx_section:
8049568 666f6f20 62617200 50840408           foo bar.P...


--
Summary: attribute section is not working with constant strings
          Product: gcc
          Version: unknown
           Status: UNCONFIRMED
         Severity: normal
         Priority: P3
        Component: c
       AssignedTo: unassigned at gcc dot gnu dot org
       ReportedBy: nm127 at freemail dot hu
GCC build triplet: 4.3.1
GCC target triplet: i486-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37506


Reply via email to