Hi GCC/RTEMS maintainers!

On 2026-05-07T13:16:59+0200, I wrote:
> [...]
>
> The idea of transitioning libgomp from C to C++ implementation has come
> up a number of times, [...]
>
> I'm now working on this.
>
> For a start, I've assessed that all GCC configurations that support
> libgomp also are able to build the GCC/C++ front end, as far as I can
> easily tell.
>
> I'll try to be mindful about handling all of libgomp's implementation
> files, but may reach out to individual GCC target maintainers for
> 'libgomp/config/' files, for example, that I can't easily test myself.
>
> [...]

Per my understanding, for GCC/RTEMS, libgomp is not enabled by default in
GCC 'configure.ac' (needs explicit '--enable-libgomp'), but it appears to
be supported: RTEMS is mentioned in 'libgomp/configure.ac',
'libgomp/configure.tgt', and has 'libgomp/config/rtems/' files.  Please
let me know in case libgomp/RTEMS is in fact not supported (anymore).

Assuming it is supported, I shall try to not break it.

During ongoing development, I'll need to run a number of GCC/libgomp
builds for RTEMS over the next few weeks/months (tentatively); therefore
would like to do it myself instead of asking you each time.

I need GCC 'configure'd with '--enable-languages=c,c++,fortran',
'--enable-libgomp', and then 'make', and 'make check-target-libgomp' if
feasible.

Ideally, easiest, I'd do native builds, but that may not be applicable
for RTEMS?  I don't see any RTEMS systems listed on
<https://portal.cfarm.net/machines/list/>.  Otherwise, cross builds with
testing option, or without testing, in case that's not feasible.  (I
assume that, as for other configurations, also for RTEMS my C -> C++
baseline conversion changes are good to go, once they compile without
error.)

Per 'libgomp/configure.ac':

    *-*-rtems*)
      AC_CHECK_TYPES([struct _Mutex_Control],[],[],[#include <sys/lock.h>])

..., and 'libgomp/configure.tgt':

    *-*-rtems*)
          # Use self-contained synchronization objects if provided by Newlib
          if test "x$ac_cv_type_struct__Mutex_Control" = xyes ; then
              config_path="rtems posix"

..., there appear to be two major configuration variants: either only
'libgomp/config/posix/', or 'libgomp/config/rtems/' plus the former.  (As
far as I can easily tell, there aren't any compile-time conditionals in
the 'libgomp/config/rtems/' files, so I assume I don't really care about
the specific CPU architecture.)


Grüße
 Thomas

Reply via email to