fenv support vs. SMP systems

Sebastian Huber sebastian.huber@embedded-brains.de
Mon Jul 13 06:19:03 GMT 2020


Hello,

the new fenv support alters usually some floating-point status and 
control register. This register is usually specific to the processor 
executing the code. In an SMP system, the current approach can lead to 
an inconsistent system if the register is not included in the thread 
context (for example in RTEMS these registers are considered to be 
system wide and are only initialized during the system startup). What do 
I mean with inconsistent system? For example, you set the rounding mode 
on processor A to from X (= default) to Y, then the you migrate to 
processor B and suddenly use the default rounding mode X. Another 
example is to do a division by zero on processor A and then migrate to 
processor B and check the exception flags.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.


More information about the Newlib mailing list