[llvm] r286930 - [ORC] Work around an apparent modules/linkage issue.

Manman Ren via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 15 11:10:00 PST 2016


The self host modules bot was broken, seems to be related to variadic
templates.

Manman

URL:
http://lab.llvm.org:8080/green/job/clang-stage2-cmake-modulesRDA_build/1625/consoleFull#-1232730284dd1929ea-7054-4089-b7ef-4624c3781fa4

Problem:
Undefined symbols for architecture x86_64:

"llvm::orc::rpc::Function<llvm::orc::rpc::detail::RPCBase<llvm::orc::rpc::SingleThreadedRPC<llvm::orc::rpc::RawByteChannel,
unsigned int, unsigned int>, llvm::orc::rpc::RawByteChannel, unsigned int,
unsigned int>::OrcRPCNegotiate, unsigned int (std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >)>::Name",
referenced from:

llvm::orc::rpc::Function<llvm::orc::rpc::detail::RPCBase<llvm::orc::rpc::SingleThreadedRPC<llvm::orc::rpc::RawByteChannel,
unsigned int, unsigned int>, llvm::orc::rpc::RawByteChannel, unsigned int,
unsigned int>::OrcRPCNegotiate, unsigned int (std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >)>::getPrototype()
in lli.cpp.o

"llvm::orc::rpc::Function<llvm::orc::rpc::detail::RPCBase<llvm::orc::rpc::SingleThreadedRPC<llvm::orc::rpc::RawByteChannel,
unsigned int, unsigned int>, llvm::orc::rpc::RawByteChannel, unsigned int,
unsigned int>::OrcRPCNegotiate, unsigned int (std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >)>::NameMutex",
referenced from:

llvm::orc::rpc::Function<llvm::orc::rpc::detail::RPCBase<llvm::orc::rpc::SingleThreadedRPC<llvm::orc::rpc::RawByteChannel,
unsigned int, unsigned int>, llvm::orc::rpc::RawByteChannel, unsigned int,
unsigned int>::OrcRPCNegotiate, unsigned int (std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >)>::getPrototype()
in lli.cpp.o

"llvm::orc::rpc::Function<llvm::orc::rpc::detail::RPCBase<llvm::orc::rpc::SingleThreadedRPC<llvm::orc::rpc::RawByteChannel,
unsigned int, unsigned int>, llvm::orc::rpc::RawByteChannel, unsigned int,
unsigned int>::OrcRPCResponse, void ()>::Name", referenced from:

llvm::orc::rpc::Function<llvm::orc::rpc::detail::RPCBase<llvm::orc::rpc::SingleThreadedRPC<llvm::orc::rpc::RawByteChannel,
unsigned int, unsigned int>, llvm::orc::rpc::RawByteChannel, unsigned int,
unsigned int>::OrcRPCResponse, void ()>::getPrototype() in lli.cpp.o

"llvm::orc::rpc::Function<llvm::orc::rpc::detail::RPCBase<llvm::orc::rpc::SingleThreadedRPC<llvm::orc::rpc::RawByteChannel,
unsigned int, unsigned int>, llvm::orc::rpc::RawByteChannel, unsigned int,
unsigned int>::OrcRPCResponse, void ()>::NameMutex", referenced from:

llvm::orc::rpc::Function<llvm::orc::rpc::detail::RPCBase<llvm::orc::rpc::SingleThreadedRPC<llvm::orc::rpc::RawByteChannel,
unsigned int, unsigned int>, llvm::orc::rpc::RawByteChannel, unsigned int,
unsigned int>::OrcRPCResponse, void ()>::getPrototype() in lli.cpp.o
ld: symbol(s) not found for architecture x86_64

On Tue, Nov 15, 2016 at 10:45 AM, Richard Smith via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> On Mon, Nov 14, 2016 at 6:14 PM, Lang Hames via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
>> Author: lhames
>> Date: Mon Nov 14 20:14:57 2016
>> New Revision: 286930
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=286930&view=rev
>> Log:
>> [ORC] Work around an apparent modules/linkage issue.
>>
>> <rdar://problem/29247092>
>>
>>
>> Modified:
>>     llvm/trunk/include/llvm/module.modulemap
>>
>> Modified: llvm/trunk/include/llvm/module.modulemap
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/
>> module.modulemap?rev=286930&r1=286929&r2=286930&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/include/llvm/module.modulemap (original)
>> +++ llvm/trunk/include/llvm/module.modulemap Mon Nov 14 20:14:57 2016
>> @@ -113,6 +113,14 @@ module LLVM_ExecutionEngine {
>>    exclude header "ExecutionEngine/MCJIT.h"
>>    exclude header "ExecutionEngine/Interpreter.h"
>>    exclude header "ExecutionEngine/OrcMCJITReplacement.h"
>> +
>> +  // FIXME: These exclude directives were added as a workaround for
>> +  //        <rdar://problem/29247092> and should be removed once it is
>> fixed.
>>
>
> Please can you provide an explanation here that non-Apple folks can read?
>
>
>> +  exclude header "ExecutionEngine/Orc/RawByteChannel.h"
>> +  exclude header "ExecutionEngine/Orc/RPCUtils.h"
>> +  exclude header "ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h"
>> +  exclude header "ExecutionEngine/Orc/OrcRemoteTargetClient.h"
>> +  exclude header "ExecutionEngine/Orc/OrcRemoteTargetServer.h"
>>  }
>>
>>  module LLVM_Pass {
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161115/e24d4682/attachment.html>


More information about the llvm-commits mailing list