From 92a0e6c6c8eaff9d238717c8c64dec84a6517a16 Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Mon, 16 Jul 2001 16:53:43 +0000 Subject: [PATCH] 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 --- libffi/ChangeLog | 5 +++++ libffi/src/alpha/ffi.c | 11 ++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/libffi/ChangeLog b/libffi/ChangeLog index b8b915194cd..17dfbc2abf1 100644 --- a/libffi/ChangeLog +++ b/libffi/ChangeLog @@ -1,3 +1,8 @@ +2001-07-16 Rainer Orth + + * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic. + Fixes PR bootstrap/3563. + 2001-06-26 Rainer Orth * 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 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 . */ + asm volatile ("call_pal 0x86" : : : "memory"); return FFI_OK; }