Skip to content

Commit ed7488c

Browse files
author
Sergei Trofimovich
committed
src/ia64/unix.S: unbreak small struct handling
commit 6e8a446 added FFI_TYPE_COMPLEX value type (comes after FFI_TYPE_POINTER) ia64 ffi_closure_unix reiles on the ordering of FFI_ enums as ia64 has ia64-specific FFI types: small struct and FPU extesions. As a result all tests handling small structs broke. The change fixes dispatch table by adding (no-op) FFI_TYPE_COMPLEX entry This has positive effect of unbreaking most tests on ia64: === libffi Summary === -# of expected passes 1595 -# of unexpected failures 295 +# of expected passes 1930 +# of unexpected failures 10 # of unsupported tests 30 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
1 parent 1c9171e commit ed7488c

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

src/ia64/unix.S

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -529,6 +529,7 @@ ffi_closure_unix:
529529
data8 @pcrel(.Lst_int64) // FFI_TYPE_SINT64
530530
data8 @pcrel(.Lst_void) // FFI_TYPE_STRUCT
531531
data8 @pcrel(.Lst_int64) // FFI_TYPE_POINTER
532+
data8 @pcrel(.Lst_void) // FFI_TYPE_COMPLEX (not implemented)
532533
data8 @pcrel(.Lst_small_struct) // FFI_IA64_TYPE_SMALL_STRUCT
533534
data8 @pcrel(.Lst_hfa_float) // FFI_IA64_TYPE_HFA_FLOAT
534535
data8 @pcrel(.Lst_hfa_double) // FFI_IA64_TYPE_HFA_DOUBLE
@@ -550,6 +551,7 @@ ffi_closure_unix:
550551
data8 @pcrel(.Lld_int) // FFI_TYPE_SINT64
551552
data8 @pcrel(.Lld_void) // FFI_TYPE_STRUCT
552553
data8 @pcrel(.Lld_int) // FFI_TYPE_POINTER
554+
data8 @pcrel(.Lld_void) // FFI_TYPE_COMPLEX (not implemented)
553555
data8 @pcrel(.Lld_small_struct) // FFI_IA64_TYPE_SMALL_STRUCT
554556
data8 @pcrel(.Lld_hfa_float) // FFI_IA64_TYPE_HFA_FLOAT
555557
data8 @pcrel(.Lld_hfa_double) // FFI_IA64_TYPE_HFA_DOUBLE

0 commit comments

Comments
 (0)