7.6.1 Standard library

The interrupt disabled time, use of the initialized data section (.data), use of the uninitialized data section (.bss), and the reentrancy of each function in the standard library are shown in the following.

The interrupt disabled time is displayed, starting from the left, for the case of not using division/multiplication and multiply-accumulate units, the case of using division/multiplication and multiply-accumulate units, the case of using division/multiplication extended instructions (single precision), and the case of using division/multiplication extended instructions (double precision). A single numerical value is common for all libraries.

Function Name

Interrupt Disabled Time

Use of .data

Use of .bss

Reentrancy

Remark

(non-reentrancy source)

assert

0

X

X

O

 

isalnum

0

X

X

O

 

isalpha

0

X

X

O

 

isascii

0

X

X

O

 

isblank [V1.07 or later]

0

X

X

O

(C99)

iscntrl

0

X

X

O

 

isdigit

0

X

X

O

 

isgraph

0

X

X

O

 

islower

0

X

X

O

 

isprint

0

X

X

O

 

ispunct

0

X

X

O

 

isspace

0

X

X

O

 

isupper

0

X

X

O

 

isxdigit

0

X

X

O

 

toascii

0

X

X

O

 

tolower

0

X

X

O

 

toupper

0

X

X

O

 

imaxabs [V1.07 or later]

0

X

X

O

(C99)

imaxdiv [V1.07 or later]

0/42/0/0

X

X

O

(C99)

strtoimax [V1.07 or later]

0/43/0/0

O

X

X

errno (C99)

_COM_strtoimax_ff [V1.07 or later]

0/43/0/0

O

X

X

errno (C99)

strtoumax [V1.07 or later]

0/43/0/0

O

X

X

errno (C99)

_COM_strtoumax_ff [V1.07 or later]

0/43/0/0

O

X

X

errno (C99)

acos

0/41/0/0

O

X

X

errno

acosf

0/41/0/0

O

X

X

errno

asin

0/41/0/0

O

X

X

errno

asinf

0/41/0/0

O

X

X

errno

atan

0/41/0/0

O

X

X

errno

atanf

0/41/0/0

O

X

X

errno

atan2

0/41/0/0

O

X

X

errno

atan2f

0/41/0/0

O

X

X

errno

cos

0/14/0/0

O

X

X

errno

cosf

0/14/0/0

O

X

X

errno

sin

0/14/0/0

O

X

X

errno

sinf

0/14/0/0

O

X

X

errno

tan

0/41/0/0

O

X

X

errno

tanf

0/41/0/0

O

X

X

errno

cosh

0/41/0/0

O

X

X

errno

coshf

0/41/0/0

O

X

X

errno

sinh

0/41/0/0

O

X

X

errno

sinhf

0/41/0/0

O

X

X

errno

tanh

0/41/0/0

O

X

X

errno

tanhf

0/41/0/0

O

X

X

errno

exp

0/41/0/0

O

X

X

errno

expf

0/41/0/0

O

X

X

errno

frexp

0

O

X

X

errno

frexpf

0

O

X

X

errno

ldexp

0

O

X

X

errno

ldexpf

0

O

X

X

errno

log

0/14/0/0

O

X

X

errno

logf

0/14/0/0

O

X

X

errno

log10

0/14/0/0

O

X

X

errno

log10f

0/14/0/0

O

X

X

errno

modf

0

O

X

X

errno

modff

0

O

X

X

errno

pow

0/41/0/0

O

X

X

errno

powf

0/41/0/0

O

X

X

errno

sqrt

0/41/0/0

O

X

X

errno

sqrtf

0/41/0/0

O

X

X

errno

ceil

0

O

X

X

errno

ceilf

0

O

X

X

errno

fabs

0

O

X

X

errno

fabsf

0

O

X

X

errno

floor

0

O

X

X

errno

floorf

0

O

X

X

errno

fmod

0/14/0/0

O

X

X

errno

fmodf

0/14/0/0

O

X

X

errno

setjmp

0

X

X

Δ

When the pointer reference destination is updated

longjmp

0

X

X

X

SP

va_start

0

X

X

O

 

va_arg

0

X

X

O

 

va_end

0

X

X

O

 

printf

0/43/0/0

X

O

X

stdout, Internal management data

scanf

0/41/0/0

O

X

X

stdin

snprintf [V1.07 or later]

0/43/0/0

X

O

X

Internal management data (C99)

sprintf

0/43/0/0

X

O

X

Internal management data

sscanf

0/41/0/0

X

O

Δ

When the pointer reference destination is updated

vprintf

0/43/0/0

X

O

X

stdout,Internal management data

vsnprintf [V1.07 or later]

0/43/0/0

X

O

X

Internal management data (C99)

vsprintf

0/43/0/0

X

O

X

Internal management data

getchar

0

X

X

X

stdin

gets

0

X

X

X

stdin

_COM_gets_f

0

X

X

X

stdin

putchar

0

X

X

X

stdout

puts

0

X

X

X

stdout

_COM_puts_f

0

X

X

X

stdout

perror

0

O

X

X

errno

_COM_perror_f

0

O

X

X

errno

atof

0/41/0/0

O

X

X

errno

_COM_atof_f

0/41/0/0

O

X

X

errno

atoff

0/41/0/0

O

X

X

errno

_COM_atoff_f

0/41/0/0

O

X

X

errno

atoi

0/40/0/0

O

X

X

errno

_COM_atoi_f

