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ägglund
Cheers,
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
Seemingly Similar 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