From 2be88e05c043e8abc1b6a3c94c4699859a7adf68 Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" Date: Fri, 2 Apr 2010 18:57:58 +0000 Subject: Allow symbol export filtering to work properly on platforms that have symbol prefixes. 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-fbb531ad65f3 --- res/res_adsi.exports | 33 --------------------------------- res/res_adsi.exports.in | 33 +++++++++++++++++++++++++++++++++ res/res_ael_share.exports | 4 ---- res/res_ael_share.exports.in | 4 ++++ res/res_agi.exports | 10 ---------- res/res_agi.exports.in | 10 ++++++++++ res/res_calendar.exports | 7 ------- res/res_calendar.exports.in | 7 +++++++ res/res_fax.exports | 11 ----------- res/res_fax.exports.in | 11 +++++++++++ res/res_features.exports | 13 ------------- res/res_features.exports.in | 13 +++++++++++++ res/res_jabber.exports | 14 -------------- res/res_jabber.exports.in | 14 ++++++++++++++ res/res_monitor.exports | 11 ----------- res/res_monitor.exports.in | 11 +++++++++++ res/res_odbc.exports | 20 -------------------- res/res_odbc.exports.in | 20 ++++++++++++++++++++ res/res_pktccops.exports | 6 ------ res/res_pktccops.exports.in | 6 ++++++ res/res_smdi.exports | 18 ------------------ res/res_smdi.exports.in | 18 ++++++++++++++++++ res/res_speech.exports | 21 --------------------- res/res_speech.exports.in | 21 +++++++++++++++++++++ 24 files changed, 168 insertions(+), 168 deletions(-) delete mode 100644 res/res_adsi.exports create mode 100644 res/res_adsi.exports.in delete mode 100644 res/res_ael_share.exports create mode 100644 res/res_ael_share.exports.in delete mode 100644 res/res_agi.exports create mode 100644 res/res_agi.exports.in delete mode 100644 res/res_calendar.exports create mode 100644 res/res_calendar.exports.in delete mode 100644 res/res_fax.exports create mode 100644 res/res_fax.exports.in delete mode 100644 res/res_features.exports create mode 100644 res/res_features.exports.in delete mode 100644 res/res_jabber.exports create mode 100644 res/res_jabber.exports.in delete mode 100644 res/res_monitor.exports create mode 100644 res/res_monitor.exports.in delete mode 100644 res/res_odbc.exports create mode 100644 res/res_odbc.exports.in delete mode 100644 res/res_pktccops.exports create mode 100644 res/res_pktccops.exports.in delete mode 100644 res/res_smdi.exports create mode 100644 res/res_smdi.exports.in delete mode 100644 res/res_speech.exports create mode 100644 res/res_speech.exports.in (limited to 'res') diff --git a/res/res_adsi.exports b/res/res_adsi.exports deleted file mode 100644 index a4119dc1f..000000000 --- a/res/res_adsi.exports +++ /dev/null @@ -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: - *; -}; diff --git a/res/res_adsi.exports.in b/res/res_adsi.exports.in new file mode 100644 index 000000000..480f0ead8 --- /dev/null +++ b/res/res_adsi.exports.in @@ -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: + *; +}; diff --git a/res/res_ael_share.exports b/res/res_ael_share.exports deleted file mode 100644 index 5db09cc02..000000000 --- a/res/res_ael_share.exports +++ /dev/null @@ -1,4 +0,0 @@ -{ - global: - *; -}; diff --git a/res/res_ael_share.exports.in b/res/res_ael_share.exports.in new file mode 100644 index 000000000..5db09cc02 --- /dev/null +++ b/res/res_ael_share.exports.in @@ -0,0 +1,4 @@ +{ + global: + *; +}; diff --git a/res/res_agi.exports b/res/res_agi.exports deleted file mode 100644 index a305cf2b9..000000000 --- a/res/res_agi.exports +++ /dev/null @@ -1,10 +0,0 @@ -{ - global: - *ast_agi_register; - *ast_agi_unregister; - *ast_agi_register_multiple; - *ast_agi_unregister_multiple; - *ast_agi_send; - local: - *; -}; diff --git a/res/res_agi.exports.in b/res/res_agi.exports.in new file mode 100644 index 000000000..cf4d276dd --- /dev/null +++ b/res/res_agi.exports.in @@ -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: + *; +}; diff --git a/res/res_calendar.exports b/res/res_calendar.exports deleted file mode 100644 index 021d395b3..000000000 --- a/res/res_calendar.exports +++ /dev/null @@ -1,7 +0,0 @@ -{ - global: - ast_*; - calendar_config; - local: - *; -}; diff --git a/res/res_calendar.exports.in b/res/res_calendar.exports.in new file mode 100644 index 000000000..7fbe4ca78 --- /dev/null +++ b/res/res_calendar.exports.in @@ -0,0 +1,7 @@ +{ + global: + LINKER_SYMBOL_PREFIXast_*; + LINKER_SYMBOL_PREFIXcalendar_config; + local: + *; +}; diff --git a/res/res_fax.exports b/res/res_fax.exports deleted file mode 100644 index 0ffe0b327..000000000 --- a/res/res_fax.exports +++ /dev/null @@ -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: - *; -}; diff --git a/res/res_fax.exports.in b/res/res_fax.exports.in new file mode 100644 index 000000000..7cd569007 --- /dev/null +++ b/res/res_fax.exports.in @@ -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: + *; +}; diff --git a/res/res_features.exports b/res/res_features.exports deleted file mode 100644 index 344a652c8..000000000 --- a/res/res_features.exports +++ /dev/null @@ -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: - *; -}; diff --git a/res/res_features.exports.in b/res/res_features.exports.in new file mode 100644 index 000000000..0575e98e5 --- /dev/null +++ b/res/res_features.exports.in @@ -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: + *; +}; diff --git a/res/res_jabber.exports b/res/res_jabber.exports deleted file mode 100644 index c20bd0256..000000000 --- a/res/res_jabber.exports +++ /dev/null @@ -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: - *; -}; diff --git a/res/res_jabber.exports.in b/res/res_jabber.exports.in new file mode 100644 index 000000000..a021ac593 --- /dev/null +++ b/res/res_jabber.exports.in @@ -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: + *; +}; diff --git a/res/res_monitor.exports b/res/res_monitor.exports deleted file mode 100644 index 0c97f6a80..000000000 --- a/res/res_monitor.exports +++ /dev/null @@ -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: - *; -}; diff --git a/res/res_monitor.exports.in b/res/res_monitor.exports.in new file mode 100644 index 000000000..4a4072442 --- /dev/null +++ b/res/res_monitor.exports.in @@ -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: + *; +}; diff --git a/res/res_odbc.exports b/res/res_odbc.exports deleted file mode 100644 index 0512ab809..000000000 --- a/res/res_odbc.exports +++ /dev/null @@ -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: - *; -}; diff --git a/res/res_odbc.exports.in b/res/res_odbc.exports.in new file mode 100644 index 000000000..ad674beb1 --- /dev/null +++ b/res/res_odbc.exports.in @@ -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: + *; +}; diff --git a/res/res_pktccops.exports b/res/res_pktccops.exports deleted file mode 100644 index 72cd65ba8..000000000 --- a/res/res_pktccops.exports +++ /dev/null @@ -1,6 +0,0 @@ -{ - global: - ast_pktccops_gate_alloc; - local: - *; -}; diff --git a/res/res_pktccops.exports.in b/res/res_pktccops.exports.in new file mode 100644 index 000000000..1892e5bc6 --- /dev/null +++ b/res/res_pktccops.exports.in @@ -0,0 +1,6 @@ +{ + global: + LINKER_SYMBOL_PREFIXast_pktccops_gate_alloc; + local: + *; +}; diff --git a/res/res_smdi.exports b/res/res_smdi.exports deleted file mode 100644 index e140aba9f..000000000 --- a/res/res_smdi.exports +++ /dev/null @@ -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: - *; -}; diff --git a/res/res_smdi.exports.in b/res/res_smdi.exports.in new file mode 100644 index 000000000..ef0ba5df5 --- /dev/null +++ b/res/res_smdi.exports.in @@ -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: + *; +}; diff --git a/res/res_speech.exports b/res/res_speech.exports deleted file mode 100644 index 226660735..000000000 --- a/res/res_speech.exports +++ /dev/null @@ -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: - *; -}; diff --git a/res/res_speech.exports.in b/res/res_speech.exports.in new file mode 100644 index 000000000..2bdb6398b --- /dev/null +++ b/res/res_speech.exports.in @@ -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: + *; +}; -- cgit v1.2.3