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

Dave Martin Dave.Martin at arm.com
Tue Dec 1 14:28:06 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.
+ Two issues:
+ 
+ 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
  
  ...will not interwork properly between ARM and Thumb state, depending on
  the function called.
  
  Instead, something like the following is needed:
  #ifdef __thumb__
    blx ip
  0:
  #else
    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.
+ 
+ Patch posted below.
+ 
+ 
+ 2) The kernel user helpers are not currently used for implementing atomic operations. (This is the same backend used by the GCC __sync_*() atomic intrinsics.)
+ 
+ There is a configure option --with-arm-kuser to enable this, but it's
+ not currently bassed by the build rules. It's been supported since ff
+ 3.5 / linux 2.6.17 (if I remember correctly)

-- 
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