aboutsummaryrefslogtreecommitdiff
path: root/libffi
diff options
context:
space:
mode:
authorRainer Orth <ro@TechFak.Uni-Bielefeld.DE>2001-07-16 16:53:43 +0000
committerRainer Orth <ro@gcc.gnu.org>2001-07-16 16:53:43 +0000
commit92a0e6c6c8eaff9d238717c8c64dec84a6517a16 (patch)
tree4eeef7f3c093a84ef307975e57d5bd73760af34e /libffi
parent94fc7deae27a373460b7b2c6c1995f0de21c3bec (diff)
downloadgcc-92a0e6c6c8eaff9d238717c8c64dec84a6517a16.zip
gcc-92a0e6c6c8eaff9d238717c8c64dec84a6517a16.tar.gz
gcc-92a0e6c6c8eaff9d238717c8c64dec84a6517a16.tar.bz2
re PR bootstrap/3563 (Error building libffi)
* src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic. Fixes PR bootstrap/3563. From-SVN: r44045
Diffstat (limited to 'libffi')
-rw-r--r--libffi/ChangeLog5
-rw-r--r--libffi/src/alpha/ffi.c11
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;
}