[Bug 488354] Re: NS_InvokeByIndex in xptcinvoke_arm.cpp is not Thumb-2 safe for Lucid

Dave Martin Dave.Martin at arm.com
Fri Nov 27 16:57:16 UTC 2009


** Description changed:

  Binary package hint: xulrunner-1.9.1
  
  Either this file should be built individually as ARM code using -marm,
  or the code needs to be reviewed and modified to be Thumb-2 safe.
  
  Specifically, calling a function using:
- 		mov lr, pc
- 		mov pc, ip
+   mov lr, pc
+   mov pc, ip
  
  ...will not interwork properly between ARM and Thumb state, depending on
  the function called.
  
  Instead, something like the following is needed:
  #ifdef __thumb__
- 		adr lr, 0f + 1		/* store return address in lr, setting the Thumb bit [0] */
- 		bx ip
+   blx ip
  0:
  #else
- 		mov lr, pc
- 		mov pc, ip
+   mov lr, pc
+   mov pc, ip
  #endif
- 
  
  I'll try and propose a suitable patch.
  
  I'm currently scanning to see whether there is other problematic code in
  this package.

-- 
NS_InvokeByIndex in xptcinvoke_arm.cpp is not Thumb-2 safe for Lucid
https://bugs.launchpad.net/bugs/488354
You received this bug notification because you are a member of Mozilla
Bugs, which is subscribed to xulrunner-1.9.1 in ubuntu.




More information about the Ubuntu-mozillateam-bugs mailing list