| # Linker script for libgdiagnostics.so |
| # Copyright (C) 2023-2025 Free Software Foundation, Inc. |
| # Contributed by David Malcolm <dmalcolm@redhat.com>. |
| # |
| # This file is part of GCC. |
| # |
| # GCC is free software; you can redistribute it and/or modify it |
| # under the terms of the GNU General Public License as published by |
| # the Free Software Foundation; either version 3, or (at your option) |
| # any later version. |
| # |
| # GCC is distributed in the hope that it will be useful, but |
| # WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| # General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with GCC; see the file COPYING3. If not see |
| # <http://www.gnu.org/licenses/>. */ |
| |
| # The initial release of the library. |
| LIBGDIAGNOSTICS_ABI_0 |
| { |
| global: |
| # Keep this list in order of decls in header file. |
| diagnostic_manager_new; |
| diagnostic_manager_release; |
| diagnostic_manager_set_tool_name; |
| diagnostic_manager_set_full_name; |
| diagnostic_manager_set_version_string; |
| diagnostic_manager_set_version_url; |
| diagnostic_manager_add_text_sink; |
| diagnostic_text_sink_set_source_printing_enabled; |
| diagnostic_text_sink_set_colorize; |
| diagnostic_text_sink_set_labelled_source_colorization_enabled; |
| diagnostic_manager_add_sarif_sink; |
| diagnostic_manager_write_patch; |
| diagnostic_manager_new_file; |
| diagnostic_file_set_buffered_content; |
| diagnostic_manager_debug_dump_file; |
| diagnostic_manager_new_location_from_file_and_line; |
| diagnostic_manager_new_location_from_file_line_column; |
| diagnostic_manager_new_location_from_range; |
| diagnostic_manager_debug_dump_location; |
| diagnostic_manager_new_logical_location; |
| diagnostic_manager_debug_dump_logical_location; |
| diagnostic_manager_begin_group; |
| diagnostic_manager_end_group; |
| diagnostic_begin; |
| diagnostic_set_cwe; |
| diagnostic_add_rule; |
| diagnostic_set_location; |
| diagnostic_set_location_with_label; |
| diagnostic_add_location; |
| diagnostic_add_location_with_label; |
| diagnostic_set_logical_location; |
| diagnostic_add_fix_it_hint_insert_before; |
| diagnostic_add_fix_it_hint_insert_after; |
| diagnostic_add_fix_it_hint_replace; |
| diagnostic_add_fix_it_hint_delete; |
| |
| diagnostic_add_execution_path; |
| diagnostic_manager_new_execution_path; |
| diagnostic_take_execution_path; |
| diagnostic_execution_path_release; |
| diagnostic_execution_path_add_event; |
| diagnostic_execution_path_add_event_va; |
| |
| diagnostic_finish; |
| diagnostic_finish_va; |
| |
| |
| diagnostic_physical_location_get_file; |
| |
| local: *; |
| }; |
| |
| # Add accessors for diagnostic_logical_location. |
| LIBGDIAGNOSTICS_ABI_1 { |
| global: |
| diagnostic_logical_location_get_kind; |
| diagnostic_logical_location_get_parent; |
| diagnostic_logical_location_get_short_name; |
| diagnostic_logical_location_get_fully_qualified_name; |
| diagnostic_logical_location_get_decorated_name; |
| } LIBGDIAGNOSTICS_ABI_0; |
| |
| # Add hooks needed for HTML output from sarif-replay |
| LIBGDIAGNOSTICS_ABI_2 { |
| global: |
| diagnostic_manager_add_sink_from_spec; |
| diagnostic_manager_set_analysis_target; |
| } LIBGDIAGNOSTICS_ABI_1; |
| |
| # Add hooks needed for diagnostic_graph support. |
| LIBGDIAGNOSTICS_ABI_3 { |
| global: |
| diagnostic_manager_new_graph; |
| diagnostic_manager_take_global_graph; |
| diagnostic_take_graph; |
| diagnostic_graph_release; |
| diagnostic_graph_set_description; |
| diagnostic_graph_add_node; |
| diagnostic_graph_add_edge; |
| diagnostic_graph_get_node_by_id; |
| diagnostic_graph_get_edge_by_id; |
| diagnostic_node_set_label; |
| diagnostic_node_set_location; |
| diagnostic_node_set_logical_location; |
| |
| # Private hooks used by sarif-replay |
| private_diagnostic_graph_set_property_bag; |
| private_diagnostic_node_set_property_bag; |
| private_diagnostic_edge_set_property_bag; |
| } LIBGDIAGNOSTICS_ABI_2; |
| |
| # Add diagnostic_message_buffer |
| LIBGDIAGNOSTICS_ABI_4 { |
| global: |
| diagnostic_message_buffer_new; |
| diagnostic_message_buffer_release; |
| diagnostic_message_buffer_append_str; |
| diagnostic_message_buffer_append_text; |
| diagnostic_message_buffer_append_byte; |
| diagnostic_message_buffer_append_printf; |
| diagnostic_message_buffer_append_event_id; |
| diagnostic_message_buffer_begin_url; |
| diagnostic_message_buffer_end_url; |
| diagnostic_message_buffer_begin_quote; |
| diagnostic_message_buffer_end_quote; |
| diagnostic_message_buffer_begin_color; |
| diagnostic_message_buffer_end_color; |
| diagnostic_message_buffer_dump; |
| diagnostic_finish_via_msg_buf; |
| diagnostic_add_location_with_label_via_msg_buf; |
| diagnostic_execution_path_add_event_via_msg_buf; |
| diagnostic_graph_set_description_via_msg_buf; |
| diagnostic_graph_add_edge_via_msg_buf; |
| diagnostic_node_set_label_via_msg_buf; |
| |
| # Private hook used by sarif-replay |
| private_diagnostic_execution_path_add_event_3; |
| } LIBGDIAGNOSTICS_ABI_3; |