diff options
-rw-r--r-- | libffi/ChangeLog | 5 | ||||
-rw-r--r-- | libffi/src/alpha/ffi.c | 11 |
2 files changed, 13 insertions, 3 deletions
diff --git a/libffi/ChangeLog b/libffi/ChangeLog index b8b9151..17dfbc2 100644 --- a/libffi/ChangeLog +++ b/libffi/ChangeLog @@ -1,3 +1,8 @@ +2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic. + Fixes PR bootstrap/3563. + 2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF. diff --git a/libffi/src/alpha/ffi.c b/libffi/src/alpha/ffi.c index a0becb3..2ed3673 100644 --- a/libffi/src/alpha/ffi.c +++ b/libffi/src/alpha/ffi.c @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 1998 Cygnus Solutions + ffi.c - Copyright (c) 1998, 2001 Cygnus Solutions Alpha Foreign Function Interface @@ -166,8 +166,13 @@ ffi_prep_closure (ffi_closure* closure, closure->fun = fun; closure->user_data = user_data; - /* Flush the Icache. */ - asm volatile ("imb" : : : "memory"); + /* Flush the Icache. + + Tru64 UNIX as doesn't understand the imb mnemonic, so use call_pal + instead, since both Compaq as and gas can handle it. + + 0x86 is PAL_imb in Tru64 UNIX <alpha/pal.h>. */ + asm volatile ("call_pal 0x86" : : : "memory"); return FFI_OK; } |