Patrik Hägglund H
2013-Jun-12 07:48 UTC
[LLVMdev] [PATCH] gcc-4.8.1 -flto, error for visibility of LLVMX86CompilationCallback2?
Thanks, now it links. If nobody objects, I will commit the following patch: diff --git a/lib/Target/X86/X86JITInfo.cpp b/lib/Target/X86/X86JITInfo.cpp index 44d8cce..8acc220 100644 --- a/lib/Target/X86/X86JITInfo.cpp +++ b/lib/Target/X86/X86JITInfo.cpp @@ -339,6 +339,8 @@ extern "C" { /// must locate the start of the stub or call site and pass it into the JIT /// compiler function. extern "C" { +LLVM_ATTRIBUTE_USED // Fix gcc -flto builds. gcc's LTO (as of 4.8.1) don't sees + // references from inline asm. LLVM_LIBRARY_VISIBILITY void LLVMX86CompilationCallback2(intptr_t *StackPtr, intptr_t RetAddr) { intptr_t *RetAddrLoc = &StackPtr[1]; (However, I still can't link unittest programs, because of the use of anchor methods in CommandLine. I will take a look at it shortly.) /Patrik Hägglund -----Original Message----- From: Rafael Espíndola [mailto:rafael.espindola at gmail.com] Sent: den 10 juni 2013 15:20 To: Patrik Hägglund H Cc: llvmdev at cs.uiuc.edu Subject: Re: gcc-4.8.1 -flto, error for visibility of LLVMX86CompilationCallback2? On 10 June 2013 08:45, Patrik Hägglund H <patrik.h.hagglund at ericsson.com> wrote:> I tried to compile LLVM with gcc-4.8.1 -flto. I got the following error, when linking lli, llc, opt, or libLTO.so: > > `LLVMX86CompilationCallback2' referenced in section `.text' of /tmp/cclv7BYB.ltrans0.ltrans.o: defined in discarded section `.text' of X86JITInfo.o (symbol from plugin) > collect2: error: ld returned 1 exit status > > Removing the LLVM_LIBRARY_VISIBILITY attribute for LLVMX86CompilationCallback2 make the link pass for lli, llc, and opt, but not for libLTO.so. > > Any ideas why this happens?I don't think gcc's LTO sees references from inline asm. Does adding __attribute__((used)) work?> /Patrik HägglundCheers, Rafael
Duncan Sands
2013-Jun-12 08:03 UTC
[LLVMdev] [PATCH] gcc-4.8.1 -flto, error for visibility of LLVMX86CompilationCallback2?
Hi Patrik, On 12/06/13 09:48, Patrik Hägglund H wrote:> Thanks, now it links. > > If nobody objects, I will commit the following patch: > > diff --git a/lib/Target/X86/X86JITInfo.cpp b/lib/Target/X86/X86JITInfo.cpp > index 44d8cce..8acc220 100644 > --- a/lib/Target/X86/X86JITInfo.cpp > +++ b/lib/Target/X86/X86JITInfo.cpp > @@ -339,6 +339,8 @@ extern "C" { > /// must locate the start of the stub or call site and pass it into the JIT > /// compiler function. > extern "C" { > +LLVM_ATTRIBUTE_USED // Fix gcc -flto builds. gcc's LTO (as of 4.8.1) don't sees > + // references from inline asm.clang also doesn't see references from inline asm... I suggest you say: LLVM_ATTRIBUTE_USED // referenced from inline asm. Ciao, Duncan.
Patrik Hägglund H
2013-Jun-12 08:48 UTC
[LLVMdev] [PATCH] gcc-4.8.1 -flto, error for visibility of LLVMX86CompilationCallback2?
Thanks. Commited as r183824. /Patrik Hägglund -----Original Message----- From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Duncan Sands Sent: den 12 juni 2013 10:03 To: llvmdev at cs.uiuc.edu Subject: Re: [LLVMdev] [PATCH] gcc-4.8.1 -flto, error for visibility of LLVMX86CompilationCallback2? Hi Patrik, On 12/06/13 09:48, Patrik Hägglund H wrote:> Thanks, now it links. > > If nobody objects, I will commit the following patch: > > diff --git a/lib/Target/X86/X86JITInfo.cpp b/lib/Target/X86/X86JITInfo.cpp > index 44d8cce..8acc220 100644 > --- a/lib/Target/X86/X86JITInfo.cpp > +++ b/lib/Target/X86/X86JITInfo.cpp > @@ -339,6 +339,8 @@ extern "C" { > /// must locate the start of the stub or call site and pass it into the JIT > /// compiler function. > extern "C" { > +LLVM_ATTRIBUTE_USED // Fix gcc -flto builds. gcc's LTO (as of 4.8.1) don't sees > + // references from inline asm.clang also doesn't see references from inline asm... I suggest you say: LLVM_ATTRIBUTE_USED // referenced from inline asm. Ciao, Duncan. _______________________________________________ LLVM Developers mailing list LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Possibly Parallel Threads
- [LLVMdev] [PATCH] gcc-4.8.1 -flto, error for visibility of LLVMX86CompilationCallback2?
- [LLVMdev] gcc-4.8.1 -flto, error for visibility of LLVMX86CompilationCallback2?
- [LLVMdev] VS2005 patch
- [LLVMdev] LLVM on Windows MSVC 10
- [LLVMdev] LLVM on Windows MSVC 10