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

    <tr>
        <th>Summary</th>
        <td>
            [LLD][ARM] Link fails when using `-frwpi` and debug symbols
        </td>
    </tr>

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

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

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

<pre>
    Tested from clang-16 to clang-18 (x86-64) cross-compiling to arm-none-eabi, please refer to https://godbolt.org/z/GEf89sqs3

test code is:
```
int val = 42;

int test(int num) {
    return val * num;
}
```

Clang command line is:
`
--target=arm-none-none-eabi
-g
-O0
-frwpi
-v
-nostdlib
`

LLD fails with:
`ld.lld: error: /tmp/example-5528f7.o:(.debug_info+0x33): has non-ABS relocation R_ARM_SBREL32 against symbol 'val'`

Using `-g0` instead of `-g` will link as expected.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsU1-PpDYM_zTmxWIECX8feJg5jr7MqdJe-7xKSGDShoQmYXfuPn0VmN1bbSuh2MQ_O_bPNvNezUbKDsoLlH3CtnCzrrutE_uZcCt-dH9IH6TAydkFR83MnOYVBvumNwikuTdVWhVAWhyd9T4d7bIqrcwcgcwtqbFGppJxBeQLrloyL9HJSboIuIWweqBnIAOQYbaCWx1O1s1Ahp9Aht--Tk3r__EUsh6y83EG6QOOVkhUu-9hqrLHt_8qE_CFaQTaY0GAXj4GiMYYBEgTVbMtMX-oHyBERCfD5swRgpx3yHuMuv_fJ4_zS-QGR7sszAjUyvwny11J08DcLAPQ_p2kX0wdkPkhf3_zmdzr-mZ8eUhjfRBa8U_xj_N67XFiSnt8VeH2MQstTloLoGeUzlkXFSBDWFYgg7yzZdUyLUvSTPXJ7v1pTkLybX5WZrJALtmdUiBt9Lsxj8aa9Hz5jk5qO7KgrMGn5_PTt-fvl6evV0qQzUwZH9D_WLiNnNYvTAOpPyX8p4-TA1WWzpFYjD6SCbTTcRnvXpXWkdi_kXmU91WOQYpTIjoqWtqyRHZ5ndOClnmZJbeuzRtBi6qoeVMwzssyG1s6yUrwija8qhLVkYwUWZE3eZYTmp2mklU1y7KST4QKXkORyYUpfdL6ZYnDmSjvN9k1bd7WiWZcar8vESGRU0LiNrkuolO-zR6KTCsf_C__oILe9-567aHsobycn75B2eM1lvXo2E0a3N75OHpfZRjHam_Fg0ufbE53nxZJhdvGT6NdgAzx1YdIV2f_kmMAMuwleCDDXsW_AQAA___1ujL-">