blob: eaddc7e2062196b18d1becc6da43b180dd175340 [file] [log] [blame]
# Symbols defined in the library which aren't specifically bound to a
# version node are effectively bound to an unspecified base version of
# the library. It is possible to bind all otherwise unspecified symbols
# to a given version node using `global: *' somewhere in the version script.
#
# The interfaces at the "v1" level.
# At this level we present these functions to the linker (and thus to an
# application).
# Any functions not defined in the global list (i.e. "local") will be internal
# to the library (i.e. not exported but used within the library).
# Thus the real function names, "numa_bind_v1" etc, are local and won't
# be known to the linker.
# the first 16 have v1 aliases
# 3 of the 5 system calls that libnuma provides are common to all versions:
libnuma_1.1 {
global:
set_mempolicy;
get_mempolicy;
mbind;
numa_all_nodes;
numa_alloc;
numa_alloc_interleaved;
numa_alloc_interleaved_subset;
numa_alloc_local;
numa_alloc_onnode;
numa_available;
numa_bind;
numa_distance;
numa_error;
numa_exit_on_error;
numa_free;
numa_get_interleave_mask;
numa_get_interleave_node;
numa_get_membind;
numa_get_run_node_mask;
numa_interleave_memory;
numa_max_node;
numa_migrate_pages;
numa_no_nodes;
numa_node_size64;
numa_node_size;
numa_node_to_cpus;
numa_pagesize;
numa_parse_bitmap;
numa_police_memory;
numa_preferred;
numa_run_on_node;
numa_run_on_node_mask;
numa_sched_getaffinity;
numa_sched_setaffinity;
numa_set_bind_policy;
numa_set_interleave_mask;
numa_set_localalloc;
numa_set_membind;
numa_set_preferred;
numa_set_strict;
numa_setlocal_memory;
numa_tonode_memory;
numa_tonodemask_memory;
numa_warn;
numa_exit_on_warn;
local:
*;
};
# The interfaces at the "v2" level.
# The first 17 have v2 aliases
# We add the bitmask_ functions
# and the move_pages and migrate_pages system calls
# 1.2 depends on 1.1
libnuma_1.2 {
global:
copy_bitmask_to_nodemask;
copy_nodemask_to_bitmask;
copy_bitmask_to_bitmask;
set_mempolicy;
get_mempolicy;
mbind;
move_pages;
migrate_pages;
numa_all_cpus_ptr;
numa_all_nodes_ptr;
numa_alloc;
numa_alloc_interleaved;
numa_alloc_interleaved_subset;
numa_alloc_local;
numa_alloc_onnode;
numa_realloc;
numa_allocate_cpumask;
numa_allocate_nodemask;
numa_available;
numa_bind;
numa_bitmask_alloc;
numa_bitmask_clearall;
numa_bitmask_clearbit;
numa_bitmask_equal;
numa_bitmask_free;
numa_bitmask_isbitset;
numa_bitmask_nbytes;
numa_bitmask_setall;
numa_bitmask_setbit;
numa_bitmask_weight;
numa_distance;
numa_error;
numa_exit_on_error;
numa_free;
numa_get_interleave_mask;
numa_get_interleave_node;
numa_get_membind;
numa_get_mems_allowed;
numa_get_run_node_mask;
numa_interleave_memory;
numa_max_node;
numa_max_possible_node;
numa_migrate_pages;
numa_move_pages;
numa_no_nodes_ptr;
numa_node_size64;
numa_node_size;
numa_node_to_cpus;
numa_node_of_cpu;
numa_nodes_ptr;
numa_num_configured_cpus;
numa_num_configured_nodes;
numa_num_possible_nodes;
numa_num_task_cpus;
numa_num_task_nodes;
numa_num_thread_cpus;
numa_num_thread_nodes;
numa_pagesize;
numa_parse_bitmap;
numa_parse_cpustring;
numa_parse_nodestring;
numa_police_memory;
numa_preferred;
numa_run_on_node;
numa_run_on_node_mask;
numa_sched_getaffinity;
numa_sched_setaffinity;
numa_set_bind_policy;
numa_set_interleave_mask;
numa_set_localalloc;
numa_set_membind;
numa_set_preferred;
numa_set_strict;
numa_setlocal_memory;
numa_tonode_memory;
numa_tonodemask_memory;
numa_warn;
local:
*;
} libnuma_1.1;
# New parsing interface for cpu/numastrings
# was added into version 1.3
libnuma_1.3 {
global:
numa_parse_cpustring_all;
numa_parse_nodestring_all;
numa_num_possible_cpus;
local:
*;
} libnuma_1.2;
# New interface with customizable cpuset awareness
# was added into version 1.4
libnuma_1.4 {
global:
numa_run_on_node_mask_all;
local:
*;
} libnuma_1.3;