aboutsummaryrefslogtreecommitdiff
path: root/libffi/src
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-04-28 21:57:42 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2002-04-28 21:57:42 +0200
commit5d84cf0b8d41240167b41773e4ff71716e285cab (patch)
tree8f8fb5903fbe17a1cd591f2bd8975d96fdb09d5f /libffi/src
parent069909862b409fc025762213f2dc9979a27ee822 (diff)
downloadgcc-5d84cf0b8d41240167b41773e4ff71716e285cab.zip
gcc-5d84cf0b8d41240167b41773e4ff71716e285cab.tar.gz
gcc-5d84cf0b8d41240167b41773e4ff71716e285cab.tar.bz2
configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working %r_disp32().
* configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working %r_disp32(). * src/sparc/v8.S: Use it. * src/sparc/v9.S: Likewise. * fficonfig.h.in: Rebuilt. * configure: Rebuilt. From-SVN: r52858
Diffstat (limited to 'libffi/src')
-rw-r--r--libffi/src/sparc/v8.S9
-rw-r--r--libffi/src/sparc/v9.S9
2 files changed, 18 insertions, 0 deletions
diff --git a/libffi/src/sparc/v8.S b/libffi/src/sparc/v8.S
index 8cccd6e..d94fe03 100644
--- a/libffi/src/sparc/v8.S
+++ b/libffi/src/sparc/v8.S
@@ -115,7 +115,11 @@ longlong:
.byte 0x80-WS ! sleb128 -WS; CIE Data Alignment Factor
.byte 0xf ! CIE RA Column
.byte 0x1 ! uleb128 0x1; Augmentation size
+#ifdef HAVE_AS_SPARC_UA_PCREL
+ .byte 0x1b ! FDE Encoding (pcrel sdata4)
+#else
.byte 0x50 ! FDE Encoding (aligned absolute)
+#endif
.byte 0xc ! DW_CFA_def_cfa
.byte 0xe ! uleb128 0xe
.byte 0x0 ! uleb128 0x0
@@ -125,9 +129,14 @@ longlong:
.uaword .LLEFDE1-.LLASFDE1 ! FDE Length
.LLASFDE1:
.uaword .LLASFDE1-.LLframe1 ! FDE CIE offset
+#ifdef HAVE_AS_SPARC_UA_PCREL
+ .uaword %r_disp32(.LLFB1)
+ .uaword .LLFE1-.LLFB1 ! FDE address range
+#else
.align WS
.nword .LLFB1
.uanword .LLFE1-.LLFB1 ! FDE address range
+#endif
.byte 0x0 ! uleb128 0x0; Augmentation size
.byte 0x4 ! DW_CFA_advance_loc4
.uaword .LLCFI0-.LLFB1
diff --git a/libffi/src/sparc/v9.S b/libffi/src/sparc/v9.S
index 9d02bb8..bd358c0 100644
--- a/libffi/src/sparc/v9.S
+++ b/libffi/src/sparc/v9.S
@@ -136,7 +136,11 @@ dostruct:
.byte 0x78 ! sleb128 -8; CIE Data Alignment Factor
.byte 0xf ! CIE RA Column
.byte 0x1 ! uleb128 0x1; Augmentation size
+#ifdef HAVE_AS_SPARC_UA_PCREL
+ .byte 0x1b ! FDE Encoding (pcrel sdata4)
+#else
.byte 0x50 ! FDE Encoding (aligned absolute)
+#endif
.byte 0xc ! DW_CFA_def_cfa
.byte 0xe ! uleb128 0xe
.byte 0xff,0xf ! uleb128 0x7ff
@@ -146,9 +150,14 @@ dostruct:
.uaword .LLEFDE1-.LLASFDE1 ! FDE Length
.LLASFDE1:
.uaword .LLASFDE1-.LLframe1 ! FDE CIE offset
+#ifdef HAVE_AS_SPARC_UA_PCREL
+ .uaword %r_disp32(.LLFB1)
+ .uaword .LLFE1-.LLFB1 ! FDE address range
+#else
.align 8
.xword .LLFB1
.uaxword .LLFE1-.LLFB1 ! FDE address range
+#endif
.byte 0x0 ! uleb128 0x0; Augmentation size
.byte 0x4 ! DW_CFA_advance_loc4
.uaword .LLCFI0-.LLFB1