summaryrefslogtreecommitdiffstats
path: root/libffi/src/alpha
diff options
context:
space:
mode:
authorro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-16 16:53:43 +0000
committerro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-16 16:53:43 +0000
commite1e363909df13f0eb20bcbd6c22a37c36135be90 (patch)
tree4eeef7f3c093a84ef307975e57d5bd73760af34e /libffi/src/alpha
parent3868a52f3fd3cecd384c74299a3ac981eb2a9676 (diff)
downloadppe42-gcc-e1e363909df13f0eb20bcbd6c22a37c36135be90.tar.gz
ppe42-gcc-e1e363909df13f0eb20bcbd6c22a37c36135be90.zip
* src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
Fixes PR bootstrap/3563. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44045 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libffi/src/alpha')
-rw-r--r--libffi/src/alpha/ffi.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/libffi/src/alpha/ffi.c b/libffi/src/alpha/ffi.c
index a0becb3b378..2ed36732790 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;
}
OpenPOWER on IntegriCloud