blob: 91f3951a35b4a4e3ed597796bac78fd0c4bb4eda [file] [log] [blame]
# 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;