aboutsummaryrefslogtreecommitdiff
path: root/libffi/src/powerpc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-08-11 23:18:24 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2005-08-11 23:18:24 +0200
commit8a42356f48f489b4e2af7b02bafac8ebaff5da09 (patch)
tree26c42f7f1f69f7735ef39926c2c1dd7be903a44c /libffi/src/powerpc
parentdec1f3aa95606219f3b0f2255813a4d90c277451 (diff)
downloadgcc-8a42356f48f489b4e2af7b02bafac8ebaff5da09.zip
gcc-8a42356f48f489b4e2af7b02bafac8ebaff5da09.tar.gz
gcc-8a42356f48f489b4e2af7b02bafac8ebaff5da09.tar.bz2
configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
* configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test. (AH_BOTTOM): Add FFI_HIDDEN definition. * configure: Rebuilt. * fficonfig.h.in: Rebuilt. * src/powerpc/ffi.c (hidden): Remove. (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64, ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden. * src/powerpc/linux64_closure.S (ffi_closure_LINUX64, .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden. * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove, add FFI_HIDDEN to its prototype. (ffi_closure_SYSV_inner): New. * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New. * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New. From-SVN: r103002
Diffstat (limited to 'libffi/src/powerpc')
-rw-r--r--libffi/src/powerpc/ffi.c24
-rw-r--r--libffi/src/powerpc/linux64_closure.S3
2 files changed, 11 insertions, 16 deletions
diff --git a/libffi/src/powerpc/ffi.c b/libffi/src/powerpc/ffi.c
index b337aa7..ed02bf3 100644
--- a/libffi/src/powerpc/ffi.c
+++ b/libffi/src/powerpc/ffi.c
@@ -29,15 +29,9 @@
#include <stdlib.h>
#include <stdio.h>
-#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 1)
-# define hidden __attribute__ ((visibility ("hidden")))
-#else
-# define hidden
-#endif
-
extern void ffi_closure_SYSV(void);
-extern void hidden ffi_closure_LINUX64(void);
+extern void FFI_HIDDEN ffi_closure_LINUX64(void);
enum {
/* The assembly depends on these exact flags. */
@@ -301,7 +295,7 @@ enum { ASM_NEEDS_REGISTERS64 = 4 };
*/
/*@-exportheader@*/
-void hidden ffi_prep_args64(extended_cif *ecif, unsigned long *const stack)
+void FFI_HIDDEN ffi_prep_args64(extended_cif *ecif, unsigned long *const stack)
/*@=exportheader@*/
{
const unsigned long bytes = ecif->cif->bytes;
@@ -697,10 +691,10 @@ extern void ffi_call_SYSV(/*@out@*/ extended_cif *,
unsigned, unsigned,
/*@out@*/ unsigned *,
void (*fn)());
-extern void hidden ffi_call_LINUX64(/*@out@*/ extended_cif *,
- unsigned long, unsigned long,
- /*@out@*/ unsigned long *,
- void (*fn)());
+extern void FFI_HIDDEN ffi_call_LINUX64(/*@out@*/ extended_cif *,
+ unsigned long, unsigned long,
+ /*@out@*/ unsigned long *,
+ void (*fn)());
/*@=declundef@*/
/*@=exportheader@*/
@@ -1020,10 +1014,10 @@ ffi_closure_helper_SYSV (ffi_closure* closure, void * rvalue,
}
-int hidden ffi_closure_helper_LINUX64 (ffi_closure*, void*, unsigned long*,
- ffi_dblfl*);
+int FFI_HIDDEN ffi_closure_helper_LINUX64 (ffi_closure*, void*, unsigned long*,
+ ffi_dblfl*);
-int hidden
+int FFI_HIDDEN
ffi_closure_helper_LINUX64 (ffi_closure *closure, void *rvalue,
unsigned long *pst, ffi_dblfl *pfr)
{
diff --git a/libffi/src/powerpc/linux64_closure.S b/libffi/src/powerpc/linux64_closure.S
index 5764971..b19bc71 100644
--- a/libffi/src/powerpc/linux64_closure.S
+++ b/libffi/src/powerpc/linux64_closure.S
@@ -5,7 +5,8 @@
.file "linux64_closure.S"
#ifdef __powerpc64__
- .hidden ffi_closure_LINUX64, .ffi_closure_LINUX64
+ FFI_HIDDEN (ffi_closure_LINUX64)
+ FFI_HIDDEN (.ffi_closure_LINUX64)
.globl ffi_closure_LINUX64, .ffi_closure_LINUX64
.section ".opd","aw"
.align 3