<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/88537>88537</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
ARM cortex-m out of range pc-relative fixup value
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Tomal-kuet
</td>
</tr>
</table>
<pre>
I added my custom instrumentation backend pass for ARM cortex-m33 CPU at the end of the `addPreEmitPass2()` function which is after `ARMConstantIslandPass`. In my custom pass, I do some instrumentation so the function size increases. My guess is as the function size increases the constant addresses go out of range for instructions such as ` vldr d11, [pc, #1008]` . The highest `pc` relative access I found is 1008 without instrumentation and with my instrumentation it will be higher than 1020 (maximum limit?).
As a result, I am getting **error: out of range pc-relative fixup value**. Can you please suggest to me how this is fixable?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMk8-O4zYMxp9GvhAxbDlO7IMP2ZkGyGGAwWL7ALLE2OrqTyBSk5k-fSFnsN1ugaIXWxD5kT9-AhWRXQLiJPovon-uVOY1pulb9Mrtvmfkao7mY7qAMgYN-A_QmTh6sIE4ZY-BFdsYYFb6OwYDN0UE15jg9PUFdEyM7zvfdfD0-jsoBl4RSlq8bkdxaJQxrwl_85ZfFZEUchByFIcGrjnorfR9tXoFS6CujKloTl9fnmIgVoEv5FQwRSoOTQ2X8BNjYRHyCS5gIlD0-C9qihvGj1Zk_yxJOqEipBpePmDJSLR1p__K3WL6E6q4lZDK9RIhZi7zJhUW3Kx5UGxVCCjrtdQuI785k8C0bYEW_Zeb3g6ya5tmEP1zSanh24qw2mVF4iK66XKd0Cm2bwhK68J7gWvMwRTuIoa75bVw_GqACmaLFdd-jVmGu3UO5s9-CXhVAdpGNiDk4NW79dmDs96y6M5CjrVonkVzenxPBAoSUnb8eATlYUFmGxYAIU9CnjClmER3-qdFN737Mc7VvucbvCmX8SGp4UkF-IgZbq4YD5SXpVjBETzCGu_Aq90e7Grf1exQdOfKTJ0Zu1FVOLXHVo57Kff7ap36ptHdbEY5D3o247Ud9Ty0x4MeG9MP3aGyk2zkvtm3sj22R7mvR4lSDr1qj4e-b7ET-wa9sq527s3XMS2VJco4DUPfHSunZnS0LZeUAe-wBYWUZdfSVDS7OS8k9o2zxPR3FbbscPp5if6XSVVOblqZbyS6k5BnIc-L5TXPtY5eyHOp__nb3VL8AzULed6oSMjzRv1XAAAA__-RwF06">