mirror of
https://forge.sourceware.org/marek/gcc.git
synced 2026-02-22 12:00:11 -05:00
347 lines
8.6 KiB
Plaintext
347 lines
8.6 KiB
Plaintext
# Linker script for libgccjit.so
|
|
# Copyright (C) 2013-2026 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.
|
|
LIBGCCJIT_ABI_0
|
|
{
|
|
global:
|
|
# Keep this list sorted alphabetically:
|
|
gcc_jit_block_add_assignment;
|
|
gcc_jit_block_add_assignment_op;
|
|
gcc_jit_block_add_comment;
|
|
gcc_jit_block_add_eval;
|
|
gcc_jit_block_as_object;
|
|
gcc_jit_block_end_with_conditional;
|
|
gcc_jit_block_end_with_jump;
|
|
gcc_jit_block_end_with_return;
|
|
gcc_jit_block_end_with_void_return;
|
|
gcc_jit_block_get_function;
|
|
gcc_jit_context_acquire;
|
|
gcc_jit_context_compile;
|
|
gcc_jit_context_compile_to_file;
|
|
gcc_jit_context_dump_to_file;
|
|
gcc_jit_context_dump_reproducer_to_file;
|
|
gcc_jit_context_enable_dump;
|
|
gcc_jit_context_get_builtin_function;
|
|
gcc_jit_context_get_first_error;
|
|
gcc_jit_context_get_last_error;
|
|
gcc_jit_context_get_type;
|
|
gcc_jit_context_get_int_type;
|
|
gcc_jit_context_new_array_access;
|
|
gcc_jit_context_new_array_type;
|
|
gcc_jit_context_new_binary_op;
|
|
gcc_jit_context_new_call;
|
|
gcc_jit_context_new_call_through_ptr;
|
|
gcc_jit_context_new_cast;
|
|
gcc_jit_context_new_child_context;
|
|
gcc_jit_context_new_comparison;
|
|
gcc_jit_context_new_field;
|
|
gcc_jit_context_new_function;
|
|
gcc_jit_context_new_function_ptr_type;
|
|
gcc_jit_context_new_global;
|
|
gcc_jit_context_new_location;
|
|
gcc_jit_context_new_opaque_struct;
|
|
gcc_jit_context_new_param;
|
|
gcc_jit_context_new_rvalue_from_double;
|
|
gcc_jit_context_new_rvalue_from_int;
|
|
gcc_jit_context_new_rvalue_from_long;
|
|
gcc_jit_context_new_rvalue_from_ptr;
|
|
gcc_jit_context_new_string_literal;
|
|
gcc_jit_context_new_struct_type;
|
|
gcc_jit_context_new_unary_op;
|
|
gcc_jit_context_new_union_type;
|
|
gcc_jit_context_null;
|
|
gcc_jit_context_one;
|
|
gcc_jit_context_release;
|
|
gcc_jit_context_set_bool_option;
|
|
gcc_jit_context_set_int_option;
|
|
gcc_jit_context_set_logfile;
|
|
gcc_jit_context_set_str_option;
|
|
gcc_jit_context_zero;
|
|
gcc_jit_field_as_object;
|
|
gcc_jit_function_as_object;
|
|
gcc_jit_function_dump_to_dot;
|
|
gcc_jit_function_get_param;
|
|
gcc_jit_function_new_block;
|
|
gcc_jit_function_new_local;
|
|
gcc_jit_location_as_object;
|
|
gcc_jit_lvalue_as_object;
|
|
gcc_jit_lvalue_as_rvalue;
|
|
gcc_jit_lvalue_access_field;
|
|
gcc_jit_lvalue_get_address;
|
|
gcc_jit_object_get_context;
|
|
gcc_jit_object_get_debug_string;
|
|
gcc_jit_param_as_lvalue;
|
|
gcc_jit_param_as_object;
|
|
gcc_jit_param_as_rvalue;
|
|
gcc_jit_result_get_code;
|
|
gcc_jit_result_get_global;
|
|
gcc_jit_result_release;
|
|
gcc_jit_rvalue_access_field;
|
|
gcc_jit_rvalue_as_object;
|
|
gcc_jit_rvalue_dereference;
|
|
gcc_jit_rvalue_dereference_field;
|
|
gcc_jit_rvalue_get_type;
|
|
gcc_jit_struct_as_type;
|
|
gcc_jit_struct_set_fields;
|
|
gcc_jit_type_as_object;
|
|
gcc_jit_type_get_const;
|
|
gcc_jit_type_get_pointer;
|
|
gcc_jit_type_get_volatile;
|
|
|
|
local: *;
|
|
};
|
|
|
|
# Add support for adding arbitrary command-line options (PR jit/66628).
|
|
LIBGCCJIT_ABI_1 {
|
|
global:
|
|
gcc_jit_context_add_command_line_option;
|
|
} LIBGCCJIT_ABI_0;
|
|
|
|
# Add support for disabling the check for unreachable blocks (PR jit/66546).
|
|
LIBGCCJIT_ABI_2 {
|
|
global:
|
|
gcc_jit_context_set_bool_allow_unreachable_blocks;
|
|
} LIBGCCJIT_ABI_1;
|
|
|
|
# Add support for switch statements.
|
|
LIBGCCJIT_ABI_3 {
|
|
global:
|
|
gcc_jit_block_end_with_switch;
|
|
gcc_jit_case_as_object;
|
|
gcc_jit_context_new_case;
|
|
} LIBGCCJIT_ABI_2;
|
|
|
|
# Add timing API.
|
|
LIBGCCJIT_ABI_4 {
|
|
global:
|
|
gcc_jit_context_get_timer;
|
|
gcc_jit_context_set_timer;
|
|
gcc_jit_timer_new;
|
|
gcc_jit_timer_release;
|
|
gcc_jit_timer_push;
|
|
gcc_jit_timer_pop;
|
|
gcc_jit_timer_print;
|
|
};
|
|
|
|
LIBGCCJIT_ABI_5 {
|
|
global:
|
|
gcc_jit_context_set_bool_use_external_driver;
|
|
} LIBGCCJIT_ABI_4;
|
|
|
|
LIBGCCJIT_ABI_6 {
|
|
global:
|
|
gcc_jit_rvalue_set_bool_require_tail_call;
|
|
} LIBGCCJIT_ABI_5;
|
|
|
|
LIBGCCJIT_ABI_7 {
|
|
global:
|
|
gcc_jit_type_get_aligned;
|
|
} LIBGCCJIT_ABI_6;
|
|
|
|
LIBGCCJIT_ABI_8 {
|
|
global:
|
|
gcc_jit_type_get_vector;
|
|
} LIBGCCJIT_ABI_7;
|
|
|
|
LIBGCCJIT_ABI_9 {
|
|
global:
|
|
gcc_jit_function_get_address;
|
|
} LIBGCCJIT_ABI_8;
|
|
|
|
LIBGCCJIT_ABI_10 {
|
|
global:
|
|
gcc_jit_context_new_rvalue_from_vector;
|
|
} LIBGCCJIT_ABI_9;
|
|
|
|
LIBGCCJIT_ABI_11 {
|
|
global:
|
|
gcc_jit_context_add_driver_option;
|
|
} LIBGCCJIT_ABI_10;
|
|
|
|
LIBGCCJIT_ABI_12 {
|
|
global:
|
|
gcc_jit_context_new_bitfield;
|
|
} LIBGCCJIT_ABI_11;
|
|
|
|
LIBGCCJIT_ABI_13 {
|
|
global:
|
|
gcc_jit_version_major;
|
|
gcc_jit_version_minor;
|
|
gcc_jit_version_patchlevel;
|
|
} LIBGCCJIT_ABI_12;
|
|
|
|
LIBGCCJIT_ABI_14 {
|
|
global:
|
|
gcc_jit_global_set_initializer;
|
|
} LIBGCCJIT_ABI_13;
|
|
|
|
LIBGCCJIT_ABI_15 {
|
|
global:
|
|
gcc_jit_block_add_extended_asm;
|
|
gcc_jit_block_end_with_extended_asm_goto;
|
|
gcc_jit_extended_asm_as_object;
|
|
gcc_jit_extended_asm_set_volatile_flag;
|
|
gcc_jit_extended_asm_set_inline_flag;
|
|
gcc_jit_extended_asm_add_output_operand;
|
|
gcc_jit_extended_asm_add_input_operand;
|
|
gcc_jit_extended_asm_add_clobber;
|
|
gcc_jit_context_add_top_level_asm;
|
|
} LIBGCCJIT_ABI_14;
|
|
|
|
LIBGCCJIT_ABI_16 {
|
|
global:
|
|
gcc_jit_function_get_return_type;
|
|
gcc_jit_function_get_param_count;
|
|
gcc_jit_function_type_get_return_type;
|
|
gcc_jit_function_type_get_param_count;
|
|
gcc_jit_function_type_get_param_type;
|
|
gcc_jit_type_unqualified;
|
|
gcc_jit_type_dyncast_array;
|
|
gcc_jit_type_is_bool;
|
|
gcc_jit_type_dyncast_function_ptr_type;
|
|
gcc_jit_type_is_integral;
|
|
gcc_jit_type_is_pointer;
|
|
gcc_jit_type_dyncast_vector;
|
|
gcc_jit_vector_type_get_element_type;
|
|
gcc_jit_vector_type_get_num_units;
|
|
gcc_jit_struct_get_field;
|
|
gcc_jit_type_is_struct;
|
|
gcc_jit_struct_get_field_count;
|
|
} LIBGCCJIT_ABI_15;
|
|
|
|
LIBGCCJIT_ABI_17 {
|
|
global:
|
|
gcc_jit_lvalue_set_tls_model;
|
|
} LIBGCCJIT_ABI_16;
|
|
|
|
LIBGCCJIT_ABI_18 {
|
|
global:
|
|
gcc_jit_lvalue_set_link_section;
|
|
} LIBGCCJIT_ABI_17;
|
|
|
|
LIBGCCJIT_ABI_19 {
|
|
global:
|
|
gcc_jit_context_new_array_constructor;
|
|
gcc_jit_context_new_struct_constructor;
|
|
gcc_jit_context_new_union_constructor;
|
|
gcc_jit_global_set_initializer_rvalue;
|
|
} LIBGCCJIT_ABI_18;
|
|
|
|
LIBGCCJIT_ABI_20 {
|
|
global:
|
|
gcc_jit_compatible_types;
|
|
gcc_jit_type_get_size;
|
|
} LIBGCCJIT_ABI_19;
|
|
|
|
LIBGCCJIT_ABI_21 {
|
|
global:
|
|
gcc_jit_context_new_bitcast;
|
|
} LIBGCCJIT_ABI_20;
|
|
|
|
LIBGCCJIT_ABI_22 {
|
|
global:
|
|
gcc_jit_lvalue_set_register_name;
|
|
} LIBGCCJIT_ABI_21;
|
|
|
|
LIBGCCJIT_ABI_23 {
|
|
global:
|
|
gcc_jit_context_set_bool_print_errors_to_stderr;
|
|
} LIBGCCJIT_ABI_22;
|
|
|
|
LIBGCCJIT_ABI_24 {
|
|
global:
|
|
gcc_jit_lvalue_set_alignment;
|
|
gcc_jit_lvalue_get_alignment;
|
|
} LIBGCCJIT_ABI_23;
|
|
|
|
LIBGCCJIT_ABI_25 {
|
|
global:
|
|
gcc_jit_type_get_restrict;
|
|
} LIBGCCJIT_ABI_24;
|
|
|
|
LIBGCCJIT_ABI_26 {
|
|
global:
|
|
gcc_jit_function_add_attribute;
|
|
gcc_jit_function_add_string_attribute;
|
|
gcc_jit_lvalue_add_string_attribute;
|
|
gcc_jit_function_add_integer_array_attribute;
|
|
} LIBGCCJIT_ABI_25;
|
|
|
|
LIBGCCJIT_ABI_27 {
|
|
global:
|
|
gcc_jit_context_new_sizeof;
|
|
} LIBGCCJIT_ABI_26;
|
|
|
|
LIBGCCJIT_ABI_28 {
|
|
global:
|
|
gcc_jit_context_new_alignof;
|
|
} LIBGCCJIT_ABI_27;
|
|
|
|
LIBGCCJIT_ABI_29 {
|
|
global:
|
|
gcc_jit_global_set_readonly;
|
|
} LIBGCCJIT_ABI_28;
|
|
|
|
LIBGCCJIT_ABI_30 {
|
|
global:
|
|
gcc_jit_context_convert_vector;
|
|
} LIBGCCJIT_ABI_29;
|
|
|
|
LIBGCCJIT_ABI_31 {
|
|
global:
|
|
gcc_jit_context_new_vector_access;
|
|
gcc_jit_context_new_rvalue_vector_perm;
|
|
} LIBGCCJIT_ABI_30;
|
|
|
|
LIBGCCJIT_ABI_32 {
|
|
global:
|
|
gcc_jit_context_get_target_builtin_function;
|
|
} LIBGCCJIT_ABI_31;
|
|
|
|
LIBGCCJIT_ABI_33 {
|
|
global:
|
|
gcc_jit_function_new_temp;
|
|
} LIBGCCJIT_ABI_32;
|
|
|
|
LIBGCCJIT_ABI_34 {
|
|
global:
|
|
gcc_jit_context_set_output_ident;
|
|
} LIBGCCJIT_ABI_33;
|
|
|
|
LIBGCCJIT_ABI_35 {
|
|
global:
|
|
gcc_jit_context_get_target_info;
|
|
gcc_jit_target_info_release;
|
|
gcc_jit_target_info_cpu_supports;
|
|
gcc_jit_target_info_arch;
|
|
gcc_jit_target_info_supports_target_dependent_type;
|
|
} LIBGCCJIT_ABI_34;
|
|
|
|
LIBGCCJIT_ABI_36 {
|
|
global:
|
|
gcc_jit_context_set_abort_on_unsupported_target_builtin;
|
|
} LIBGCCJIT_ABI_35;
|
|
|
|
LIBGCCJIT_ABI_37 {
|
|
global:
|
|
gcc_jit_context_new_array_type_u64;
|
|
} LIBGCCJIT_ABI_36;
|