1# Linker script for libgccjit.so 2# Copyright (C) 2013-2015 Free Software Foundation, Inc. 3# Contributed by David Malcolm <dmalcolm@redhat.com>. 4# 5# This file is part of GCC. 6# 7# GCC is free software; you can redistribute it and/or modify it 8# under the terms of the GNU General Public License as published by 9# the Free Software Foundation; either version 3, or (at your option) 10# any later version. 11# 12# GCC is distributed in the hope that it will be useful, but 13# WITHOUT ANY WARRANTY; without even the implied warranty of 14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15# General Public License for more details. 16# 17# You should have received a copy of the GNU General Public License 18# along with GCC; see the file COPYING3. If not see 19# <http://www.gnu.org/licenses/>. */ 20 21# The initial release of the library. 22LIBGCCJIT_ABI_0 23{ 24 global: 25 # Keep this list sorted alphabetically: 26 gcc_jit_block_add_assignment; 27 gcc_jit_block_add_assignment_op; 28 gcc_jit_block_add_comment; 29 gcc_jit_block_add_eval; 30 gcc_jit_block_as_object; 31 gcc_jit_block_end_with_conditional; 32 gcc_jit_block_end_with_jump; 33 gcc_jit_block_end_with_return; 34 gcc_jit_block_end_with_void_return; 35 gcc_jit_block_get_function; 36 gcc_jit_context_acquire; 37 gcc_jit_context_compile; 38 gcc_jit_context_compile_to_file; 39 gcc_jit_context_dump_to_file; 40 gcc_jit_context_dump_reproducer_to_file; 41 gcc_jit_context_enable_dump; 42 gcc_jit_context_get_builtin_function; 43 gcc_jit_context_get_first_error; 44 gcc_jit_context_get_last_error; 45 gcc_jit_context_get_type; 46 gcc_jit_context_get_int_type; 47 gcc_jit_context_new_array_access; 48 gcc_jit_context_new_array_type; 49 gcc_jit_context_new_binary_op; 50 gcc_jit_context_new_call; 51 gcc_jit_context_new_call_through_ptr; 52 gcc_jit_context_new_cast; 53 gcc_jit_context_new_child_context; 54 gcc_jit_context_new_comparison; 55 gcc_jit_context_new_field; 56 gcc_jit_context_new_function; 57 gcc_jit_context_new_function_ptr_type; 58 gcc_jit_context_new_global; 59 gcc_jit_context_new_location; 60 gcc_jit_context_new_opaque_struct; 61 gcc_jit_context_new_param; 62 gcc_jit_context_new_rvalue_from_double; 63 gcc_jit_context_new_rvalue_from_int; 64 gcc_jit_context_new_rvalue_from_long; 65 gcc_jit_context_new_rvalue_from_ptr; 66 gcc_jit_context_new_string_literal; 67 gcc_jit_context_new_struct_type; 68 gcc_jit_context_new_unary_op; 69 gcc_jit_context_new_union_type; 70 gcc_jit_context_null; 71 gcc_jit_context_one; 72 gcc_jit_context_release; 73 gcc_jit_context_set_bool_option; 74 gcc_jit_context_set_int_option; 75 gcc_jit_context_set_logfile; 76 gcc_jit_context_set_str_option; 77 gcc_jit_context_zero; 78 gcc_jit_field_as_object; 79 gcc_jit_function_as_object; 80 gcc_jit_function_dump_to_dot; 81 gcc_jit_function_get_param; 82 gcc_jit_function_new_block; 83 gcc_jit_function_new_local; 84 gcc_jit_location_as_object; 85 gcc_jit_lvalue_as_object; 86 gcc_jit_lvalue_as_rvalue; 87 gcc_jit_lvalue_access_field; 88 gcc_jit_lvalue_get_address; 89 gcc_jit_object_get_context; 90 gcc_jit_object_get_debug_string; 91 gcc_jit_param_as_lvalue; 92 gcc_jit_param_as_object; 93 gcc_jit_param_as_rvalue; 94 gcc_jit_result_get_code; 95 gcc_jit_result_get_global; 96 gcc_jit_result_release; 97 gcc_jit_rvalue_access_field; 98 gcc_jit_rvalue_as_object; 99 gcc_jit_rvalue_dereference; 100 gcc_jit_rvalue_dereference_field; 101 gcc_jit_rvalue_get_type; 102 gcc_jit_struct_as_type; 103 gcc_jit_struct_set_fields; 104 gcc_jit_type_as_object; 105 gcc_jit_type_get_const; 106 gcc_jit_type_get_pointer; 107 gcc_jit_type_get_volatile; 108 109 local: *; 110}; 111 112# Add support for adding arbitrary command-line options (PR jit/66628). 113LIBGCCJIT_ABI_1 { 114 global: 115 gcc_jit_context_add_command_line_option; 116} LIBGCCJIT_ABI_0; 117 118# Add support for disabling the check for unreachable blocks (PR jit/66546). 119LIBGCCJIT_ABI_2 { 120 global: 121 gcc_jit_context_set_bool_allow_unreachable_blocks; 122} LIBGCCJIT_ABI_1; 123 124# Add support for switch statements. 125LIBGCCJIT_ABI_3 { 126 global: 127 gcc_jit_block_end_with_switch; 128 gcc_jit_case_as_object; 129 gcc_jit_context_new_case; 130} LIBGCCJIT_ABI_2; 131