The BF ones translate into new ELF relocations, whereas the LOL ones
are handled entirely internally.
I think it would be better to fold this patch in with whatever smallest unit makes it testable. Probably by splitting up the different fixups to go in with the instruction that uses them.
This is listed in the ABI (https://developer.arm.com/docs/ihi0044/latest/elf-for-the-arm-architecture-abi-2019q1-documentation) as R_ARM_THM_BF12.
This should also check for negative offsets.
Should this be "< 0"?