On 30.05.23 11:53, Richard Biener wrote:
On Tue, May 23, 2023 at 11:28 AM Sebastian Huber
<sebastian.hu...@embedded-brains.de>  wrote:
On 10.01.23 16:38, Sebastian Huber wrote:
On 19/12/2022 17:02, Sebastian Huber wrote:
Build libatomic for all targets.  Use gthr.h to provide a default
implementation.  If the thread model is "single", then this
implementation will
not work if for example atomic operations are used for thread/interrupt
synchronization.
Is this and the related -fprofile-update=atomic patch something for GCC 14?
Now that the GCC 14 development is in progress, what about this patch?
Sorry, there doesn't seem to be a main maintainer for libatomic and your patch
touches targets which didn't have it before.

Can you explain how this affects the ABI of targets not having (needing?!)
libatomic?  It might help if you can say this is still opt-in and targets not
building libatomic right now would not with your patch and targets already
building libatomic have no changes with your patch.

That said - what kind of ABI implications has providing libatomic support
for a target that didn't do so before?

Sorry for the missing context. The root problem I want to solve is getting gcov support for multi-threaded applications. For this we need atomic 64-bit operations, see also:

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

The libatomic patch lets it build for every target. Targets with no explicit support will use the gthr.h API to provide a default implementation.

An alternative would be to use the RTEMS approach which uses the following API (provided by Newlib <machine/_libatomic.h> for RTEMS):

#include <sys/cdefs.h>
#include <sys/_types.h>

__BEGIN_DECLS

__uint32_t _Libatomic_Protect_start(void *);

void _Libatomic_Protect_end(void *, __uint32_t);

void _Libatomic_Lock_n(void *, __size_t);

void _Libatomic_Unlock_n(void *, __size_t);

__END_DECLS

We could also leave libatomic as is, but then you may get unresolved references if you use -fprofile-update=atomic with the patch mentioned above.

--
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