111
|
1 # Linker script for libgccjit.so
|
145
|
2 # Copyright (C) 2013-2020 Free Software Foundation, Inc.
|
111
|
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.
|
|
22 LIBGCCJIT_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).
|
|
113 LIBGCCJIT_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).
|
|
119 LIBGCCJIT_ABI_2 {
|
|
120 global:
|
|
121 gcc_jit_context_set_bool_allow_unreachable_blocks;
|
|
122 } LIBGCCJIT_ABI_1;
|
|
123
|
|
124 # Add support for switch statements.
|
|
125 LIBGCCJIT_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
|
|
132 # Add timing API.
|
|
133 LIBGCCJIT_ABI_4 {
|
|
134 global:
|
|
135 gcc_jit_context_get_timer;
|
|
136 gcc_jit_context_set_timer;
|
|
137 gcc_jit_timer_new;
|
|
138 gcc_jit_timer_release;
|
|
139 gcc_jit_timer_push;
|
|
140 gcc_jit_timer_pop;
|
|
141 gcc_jit_timer_print;
|
|
142 };
|
|
143
|
|
144 LIBGCCJIT_ABI_5 {
|
|
145 global:
|
|
146 gcc_jit_context_set_bool_use_external_driver;
|
|
147 } LIBGCCJIT_ABI_4;
|
|
148
|
|
149 LIBGCCJIT_ABI_6 {
|
|
150 global:
|
|
151 gcc_jit_rvalue_set_bool_require_tail_call;
|
|
152 } LIBGCCJIT_ABI_5;
|
|
153
|
|
154 LIBGCCJIT_ABI_7 {
|
|
155 global:
|
|
156 gcc_jit_type_get_aligned;
|
|
157 } LIBGCCJIT_ABI_6;
|
|
158
|
|
159 LIBGCCJIT_ABI_8 {
|
|
160 global:
|
|
161 gcc_jit_type_get_vector;
|
|
162 } LIBGCCJIT_ABI_7;
|
|
163
|
|
164 LIBGCCJIT_ABI_9 {
|
|
165 global:
|
|
166 gcc_jit_function_get_address;
|
|
167 } LIBGCCJIT_ABI_8;
|
|
168
|
|
169 LIBGCCJIT_ABI_10 {
|
|
170 global:
|
|
171 gcc_jit_context_new_rvalue_from_vector;
|
|
172 } LIBGCCJIT_ABI_9;
|
145
|
173
|
|
174 LIBGCCJIT_ABI_11 {
|
|
175 global:
|
|
176 gcc_jit_context_add_driver_option;
|
|
177 } LIBGCCJIT_ABI_10;
|
|
178
|
|
179 LIBGCCJIT_ABI_12 {
|
|
180 global:
|
|
181 gcc_jit_context_new_bitfield;
|
|
182 } LIBGCCJIT_ABI_11; |