On Mon, 5 Sep 2005, Thiemo Seufer wrote:
> The "jr" failed because the mips assembler fails to take the segment
> offset of .text into account, which leads to the relevant relocation
> being NULL. The appended diff aginst the modules.h of your testcase
> - removes the additional checks for __mips{el,64}__ because __mips__ is
>   generally defined for those configurations.

By whom is it generally defined?  Okay, gcc does so, and that code is gcc
specific, so the point is moot.  But I'm curious and I remember I've
wondered before.

> - globalizes the jump label for __mips__ as a workaround.
> - Uses a more reliable CL_JUMP_TO version which doesn't depend on
>   undocumented compiler behaviour to handle the promotion from a
>   memory address to a register suitable for the "r" constraint.

Yepp, works.  Thank you very much, indeed!

> The last change may be advisable for all architectures which use a "r"
> constraint.

Thanks, I'll see how it goes.

Regards
  -richy.
-- 
  .''`.  Richard B. Kreckel
 : :' :  <[EMAIL PROTECTED]>
 `. `'   <[EMAIL PROTECTED]>
   `-    <http://www.ginac.de/~kreckel/>


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to