summaryrefslogtreecommitdiff
path: root/libffi/src
diff options
context:
space:
mode:
authorro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2010-05-19 15:31:36 +0000
committerro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2010-05-19 15:31:36 +0000
commit40ae1f19e2410a4e1929eb9c4a4648a53c18ebef (patch)
tree98454e0778c8a618a064eb0900e2248bceec7517 /libffi/src
parent05157f42835c68da84a4e13b3ce1e3ca4731dfaa (diff)
downloadgcc-40ae1f19e2410a4e1929eb9c4a4648a53c18ebef.tar.gz
* configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
output, too. (libffi_cv_as_ascii_pseudo_op): Check for .ascii. (libffi_cv_as_string_pseudo_op): Check for .string. * configure: Regenerate. * fficonfig.h.in: Regenerate. * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159570 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libffi/src')
-rw-r--r--libffi/src/x86/sysv.S12
1 files changed, 11 insertions, 1 deletions
diff --git a/libffi/src/x86/sysv.S b/libffi/src/x86/sysv.S
index f4b6c1e4415..2e5e3da57f0 100644
--- a/libffi/src/x86/sysv.S
+++ b/libffi/src/x86/sysv.S
@@ -1,5 +1,5 @@
/* -----------------------------------------------------------------------
- sysv.S - Copyright (c) 1996, 1998, 2001-2003, 2005, 2008 Red Hat, Inc.
+ sysv.S - Copyright (c) 1996, 1998, 2001-2003, 2005, 2008, 2010 Red Hat, Inc.
X86 Foreign Function Interface
@@ -331,11 +331,21 @@ ffi_closure_raw_SYSV:
.LSCIE1:
.long 0x0 /* CIE Identifier Tag */
.byte 0x1 /* CIE Version */
+#ifdef HAVE_AS_ASCII_PSEUDO_OP
#ifdef __PIC__
.ascii "zR\0" /* CIE Augmentation */
#else
.ascii "\0" /* CIE Augmentation */
#endif
+#elif defined HAVE_AS_STRING_PSEUDO_OP
+#ifdef __PIC__
+ .string "zR" /* CIE Augmentation */
+#else
+ .string "" /* CIE Augmentation */
+#endif
+#else
+#error missing .ascii/.string
+#endif
.byte 0x1 /* .uleb128 0x1; CIE Code Alignment Factor */
.byte 0x7c /* .sleb128 -4; CIE Data Alignment Factor */
.byte 0x8 /* CIE RA Column */