13.07.2015 Views

TASKING VX-toolset for ARM User Guide

TASKING VX-toolset for ARM User Guide

TASKING VX-toolset for ARM User Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>TASKING</strong> <strong>VX</strong>-<strong>toolset</strong> <strong>for</strong> <strong>ARM</strong> <strong>User</strong> <strong>Guide</strong>Functiontowuppertrunc truncf trunclungetc ungetwcunlinkvfprintf vfwprintfvfscanf vfwscanfvprintf vwprintfvscanf vwscanfvsprintf vswprintfvsscanf vswscanfwcrtombwcsrtombswcstoimaxwcstombswcstoumaxwctobwctombwctranswctypewriteNot reentrant because-(Not implemented)Uses static buffer to hold unget characters <strong>for</strong> each file. Can bemoved into iob structure. See (1).Uses global File System Simulation buffer, _dbg_requestUses iob[ ]. See (1).Calls _doscanUses iob[ ]. See (1).Calls _doscanSets errno.Sets errno.Sets errno.Sets errno.Sets errno via calls to other functions.N.A.; skeleton functionSets errno via calls to other functions.-N.A.; skeleton function--Calls _writeTable: C library reentrancySeveral functions in the C library are not reentrant due to the following reasons:• The iob[] structure is static. This influences all I/O functions.• The ungetc[] array is static. This array holds the characters (one <strong>for</strong> each stream) when ungetc()is called.• The variable errno is globally defined. Numerous functions read or modify errno• _doprint and _doscan use static variables <strong>for</strong> e.g. character counting in strings.• Some string functions use locally defined (static) buffers. This is prescribed by ANSI.• malloc uses a static heap space.The following description discusses these items in more detail. The numbers at the beginning of eachparagraph relate to the number references in the table above.(1) iob structures782

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!