<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/125332>125332</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Merge lld/ELF commits into release/20.x
</td>
</tr>
<tr>
<th>Labels</th>
<td>
release:backport
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
MaskRay
</td>
</tr>
</table>
<pre>
/cherry-pick 45f538ecba1a51768002a5bc0c194b5af4cd9c27 d6fa74ab3d4cc77005836e72a2d6fe222bab4c59 994cea3f0a2d0caf4d66321ad5a06ab330144d89
There are a few commits that refactor the internal representations of isExported/isPreemptible. The current release/20.x contains a subset of refactoring commits and has a behavior difference/regression: -pie --export-dynamic without an input DSO does not export symbols. Cherry pick the rest to finish the refactoring and fix the regression.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxcktFu3CwQhZ8G34zWwoDX6wtf7P8nvmrUqs0LDDCsaWywACfZt6-83SRShRDSaDh8wzmYs78EooG1_7H2ocKtTDENT5hffuK10tFeByZGM1FK18PqzQuo1rXyREZjg23THU-cC2y14abplW7RKWN7IzqwR4edQi2tMqbrOG9P8kidQGGPjoQQGrUybQ99rwyhdByF5QadssejFA3aFvkRtZS8UcqeesbPjJ-fJ0oEuG9w9AYmLosvGcqEBRI5NCUmKBOBD4VSwBkSrYkyhYLFx5AhOvD58X2NqZBlYvT5RyJa1uL1TDU8TwRmS4nCLjgTZmJiFLx-BxNDQR8yIORNZyq71sejPlw-aTBYmHDv0zThq48JrHeOEgWzqyW6JMrZx8DkGQ6rJzgc6IZ0sNeAizfw5ssUtwIYwId1K_Dw6zvYSBlCLPC3GfJ10XHONfx_8whuHu3TJ8oFSgTng8_TvfQFugM6_36vf8DUlR2k7WWPFQ1NJ0_y1KpGVNMgTa862XRG9r3sjFJdvy_bNIpL5drKD4KLlgvecNXyRtTKKWscOe46bLQVTHFa0M_1PL8udUyXyue80dCIVkpRzahpzrcgCvHx7fKs0bzsgzIh9oCmYb990NslM8Vnn0v-0iu-zDQ8UboQzPPu7OO38dMSH0r8x89qS_MwlbJmJs9MjEyMF1-mTdcmLkyMu_L9OKwp_iZTbnHJG2Umxjv56yD-BAAA__-WrRVm">