7.5 Usage of Data Sections and List of Reentrancy

This chapter explains the usage of constant data sections (.const), data sections with initial value (.data), and data sections without initial value (.bss) by various functions which are included in libraries, and details of reentrancy.

Function Name

Usage of .const

Usage of .data

Usage of .bss

Reentrancy

Remarks

(library for storage, cause of non-reentrancy)

strpbrk

X

X

X

O

 

strrchr

X

X

X

O

 

strchr

X

X

X

O

 

strstr

X

X

X

O

 

strspn

X

X

X

O

 

strcspn

X

X

X

O

 

strcmp

X

X

X

O

 

strncmp

X

X

X

O

 

strcpy

X

X

X

O

 

strncpy

X

X

X

O

 

strcat

X

X

X

O

 

strncat

X

X

X

O

 

strtok

X

X

O

X

Internal management data

strlen

X

X

X

O

 

strerror

O

O

X

X

Internal management data

memchr

X

X

X

O

 

memcmp

X

X

X

O

 

memcpy

X

X

X

O

 

memmove

X

X

X

O

 

memset

X

X

X

O

 

toupper

O

X

X

O

 

tolower

O

X

X

O

 

isalnum

O

X

X

O

 

isalpha

O

X

X

O

 

isascii

X

X

X

O

 

isupper

O

X

X

O

 

islower

O

X

X

O

 

isdigit

O

X

X

O

 

isxdigit

O

X

X

O

 

iscntrl

O

X

X

O

 

ispunct

O

X

X

O

 

isspace

O

X

X

O

 

isprint

O

X

X

O

 

isgraph

O

X

X

O

 

fread

X

X

X

O

 

getc

X

X

X

O

 

fgetc

X

X

X

O

 

fgets

X

X

X

O

 

fwrite

X

X

X

O

 

putc

X

X

X

O

 

fputc

X

X

X

O

 

fputs

X

X

X

O

 

getchar

X

O

X

X

stdin

gets

X

O

X

X

stdin

putchar

X

O

X

X

stdout

puts

X

O

X

X

stdout

sprintf

O

X

O

X

errno

fprintf

O

X

O

X

errno

vsprintf

O

X

O

X

errno

printf

O

O

O

X

errno, stdout

vfprintf

O

X

O

X

errno

vprintf

O

O

O

X

errno, stdout

sscanf

O

X

X

O

 

fscanf

O

X

X

O

 

scanf

O

O

X

X

stdin

ungetc

X

X

X

O

 

rewind

X

X

X

O

 

perror

O

O

O

X

errno,stderr

abs

X

X

X

O

 

labs

X

X

X

O

 

llabs

X

X

X

O

 

bsearch

X

X

X

O

 

qsort

X

X

X

O

 

div

X

X

X

O

 

ldiv

X

X

X

O

 

lldiv

X

X

X

O

 

lldiv

O

X

X

O

(libc.lib)

atoi

O

X

O

X

errno

atol

O

X

O

X

errno

atoll

O

X

O

X

errno

strtol

O

X

O

X

errno

strtoul

O

X

O

X

errno

strtoll

O

X

O

X

errno

strtoull

O

X

O

X

errno

atoff

O

X

O

X

errno

atof

O

X

O

X

errno

strtodf

O

X

O

X

errno

strtod

O

X

O

X

errno

rand

X

O

X

X

Internal management data

srand

X

O

X

X

Internal management data

abort

X

X

X

-

Processing is not returned

longjmp

X

X

X

X

SP

setjmp

X

X

X

O

 

expf

O

X

O

X

errno

exp

O

X

O

X

errno

logf

O

X

O

X

errno

log

X

X

O

X

errno

log

O

X

O

X

(libm.lib, softfloat\libm.lib)

errno

log10f

X

X

O

X

errno

log10f

O

X

O

X

(libmf.lib, softfloat\libmf.lib)

errno

log10

X

X

O

X

errno

log10

O

X

O

X

(libm.lib, softfloat\libm.lib)

errno

powf

O

X

O

X

errno

pow

O

X

O

X

errno

sqrtf

X

X

O

X

errno

sqrtf

O

X

O

X

(libmf.lib, softfloat\libmf.lib)

errno

sqrt

X

X

O

X

errno

sqrt

O

X

O

X

(libm.lib, softfloat\libm.lib)

errno

ceilf

O

X

X

O

 

ceilf

X

X

X

O

(rhs8n.lib, rhs4n.lib,

softfloat\libmf.lib)

ceil

O

X

X

O

 

ceil

X

X

X

O

(rhs8n.lib, rhs4n.lib,

softfloat\libm.lib)

fabsf

X

X

X

O

 

fabs

X

X

X

O

 

floorf

O

X

X

O

 

floorf

X

X

X

O

(rhs8n.lib, rhs4n.lib,

softfloat\libmf.lib)

floor

O

X

X

O

 

floor

X

X

X

O

(rhs8n.lib, rhs4n.lib,

softfloat\libm.lib)

fmodf

X

X

O

X

errno

fmodf

O

X

O

X

(softfloat\libmf.lib)

errno

fmod

X

X

O

X

errno

fmod

O

X

O

X

(softfloat\libmf.lib)

errno

frexpf

X

X

O

X

errno

frexpf

O

X

O

X

(softfloat\libmf.lib)

errno

frexp

X

X

O

X

errno

frexp

O

X

O

X

(softfloat\libmf.lib)

errno

ldexpf

O

X

O

X

errno

ldexpf

X

X

O

X

(rhs8n.lib, rhs4n.lib,

softfloat\libm.lib)

