This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Patch ARM] Provide stub function for __sync_synchronize


Hi,

	A recent change to g++ means that we now put out
calls to __sync_synchronize for C++ guard variables for
versions of the architecture that do not have a barrier
instruction. Instead of ignoring the problem in the compiler
and working around it by providing a stub in libgcc, provide a
weak definition here in order for testing to succeed but to highlight
this for users provide a link time warning when this is used.

Additionally libgfortran now pulls in libbacktrace which expects
to be able to use atomic accesses where required. This creates
problems when testing in bare-metal configurations. 

This means though that developers and testers for arm-none-eabi
will have to add something to prune additional output in their
site.exp's with an additional implementation of prune_warnings
to prune the warnings but this is more prudent than
just putting out silent calls to __sync_synchronize.

Tested this for arm-none-eabi with --with-multilib-list=aprofile
with suitable multilibs.

Thoughts ? 

Ok ?

Ramana

<DATE>  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* libc/machine/arm/sync_synchronize.c: New file.
	* libc/machine/arm/Makefile.am: Add sync_synchronize.c
	* libc/machine/arm/Makefile.in: Regenerate.

Attachment: adjust-newlib.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]