0/40/0/0

O

X

X

errno

atol

0/40/0/0

O

X

X

errno

_COM_atol_f

0/40/0/0

O

X

X

errno

atoll [V1.07 or later]

0/43/0/0

O

X

X

errno (C99)

_COM_atoll_f [V1.07 or later]

0/43/0/0

O

X

X

errno (C99)

strtod

0/41/0/0

O

X

X

errno

_COM_strtod_ff

0/41/0/0

O

X

X

errno

strtof

0/41/0/0

O

X

X

errno

_COM_strtof_ff

0/41/0/0

O

X

X

errno

strtold [V1.07 or later]

0/41/0/0

O

X

X

errno (C99)

_COM_strtold_ff [V1.07 or later]

0/41/0/0

O

X

X

errno (C99)

strtol

0/40/0/0

O

X

X

errno

_COM_strtol_ff

0/40/0/0

O

X

X

errno

strtoll [V1.07 or later]

0/43/0/0

O

X

X

errno (C99)

_COM_strtoll_ff [V1.07 or later]

0/43/0/0

O

X

X

errno (C99)

strtoul

0/40/0/0

O

X

X

errno

_COM_strtoul_ff

0/40/0/0

O

X

X

errno

strtoull [V1.07 or later]

0/43/0/0

O

X

X

errno (C99)

_COM_strtoull_ff [V1.07 or later]

0/43/0/0

O

X

X

errno (C99)

rand

0/24/0/0

O

X

X

seed

srand

0

O

X

X

seed

calloc [V1.02 or later]

0

O

O

X

Internal management data

free [V1.02 or later]

0

O

O

X

Internal management data

malloc [V1.02 or later]

0

O

O

X

Internal management data

realloc [V1.02 or later]

0

O

O

X

Internal management data

abort

0

X

X

-

Processing is not returned

bsearch

0

X

X

Δ

When the pointer reference destination is updated

_COM_bsearch_f

0

X

X

Δ

When the pointer reference destination is updated

qsort

0/40/0/0

X

X

Δ

When the pointer reference destination is updated

_COM_qsort_f

0/40/0/0

X

X

Δ

When the pointer reference destination is updated

abs

0

X

X

O

 

div

0/39/0/0

X

X

O

 

labs

0

X

X

O

 

ldiv

0/45/0/0

X

X

O

 

llabs [V1.07 or later]

0

X

X

O

(C99)

lldiv [V1.07 or later]

0/42/0/0

X

X

O

(C99)

memcpy

0

X

X

Δ

When the pointer reference destination is updated

_COM_memcpy_f

0

X

X

Δ

When the pointer reference destination is updated

memmove

0

X

X

Δ

When the pointer reference destination is updated

_COM_memmove_ff

0

X

X

Δ

When the pointer reference destination is updated

strcpy

0

X

X

Δ

When the pointer reference destination is updated

_COM_strcpy_ff

0

X

X

Δ

When the pointer reference destination is updated

strncpy

0

X

X

Δ

When the pointer reference destination is updated

_COM_strncpy_ff

0

X

X

Δ

When the pointer reference destination is updated

strcat

0

X

X

Δ

When the pointer reference destination is updated

_COM_strcat_ff

0

X

X

Δ

When the pointer reference destination is updated

strncat

0

X

X

Δ

When the pointer reference destination is updated

_COM_strncat_ff

0

X

X

Δ

When the pointer reference destination is updated

memcmp

0

X

X

Δ

When the pointer reference destination is updated

_COM_memcmp_ff

0

X

X

Δ

When the pointer reference destination is updated

strcmp

0

X

X

Δ

When the pointer reference destination is updated

_COM_strcmp_ff

0

X

X

Δ

When the pointer reference destination is updated

strncmp

0

X

X

Δ

When the pointer reference destination is updated

_COM_strncmp_ff

0

X

X

Δ

When the pointer reference destination is updated

memchr

0

X

X

Δ

When the pointer reference destination is updated

_COM_memchr_f

0

X

X

Δ

When the pointer reference destination is updated

strchr

0

X

X

Δ

When the pointer reference destination is updated

_COM_strchr_f

0

X

X

Δ

When the pointer reference destination is updated

strcspn

0

X

X

Δ

When the pointer reference destination is updated

_COM_strcspn_ff

0

X

X

Δ

When the pointer reference destination is updated

strpbrk

0

X

X

Δ

When the pointer reference destination is updated

_COM_strpbrk_ff

0

X

X

Δ

When the pointer reference destination is updated

strrchr

0

X

X

Δ

When the pointer reference destination is updated

_COM_strrchr_f

0

X

X

Δ

When the pointer reference destination is updated

strspn

0

X

X

Δ

When the pointer reference destination is updated

_COM_strspn_ff

0

X

X

Δ

When the pointer reference destination is updated

strstr

0

X

X

Δ

When the pointer reference destination is updated

_COM_strstr_ff

0

X

X

Δ

When the pointer reference destination is updated

strtok

0

O

X

X

Internal management data

memset

0

X

X

Δ

When the pointer reference destination is updated

_COM_memset_f

0

X

X

Δ

When the pointer reference destination is updated

strerror

0

X

X

O

 

strlen

0

X

X

Δ

When the pointer reference destination is updated

_COM_strlen_f

0

X

X

Δ

When the pointer reference destination is updated

hdwinit

0

X

X

X

Initializing process

stkinit

0

X

X

X

Initializing process