1 # Linker script for libgccjit.so
2 # Copyright (C) 2013-2024 Free Software Foundation, Inc.
3 # Contributed by David Malcolm <dmalcolm@redhat.com>.
5 # This file is part of GCC.
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)
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.
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/>. */
21 # The initial release of the library.
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;
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;
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;
112 # Add support for adding arbitrary command-line options (PR jit/66628).
115 gcc_jit_context_add_command_line_option;
118 # Add support for disabling the check for unreachable blocks (PR jit/66546).
121 gcc_jit_context_set_bool_allow_unreachable_blocks;
124 # Add support for switch statements.
127 gcc_jit_block_end_with_switch;
128 gcc_jit_case_as_object;
129 gcc_jit_context_new_case;
135 gcc_jit_context_get_timer;
136 gcc_jit_context_set_timer;
138 gcc_jit_timer_release;
146 gcc_jit_context_set_bool_use_external_driver;
151 gcc_jit_rvalue_set_bool_require_tail_call;
156 gcc_jit_type_get_aligned;
161 gcc_jit_type_get_vector;
166 gcc_jit_function_get_address;
171 gcc_jit_context_new_rvalue_from_vector;
176 gcc_jit_context_add_driver_option;
181 gcc_jit_context_new_bitfield;
186 gcc_jit_version_major;
187 gcc_jit_version_minor;
188 gcc_jit_version_patchlevel;
193 gcc_jit_global_set_initializer;
198 gcc_jit_block_add_extended_asm;
199 gcc_jit_block_end_with_extended_asm_goto;
200 gcc_jit_extended_asm_as_object;
201 gcc_jit_extended_asm_set_volatile_flag;
202 gcc_jit_extended_asm_set_inline_flag;
203 gcc_jit_extended_asm_add_output_operand;
204 gcc_jit_extended_asm_add_input_operand;
205 gcc_jit_extended_asm_add_clobber;
206 gcc_jit_context_add_top_level_asm;
211 gcc_jit_function_get_return_type;
212 gcc_jit_function_get_param_count;
213 gcc_jit_function_type_get_return_type;
214 gcc_jit_function_type_get_param_count;
215 gcc_jit_function_type_get_param_type;
216 gcc_jit_type_unqualified;
217 gcc_jit_type_dyncast_array;
218 gcc_jit_type_is_bool;
219 gcc_jit_type_dyncast_function_ptr_type;
220 gcc_jit_type_is_integral;
221 gcc_jit_type_is_pointer;
222 gcc_jit_type_dyncast_vector;
223 gcc_jit_vector_type_get_element_type;
224 gcc_jit_vector_type_get_num_units;
225 gcc_jit_struct_get_field;
226 gcc_jit_type_is_struct;
227 gcc_jit_struct_get_field_count;
232 gcc_jit_lvalue_set_tls_model;
237 gcc_jit_lvalue_set_link_section;
242 gcc_jit_context_new_array_constructor;
243 gcc_jit_context_new_struct_constructor;
244 gcc_jit_context_new_union_constructor;
245 gcc_jit_global_set_initializer_rvalue;
250 gcc_jit_compatible_types;
251 gcc_jit_type_get_size;
256 gcc_jit_context_new_bitcast;
261 gcc_jit_lvalue_set_register_name;
266 gcc_jit_context_set_bool_print_errors_to_stderr;
271 gcc_jit_lvalue_set_alignment;
272 gcc_jit_lvalue_get_alignment;
277 gcc_jit_type_get_restrict;
282 gcc_jit_function_add_attribute;
283 gcc_jit_function_add_string_attribute;
284 gcc_jit_lvalue_add_string_attribute;
285 gcc_jit_function_add_integer_array_attribute;
290 gcc_jit_context_new_sizeof;