Bug#925129: ffcall failed to build mips64 R6 version due to Illegal instruction

2019-08-29 Thread Bruno Haible
Hi,

In  you reported
a problem with the use of the 'jr $25' instruction on MIPS32R6. Thanks for
this report.

I've changed the code to use the new opcode (previously written as
'jal $0,$25') always, since this opcode is supported since the earliest
MIPS ISAs.

https://git.savannah.gnu.org/gitweb/?p=libffcall.git;a=commitdiff;h=5f801d3d01a079c49c1e84b02ab5a153efd5c428

Bruno



Bug#925129: ffcall failed to build mips64 R6 version due to Illegal instruction

2019-03-19 Thread Luyou Peng
Package: ffcall
Version: 2.1-2

Dear Maintainer:
I tried build ffcall for mips64 R6, but it was fail because of illegal 
instruction, and I find the cause is:
in mips64 R6 release, instruction "JALR" is "001001" in binary format, the 
corresponding last hex number is 0x9
but in previous version it is 0x8. So the binary format of instruction "j $25" 
(in file ./trampoline/trampoline.c
and ./callback/trampoline_r/trampoline.c) for R6 is 0x0329 while for the 
previous version this instruction is 0x0328

attachment is my patch to fix it, could you help to take a review.
Thanks so much!

Thanks
luyou


ffcall_mipsr6.patch
Description: ffcall_mipsr6.patch