Component: String functions

Macro name

CYGPKG_LIBC_STRING

Type

Dummy

Description

Options associated with the standard string functions

Option: Inline versions of <string.h> functions

Macro name

CYGIMP_LIBC_STRING_INLINES

Type

Boolean

Description

This option chooses whether some of the particularly simple string functions from <string.h> are available as inline functions. This may improve performance, and as the functions are small, may even improve code size.

Component: Options for string function optimization

Macro name

CYGPKG_LIBC_STRING_OPTIMIZATIONS

Type

Dummy

Description

This component lets you choose between different implementations of the string functions with different tradeoffs. Most of the string functions can be implemented in two ways. One approach is geared towards smaller code size, while the other tries to improve execution speed at the expense of code size.

Option: Fast

Macro name

CYGIMP_LIBC_STRING_PREFER_FAST

Type

Radio

Description

This option improves string function execution speed at the expense of code size. This option is overridden if the code is compiled with the -Os option to the compiler.

Option: Small

Macro name

CYGIMP_LIBC_STRING_PREFER_SMALL

Type

Radio

Description

This option tries to reduce string function code size at the expense of execution speed. The same effect can be produced if the code is compiled with the -Os option to the compiler.

Component: strtok

Macro name

CYGPKG_LIBC_STRING_STRTOK

Type

Dummy

Description

These options control the behavior of the strtok() and strtok_r() string tokenization functions.

Option: Per-thread strtok()

Macro name

CYGSEM_LIBC_PER_THREAD_STRTOK

Type

Boolean

Description

This option controls whether the string function strtok() has its state recorded on a per-thread basis rather than global. If this option is disabled, some per-thread space can be saved. Note there is also a POSIX-standard strtok_r() function to achieve a similar effect with user support. Enabling this option will use one slot of kernel per-thread data. You should ensure you have enough slots configured for all your per-thread data.

Option: Tracing level

Macro name

CYGNUM_LIBC_STRTOK_TRACE_LEVEL

Type

Count

Description

Trace verbosity level for debugging the <string.h> functions strtok() and strtok_r(). Increase this value to get additional trace output.