<div dir="ltr">Thanks for the quick response. I was able fix the problem by generating the target machine like llc does with:<div><br></div><div>    TargetRegistry::lookupTarget(<...>)-><span style="color:rgb(0,0,0)">createTargetMachine(<...>)</span></div>
<div><span style="color:rgb(0,0,0)"><br></span></div><div><span style="color:rgb(0,0,0)">Working backwards from there, it became apparent that the cause of the issue was EngineBuilder's default code model was </span><font color="#000000">CodeModel::JITDefault but what I needed for static code generation was </font><span style="color:rgb(0,0,0)">CodeModel::Default.</span></div>
<div><span style="color:rgb(0,0,0)"><br></span></div><div><font color="#000000">Is there any documentation on CodeModel? I couldn't find any in the usual places.</font></div><div><font color="#000000"><br></font></div>
<div><font color="#000000">Cheers,</font></div><div><font color="#000000">Josh</font></div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jan 8, 2014 at 3:22 AM, Tim Northover <span dir="ltr"><<a href="mailto:t.p.northover@gmail.com" target="_blank">t.p.northover@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">> This novice developer thought that the solution would be:<br>
><br>
>     engineBuilder.setRelocationModel(Reloc::PIC_);<br>
<br>
</div>Hmm. That's exactly what I'd expect too. I don't suppose you're<br>
calling setRelocationModel after selectTarget or something odd like<br>
that?<br>
<br>
The only other wrinkle I see is that COFF targets (only Windows, I<br>
believe) don't seem to support PIC yet (from a very cursory reading of<br>
X86TargetMachine.cpp). You seem to be using ld so this is a long shot,<br>
but are you trying to use a COFF triple?<br>
<br>
Another possibility (which I assume you've checked) is that the<br>
absolute relocations might not be coming from a bog-standard<br>
addressing situation that -fPIC would fix. I'd take a quick look at<br>
the exact section and function ld is telling you about to make sure<br>
there's nothing odd going on there.<br>
<br>
If neither of those apply, I'd start delving into a debugger: put a<br>
break-point on X86TargetMachine's constructor and see where the value<br>
for the Reloc::Model comes from (and whether it is actually PIC).<br>
<br>
Cheers.<br>
<span class="HOEnZb"><font color="#888888"><br>
Tim.<br>
</font></span></blockquote></div><br></div>