[LLVMdev] Code compiling in gcc but not llvm

abhirup dutta abyrupus at gmail.com
Sat Jan 26 17:36:14 PST 2013


$ gcc -S test.c

$ cat test.s

    .file    "test.c"
    .text
    .globl    __GI___testfunc
    .hidden    __GI___testfunc
    .type    __GI___testfunc, @function
__GI___testfunc:
.LFB0:
    .cfi_startproc
    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
    ret
    .cfi_endproc
.LFE0:
    .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

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

I am trying to compile this file using llvm as backend (dragonegg)


On Fri, Jan 25, 2013 at 10:45 PM, abhirup dutta <abyrupus at gmail.com> wrote:

> Hi,
>
> This is my first post, sorry if not in the right format.
>
> I am stuck at a place where I have a code fragment that runs in normal gcc
> but fails when I give -fplugin=dragonegg.so
>
> 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 (""
> "__GI___testfunc")));
> extern __typeof(__testfunc) testfunc  __attribute__ ((weak, alias
> ("__testfunc")));
> =================================================
>
> Thanks
>



-- 
Abhirup Dutta,
MTS, CPE team,
NetApp Sys Pvt Ltd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130126/5f22f7f7/attachment.html>


More information about the llvm-dev mailing list