summaryrefslogtreecommitdiff
path: root/libffi.map.in
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2016-03-03 13:51:44 -0800
committerRichard Henderson <rth@twiddle.net>2016-05-04 06:49:50 -1000
commitc02c3414440e816aa13a2fe8446484173d3edb0e (patch)
treeb97f4e5761b6424581284741c32d2bf0ce0d0683 /libffi.map.in
parent14be9a1d0713deb97edb91fe9800afe971a001d5 (diff)
downloadlibffi-c02c3414440e816aa13a2fe8446484173d3edb0e.tar.gz
Use ELF symbol versioning
At the same time, we must bump the (major) ABI version. This needed to be done anyway due to ABI breakage in the AArch64 port (see 12cf89ee and the corresponding GCC PR70024).
Diffstat (limited to 'libffi.map.in')
-rw-r--r--libffi.map.in75
1 files changed, 75 insertions, 0 deletions
diff --git a/libffi.map.in b/libffi.map.in
new file mode 100644
index 0000000..d93c891
--- /dev/null
+++ b/libffi.map.in
@@ -0,0 +1,75 @@
+#define LIBFFI_ASM
+#define LIBFFI_H
+#include <fficonfig.h>
+#include <ffitarget.h>
+
+/* These version numbers correspond to the libtool-version abi numbers,
+ not to the libffi release numbers. */
+
+LIBFFI_BASE_7.0 {
+ global:
+ /* Exported data variables. */
+ ffi_type_void;
+ ffi_type_uint8;
+ ffi_type_sint8;
+ ffi_type_uint16;
+ ffi_type_sint16;
+ ffi_type_uint32;
+ ffi_type_sint32;
+ ffi_type_uint64;
+ ffi_type_sint64;
+ ffi_type_float;
+ ffi_type_double;
+ ffi_type_longdouble;
+ ffi_type_pointer;
+
+ /* Exported functions. */
+ ffi_call;
+ ffi_prep_cif;
+ ffi_prep_cif_var;
+
+ ffi_raw_call;
+ ffi_ptrarray_to_raw;
+ ffi_raw_to_ptrarray;
+ ffi_raw_size;
+
+ ffi_java_raw_call;
+ ffi_java_ptrarray_to_raw;
+ ffi_java_raw_to_ptrarray;
+ ffi_java_raw_size;
+
+ local:
+ *;
+};
+
+#ifdef FFI_TARGET_HAS_COMPLEX_TYPE
+LIBFFI_COMPLEX_7.0 {
+ global:
+ /* Exported data variables. */
+ ffi_type_complex_float;
+ ffi_type_complex_double;
+ ffi_type_complex_longdouble;
+} LIBFFI_BASE_7.0;
+#endif
+
+#if FFI_CLOSURES
+LIBFFI_CLOSURE_7.0 {
+ global:
+ ffi_closure_alloc;
+ ffi_closure_free;
+ ffi_prep_closure;
+ ffi_prep_closure_loc;
+ ffi_prep_raw_closure;
+ ffi_prep_raw_closure_loc;
+ ffi_prep_java_raw_closure;
+ ffi_prep_java_raw_closure_loc;
+} LIBFFI_BASE_7.0;
+#endif
+
+#if FFI_GO_CLOSURES
+LIBFFI_GO_CLOSURE_7.0 {
+ global:
+ ffi_call_go;
+ ffi_prep_go_closure;
+} LIBFFI_CLOSURE_7.0;
+#endif