[llvm-dev] (Thin)LTO llvm build

Xinliang David Li via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 3 15:53:37 PDT 2016


What is the linker command line buidling liblldb.so? is libgcc.a passed in?

David

On Mon, Oct 3, 2016 at 3:52 PM, Xinliang David Li <xinliangli at gmail.com>
wrote:

> In  uint64_t
> RTDyldMemoryManager::getSymbolAddressInProcess(const std::string &Name)  {
>
> there is reference to morestack:
>
>
>
> #if defined(__i386__) || defined(__x86_64__)
>   // __morestack lives in libgcc, a static library.
>   if (&__morestack && Name == "__morestack")
>     return (uint64_t)&__morestack;
> #endif
> #endif // __linux__ && __GLIBC__
>
>
> On Mon, Oct 3, 2016 at 3:32 PM, Teresa Johnson <tejohnson at google.com>
> wrote:
>
>>
>>
>> On Mon, Oct 3, 2016 at 2:59 PM, Xinliang David Li <xinliangli at gmail.com>
>> wrote:
>>
>>> Is -fsplit-stack option used anywhere? My wild guess is that with
>>> ld.bfd, the thinLTO link for the DSO does not bring in morestack.o from
>>> libgcc.a, but the hidden symbol is defined in lldb binary.
>>>
>>
>> AFAICT, no - I had done "ninja -v" so I have all of the intermediate
>> build commands, and it doesn't show up in that.
>>
>> I'll have to do some more digging to figure out why it is referenced from
>> liblldb.so in the ld.bfd case and not when using ld.gold
>>
>> Teresa
>>
>> David
>>>
>>> On Mon, Oct 3, 2016 at 1:54 PM, Teresa Johnson via llvm-dev <
>>> llvm-dev at lists.llvm.org> wrote:
>>>
>>>> Aha - finally reproduced! The difference is using ld.bfd not ld.gold.
>>>> With that I get the same failure (using 3.9 to build 3.9 sources):
>>>>
>>>> /usr/local/google/home/tejohnson/binutils_build/install/bin/ld:
>>>> bin/lldb-3.9.1: hidden symbol `__morestack' in
>>>> /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc.a(morestack.o) is referenced
>>>> by DSO
>>>> /usr/local/google/home/tejohnson/binutils_build/install/bin/ld: final
>>>> link failed: Bad value
>>>> clang-3.9: error: linker command failed with exit code 1 (use -v to see
>>>> invocation)
>>>> ninja: build stopped: subcommand failed.
>>>>
>>>> I am not sure what the official support story is for LLVMgold.so and
>>>> ld.bfd. As mentioned earlier, the LLVM site indicates it should use the
>>>> gold linker. Can you use that while I try to figure out whether this is
>>>> something that should be supported/working?
>>>>
>>>> Thanks,
>>>> Teresa
>>>>
>>>> On Mon, Oct 3, 2016 at 9:56 AM, Carsten Mattner <
>>>> carstenmattner at gmail.com> wrote:
>>>>
>>>>> On Mon, Oct 3, 2016 at 3:50 PM, Teresa Johnson <tejohnson at google.com>
>>>>> wrote:
>>>>> >
>>>>> > On Sun, Oct 2, 2016 at 4:02 AM, Carsten Mattner <
>>>>> carstenmattner at gmail.com> wrote:
>>>>> >>
>>>>> >> On Sun, Oct 2, 2016 at 6:41 AM, Teresa Johnson <
>>>>> tejohnson at google.com> wrote:
>>>>> > >
>>>>> > > > I use trunk, but it depends on how close to the bleeding edge you
>>>>> > > > are comfortable with. But like I said, I also tried bootstrapping
>>>>> > > > with 3.9 (both trunk as well as 3.9 sources) and couldn't
>>>>> reproduce.
>>>>> >>
>>>>> >> Hmm, so you're saying neither fails for you, right?
>>>>> >
>>>>> > Yes
>>>>>
>>>>> Okay. Do you mind focusing on the 3.9 branch? It's less of a moving
>>>>> target
>>>>> and lends itself more to figuring out what's failing for me.
>>>>>
>>>>> As soon as I get around to it, I'll send you my full configure and
>>>>> build
>>>>> steps as a shell script. Need to streamline it.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Teresa Johnson |  Software Engineer |  tejohnson at google.com |
>>>> 408-460-2413
>>>>
>>>> _______________________________________________
>>>> LLVM Developers mailing list
>>>> llvm-dev at lists.llvm.org
>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>>
>>>>
>>>
>>
>>
>> --
>> Teresa Johnson |  Software Engineer |  tejohnson at google.com |
>> 408-460-2413
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161003/0868ea22/attachment.html>


More information about the llvm-dev mailing list