mirror of https://github.com/asterisk/asterisk
Some platforms prefix externally-visible symbols in object files generated from C sources (most commonly, '_' is the prefix). On these platforms, the existing symbol export filtering process ends up suppressing all the symbols that are supposed to be left visible. This patch allows the prefix string to be supplied to the top-level Makefile in the LINKER_SYMBOL_PREFIX variable, and then generates the linker scripts as required to include the prefix supplied. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@255906 65c4cc65-6c06-0410-ace0-fbb531ad65f3certified/1.8.6
parent
f4617ae2b5
commit
2be88e05c0
@ -1,20 +0,0 @@
|
||||
{
|
||||
global:
|
||||
mm_critical;
|
||||
mm_diskerror;
|
||||
mm_dlog;
|
||||
mm_exists;
|
||||
mm_expunged;
|
||||
mm_fatal;
|
||||
mm_flags;
|
||||
mm_list;
|
||||
mm_log;
|
||||
mm_login;
|
||||
mm_lsub;
|
||||
mm_nocritical;
|
||||
mm_notify;
|
||||
mm_searched;
|
||||
mm_status;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -0,0 +1,20 @@
|
||||
{
|
||||
global:
|
||||
LINKER_SYMBOL_PREFIXmm_critical;
|
||||
LINKER_SYMBOL_PREFIXmm_diskerror;
|
||||
LINKER_SYMBOL_PREFIXmm_dlog;
|
||||
LINKER_SYMBOL_PREFIXmm_exists;
|
||||
LINKER_SYMBOL_PREFIXmm_expunged;
|
||||
LINKER_SYMBOL_PREFIXmm_fatal;
|
||||
LINKER_SYMBOL_PREFIXmm_flags;
|
||||
LINKER_SYMBOL_PREFIXmm_list;
|
||||
LINKER_SYMBOL_PREFIXmm_log;
|
||||
LINKER_SYMBOL_PREFIXmm_login;
|
||||
LINKER_SYMBOL_PREFIXmm_lsub;
|
||||
LINKER_SYMBOL_PREFIXmm_nocritical;
|
||||
LINKER_SYMBOL_PREFIXmm_notify;
|
||||
LINKER_SYMBOL_PREFIXmm_searched;
|
||||
LINKER_SYMBOL_PREFIXmm_status;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
test -f ${1}.exports.in && ${AWK} "{sub(\"LINKER_SYMBOL_PREFIX\", \"${2}\"); print;}" ${1}.exports.in > ${1}.exports
|
||||
test -f ${1}.exports.in || rm -f ${1}.exports
|
@ -1,45 +0,0 @@
|
||||
{
|
||||
global:
|
||||
ast_*;
|
||||
_ast_*;
|
||||
__ast_*;
|
||||
pbx_*;
|
||||
astman_*;
|
||||
ao2_*;
|
||||
__ao2_*;
|
||||
option_debug;
|
||||
option_verbose;
|
||||
dahdi_chan_name;
|
||||
dahdi_chan_name_len;
|
||||
dahdi_chan_mode;
|
||||
callerid_*;
|
||||
cid_di;
|
||||
cid_dr;
|
||||
clidsb;
|
||||
MD5*;
|
||||
sched_*;
|
||||
io_*;
|
||||
jb_*;
|
||||
aes_*;
|
||||
config_*;
|
||||
tdd_*;
|
||||
term_*;
|
||||
channelreloadreason2txt;
|
||||
devstate2str;
|
||||
__manager_event;
|
||||
dialed_interface_info;
|
||||
strsep;
|
||||
setenv;
|
||||
unsetenv;
|
||||
strcasestr;
|
||||
strnlen;
|
||||
strndup;
|
||||
vasprintf;
|
||||
asprintf;
|
||||
strtoq;
|
||||
getloadavg;
|
||||
ntohll;
|
||||
htonll;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -0,0 +1,45 @@
|
||||
{
|
||||
global:
|
||||
LINKER_SYMBOL_PREFIXast_*;
|
||||
LINKER_SYMBOL_PREFIX_ast_*;
|
||||
LINKER_SYMBOL_PREFIX__ast_*;
|
||||
LINKER_SYMBOL_PREFIXpbx_*;
|
||||
LINKER_SYMBOL_PREFIXastman_*;
|
||||
LINKER_SYMBOL_PREFIXao2_*;
|
||||
LINKER_SYMBOL_PREFIX__ao2_*;
|
||||
LINKER_SYMBOL_PREFIXoption_debug;
|
||||
LINKER_SYMBOL_PREFIXoption_verbose;
|
||||
LINKER_SYMBOL_PREFIXdahdi_chan_name;
|
||||
LINKER_SYMBOL_PREFIXdahdi_chan_name_len;
|
||||
LINKER_SYMBOL_PREFIXdahdi_chan_mode;
|
||||
LINKER_SYMBOL_PREFIXcallerid_*;
|
||||
LINKER_SYMBOL_PREFIXcid_di;
|
||||
LINKER_SYMBOL_PREFIXcid_dr;
|
||||
LINKER_SYMBOL_PREFIXclidsb;
|
||||
LINKER_SYMBOL_PREFIXMD5*;
|
||||
LINKER_SYMBOL_PREFIXsched_*;
|
||||
LINKER_SYMBOL_PREFIXio_*;
|
||||
LINKER_SYMBOL_PREFIXjb_*;
|
||||
LINKER_SYMBOL_PREFIXaes_*;
|
||||
LINKER_SYMBOL_PREFIXconfig_*;
|
||||
LINKER_SYMBOL_PREFIXtdd_*;
|
||||
LINKER_SYMBOL_PREFIXterm_*;
|
||||
LINKER_SYMBOL_PREFIXchannelreloadreason2txt;
|
||||
LINKER_SYMBOL_PREFIXdevstate2str;
|
||||
LINKER_SYMBOL_PREFIX__manager_event;
|
||||
LINKER_SYMBOL_PREFIXdialed_interface_info;
|
||||
LINKER_SYMBOL_PREFIXstrsep;
|
||||
LINKER_SYMBOL_PREFIXsetenv;
|
||||
LINKER_SYMBOL_PREFIXunsetenv;
|
||||
LINKER_SYMBOL_PREFIXstrcasestr;
|
||||
LINKER_SYMBOL_PREFIXstrnlen;
|
||||
LINKER_SYMBOL_PREFIXstrndup;
|
||||
LINKER_SYMBOL_PREFIXvasprintf;
|
||||
LINKER_SYMBOL_PREFIXasprintf;
|
||||
LINKER_SYMBOL_PREFIXstrtoq;
|
||||
LINKER_SYMBOL_PREFIXgetloadavg;
|
||||
LINKER_SYMBOL_PREFIXntohll;
|
||||
LINKER_SYMBOL_PREFIXhtonll;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
global:
|
||||
ast_adsi_available;
|
||||
ast_adsi_begin_download;
|
||||
ast_adsi_channel_restore;
|
||||
ast_adsi_clear_screen;
|
||||
ast_adsi_clear_soft_keys;
|
||||
ast_adsi_connect_session;
|
||||
ast_adsi_data_mode;
|
||||
ast_adsi_disconnect_session;
|
||||
ast_adsi_display;
|
||||
ast_adsi_download_connect;
|
||||
ast_adsi_download_disconnect;
|
||||
ast_adsi_end_download;
|
||||
ast_adsi_get_cpeid;
|
||||
ast_adsi_get_cpeinfo;
|
||||
ast_adsi_input_control;
|
||||
ast_adsi_input_format;
|
||||
ast_adsi_load_session;
|
||||
ast_adsi_load_soft_key;
|
||||
ast_adsi_print;
|
||||
ast_adsi_query_cpeid;
|
||||
ast_adsi_query_cpeinfo;
|
||||
ast_adsi_read_encoded_dtmf;
|
||||
ast_adsi_set_keys;
|
||||
ast_adsi_set_line;
|
||||
ast_adsi_transmit_message;
|
||||
ast_adsi_transmit_message_full;
|
||||
ast_adsi_unload_session;
|
||||
ast_adsi_voice_mode;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -0,0 +1,33 @@
|
||||
{
|
||||
global:
|
||||
LINKER_SYMBOL_PREFIXast_adsi_available;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_begin_download;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_channel_restore;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_clear_screen;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_clear_soft_keys;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_connect_session;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_data_mode;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_disconnect_session;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_display;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_download_connect;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_download_disconnect;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_end_download;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_get_cpeid;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_get_cpeinfo;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_input_control;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_input_format;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_load_session;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_load_soft_key;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_print;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_query_cpeid;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_query_cpeinfo;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_read_encoded_dtmf;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_set_keys;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_set_line;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_transmit_message;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_transmit_message_full;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_unload_session;
|
||||
LINKER_SYMBOL_PREFIXast_adsi_voice_mode;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
global:
|
||||
*ast_agi_register;
|
||||
*ast_agi_unregister;
|
||||
*ast_agi_register_multiple;
|
||||
*ast_agi_unregister_multiple;
|
||||
*ast_agi_send;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -0,0 +1,10 @@
|
||||
{
|
||||
global:
|
||||
LINKER_SYMBOL_PREFIX*ast_agi_register;
|
||||
LINKER_SYMBOL_PREFIX*ast_agi_unregister;
|
||||
LINKER_SYMBOL_PREFIX*ast_agi_register_multiple;
|
||||
LINKER_SYMBOL_PREFIX*ast_agi_unregister_multiple;
|
||||
LINKER_SYMBOL_PREFIX*ast_agi_send;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
global:
|
||||
ast_*;
|
||||
calendar_config;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
global:
|
||||
LINKER_SYMBOL_PREFIXast_*;
|
||||
LINKER_SYMBOL_PREFIXcalendar_config;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -1,11 +0,0 @@
|
||||
{
|
||||
global:
|
||||
ast_fax_tech_register;
|
||||
ast_fax_tech_unregister;
|
||||
ast_fax_session_unreference;
|
||||
ast_fax_minrate;
|
||||
ast_fax_maxrate;
|
||||
ast_fax_state_to_str;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -0,0 +1,11 @@
|
||||
{
|
||||
global:
|
||||
LINKER_SYMBOL_PREFIXast_fax_tech_register;
|
||||
LINKER_SYMBOL_PREFIXast_fax_tech_unregister;
|
||||
LINKER_SYMBOL_PREFIXast_fax_session_unreference;
|
||||
LINKER_SYMBOL_PREFIXast_fax_minrate;
|
||||
LINKER_SYMBOL_PREFIXast_fax_maxrate;
|
||||
LINKER_SYMBOL_PREFIXast_fax_state_to_str;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -1,13 +0,0 @@
|
||||
{
|
||||
global:
|
||||
ast_bridge_call;
|
||||
ast_masq_park_call;
|
||||
ast_park_call;
|
||||
ast_parking_ext;
|
||||
ast_pickup_call;
|
||||
ast_pickup_ext;
|
||||
ast_register_feature;
|
||||
ast_unregister_feature;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -0,0 +1,13 @@
|
||||
{
|
||||
global:
|
||||
LINKER_SYMBOL_PREFIXast_bridge_call;
|
||||
LINKER_SYMBOL_PREFIXast_masq_park_call;
|
||||
LINKER_SYMBOL_PREFIXast_park_call;
|
||||
LINKER_SYMBOL_PREFIXast_parking_ext;
|
||||
LINKER_SYMBOL_PREFIXast_pickup_call;
|
||||
LINKER_SYMBOL_PREFIXast_pickup_ext;
|
||||
LINKER_SYMBOL_PREFIXast_register_feature;
|
||||
LINKER_SYMBOL_PREFIXast_unregister_feature;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -1,14 +0,0 @@
|
||||
{
|
||||
global:
|
||||
ast_aji_create_chat;
|
||||
ast_aji_disconnect;
|
||||
ast_aji_get_client;
|
||||
ast_aji_get_clients;
|
||||
ast_aji_increment_mid;
|
||||
ast_aji_invite_chat;
|
||||
ast_aji_join_chat;
|
||||
ast_aji_send;
|
||||
ast_aji_send_chat;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -0,0 +1,14 @@
|
||||
{
|
||||
global:
|
||||
LINKER_SYMBOL_PREFIXast_aji_create_chat;
|
||||
LINKER_SYMBOL_PREFIXast_aji_disconnect;
|
||||
LINKER_SYMBOL_PREFIXast_aji_get_client;
|
||||
LINKER_SYMBOL_PREFIXast_aji_get_clients;
|
||||
LINKER_SYMBOL_PREFIXast_aji_increment_mid;
|
||||
LINKER_SYMBOL_PREFIXast_aji_invite_chat;
|
||||
LINKER_SYMBOL_PREFIXast_aji_join_chat;
|
||||
LINKER_SYMBOL_PREFIXast_aji_send;
|
||||
LINKER_SYMBOL_PREFIXast_aji_send_chat;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -1,11 +0,0 @@
|
||||
{
|
||||
global:
|
||||
*ast_monitor_change_fname;
|
||||
*ast_monitor_pause;
|
||||
*ast_monitor_setjoinfiles;
|
||||
*ast_monitor_start;
|
||||
*ast_monitor_stop;
|
||||
*ast_monitor_unpause;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -0,0 +1,11 @@
|
||||
{
|
||||
global:
|
||||
LINKER_SYMBOL_PREFIX*ast_monitor_change_fname;
|
||||
LINKER_SYMBOL_PREFIX*ast_monitor_pause;
|
||||
LINKER_SYMBOL_PREFIX*ast_monitor_setjoinfiles;
|
||||
LINKER_SYMBOL_PREFIX*ast_monitor_start;
|
||||
LINKER_SYMBOL_PREFIX*ast_monitor_stop;
|
||||
LINKER_SYMBOL_PREFIX*ast_monitor_unpause;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -1,20 +0,0 @@
|
||||
{
|
||||
global:
|
||||
ast_odbc_ast_str_SQLGetData;
|
||||
ast_odbc_backslash_is_escape;
|
||||
ast_odbc_clear_cache;
|
||||
ast_odbc_direct_execute;
|
||||
ast_odbc_find_column;
|
||||
ast_odbc_find_table;
|
||||
ast_odbc_prepare_and_execute;
|
||||
ast_odbc_release_obj;
|
||||
ast_odbc_request_obj;
|
||||
_ast_odbc_request_obj;
|
||||
ast_odbc_request_obj2;
|
||||
_ast_odbc_request_obj2;
|
||||
ast_odbc_retrieve_transaction_obj;
|
||||
ast_odbc_sanity_check;
|
||||
ast_odbc_smart_execute;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -0,0 +1,20 @@
|
||||
{
|
||||
global:
|
||||
LINKER_SYMBOL_PREFIXast_odbc_ast_str_SQLGetData;
|
||||
LINKER_SYMBOL_PREFIXast_odbc_backslash_is_escape;
|
||||
LINKER_SYMBOL_PREFIXast_odbc_clear_cache;
|
||||
LINKER_SYMBOL_PREFIXast_odbc_direct_execute;
|
||||
LINKER_SYMBOL_PREFIXast_odbc_find_column;
|
||||
LINKER_SYMBOL_PREFIXast_odbc_find_table;
|
||||
LINKER_SYMBOL_PREFIXast_odbc_prepare_and_execute;
|
||||
LINKER_SYMBOL_PREFIXast_odbc_release_obj;
|
||||
LINKER_SYMBOL_PREFIXast_odbc_request_obj;
|
||||
LINKER_SYMBOL_PREFIX_ast_odbc_request_obj;
|
||||
LINKER_SYMBOL_PREFIXast_odbc_request_obj2;
|
||||
LINKER_SYMBOL_PREFIX_ast_odbc_request_obj2;
|
||||
LINKER_SYMBOL_PREFIXast_odbc_retrieve_transaction_obj;
|
||||
LINKER_SYMBOL_PREFIXast_odbc_sanity_check;
|
||||
LINKER_SYMBOL_PREFIXast_odbc_smart_execute;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
global:
|
||||
ast_pktccops_gate_alloc;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
global:
|
||||
LINKER_SYMBOL_PREFIXast_pktccops_gate_alloc;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -1,18 +0,0 @@
|
||||
{
|
||||
global:
|
||||
*ast_smdi_interface_find;
|
||||
*ast_smdi_interface_unref;
|
||||
*ast_smdi_md_message_destroy;
|
||||
*ast_smdi_md_message_pop;
|
||||
*ast_smdi_md_message_putback;
|
||||
*ast_smdi_md_message_wait;
|
||||
*ast_smdi_mwi_message_destroy;
|
||||
*ast_smdi_mwi_message_pop;
|
||||
*ast_smdi_mwi_message_putback;
|
||||
*ast_smdi_mwi_message_wait;
|
||||
*ast_smdi_mwi_message_wait_station;
|
||||
*ast_smdi_mwi_set;
|
||||
*ast_smdi_mwi_unset;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -0,0 +1,18 @@
|
||||
{
|
||||
global:
|
||||
LINKER_SYMBOL_PREFIX*ast_smdi_interface_find;
|
||||
LINKER_SYMBOL_PREFIX*ast_smdi_interface_unref;
|
||||
LINKER_SYMBOL_PREFIX*ast_smdi_md_message_destroy;
|
||||
LINKER_SYMBOL_PREFIX*ast_smdi_md_message_pop;
|
||||
LINKER_SYMBOL_PREFIX*ast_smdi_md_message_putback;
|
||||
LINKER_SYMBOL_PREFIX*ast_smdi_md_message_wait;
|
||||
LINKER_SYMBOL_PREFIX*ast_smdi_mwi_message_destroy;
|
||||
LINKER_SYMBOL_PREFIX*ast_smdi_mwi_message_pop;
|
||||
LINKER_SYMBOL_PREFIX*ast_smdi_mwi_message_putback;
|
||||
LINKER_SYMBOL_PREFIX*ast_smdi_mwi_message_wait;
|
||||
LINKER_SYMBOL_PREFIX*ast_smdi_mwi_message_wait_station;
|
||||
LINKER_SYMBOL_PREFIX*ast_smdi_mwi_set;
|
||||
LINKER_SYMBOL_PREFIX*ast_smdi_mwi_unset;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -1,21 +0,0 @@
|
||||
{
|
||||
global:
|
||||
ast_speech_change;
|
||||
ast_speech_change_results_type;
|
||||
ast_speech_change_state;
|
||||
ast_speech_destroy;
|
||||
ast_speech_dtmf;
|
||||
ast_speech_grammar_activate;
|
||||
ast_speech_grammar_deactivate;
|
||||
ast_speech_grammar_load;
|
||||
ast_speech_grammar_unload;
|
||||
ast_speech_new;
|
||||
ast_speech_register;
|
||||
ast_speech_results_free;
|
||||
ast_speech_results_get;
|
||||
ast_speech_start;
|
||||
ast_speech_unregister;
|
||||
ast_speech_write;
|
||||
local:
|
||||
*;
|
||||
};
|
@ -0,0 +1,21 @@
|
||||
{
|
||||
global:
|
||||
LINKER_SYMBOL_PREFIXast_speech_change;
|
||||
LINKER_SYMBOL_PREFIXast_speech_change_results_type;
|
||||
LINKER_SYMBOL_PREFIXast_speech_change_state;
|
||||
LINKER_SYMBOL_PREFIXast_speech_destroy;
|
||||
LINKER_SYMBOL_PREFIXast_speech_dtmf;
|
||||
LINKER_SYMBOL_PREFIXast_speech_grammar_activate;
|
||||
LINKER_SYMBOL_PREFIXast_speech_grammar_deactivate;
|
||||
LINKER_SYMBOL_PREFIXast_speech_grammar_load;
|
||||
LINKER_SYMBOL_PREFIXast_speech_grammar_unload;
|
||||
LINKER_SYMBOL_PREFIXast_speech_new;
|
||||
LINKER_SYMBOL_PREFIXast_speech_register;
|
||||
LINKER_SYMBOL_PREFIXast_speech_results_free;
|
||||
LINKER_SYMBOL_PREFIXast_speech_results_get;
|
||||
LINKER_SYMBOL_PREFIXast_speech_start;
|
||||
LINKER_SYMBOL_PREFIXast_speech_unregister;
|
||||
LINKER_SYMBOL_PREFIXast_speech_write;
|
||||
local:
|
||||
*;
|
||||
};
|
Loading…
Reference in new issue