<div dir="ltr">Hi Rafael,<br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 8, 2017 at 2:36 PM, Rafael Espindola via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
@@ -1208,8 +1204,10 @@ template <class ELFT> void Writer<ELFT>:<br>
   auto Define = [&](StringRef Start, StringRef End, OutputSection *OS) {<br>
     // These symbols resolve to the image base if the section does not exist.<br>
     // A special value -1 indicates end of the section.<br>
-    addOptionalSynthetic<ELFT>(<wbr>Start, OS, 0);<br>
-    addOptionalSynthetic<ELFT>(<wbr>End, OS, OS ? -1 : 0);<br>
+    if (!OS && Config->pic())<br>
+      OS = Out::ElfHeader;<br>
+    addOptionalRegular<ELFT>(<wbr>Start, OS, 0);<br>
+    addOptionalRegular<ELFT>(End, OS, OS ? -1 : 0);<br>
   };<br>
<br>
   Define("__preinit_array_start"<wbr>, "__preinit_array_end", Out::PreinitArray);<br></blockquote><div><br></div><div>I think this will cause the _end symbols to be assigned the address of the end of the ELF header if the section does not exist.</div><div><br></div><div>Sent <a href="https://reviews.llvm.org/D30843">https://reviews.llvm.org/D30843</a> with a fix.</div><div><br></div><div>Thanks,</div></div>-- <br><div class="gmail_signature"><div dir="ltr">-- <div>Peter</div></div></div>
</div></div>