From a622ae9db24e87813cae3d60e085f954e20bb8c0 Mon Sep 17 00:00:00 2001
From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Mon, 8 Apr 2002 20:24:17 +0000
Subject: [PATCH] 	* src/sparc/v8.S: Make .eh_frame dependent on target
 word size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52041 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libffi/ChangeLog      |  4 ++++
 libffi/src/sparc/v8.S | 22 ++++++++++++++++------
 2 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index 5233e45395f0..ed235814bfa0 100644
--- a/libffi/ChangeLog
+++ b/libffi/ChangeLog
@@ -1,3 +1,7 @@
+2002-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* src/sparc/v8.S: Make .eh_frame dependent on target word size.
+
 2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
 
 	* configure.in (alpha*-*-netbsd*): Add target.
diff --git a/libffi/src/sparc/v8.S b/libffi/src/sparc/v8.S
index 18226430cc47..8cccd6e750c3 100644
--- a/libffi/src/sparc/v8.S
+++ b/libffi/src/sparc/v8.S
@@ -94,6 +94,16 @@ longlong:
 .ffi_call_V8_end:
 	.size	ffi_call_V8,.ffi_call_V8_end-ffi_call_V8
 
+#ifdef SPARC64
+#define WS 8
+#define nword	xword
+#define uanword	uaxword
+#else
+#define WS 4
+#define nword	long
+#define uanword	uaword
+#endif
+
 	.section	".eh_frame",#alloc,#write
 .LLframe1:
 	.uaword	.LLECIE1-.LLSCIE1	! Length of Common Information Entry
@@ -102,22 +112,22 @@ longlong:
 	.byte	0x1	! CIE Version
 	.ascii "zR\0"	! CIE Augmentation
 	.byte	0x1	! uleb128 0x1; CIE Code Alignment Factor
-	.byte	0x7c	! sleb128 -4; CIE Data Alignment Factor
+	.byte	0x80-WS	! sleb128 -WS; CIE Data Alignment Factor
 	.byte	0xf	! CIE RA Column
 	.byte	0x1	! uleb128 0x1; Augmentation size
 	.byte	0x50	! FDE Encoding (aligned absolute)
 	.byte	0xc	! DW_CFA_def_cfa
 	.byte	0xe	! uleb128 0xe
 	.byte	0x0	! uleb128 0x0
-	.align 4
+	.align	WS
 .LLECIE1:
 .LLSFDE1:
 	.uaword	.LLEFDE1-.LLASFDE1	! FDE Length
 .LLASFDE1:
 	.uaword	.LLASFDE1-.LLframe1	! FDE CIE offset
-	.align 4
-	.long	.LLFB1
-	.uaword	.LLFE1-.LLFB1	! FDE address range
+	.align	WS
+	.nword	.LLFB1
+	.uanword .LLFE1-.LLFB1	! FDE address range
 	.byte	0x0	! uleb128 0x0; Augmentation size
 	.byte	0x4	! DW_CFA_advance_loc4
 	.uaword	.LLCFI0-.LLFB1
@@ -127,5 +137,5 @@ longlong:
 	.byte	0x9	! DW_CFA_register
 	.byte	0xf	! uleb128 0xf
 	.byte	0x1f	! uleb128 0x1f
-	.align 4
+	.align	WS
 .LLEFDE1:
-- 
GitLab