Hello,

I would like to fix the -fprofile-update=atomic implementation so that it works on all targets. Currently, it works only on targets with 64-bit atomic operations in hardware (and some special cases). I tried to fix it like this:

https://gcc.gnu.org/pipermail/gcc-patches/2022-December/608620.html

The problem with this patch is that it falls back to use functions provided by libatomic. The libatomic is currently not supported on all targets, for example:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77466

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77378

Why is there no libatomic default implementation using gthr.h?

The C++ library already depends on gthr.h and installs the headers in "bits/gthr.h" etc. For this the libstdc++-v3 configure/Makefile duplicates some logic from libgcc. Why is the gthr.h stuff not installed by libgcc itself?

In libatomic, the POSIX implementation could be easily rewritten to use the gthr interface.

Any objections to do the following?

1. Install gthr.h to "bits/gthr.h" by libgcc (including the other gthr headers).

2. Remove the gthr configure/Makefile support from libstdc++-v3.

3. Use gthr as the default implementation of libatomic.

--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/

Reply via email to