<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/110095>110095</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [LLD] [X86_64] Adjust symbol value/size after optimize basic block jump
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          ywgrit
      </td>
    </tr>
</table>

<pre>
    After basic block jump optimization on X86_64, symbol size may need to be adjusted.
Is the `def->value <= OldSize`  should be `def->value <= NewSize`?

```CPP
static void fixSymbolsAfterShrinking() { 
   // ... 
   if (def->value + def->size > NewSize && def->value <= OldSize &&
          def->value + def->size <= OldSize) {
 LLVM_DEBUG(llvm::dbgs()
                   << "Shrinking symbol " << Sym->getName() << " from "
                   << def->size << " to " << def->size - inputSec->bytesDropped
                   << " bytes\n");
        def->size -= inputSec->bytesDropped;
      }
 //...
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMVFtvmzAU_jWHl6MgeswlPPCQhGaalHWVok17qwx2wC1ghE269NdPXJI2q7rOigIcn9v3-fPhxqiikTKBYA1B6vDelrpLTs9Fp6yTaXFKVgcrO8y4UTlmlc6f8LGvW9StVbV64VbpBnWDv5bhQ-gDbdCc6kxXaNSLxJqfsJFSoNWYSeTisTdWChe8FLzVV4O2lAihJ-RhAez2yKteIrANsBS_V2KvXiSEHqIpdV-JIcUHznfyeXYGtp2yz_-hN_029_eTxVhuVY5HrQQe1O_92K4ZYe7LTjVPqimAlkAxQrTGKQgRgbZAW3Rd99WmDgi0vG6I1jgbRgqA3Z67Q6AQKMR_oJ1dLgXm9UmFK76mvucMu93Pbw_p7frHF6BlVR1rYCtgK5EVZsL4d6XLGrNuEIgurJyPFojO2_tTPfRRSHvHa3mm7RKKh07Xw8tnZd7hmcKtflvsrdMCVdP2di_zwZSdrDRpp9tWiv9AhKM_BJtmaI1iYOvrqKtKA7kfFruOhCidPye1uO4s9cvGRY-OSJiIWcwdmdxEFDGfMT9yyiTyl4JyP6BDHOd5Hi5ZHImM4lD6y5xHB0cl5JHvxRR6MQv8yPU5RcSEF8fczyQJ8D1Zc1W5w4G7uiscZUwvk5sbz4sDp-KZrMz5ynfJ4LXI-sKA71XKWPMaZ5WtxuGw26UQpAjBer7oQYqr8TafRTFqE2g7csbHoTHPCPluejh9VyWlta0Z5DgyVShb9pmb6xpoOwp1eizaTj_K3AJtRxAGaDvjOCb0JwAA___T6Vfr">