Component: Thread safety

Macro name

CYGPKG_LIBM_THREAD_SAFETY

Type

Dummy

Description

This option controls whether the C library has support for thread safe operation in general. This requires eCos kernel support for per-thread data, and adjustment of the stack limit.

Option: Compatibility mode setting

Macro name

CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE

Type

Boolean

Description

This option makes the setting of the compatibility mode be a per-thread property. This directly implies that it also becomes thread-safe.

Option: gamma() and lgamma()

Macro name

CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS

Type

Boolean

Description

This option makes the gamma() and lgamma() functions be thread-safe. Note that these functions are identical - they take the log of the absolute value of their argument. The sign of the argument is stored in a variable called signgam. Enabling this option makes signgam a per-thread variable. Note there are also gamma_r() and lgamma_r() alternatives that allow signgam to be passed in by reference as an argument.