re PR bootstrap/3563 (Error building libffi)
authorRainer Orth <ro@TechFak.Uni-Bielefeld.DE>
Mon, 16 Jul 2001 16:53:43 +0000 (16:53 +0000)
committerRainer Orth <ro@gcc.gnu.org>
Mon, 16 Jul 2001 16:53:43 +0000 (16:53 +0000)
* src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
Fixes PR bootstrap/3563.

From-SVN: r44045

libffi/ChangeLog
libffi/src/alpha/ffi.c

index b8b915194cdac6328698be81d17bbd3ab1fd951a..17dfbc2abf113d47679735a35df16cb762d03d79 100644 (file)
@@ -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.
index a0becb3b37865fd90b18477e5fc740c10613baf4..2ed36732790229b8fb2d24e9cac95f83db93d346 100644 (file)
@@ -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;
 }