ARM: cppInterpreter_arm.S: Designate function labels as such; required for thumb interworking.

Xerxes Rånby 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.
http://icedtea.classpath.org/hg/icedtea6/rev/f7f8d71c851c37ee9ff1ee1f13e7e899d3cf90c0

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.

Cheers
Xerxes



More information about the distro-pkg-dev mailing list