<table><tr><td style="">ruiu added inline comments.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://reviews.llvm.org/D25066" rel="noreferrer">View Revision</a></tr></table><br /><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://reviews.llvm.org/D25066#inline-215709" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">InputFiles.cpp:181-184</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">  <span style="color: #74777d">// In case of relocatable object generation we do not update any relocation</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">  <span style="color: #74777d">// addends, but as a result of the merging section's size might change</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">  <span style="color: #74777d">// and so we get a relocation points to out of the section border.</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">  <span style="color: #74777d">// To prevent this do not merge sections.</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">The thing that a relocation could point to a location beyond the end of a section is a bug if we don't update a relocation, and that is fixable. So I found this explanation a bit confusing. It is just that we don't merge strings as a design decision because (1) it makes  code simpler and (2) the final link will merge strings anyway so we don't lose almost nothing by not doing this at the moment. Could you clarify these points?</p></div></div></div></div><br /><div><strong><strong>Repository:</strong></strong><div><div>rL LLVM</div></div></div><br /><div><a href="https://reviews.llvm.org/D25066" rel="noreferrer">https://reviews.llvm.org/D25066</a></div><br />