Hi! A bit late, I know..., but while I was reviewing another 'libgomp/libgomp.map' change, I noticed in commit r15-3249-g0beac1db38855eae0f71fa982ed05069d3873a9c:
On 2024-08-23T14:52:36+0200, Tobias Burnus <[email protected]> wrote: > --- a/libgomp/libgomp.map > +++ b/libgomp/libgomp.map > @@ -428,6 +428,21 @@ GOMP_5.1.2 { > GOMP_target_map_indirect_ptr; > } GOMP_5.1.1; > > +GOMP_5.1.3 { > + global: > + omp_get_num_interop_properties; > + omp_get_interop_int; > + omp_get_interop_ptr; > + omp_get_interop_str; > + omp_get_interop_name; > + omp_get_interop_type_desc; > + omp_get_interop_rc_desc; > + omp_get_interop_str_; > + omp_get_interop_name_; > + omp_get_interop_type_desc_; > + omp_get_interop_rc_desc_; > +} GOMP_5.1.2; These are symbols defined by the OpenMP standard, so should have been put into 'OMP_[...]' instead of 'GOMP_[...]' namespace? ..., and then similarly for the symbols that got added in commit r15-3730-gbf4a5efa80ef8438deb0a99c9a02b1f550aaf814 "OpenMP: Add get_device_from_uid/omp_get_uid_from_device routines", commit r15-3799-gcdb9aa0f623ec7899da445a47f4a502b2987dc7b "OpenMP: Fix omp_get_device_from_uid, minor cleanup", and commit r16-1055-g4e47e2f833732c5d9a3c3e69dc753f99b3a56737 "libgomp: Add OpenMP's omp_target_memset/omp_target_memset_async". We could still fix up the latter one: GCC 16 has not yet been released, but for the GCC 15 ones, to the extent that I understand symbol versioning, we're now stuck with these 'GOMP_[...]' symbol versions, right? (We could add the 'OMP_[...]' ones, but would have to keep the 'GOMP_[...]' ones for compatibility, so there's probably not much point in doing that?) Outside of this specific issue, it's not clear to me why we have 'OMP_[...]' vs. 'GOMP_[...]' symbol versions (later similarly adopted for 'OACC_[...]' vs. 'GOACC_[...]') that are numbered according to the OpenMP (and OpenACC) specification releases, instead of having 'omp_[...]' as well as 'GOMP_[...]' symbols alike versioned with [...], 'GCC_14', 'GCC_15', [...] symbol versions, or even some arbitrary 'LIBGOMP_1', 'LIBGOMP_2', [...]? (Like all other GCC libraries are using variants thereof.) Grüße Thomas
