ARM: cppInterpreter_arm.S: Designate function labels as such; required for thumb interworking.
xerxes at zafena.se
Thu Nov 3 06:24:14 PDT 2011
Thanks to aph and Ringding we have today tracked down one obscure bug that prevented the ARM assembler interpreter and Thumb2 JIT to work on some ARM systems.
What was happening was that the gcc linker did not have enough information to figure out when to convert a bl function calls to blx for proper thumb inter-working.
By adding the .type globalname, %function to all .global 's provided the linker with enough information to generate correct
arm -> thumb and thumb -> arm function calls.
More information about the distro-pkg-dev