errno

ldexp

O

X

O

X

errno

ldexp

X

X

O

X

(rhs8n.lib, rhs4n.lib,

softfloat\libm.lib)

errno

modff

O

X

X

O

 

modff

X

X

X

O

(rhs8n.lib, rhs4n.lib,

softfloat\libm.lib)

modf

O

X

X

O

 

modf

X

X

X

O

(rhs8n.lib, rhs4n.lib,

softfloat\libm.lib)

cosf

X

X

O

X

errno

cosf

O

X

O

X

(rhs8n.lib, rhs4n.lib, libmf.lib,

softfloat\libmf.lib)

errno

cos

O

X

O

X

errno

cos

X

X

O

X

(rhf4n.lib, rhf4z.lib)

errno

sinf

X

X

O

X

errno

sinf

O

X

O

X

(rhs8n.lib, rhs4n.lib, libmf.lib,

softfloat\libmf.lib)

errno

sin

O

X

O

X

errno

sin

X

X

O

X

(rhf4n.lib, rhf4z.lib)

errno

tanf

X

X

O

X

errno

tanf

O

X

O

X

(rhs8n.lib, rhs4n.lib, libmf.lib,

softfloat\libmf.lib)

errno

tan

X

X

O

X

errno

tan

O

X

O

X

(rhs8n.lib, rhs4n.lib, libmf.lib,

softfloat\libmf.lib)

errno

acosf

X

X

O

X

errno

acosf

O

X

O

X

(rhs8n.lib, rhs4n.lib, libmf.lib,

softfloat\libmf.lib)

errno

acos

X

X

O

X

errno

acos

O

X

O

X

(rhs8n.lib, rhs4n.lib, libmf.lib,

softfloat\libmf.lib)

errno

asinf

X

X

O

X

errno

asinf

O

X

O

X

(rhs8n.lib, rhs4n.lib, libmf.lib,

softfloat\libmf.lib)

errno

asin

X

X

O

X

errno

asin

O

X

O

X

(rhs8n.lib, rhs4n.lib, libmf.lib,

softfloat\libmf.lib)

errno

atanf

X

X

O

X

errno

atanf

O

X

O

X

(rhs8n.lib, rhs4n.lib, libmf.lib,

softfloat\libmf.lib)

errno

atan

X

X

O

X

errno

atan

O

X

O

X

(rhs8n.lib, rhs4n.lib, libmf.lib,

softfloat\libmf.lib)

errno

atan2f

O

X

O

X

errno

atan2

O

X

O

X

errno

coshf

O

X

O

X

errno

cosh

O

X

O

X

errno

sinhf

O

X

O

X

errno

sinh

O

X

O

X

errno

tanhf

O

X

O

X

errno

tanh

O

X

O

X

errno

fmax

X

X

X

O

 

fmaxf

X

X

X

O

 

fmin

X

X

X

O

 

fminf

X

X

X

O

 

copysign

X

X

X

O

 

copysignf

X

X

X

O

 

calloc

X

O

O

X

Internal management data

free

X

O

O

X

Internal management data

malloc

X

O

O

X

Internal management data

realloc

X

O

O

X

Internal management data

_INITSCT_RH

X

X

X

O

 

hdwinit

X

X

X

O

 

_COM_fadd

X

X

X

O

 

_COM_fsub

X

X

X

O

 

_COM_fmul

X

X

X

O

 

_COM_fdiv

X

X

X

O

 

_COM_dadd

X

X

X

O

 

_COM_dsub

X

X

X

O

 

_COM_dmul

X

X

X

O

 

_COM_ddiv

X

X

X

O

 

_COM_mul64

X

X

X

O

 

_COM_div64

X

X

X

O

 

_COM_udiv64

X

X

X

O

 

_COM_rem64

X

X

X

O

 

_COM_urem64

X

X

X

O

 

_COM_shll_64_32

X

X

X

O

 

_COM_shrl_64_32

X

X

X

O

 

_COM_shra_64_32

X

X

X

O

 

_COM_neg64

X

X

X

O

 

_COM_itof

X

X

X

O

 

_COM_itod

X

X

X

O

 

_COM_utof

X

X

X

O

 

_COM_utod

X

X

X

O

 

_COM_i64tof

X

X

X

O

 

_COM_i64tod

X

X

X

O

 

_COM_u64tof

X

X

X

O

 

_COM_u64tod

X

X

X

O

 

_COM_ftoi

X

X

X

O

 

_COM_dtoi

X

X

X

O

 

_COM_ftou

X

X

X

O

 

_COM_dtou

X

X

X

O

 

_COM_ftoi64

X

X

X

O

 

_COM_dtoi64

X

X

X

O

 

_COM_ftou64

X

X

X

O

 

_COM_dtou64

X

X

X

O

 

_COM_ftod

X

X

X

O

 

_COM_dtof

X

X

X

O

 

_COM_fgt

X

X

X

O

 

_COM_fge

X

X

X

O

 

_COM_feq

X

X

X

O

 

_COM_fne

X

X

X

O

 

_COM_flt

X

X

X

O

 

_COM_fle

X

X

X

O

 

_COM_funord

X

X

X

O

 

_COM_dgt

X

X

X

O

 

_COM_dge

X

X

X

O

 

_COM_deq

X

X

X

O

 

_COM_dne

X

X

X

O

 

_COM_dlt

X

X

X

O

 

_COM_dle

X

X

X

O

 

_COM_dunord

X

X

X

O

 

_REL_tracestring

X

X

X

O

 

__control_flow_integrity

O

X

X

O

Function list