<div dir="ltr">Hi all,<br><br>I'm trying to figure out a problem with relocation types 1 and 8 (as observed using otool -r on ARM/Thumb object files). Earlier, when I used LLVM 2.8 with llc to generate thumb (-march=thumb -mattr=+thumb2) assembly listings, then assemble those using the gcc of iPhone 4.2 SDK, there wasn't any problem.<br>
<br>However starting with LLVM 2.9, the same toolchain emits slightly different assembly listings that after assembly into object files have relocation entries of type 1 and 8 which the iPhonsOS 4.2 SDK linker doesn't like (they produce warnings, and the linked binary crashes).<br>
<br>According to <a href="http://simplemachines.it/doc/aaelf.pdf">http://simplemachines.it/doc/aaelf.pdf</a>, these relocation types are called R_ARM_PC24 and R_ARM_ABS8. They simply weren't created with the assembly listings generated with LLVM 2.8.<br>
<br>Anyone has any suggestion has to solve this? Is there any other toolchain combination you can suggest in order to build Thumb object files for the iOS/ARM platform? I'm not sure I'm even using LLVM the way I should here.<br>
<br><br>Many thanks!<br><br><br>Harel Cain<br><br>
</div>