diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index becf7d4e857907851ef1e1a399f71f4f06c88d32..f9f55c91066b2eb6bba1779a2f9711f81791f4bc 100644
--- a/libffi/ChangeLog
+++ b/libffi/ChangeLog
@@ -1,3 +1,7 @@
+2010-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
+
 2009-12-31  Anthony Green  <green@redhat.com>
 
 	* README: Update for libffi 3.0.9.
diff --git a/libffi/src/mips/n32.S b/libffi/src/mips/n32.S
index 81e81bcb4e965d8517509a8bdcb605791cdf0e9c..ae23094667c2ce6b6a45b91da07b4c85c435fdb0 100644
--- a/libffi/src/mips/n32.S
+++ b/libffi/src/mips/n32.S
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------
-   n32.S - Copyright (c) 1996, 1998, 2005  Red Hat, Inc.
+   n32.S - Copyright (c) 1996, 1998, 2005, 2007, 2009, 2010  Red Hat, Inc.
    
    MIPS Foreign Function Interface 
 
@@ -40,7 +40,7 @@
 
 #define SIZEOF_FRAME	( 8 * FFI_SIZEOF_ARG )
 
-#ifdef linux
+#ifdef __GNUC__
 	.abicalls
 #endif
 	.text
@@ -529,7 +529,7 @@ cls_epilogue:
 .LFE2:	
 	.end	ffi_closure_N32
 
-#ifdef linux
+#ifdef __GNUC__
         .section        .eh_frame,"aw",@progbits
 .Lframe1:
         .4byte  .LECIE1-.LSCIE1		# length
@@ -586,6 +586,6 @@ cls_epilogue:
 	.uleb128 (SIZEOF_FRAME2 - RA_OFF2)/4
 	.align	EH_FRAME_ALIGN
 .LEFDE3:
-#endif /* linux */	
+#endif /* __GNUC__ */	
 	
 #endif