[Patch, libgfortran] PR 27740 Versioned symbols, bump so version
Janne Blomqvist
jblomqvi@cc.hut.fi
Tue May 23 20:29:00 GMT 2006
On Tue, May 23, 2006 at 06:01:15PM +0200, tobias.schlueter@physik.uni-muenchen.de wrote:
> Janne Blomqvist <jblomqvi@cc.hut.fi> wrote on Tue, 23 May 2006:
> >I also decided to version the f2c_specific and specific_ math
> >functions; is this useful or is it even counterproductive?
>
> The interface of the former functions is frozen to be f2c compatible,
> if it changes it's a bug. The latter should be versioned.
Right.
Looking around, the way others (libstdc++ and libgomp) handle it, is
to have separate version nodes for standard and implementation
specific interfaces (e.g. OMP_2.0 and GOMP_1.0). In the same way we
could have a separate F2C_1.0 version node that would remain unchanged
even if we get new GFORTRAN_* nodes. AFAICS the problem with leaving
the f2c stuff unversioned is that the
local:
*;
thing in the version script hides all other symbols (which in general
is a good thing).
Attached are a new gfortran.map file and the script used to generate
it.
--
Janne Blomqvist
-------------- next part --------------
GFORTRAN_1.0 {
global:
_fini;
_gfortran_abort;
_gfortran_adjustl;
_gfortran_adjustr;
_gfortran_alarm_sub;
_gfortran_alarm_sub_int;
_gfortran_all_l4;
_gfortran_all_l8;
_gfortran_allocate;
_gfortran_allocate64;
_gfortran_allocate64_array;
_gfortran_allocate_array;
_gfortran_any_l4;
_gfortran_any_l8;
_gfortran_arandom_r4;
_gfortran_arandom_r8;
_gfortran_associated;
_gfortran_chdir_i4;
_gfortran_chdir_i4_sub;
_gfortran_chdir_i8;
_gfortran_chdir_i8_sub;
_gfortran_compare_string;
_gfortran_concat_string;
_gfortran_copy_string;
_gfortran_count_4_l4;
_gfortran_count_4_l8;
_gfortran_count_8_l4;
_gfortran_count_8_l8;
_gfortran_cpu_time_4;
_gfortran_cpu_time_8;
_gfortran_cshift0_1;
_gfortran_cshift0_1_char;
_gfortran_cshift0_2;
_gfortran_cshift0_2_char;
_gfortran_cshift0_4;
_gfortran_cshift0_4_char;
_gfortran_cshift0_8;
_gfortran_cshift0_8_char;
_gfortran_cshift1_4;
_gfortran_cshift1_4_char;
_gfortran_cshift1_8;
_gfortran_cshift1_8_char;
_gfortran_ctime;
_gfortran_ctime_sub;
_gfortran_date_and_time;
_gfortran_deallocate;
_gfortran_dot_product_c10;
_gfortran_dot_product_c4;
_gfortran_dot_product_c8;
_gfortran_dot_product_i4;
_gfortran_dot_product_i8;
_gfortran_dot_product_l4;
_gfortran_dot_product_l8;
_gfortran_dot_product_r10;
_gfortran_dot_product_r4;
_gfortran_dot_product_r8;
_gfortran_eoshift0_1;
_gfortran_eoshift0_1_char;
_gfortran_eoshift0_2;
_gfortran_eoshift0_2_char;
_gfortran_eoshift0_4;
_gfortran_eoshift0_4_char;
_gfortran_eoshift0_8;
_gfortran_eoshift0_8_char;
_gfortran_eoshift1_4;
_gfortran_eoshift1_4_char;
_gfortran_eoshift1_8;
_gfortran_eoshift1_8_char;
_gfortran_eoshift2_1;
_gfortran_eoshift2_1_char;
_gfortran_eoshift2_2;
_gfortran_eoshift2_2_char;
_gfortran_eoshift2_4;
_gfortran_eoshift2_4_char;
_gfortran_eoshift2_8;
_gfortran_eoshift2_8_char;
_gfortran_eoshift3_4;
_gfortran_eoshift3_4_char;
_gfortran_eoshift3_8;
_gfortran_eoshift3_8_char;
_gfortran_etime;
_gfortran_etime_sub;
_gfortran_exit_i4;
_gfortran_exit_i8;
_gfortran_exponent_r10;
_gfortran_exponent_r4;
_gfortran_exponent_r8;
_gfortran_fdate;
_gfortran_fdate_sub;
_gfortran_fget;
_gfortran_fget_i1_sub;
_gfortran_fget_i2_sub;
_gfortran_fget_i4_sub;
_gfortran_fget_i8_sub;
_gfortran_fgetc;
_gfortran_fgetc_i1_sub;
_gfortran_fgetc_i2_sub;
_gfortran_fgetc_i4_sub;
_gfortran_fgetc_i8_sub;
_gfortran_flush_i4;
_gfortran_flush_i8;
_gfortran_fnum_i4;
_gfortran_fnum_i8;
_gfortran_fput;
_gfortran_fput_i1_sub;
_gfortran_fput_i2_sub;
_gfortran_fput_i4_sub;
_gfortran_fput_i8_sub;
_gfortran_fputc;
_gfortran_fputc_i1_sub;
_gfortran_fputc_i2_sub;
_gfortran_fputc_i4_sub;
_gfortran_fputc_i8_sub;
_gfortran_fraction_r10;
_gfortran_fraction_r4;
_gfortran_fraction_r8;
_gfortran_free;
_gfortran_fstat_i4;
_gfortran_fstat_i4_sub;
_gfortran_fstat_i8;
_gfortran_fstat_i8_sub;
_gfortran_ftell;
_gfortran_ftell_i1_sub;
_gfortran_ftell_i2_sub;
_gfortran_ftell_i4_sub;
_gfortran_ftell_i8_sub;
_gfortran_gerror;
_gfortran_get_command_argument_i4;
_gfortran_get_command_argument_i8;
_gfortran_get_command_i4;
_gfortran_get_command_i8;
_gfortran_get_environment_variable_i4;
_gfortran_get_environment_variable_i8;
_gfortran_getarg_i4;
_gfortran_getarg_i8;
_gfortran_getcwd;
_gfortran_getcwd_i4_sub;
_gfortran_getcwd_i8_sub;
_gfortran_getenv;
_gfortran_getgid;
_gfortran_getlog;
_gfortran_getpid;
_gfortran_getuid;
_gfortran_hostnm;
_gfortran_hostnm_i4_sub;
_gfortran_hostnm_i8_sub;
_gfortran_iargc;
_gfortran_ierrno_i4;
_gfortran_ierrno_i8;
_gfortran_internal_free;
_gfortran_internal_malloc;
_gfortran_internal_malloc64;
_gfortran_internal_pack;
_gfortran_internal_realloc;
_gfortran_internal_realloc64;
_gfortran_internal_unpack;
_gfortran_irand;
_gfortran_isatty_l4;
_gfortran_isatty_l8;
_gfortran_ishftc4;
_gfortran_ishftc8;
_gfortran_kill_i4;
_gfortran_kill_i4_sub;
_gfortran_kill_i8;
_gfortran_kill_i8_sub;
_gfortran_link_i4;
_gfortran_link_i4_sub;
_gfortran_link_i8;
_gfortran_link_i8_sub;
_gfortran_malloc;
_gfortran_matmul_c10;
_gfortran_matmul_c4;
_gfortran_matmul_c8;
_gfortran_matmul_i4;
_gfortran_matmul_i8;
_gfortran_matmul_l4;
_gfortran_matmul_l8;
_gfortran_matmul_r10;
_gfortran_matmul_r4;
_gfortran_matmul_r8;
_gfortran_maxloc0_4_i4;
_gfortran_maxloc0_4_i8;
_gfortran_maxloc0_4_r10;
_gfortran_maxloc0_4_r4;
_gfortran_maxloc0_4_r8;
_gfortran_maxloc0_8_i4;
_gfortran_maxloc0_8_i8;
_gfortran_maxloc0_8_r10;
_gfortran_maxloc0_8_r4;
_gfortran_maxloc0_8_r8;
_gfortran_maxloc1_4_i4;
_gfortran_maxloc1_4_i8;
_gfortran_maxloc1_4_r10;
_gfortran_maxloc1_4_r4;
_gfortran_maxloc1_4_r8;
_gfortran_maxloc1_8_i4;
_gfortran_maxloc1_8_i8;
_gfortran_maxloc1_8_r10;
_gfortran_maxloc1_8_r4;
_gfortran_maxloc1_8_r8;
_gfortran_maxval_i4;
_gfortran_maxval_i8;
_gfortran_maxval_r10;
_gfortran_maxval_r4;
_gfortran_maxval_r8;
_gfortran_minloc0_4_i4;
_gfortran_minloc0_4_i8;
_gfortran_minloc0_4_r10;
_gfortran_minloc0_4_r4;
_gfortran_minloc0_4_r8;
_gfortran_minloc0_8_i4;
_gfortran_minloc0_8_i8;
_gfortran_minloc0_8_r10;
_gfortran_minloc0_8_r4;
_gfortran_minloc0_8_r8;
_gfortran_minloc1_4_i4;
_gfortran_minloc1_4_i8;
_gfortran_minloc1_4_r10;
_gfortran_minloc1_4_r4;
_gfortran_minloc1_4_r8;
_gfortran_minloc1_8_i4;
_gfortran_minloc1_8_i8;
_gfortran_minloc1_8_r10;
_gfortran_minloc1_8_r4;
_gfortran_minloc1_8_r8;
_gfortran_minval_i4;
_gfortran_minval_i8;
_gfortran_minval_r10;
_gfortran_minval_r4;
_gfortran_minval_r8;
_gfortran_mmaxloc0_4_i4;
_gfortran_mmaxloc0_4_i8;
_gfortran_mmaxloc0_4_r10;
_gfortran_mmaxloc0_4_r4;
_gfortran_mmaxloc0_4_r8;
_gfortran_mmaxloc0_8_i4;
_gfortran_mmaxloc0_8_i8;
_gfortran_mmaxloc0_8_r10;
_gfortran_mmaxloc0_8_r4;
_gfortran_mmaxloc0_8_r8;
_gfortran_mmaxloc1_4_i4;
_gfortran_mmaxloc1_4_i8;
_gfortran_mmaxloc1_4_r10;
_gfortran_mmaxloc1_4_r4;
_gfortran_mmaxloc1_4_r8;
_gfortran_mmaxloc1_8_i4;
_gfortran_mmaxloc1_8_i8;
_gfortran_mmaxloc1_8_r10;
_gfortran_mmaxloc1_8_r4;
_gfortran_mmaxloc1_8_r8;
_gfortran_mmaxval_i4;
_gfortran_mmaxval_i8;
_gfortran_mmaxval_r10;
_gfortran_mmaxval_r4;
_gfortran_mmaxval_r8;
_gfortran_mminloc0_4_i4;
_gfortran_mminloc0_4_i8;
_gfortran_mminloc0_4_r10;
_gfortran_mminloc0_4_r4;
_gfortran_mminloc0_4_r8;
_gfortran_mminloc0_8_i4;
_gfortran_mminloc0_8_i8;
_gfortran_mminloc0_8_r10;
_gfortran_mminloc0_8_r4;
_gfortran_mminloc0_8_r8;
_gfortran_mminloc1_4_i4;
_gfortran_mminloc1_4_i8;
_gfortran_mminloc1_4_r10;
_gfortran_mminloc1_4_r4;
_gfortran_mminloc1_4_r8;
_gfortran_mminloc1_8_i4;
_gfortran_mminloc1_8_i8;
_gfortran_mminloc1_8_r10;
_gfortran_mminloc1_8_r4;
_gfortran_mminloc1_8_r8;
_gfortran_mminval_i4;
_gfortran_mminval_i8;
_gfortran_mminval_r10;
_gfortran_mminval_r4;
_gfortran_mminval_r8;
_gfortran_mproduct_c10;
_gfortran_mproduct_c4;
_gfortran_mproduct_c8;
_gfortran_mproduct_i4;
_gfortran_mproduct_i8;
_gfortran_mproduct_r10;
_gfortran_mproduct_r4;
_gfortran_mproduct_r8;
_gfortran_msum_c10;
_gfortran_msum_c4;
_gfortran_msum_c8;
_gfortran_msum_i4;
_gfortran_msum_i8;
_gfortran_msum_r10;
_gfortran_msum_r4;
_gfortran_msum_r8;
_gfortran_mvbits_i1;
_gfortran_mvbits_i2;
_gfortran_mvbits_i4;
_gfortran_mvbits_i8;
_gfortran_nearest_r10;
_gfortran_nearest_r4;
_gfortran_nearest_r8;
_gfortran_pack;
_gfortran_pack_char;
_gfortran_pack_s;
_gfortran_pack_s_char;
_gfortran_pause_numeric;
_gfortran_pause_string;
_gfortran_perror_sub;
_gfortran_pow_c10_i4;
_gfortran_pow_c10_i8;
_gfortran_pow_c4_i4;
_gfortran_pow_c4_i8;
_gfortran_pow_c8_i4;
_gfortran_pow_c8_i8;
_gfortran_pow_i4_i4;
_gfortran_pow_i4_i8;
_gfortran_pow_i8_i4;
_gfortran_pow_i8_i8;
_gfortran_pow_r10_i4;
_gfortran_pow_r10_i8;
_gfortran_pow_r4_i4;
_gfortran_pow_r4_i8;
_gfortran_pow_r8_i4;
_gfortran_pow_r8_i8;
_gfortran_product_c10;
_gfortran_product_c4;
_gfortran_product_c8;
_gfortran_product_i4;
_gfortran_product_i8;
_gfortran_product_r10;
_gfortran_product_r4;
_gfortran_product_r8;
_gfortran_rand;
_gfortran_random_r4;
_gfortran_random_r8;
_gfortran_random_seed;
_gfortran_rename_i4;
_gfortran_rename_i4_sub;
_gfortran_rename_i8;
_gfortran_rename_i8_sub;
_gfortran_reshape;
_gfortran_reshape_4;
_gfortran_reshape_8;
_gfortran_reshape_c10;
_gfortran_reshape_c4;
_gfortran_reshape_c8;
_gfortran_reshape_char;
_gfortran_reshape_r10;
_gfortran_runtime_error;
_gfortran_secnds;
_gfortran_second;
_gfortran_second_sub;
_gfortran_select_string;
_gfortran_set_args;
_gfortran_set_convert;
_gfortran_set_exponent_r10;
_gfortran_set_exponent_r4;
_gfortran_set_exponent_r8;
_gfortran_set_fpe;
_gfortran_set_record_marker;
_gfortran_set_std;
_gfortran_shape_4;
_gfortran_shape_8;
_gfortran_signal_func;
_gfortran_signal_func_int;
_gfortran_signal_sub;
_gfortran_signal_sub_int;
_gfortran_size0;
_gfortran_size1;
_gfortran_sleep_i4_sub;
_gfortran_sleep_i8_sub;
_gfortran_smaxloc0_4_i4;
_gfortran_smaxloc0_4_i8;
_gfortran_smaxloc0_4_r10;
_gfortran_smaxloc0_4_r4;
_gfortran_smaxloc0_4_r8;
_gfortran_smaxloc0_8_i4;
_gfortran_smaxloc0_8_i8;
_gfortran_smaxloc0_8_r10;
_gfortran_smaxloc0_8_r4;
_gfortran_smaxloc0_8_r8;
_gfortran_smaxloc1_4_i4;
_gfortran_smaxloc1_4_i8;
_gfortran_smaxloc1_4_r10;
_gfortran_smaxloc1_4_r4;
_gfortran_smaxloc1_4_r8;
_gfortran_smaxloc1_8_i4;
_gfortran_smaxloc1_8_i8;
_gfortran_smaxloc1_8_r10;
_gfortran_smaxloc1_8_r4;
_gfortran_smaxloc1_8_r8;
_gfortran_smaxval_i4;
_gfortran_smaxval_i8;
_gfortran_smaxval_r10;
_gfortran_smaxval_r4;
_gfortran_smaxval_r8;
_gfortran_sminloc0_4_i4;
_gfortran_sminloc0_4_i8;
_gfortran_sminloc0_4_r10;
_gfortran_sminloc0_4_r4;
_gfortran_sminloc0_4_r8;
_gfortran_sminloc0_8_i4;
_gfortran_sminloc0_8_i8;
_gfortran_sminloc0_8_r10;
_gfortran_sminloc0_8_r4;
_gfortran_sminloc0_8_r8;
_gfortran_sminloc1_4_i4;
_gfortran_sminloc1_4_i8;
_gfortran_sminloc1_4_r10;
_gfortran_sminloc1_4_r4;
_gfortran_sminloc1_4_r8;
_gfortran_sminloc1_8_i4;
_gfortran_sminloc1_8_i8;
_gfortran_sminloc1_8_r10;
_gfortran_sminloc1_8_r4;
_gfortran_sminloc1_8_r8;
_gfortran_sminval_i4;
_gfortran_sminval_i8;
_gfortran_sminval_r10;
_gfortran_sminval_r4;
_gfortran_sminval_r8;
_gfortran_spread;
_gfortran_spread_char;
_gfortran_spread_char_scalar;
_gfortran_spread_scalar;
_gfortran_sproduct_c10;
_gfortran_sproduct_c4;
_gfortran_sproduct_c8;
_gfortran_sproduct_i4;
_gfortran_sproduct_i8;
_gfortran_sproduct_r10;
_gfortran_sproduct_r4;
_gfortran_sproduct_r8;
_gfortran_srand;
_gfortran_ssum_c10;
_gfortran_ssum_c4;
_gfortran_ssum_c8;
_gfortran_ssum_i4;
_gfortran_ssum_i8;
_gfortran_ssum_r10;
_gfortran_ssum_r4;
_gfortran_ssum_r8;
_gfortran_st_backspace;
_gfortran_st_close;
_gfortran_st_endfile;
_gfortran_st_flush;
_gfortran_st_inquire;
_gfortran_st_iolength;
_gfortran_st_iolength_done;
_gfortran_st_open;
_gfortran_st_read;
_gfortran_st_read_done;
_gfortran_st_rewind;
_gfortran_st_set_nml_var;
_gfortran_st_set_nml_var_dim;
_gfortran_st_write;
_gfortran_st_write_done;
_gfortran_stat_i4;
_gfortran_stat_i4_sub;
_gfortran_stat_i8;
_gfortran_stat_i8_sub;
_gfortran_stop_numeric;
_gfortran_stop_string;
_gfortran_string_index;
_gfortran_string_len_trim;
_gfortran_string_repeat;
_gfortran_string_scan;
_gfortran_string_trim;
_gfortran_string_verify;
_gfortran_sum_c10;
_gfortran_sum_c4;
_gfortran_sum_c8;
_gfortran_sum_i4;
_gfortran_sum_i8;
_gfortran_sum_r10;
_gfortran_sum_r4;
_gfortran_sum_r8;
_gfortran_symlnk_i4;
_gfortran_symlnk_i4_sub;
_gfortran_symlnk_i8;
_gfortran_symlnk_i8_sub;
_gfortran_system;
_gfortran_system_clock_4;
_gfortran_system_clock_8;
_gfortran_system_sub;
_gfortran_time8_func;
_gfortran_time_func;
_gfortran_transfer_array;
_gfortran_transfer_character;
_gfortran_transfer_complex;
_gfortran_transfer_integer;
_gfortran_transfer_logical;
_gfortran_transfer_real;
_gfortran_transpose;
_gfortran_transpose_c10;
_gfortran_transpose_c4;
_gfortran_transpose_c8;
_gfortran_transpose_char;
_gfortran_transpose_i4;
_gfortran_transpose_i8;
_gfortran_transpose_r10;
_gfortran_ttynam;
_gfortran_ttynam_sub;
_gfortran_umask_i4;
_gfortran_umask_i4_sub;
_gfortran_umask_i8;
_gfortran_umask_i8_sub;
_gfortran_unlink;
_gfortran_unlink_i4_sub;
_gfortran_unlink_i8_sub;
_gfortran_unpack0;
_gfortran_unpack0_char;
_gfortran_unpack1;
_gfortran_unpack1_char;
_init;
abort_;
etime_;
find_or_create_unit;
selected_int_kind;
selected_real_kind;
specific__abs_c10;
specific__abs_c4;
specific__abs_c8;
specific__abs_i4;
specific__abs_i8;
specific__abs_r10;
specific__abs_r4;
specific__abs_r8;
specific__acos_r10;
specific__acos_r4;
specific__acos_r8;
specific__aint_r10;
specific__aint_r4;
specific__aint_r8;
specific__anint_r10;
specific__anint_r4;
specific__anint_r8;
specific__asin_r10;
specific__asin_r4;
specific__asin_r8;
specific__atan2_r10;
specific__atan2_r4;
specific__atan2_r8;
specific__atan_r10;
specific__atan_r4;
specific__atan_r8;
specific__conjg_c10;
specific__conjg_c4;
specific__conjg_c8;
specific__cos_c10;
specific__cos_c4;
specific__cos_c8;
specific__cos_r10;
specific__cos_r4;
specific__cos_r8;
specific__cosh_r10;
specific__cosh_r4;
specific__cosh_r8;
specific__dim_i4;
specific__dim_i8;
specific__dim_r10;
specific__dim_r4;
specific__dim_r8;
specific__dprod_r8;
specific__exp_c10;
specific__exp_c4;
specific__exp_c8;
specific__exp_r10;
specific__exp_r4;
specific__exp_r8;
specific__log10_r10;
specific__log10_r4;
specific__log10_r8;
specific__log_c10;
specific__log_c4;
specific__log_c8;
specific__log_r10;
specific__log_r4;
specific__log_r8;
specific__mod_i4;
specific__mod_i8;
specific__mod_r4;
specific__mod_r8;
specific__sign_i4;
specific__sign_i8;
specific__sign_r10;
specific__sign_r4;
specific__sign_r8;
specific__sin_c10;
specific__sin_c4;
specific__sin_c8;
specific__sin_r10;
specific__sin_r4;
specific__sin_r8;
specific__sinh_r10;
specific__sinh_r4;
specific__sinh_r8;
specific__sqrt_c10;
specific__sqrt_c4;
specific__sqrt_c8;
specific__sqrt_r10;
specific__sqrt_r4;
specific__sqrt_r8;
specific__tan_r10;
specific__tan_r4;
specific__tan_r8;
specific__tanh_r10;
specific__tanh_r4;
specific__tanh_r8;
local:
*;
};
F2C_1.0 {
global:
f2c_specific__abs_c4;
f2c_specific__abs_r4;
f2c_specific__acos_r4;
f2c_specific__aint_r4;
f2c_specific__anint_r4;
f2c_specific__asin_r4;
f2c_specific__atan2_r4;
f2c_specific__atan_r4;
f2c_specific__conjg_c4;
f2c_specific__conjg_c8;
f2c_specific__cos_c4;
f2c_specific__cos_c8;
f2c_specific__cos_r4;
f2c_specific__cosh_r4;
f2c_specific__dim_r4;
f2c_specific__exp_c4;
f2c_specific__exp_c8;
f2c_specific__exp_r4;
f2c_specific__log10_r4;
f2c_specific__log_c4;
f2c_specific__log_c8;
f2c_specific__log_r4;
f2c_specific__mod_r4;
f2c_specific__sign_r4;
f2c_specific__sin_c4;
f2c_specific__sin_c8;
f2c_specific__sin_r4;
f2c_specific__sinh_r4;
f2c_specific__sqrt_c4;
f2c_specific__sqrt_c8;
f2c_specific__sqrt_r4;
f2c_specific__tan_r4;
f2c_specific__tanh_r4;
local:
*;
};
-------------- next part --------------
A non-text attachment was scrubbed...
Name: createmap.sh
Type: application/x-sh
Size: 492 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20060523/264e0d4c/attachment.sh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20060523/264e0d4c/attachment.sig>
More information about the Gcc-patches
mailing list