$ cat sections.c
extern void f( char const* );
__attribute__(( section( ".text.g" ))) void g( void ) { f( "test" ); }
__attribute__(( section( ".text.h" ))) void h( void ) { f( "test" ); }

$ /opt/gcc43/bin/gcc -S -Os -fno-merge-constants sections.c

        .section        .rodata
.LC0:   .string "test"
        (...)
        .section        .text.h,"ax",@progbits
h:      movl    $.LC0, %edi
        jmp     f
        (...)
        .section        .text.g,"ax",@progbits
g:      movl    $.LC0, %edi
        jmp     f


-- 
           Summary: -fno-merge-constants doesn't work.
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pluto at agmk dot net
  GCC host triplet: x86_64-gnu-linux


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

Reply via email to