[FFmpeg-devel] [PATCH] swresample/arm: avoid conditional branch to PLT in THUMB-2.
rahulchaudhry at chromium.org
Mon Apr 16 23:13:21 EEST 2018
While it is true that some linkers support the conditional branch to PLT in
Thumb mode, it is of very limited use, since it uses an R_ARM_THM_JUMP19
relocation and does not have a good range. If I switch my linker to ld.bfd for
the original issue, it fails for another library with a "relocation truncated
to fit" error message because the PLT entry is out of range of the conditional
branch and cannot be handled by the R_ARM_THM_JUMP19 relocation.
It is cleaner and more stable (for all linkers) to convert the conditional
branch to an unconditional one which uses an R_ARM_THM_JUMP24 relocation and
has a range of 16MB.
On Mon, Apr 16, 2018 at 2:31 AM, Michael Niedermayer
<michael at niedermayer.cc> wrote:
> On Fri, Apr 13, 2018 at 01:43:44PM -0700, Rahul Chaudhry wrote:
>> When compiling for THUMB-2, the conditional branch to PLT results in a
>> R_ARM_THM_JUMP19 relocation. Some linkers don't support this relocation
>> in THUMB-2 (ld.gold), while others can end up truncating the relocation
>> to fit (ld.bfd).
> iam not a arm expert but if its needed only for some linkers, shouldnt
> it be conditional and only used for these linkers ?
> (checking in configure if a linker suppors it)
> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
> The worst form of inequality is to try to make unequal things equal.
> -- Aristotle
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
More information about the ffmpeg-devel