[LLVMbugs] [Bug 15090] New: Code snippet with weak alias, __attribute__ etc failing on dragonegg

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Jan 28 08:45:24 PST 2013


             Bug #: 15090
           Summary: Code snippet with weak alias, __attribute__  etc
                    failing on dragonegg
           Product: dragonegg
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: New Bugs
        AssignedTo: baldrick at free.fr
        ReportedBy: abyrupus at gmail.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

The following code runs well with gcc but fails with dragonegg plugin.


extern int *testfunc();

extern __typeof (testfunc) testfunc __asm__ ("" "__GI_testfunc") __attribute__
((visibility ("hidden")));

extern __typeof(testfunc) __testfunc;

extern __typeof (__testfunc) __testfunc __asm__ ("" "__GI___testfunc")
__attribute__ ((visibility ("hidden")));

int *__testfunc()
         return 0;

extern __typeof (__testfunc) __EI___testfunc __asm__("" "__testfunc");

extern __typeof (__testfunc) __EI___testfunc __attribute__((alias (""
extern __typeof(__testfunc) testfunc  __attribute__ ((weak, alias

gcc -S test.c gives
 .file    "test.c"
    .globl    __GI___testfunc
    .hidden    __GI___testfunc
    .type    __GI___testfunc, @function
    pushq    %rbp
    .cfi_def_cfa_offset 16
    .cfi_offset 6, -16
    movq    %rsp, %rbp
    .cfi_def_cfa_register 6
    movl    $0, %eax
    popq    %rbp
    .cfi_def_cfa 7, 8
    .size    __GI___testfunc, .-__GI___testfunc
    .globl    __testfunc
    .set    __testfunc,__GI___testfunc
    .weak    __GI_testfunc
    .hidden    __GI_testfunc
    .set    __GI_testfunc,__testfunc
    .ident    "GCC: (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3"
    .section    .note.GNU-stack,"", at progbits

gcc -S test.c -fplugin=dragonegg.so gives

test.c:17:29: error: ‘*__GI_testfunc’ aliased to undefined symbol ‘__testfunc’

Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

More information about the llvm-bugs mailing list