[cfe-dev] gnutools on ARM force linking with '--dynamic-linker'

Kjell Braden kjell.braden at cased.de
Tue Jul 21 01:19:04 PDT 2015


Hi,

  I'm trying to compile a loader and link it with gnu ld, and I'm trying 
to get clang not to pass '--dynamic-linker'. However, 
lib/Driver/Tools.cpp:8075 will always pass this, if the binary is 
{ARM,Thumb}{,eb}:

>   if (Arch == llvm::Triple::arm || Arch == llvm::Triple::armeb ||
>       Arch == llvm::Triple::thumb || Arch == llvm::Triple::thumbeb ||
>       (!Args.hasArg(options::OPT_static) &&
>        !Args.hasArg(options::OPT_shared))) {
>     CmdArgs.push_back("-dynamic-linker");
>     CmdArgs.push_back(Args.MakeArgString(
>         D.DyldPrefix + getLinuxDynamicLinker(Args, ToolChain)));
>   }

  Why does it do this? How do I go about linking a dynamic linker that 
shouldn't have another dynamic linker with gnutools through clang?

Best
Kjell



More information about the cfe-dev mailing list