29 |
#include <stdlib.h> |
#include <stdlib.h> |
30 |
#include <stdio.h> |
#include <stdio.h> |
31 |
|
|
|
#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 1) |
|
|
# define hidden __attribute__ ((visibility ("hidden"))) |
|
|
#else |
|
|
# define hidden |
|
|
#endif |
|
|
|
|
32 |
|
|
33 |
extern void ffi_closure_SYSV(void); |
extern void ffi_closure_SYSV(void); |
34 |
extern void hidden ffi_closure_LINUX64(void); |
extern void FFI_HIDDEN ffi_closure_LINUX64(void); |
35 |
|
|
36 |
enum { |
enum { |
37 |
/* The assembly depends on these exact flags. */ |
/* The assembly depends on these exact flags. */ |
295 |
*/ |
*/ |
296 |
|
|
297 |
/*@-exportheader@*/ |
/*@-exportheader@*/ |
298 |
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) |
299 |
/*@=exportheader@*/ |
/*@=exportheader@*/ |
300 |
{ |
{ |
301 |
const unsigned long bytes = ecif->cif->bytes; |
const unsigned long bytes = ecif->cif->bytes; |
691 |
unsigned, unsigned, |
unsigned, unsigned, |
692 |
/*@out@*/ unsigned *, |
/*@out@*/ unsigned *, |
693 |
void (*fn)()); |
void (*fn)()); |
694 |
extern void hidden ffi_call_LINUX64(/*@out@*/ extended_cif *, |
extern void FFI_HIDDEN ffi_call_LINUX64(/*@out@*/ extended_cif *, |
695 |
unsigned long, unsigned long, |
unsigned long, unsigned long, |
696 |
/*@out@*/ unsigned long *, |
/*@out@*/ unsigned long *, |
697 |
void (*fn)()); |
void (*fn)()); |
698 |
/*@=declundef@*/ |
/*@=declundef@*/ |
699 |
/*@=exportheader@*/ |
/*@=exportheader@*/ |
700 |
|
|
1014 |
|
|
1015 |
} |
} |
1016 |
|
|
1017 |
int hidden ffi_closure_helper_LINUX64 (ffi_closure*, void*, unsigned long*, |
int FFI_HIDDEN ffi_closure_helper_LINUX64 (ffi_closure*, void*, unsigned long*, |
1018 |
ffi_dblfl*); |
ffi_dblfl*); |
1019 |
|
|
1020 |
int hidden |
int FFI_HIDDEN |
1021 |
ffi_closure_helper_LINUX64 (ffi_closure *closure, void *rvalue, |
ffi_closure_helper_LINUX64 (ffi_closure *closure, void *rvalue, |
1022 |
unsigned long *pst, ffi_dblfl *pfr) |
unsigned long *pst, ffi_dblfl *pfr) |
1023 |
{ |
{ |