Home

IMS D7214C/D5214B/D4214B ANSI C toolset

image

Contents

1. 40 C Multibyte functions eee 41 C 1 Introduction nasa 41 C 2 Implementation esee 41 C 3 List of functions sssssvasssssas na 42 O ee aa 42 MDSIOWES un rules 43 MDIOWC 25 di dd 3 a8 44 wcstombS uta ia ad 45 A O Dk renti eae 46 Contents 1 Introduction This version of the INMOS ANSI C toolset is an update on the IMS D4214A D5214A and D7214B products As such the documentation is the same as for those toolsets but you should read the following notes to see what changes have been made 1 1 Changes to the product There are some general additions and enhancements to the product some changes to the tools and libraries and some changes in the installation directories compared to the previous release This release also includes bug fixes General changes and additions to the product are described in section 2 1 Changes to the tools and libraries are described in section 2 2 Changes to the installation directories are described in Appendix A Changes to the installation procedures including installation of the iserver are de scribed in Chapter 3 NEC specific changes are described in sections 2 3 and A 1 2 Known problems in this release are described in Chapter 4 1 2 Validation The earlier versions of the INMOS ANSI C toolset were validated in 1990 against release 2 of the Plum Hall validation suite The validation was done by t
2. IMS D4214B D5214B D 214C ANSI C toolset Release Notes READ THIS FIRST 577 SGS THOMSON o MICROELECTRONICS INMOS is a member of the SGS THOMSON Microelectronics Group 72 TDS 293 00 May 1991 Copyright INMOS Limited 1991 This document may not be copied in whole or in part without prior written consent of INMOS The C compiler implementation was developed from the Perihelion Software C Compiler and the Codemist Norcroft C Compiler dii Q Inmos IMS and occam are trademarks of INMOS Limited INMOS is a member of the SGS THOMSON Microelectronics Group INMOS Document Number 72 TDS 293 00 72 TDS 293 00 May 1991 ODANNODAAWW y wW introduction ara 1 1 1 Changes to the product 00 cece eee eee 1 o 1 2 Validation sour rs EP Hess ada aedes 1 2 Changes from previous release 2 1 General additions to the product 2 2 Changes to tools and libraries 2 2 1 Changes to the ANSI C compiler icc POQUONS d od nos Raab ot Wea een ibis Enhancements Bugs Fixed o oooooooooomooo o oo 2 2 2 Changes to the ANSI C Libraries Bugs Fed a valla CR na eor dod 2 2 3 Changes to the linker ilink AGIUS ced xa ati Padre wa acad das 2 24 Changes to the configurer icconf Enhancements 2 2 Bugs F
3. 72 TDS 293 00 May 1991 2 2 3 tanh when compiled for TB gave erroneous answers for arguments the modulus of which was in the range 0 5493061443 to 710 475874 This is now corrected Ref TS 1124 printf gave incorrect behaviour on T2 for x X and o This has now been fixed Ref TS 764 A minor bug in realloc meant that on rare occasions free blocks too small to be reused were added to the free chain This has now been fixed Ref TS 516 The server transaction function imposed a minimum length of 8 bytes on the server packet to be sent This meant that the mini mum transaction was 10 bytes including the two bytes for the packet length The minimum length of packet is now reduced to 6 bytes which brings the minimum transaction to 8 bytes This agrees with the true server minimum of 8 bytes Ref TS 1197 The exit function automatically closes all files opened with fopen before exitting the program This feature has been extended to also close all files opened using the open function Previously these files were not closed by exit Ref TS 1219 The functions ProcInitClean and ProcAllocClean violated the ANSI standard in that their names were visible within the user name space These names are now hidden from the user until the process h header file is included as for all other non ANSI names Note that this means that any programs making use of these functions will require recompilation Changes to the linker ilink
4. Link 0 connected to HOST Number of link down which this processor was booted Link speed of boot link in Mb sec Part speed in MHz Transputer type Processor number Figure F 1 Meaning of ispy display 72 TDS 293 00 May 1991 C Multibyte functions C 1 Introduction This appendix contains detailed descriptions of the ANSI multibyte functions mblen mbtowc mbstowcs wctomb and wcstombs which were always pres ent on the installation directories but were omitted from the documentation C 2 Implementation The functions provide a minimal implementation of the ANSI standard This is con sidered sufficient because the current toolset supports only the standard C locale and therefore any implementation is of limited practical value The functions support an implementation of wide characters in which wchar t int MB MAX LEN 1 72 TDS 293 00 May 1991 42 C 3 List of functions mblen Determines number of bytes in a multibyte character Synopsis include lt stdlib h gt int mblen const char s size t n Arguments const char s Pointer to the multibyte character size tn The maximum number of bytes to be read Results If s is not a null pointer mblen returns the number of bytes that are contained in the multibyte character pointed to by s as long as the next n or fewer bytes form a valid multibyte character In the current implementation the maximum length of a character is 1 byte If s is a null poi
5. Additions e New option EX A new option EX allows the extraction of modules unlinked The linker functions as normal except that the output will not be a single linked unit It will in fact be the concatenation of the component modules that would have made up the linked unit with each being unaltered This is used for creating convenient subunits for further linking or for extraction from li braries The linker U option and the REFERENCE and DEFINE commands are particularly useful for controlling the content of the output when combined with EX U will allow the linker to continue even when unresolved references remain These outstanding references remain unresolved in the out put and must be resolved in some subsequent link 72 TDS 293 00 May 1991 REFERENCE causes a the linker to pull in the module exporting that name and hence everything subsequently required by it DEFINE resolves a reference causing the linker not to pull in any module because of that symbol Remember that there may be other external symbols in that module which may also require this In the case of occam specific references this is not possible see below The actual value used in the DEFINE command is not significant since no patching is done A main entry point need not be specified with the EX option and will have no effect In the case of OCCam for safety reasons the linker will not allow the sepa ration of a module and those mod
6. INMOS Business Cent Headauarters USA SGS THOMSON Microelectronics Inc 2225 Executive Circle PO Box 16000 Colorado Springs Colorado 80935 6000 Telephone 719 630 4000 Fax 719 630 4325 SGS THOMSON Microelectronics Inc Sales and Marketing Headquarters USA 1000 East Bell Road Phoenix Arizona 85022 Telephone 602 867 6100 Fax 602 867 6102 INMOS Business Centre SGS THOMSON Microelectronics Inc Lincoln North 55 Old Bedford Road Lincoln Massachusetts 01773 Telephone 617 259 0300 Fax 617 259 4420 INMOS Business Centre SGS THOMSON Microelectronics Inc 1310 Electronics Drive Carrollton Texas 75006 Telephone 214 466 7402 Fax 214 466 7352 72 TDS 293 00 USA INMOS Business Centre SGS THOMSON Microelectronics Inc 9861 Broken Land Parkway Suite 320 Columbia Maryland 21045 Telephone 301 995 6952 Fax 301 290 7047 INMOS Business Centre SGS THOMSON Microelectronics Inc 200 East Sandpointe Suite 650 Santa Ana California 92707 Telephone 714 957 6018 Fax 714 957 3281 INMOS Business Centre SGS THOMSON Microelectronics Inc 2055 Gateway Place Suite 300 San Jose California 95110 Telephone 408 452 9122 Fax 408 452 0218 May 1991 48 EUROPE United Kingdom INMOS Business Centre SGS THOMSON Microelectronics Ltd Planar House Parkway Globe Park Marlow Bucks SL7 1YL Telephone 0628 890 800 Fax 0628 890 391 France INMOS Business Centr
7. The following are a list of changes which apply to the NEC PC e New NEC ITERM file Ref Delivery Manual section 2 2 8 This has changed from necpc itm to necansi itm e NEC specific batch files for nidebug and ni sim Ref Delivery Manual section 2 5 nidebug and nisim batch files are no longer present run idebug and isim as for any other PC machine 2 3 1 New keyboard layout e The keyboard layout corresponding to the replacement ITERM file necansi itm is given on the following page T2 TDS 293 00 May 1991 19 pesn jou pedAoy HY jui Key 983 lt gt yel dy eun a a u A EEEE EASE J ANTI E UMOJ HOY dN Woy Key HO 0 983 Kay WD ynoAe p eoqA34 JIN May 1991 72 TDS 293 00 20 72 TDS 293 00 May 1991 3 Installation 3 1 Introduction 3 1 1 If you are replacing an existing ANSI C toolset This toolset completely replaces the previous ANSI C toolsets D4214A IMS D5214A and D7214B lf you already have one of these installed then the installa tion will overlay the same directories with new files However since the content of the directories is not identical itis recommended that you delete the original instal lation directory and all subdirectories Any changes you have made to these should be recorded and repeated after this installation The changes to the contents are listed in an appendix to these notes 3 1 2 If you are using C and occam toolsets t
8. Calls to ctime by independent unsynchronised processes may corrupt the re turn value Reference Manual p 129 frexpf function description Contrary to that stated in the Errors section rexpf may generate domain errors For both frexpf and frexp domain errors are caused by NaN or Infinity Reference Manual p 199 ProcAlloc function description The second paragraph should read The function to be set up as a process by ProcAlloc should have as its first parameter a pointer to a process structure This pointer must not be included in the calculation of nparam Reference Manual p 221 ProcStop function description The descrip tion omits to state that ProcStop can be used in conjunction with any par allel process This includes configurer processes as well as those started by ProcPar etc Reference Manual p 250 server transaction function Under Er rors the description of error code 1 should read Length is less than the minimum server message size of 6 bytes 72 TDS 293 00 May 1991 29 e Ref TS 0631 Reference Manual p 89 The second sentence in the first paragraph of the description of the function debug stop Ifthe program is in HALT mode should be deleted The processor does not stop when interactively debugging only the process that executes the debug stop function call e Ref TS 0667 Reference Manual p 129 Under Errors it should say that a domain error can occur e Ref TS 1245
9. PC toolset The follow ing structure replaces that described in section 2 1 of the Delivery Manual D7214C directory structure Victoolslitools ictools tools ictools libs ictools examples ictools examples simple ictools examples debugger ictools examples imakef ictools examples config ictools examples config b008 ictools examples linkboot ictools iserver ictools source ictools source iserver ictools source imakef ictools source driver ictools iterms NEC directory removed The transputer bootable tools The PC hosted tools The toolset libraries and include files Examples directory Simple example sources Debugger example sources imakef example sources Configurer example sources Configurer example B008 configuration files Single processor user defined bootstrap example The iserver executables Source code Server sources imakef sources Bootable file driver program sources Example iterm files and driver program Note that the NEC directory ictools nec Ref Delivery Manual section A 13 has been removed in this release of the toolset and all references to it should be ignored Distribution kit e Directory ictools itools Ref Delivery Manual section A 1 nidebug bat and nisim bat do not exist in this release of the toolset 72 TDS 293 00 May 1991 37 e Directory ictools iterms Ref Delivery Manual section A 4 necansi itm replaces necpc itm and the
10. Reference Manual p 198 The description of the parallel function ProcAlloc is insufficiently clear about the size ofthe stack space that must be reserved for the process The following text should be added after the description of sp It is important that enough space is allocate for the stack for the process If insufficient is provided the results are undefined In particular in the worst case the runtime library needs 150 words 600 bytes for 32 bit 300 bytes for 16 bit machines This must be allowed for as well as the stack requirement of the user functions cf max stack usage This also affects the breakpoint debugging of some configuration exam ples as described below When using the breakpoint debugger with the configurer examples that o use the linked units derived from the hostpass c and multpass c source files then these source files should be modified to ensure they ex ecute correctly The lines that have to be changed are the calls to ProcA11oc that allocate a structure that can be used with ProcRun later on In the calls to ProcAlloc a stack size of 128 bytes is given which is sufficient when the code is run outside the debugger but insufficient when the same code is run from the breakpoint debugger because the virtual io library is used for channel communication When running through the breakpoint debugger the value 1024 bytes should be sufficient Replace the value128 in the ProcAlloc parameter list by the valu
11. TS 0717 1074 Fatal internal error Pushing an int with no space left when generating code for array expressions with short subscript for target processor with fpu and dup instruction fixed e g int a b short c static char d 64 a d c b Ref TS 0788 Incorrect code generation for i gt 0 where i is an un signed int fixed This also caused switches on unsigned ints to be incor rectly coded in some circumstances Ref TS 1022 Incorrect initialisation of static data on T2 where initial val ues match the representation of a pointer and are not word aligned fixed Ref TS 1037 Fatal internal error Pushing an int with no space left when generating code for complicated double expressions on T2 fixed Ref TS 1038 Fatal internal error when taking content of a multi word ob ject in a void context fixed e g struct complex double re double im void p void struct complex cplx void cplx re e Ref TS 1041 Incorrect handling of reads from volatile objects in a void e context fixed e g volatile int s 72 TDS 293 00 May 1991 i e didn t read s previously e Ref TS 1050 Corrected optimisation which transformed two successive loads into a load and duplicate so that it does not happen when the load is from a volatile object e Ref TS 1062 Fatal internal error Literal pool label is unini tialised when calling a floating point function with argument 0 0 in some circumsta
12. as using the getenv function to obtain an environment variable which is longer than 509 characters This bug will be fixed in future releases of the iserver Ref TS 0539 Due to a minor problem in this release with the usage of TCOFF representation of processor capabilities between tools e g hard ware breakpoint support FPU etc a problem arises when collecting some single processor programs with icollect when using the T option This problem does NOT affect the bootable code produced by the toolset The problem manifests itself by making transputer types appear to migrate to another processor type between different tools Original type Migrated type T222 T212 T400 T425 T801 T805 This is best illustrated by an example icc foo c g t400 ilink foo tco f startup lnk t400 icollect foo lku t ilist will show the processor type as T425 in both foo tco and foo lku More importantly idebug will generate a serious error mes sage when breakpoint debugging because it has been told to expect a T425 and it finds a T400 When post mortem debugging idebug will generate a warning Workaround These problems primarily affect debugging where it is crucial that the transputer type used is the same as that specified in the configuration One solution is to configure for a single processor with icconf i e don t use 72 TDS 293 00 May 1991 24 the icollect single processor T option If you must have single processor capabi
13. does not apply to this toolset The installation will not ask questions regard ing which server to install Instead you must explicitly install the server you require Installation of the iserver is described in section 3 2 3 1 4 Transputer hosted tools There are three tools 4debug idump and iskip that require transputer boot able files to execute on all host versions The PC version of the toolset requires 72 TDS 293 00 May 1991 22 transputer hosted versions of some other tools as well These are provided in the itools subdirectory If you wish to use these then you should add the itools to your path after the tools directory or copy them into the tools directory as before This is different from the previous versions where they were copied into the tools directory automatically The change has been made to make the toolset compatible with our other toolset products and to provide the user with greater flex ibility in how to set up access to the tools 3 1 5 New and changed directories An appendix to these release notes lists the differences between the directory con tents as provided and the lists in the appendix of the Delivery Manual 3 2 Serverinstallation When the installation is complete you must set up access to an iserver The in stallation does not attempt to set one up automatically Note that if you are replac ing a previous toolset then you should upgrade the server to one of those con tained in this re
14. file ansi itm has been added The new listing of the directory is as follows bansi sys Screen device driver pcansi itm Iterm file for use with ANSI SYS pcbansi itm Iterm file for use with BANSI SYS necansi itm Iterm file for use with an NEC PC ansi itm Iterm file for use with an ANSI terminal readme txt Information file e Directory ictools iserver Ref Delivery Manual section A 10 iserver exe Will only appear if you have copied one of the three installed iservers to iserver exe e Directory ictools nec Ref Delivery Manual section A 13 This directory does not exist in this release of the toolset e New directories The directory ictools examples linkboot has been added The di rectory listing is as follows loader occ userboot asm makefile tp The directory ictools source driver has been added This con tains the source of the driver program which is used to boot the transputer bootable versions of the tools 72 TDS 293 00 May 1991 38 72 TDS 293 00 May 1991 B ispy program B 1 Network worm ispy In the ANSI C toolset User Manual p 262 and p 305 there are references to the program i spy which can be used to clear the error flags in networks of transputers This program is available as part of the board support software product IMS S508 for use with the toolsets on Sun 3s and Sun 4s However there is no equivalent source of ispy for PC boards A copy of ispy is included in the D7214C PC re lease
15. iserver 21 3 14 Transputer hosted tools 21 3 1 5 New and changed directories 22 3 2 Server installation eR 22 3 2 1 POSO una 22 3 2 2 Sun 3 Sun 4 servers 22 4 UEM south oh carte TRE RU X REI edes 23 4 1 General RPM CC 23 4 2 Tools and libraries o oooooo o 24 4 2 1 JOC S eo decode E E A E ERROR 24 4 2 2 C lIDFANeS k baa E AL Mace OR eus 26 4 2 3 ICCOM MERCEDE 26 4 2 4 e TRE 26 4 2 5 Maker corra aii 27 4 2 6 Mii id REN 27 4 2 7 lul gm ru Aare att E a 27 4 2 8 ISEIVER 2 22 2 skakar k 27 4 3 Documentation errors ooo o oooooooo o 27 4 3 1 Reference Manual 27 4 3 2 User Manual 1 s sau 30 ADDENdICES v a ad 33 A Distribution Kit lt ooooooo o 35 A 1 Differences in directory contents lists 35 A 1 1 Differences for D4214B and D5214B from D4214A and D5214A aaa Directories removed 35 Directories added 35 A 1 2 Differences for D7214C from D7214B 36 Directory structure 36 NEC directory removed 36 Distribution kit 2 2 8224 ridad 36 B ISDY DIOJ Gl errar arado ie 39 B 1 Network worm iSpy o oooooooooooomoo 39 Contents B 1 1 Explanation of output
16. isim the words 2 Mbyte should be deleted User Manual p 122 The wrapping round of some lines in the comment section of the listing at the top of the page is a document processing error User Manual p 138 In the first paragraph the name of the linker startup file for reduced library programs should be startrd lnk not started lnk User Manual p 147 The example on page 147 is for a 16 bit transputer not a 32 bit transputer User Manual p 150 In the diagram the file extension for the configuration input file should be cfs not cfg User Manual p 167 In the table of IMS_on IMS_off parameters the ab breviation for scanf checking should be s not sc User Manual p 208 The icollect command line in Examples of use should NOT include the t option User Manual p 236 Under section 13 2 1 Examples of use a note should be added to say that single transputer programs linked with the re duced library cannot be bootstrapped using the icollect T option and must be configured instead 72 TDS 293 00 May 1991 31 e Ref TS 0759 User Manual p 261 In the final sentence ofthe paragraph describing the n option penultimate paragraph on page t should read n e User Manual p 263 Typographical error in the third paragraph the characters exit terminate appear twice e User Manual p 299 Document processing error on first line the charac ters t
17. produce a map of workspace for each function defined in the file and a map of the static area of the whole file This map is written to the file mapfile For each function definition a list of all local variables and formal parame ters and their position in the functions workspace is produced The work space requirement of the function is also listed but note that this does not take into account any extra below workspace slots required for input out put alternation or calls Local variables are listed in the order in which they are allocated in work space not the order in which they are declared e For the whole file a list of all the static variables and their position in the file s static area is produced The total static data requirement for the file is also listed 72 TDS 293 00 May 1991 Those static items which are globally visible are marked global Static items introduced to allow the code to access external objects are marked pointer to external object Static items whose name has been modified by the IMS translate pragma are listed under the name that is put into the object file but are an notated with the message translated from sourcename where sourcename is the name used in the source file New option FS The compiler has a new command line option FS which directs it to treat right shifts of signed integers as arithmetic shifts The default behaviour is as before to treat such shifts as lo
18. 3 00 May 1991 Improved speed The speed of the configurer has been increased by up to 4 times by better internal use of memory and indexing Improved memory usage checking Application memory usage is now checked accurately by the collector and eprom tools The configurer checks were too pessimistic in their assump tions concerning the amount of memory used by the network loader and the size of the reserved memory for each of the transputer types Now the configurer makes no such assumptions any more so its checks will be opti mistic The collector and eprom tools can and do perform these checks Restriction lifted on connection statement A restriction concerning the way connections are used in place state ments has now been lifted It is now possible for the user to place a connec tion name representing a channel connection onto a connection name rep resenting a link connection without needing to know how the connect statements defining the connection names were originally defined Bugs Fixed The following bugs have been fixed The configurer no longer generates superfluous FILE statements for sys tem processes in its output file if only 32 bit or 16 bit processors were de fined in the network being configured Itis now possible to determine from the output file of the configurer whether a CHANNEL statement was placed on a LINK statement from left to right or from right to left When creating a bootable file using the
19. Arguments wchar t pwc Pointer to the storage location for the converted character const char s Pointer to the multibyte character to be converted size tn The maximum number of bytes to be read Results If s is not a null pointer mbtowc either returns zero if s points to NULL or returns the number of bytes that are contained in the converted multibyte character as long as the next n or fewer bytes form a valid multibyte character In the current implementation the maximum length of a character is 1 byte If s is a null pointer mbtowc returns zero The value returned cannot be greater than n or the value of MB CUR MAX Errors mbtowc returns 1 if the next n or fewer bytes do not form a valid multibyte charac ter Description mbtowc converts a multibyte character to a wide character code and stores the result in the object pointed to by pwc 72 TDS 293 00 May 1991 45 wcstombs Converts wchar t sequence to multibyte sequence Synopsis include lt stdlib h gt size t wcstombs char s const wchar t pwcs size t n Arguments char s Pointer to the start of the array where the results will be stored const wchar t pwcs Pointer to the start of the wide character se quence to be converted size tn The maximum number of bytes to be stored Results wcstombs returns the number of bytes modified not including any terminating zero codes Errors If an invalid code is encountered wcstom
20. IXed 24 40 este 2 2 5 Changes to the collector icollect Ee 10 Adios iu order vtta bet rd edam 10 Enhancements md chaud a ue v pes n 10 Bugs Fixed Eu ao are 10 2 2 6 Changes to the debugger idebug 11 Command Line Options 11 Monitor page 212 s sasa aa 12 INSPECT MODIFY Expressions 12 Error Messages 14 Miscellaneous s saa 14 Bugs Fixed 2 2 ss sss eed 15 Documentation Omissions 15 2 2 7 Changes to the Makefile generator imakef 16 Additions ssssssssassaa 16 Enhancements 16 2 2 8 Changes to the T425 simulator isim 16 PGOWONS nares Br e S qe D eM 16 BUGS Fixed sona is 16 2 2 9 Changes to the EPROM program converter ieprom 17 2 2 10 Changes to the processor skipping program iskip 17 2 2 11 Changes to the host file server iserver 17 Enhancements 17 Bugs Fixed iia neue 17 2 2 12 Changes to other tools 18 ii Contents 2 3 NEC PC specific changes 18 2 3 1 New keyboard layout 18 3 MAStANAUON iier dc eS CREE NOR Da il ERU Ed 21 3 1 INWOGUCHON ar 21 3 1 1 If you are replacing an existing ANSI C toolset 21 3 1 2 If you are using C and occam toolsets together 21 3 1 3 Installing the
21. T option of the collector and the free memory size is passed into the process the size calculated by the system processes at run time was incorrect The free memory size calculated was slightly less than that actually available The configurer does not treat the identifier channel as a keyword any more it can now be used as a normal identifier The configurer now prevents the user from specifying an interface pa rameter with the same name as one of its pre defined attributes Added checks into the configurer to perform a rough memory usage check for ROM memory usage when the RA option is specified This check is opti mistic but will still trap excessive memory usage 72 TDS 293 00 May 1991 10 2 2 5 Changes to the collector icollect Additions New option Y A new option Y enables the collector to reduce the size of the overhead it applies to C programs This happens automatically if the program has been configured with icconf The option can only be used with the T boot only option It also disables interactive debugging In order to support this reduction if booting from ROM the ROM bootstrap file has been changed New option P filename A new option P filename has been added to provide a memory map of the final program This helps the user find how storage is laid out and where various segments of the program reside Enhancements Improved system libraries Various optimisations have been applied to linkboot lib a
22. bs retums size t 1 Description wcstombs converts a sequence of wide character codes into a sequence of multi byte characters It acts like the wctomb function but takes as input an array of codes and returns an array of characters Not more than n bytes are written into s If the initial and receiving objects overlap the behaviour is undefined Storage of a null character terminates the function 72 TDS 293 00 May 1991 46 wctomb Converts type wchar t to multibyte character Synopsis include lt stdlib h gt int wctomb char s wchar t wchar Arguments char s Pointer to the array object that will receive the multibyte character wchar t wchar Code of wide character to be converted Results If s is not a null pointer wctomb returns the number of bytes in the multibyte char acter corresponding to wchar If s is a null pointer wctomb returns zero The value returned cannot be greater than n or the value of MB CUR MAX Errors If wchar does not correspond to a valid multibyte character wctomb returns 1 Description wctomb converts a wide character code to a multibyte character to and stores the result in the array pointed to by s At most MB CUR MAX characters are stored 72 TDS 293 00 May 1991 Addresses 47 Worldwide Headquarters INMOS Limited 1000 Aztec West Almondsbury Bristol BS12 4SQ UNITED KINGDOM Telephone 0454 616616 Fax 0454 617910 Worldwide Business Centres
23. e SGS THOMSON Microelectronics SA 7 Avenue Gallieni BP 93 94253 Gentilly Cedex Telephone 1 47 40 75 75 FAX 1 47 40 79 27 West Germany INMOS Business Centre SGS THOMSON Microelectronics GmbH Bretonischer Ring 4 8011 Grasbrunn Telephone 089 46 00 60 Fax 089 46 00 61 40 Italy INMOS Business Centre SGS THOMSON Microelectronics SpA V le Milanofiori Strada 4 Palazzo A 4 A 20090 Assago MI Telephone 2 89213 1 Fax 2 8250449 72 TDS 293 00 ASIA PACIFIC Japan INMOS Business Centre SGS THOMSON Microelectronics K K Nisseki Takanawa Building 4th Floor 18 10 Takanawa 2 chome Minato ku Tokyo 108 Telephone 03 3280 4125 Fax 03 3280 4131 Singapore INMOS Business Centre SGS THOMSON Microelectronics Pte Ltd 28 Ang Mo Kio Industrial Park 2 Singapore 2056 Telephone 65 482 14 11 Fax 65 482 02 40 May 1991
24. e 1024 This stack size will also be sufficient if stack checking is enabled when com piling these source modules The following configuration source files import hostpass c and multpass c pipe cfs ring cfs tree cfs square cfs squarel cfs zigzag cfs Programs generated from these configurations should reference the modi fied versions of multpass cand hostpass c if they are breakpoint de bugged 72 TDS 293 00 May 1991 30 4 3 2 Reference Manual p 359 The declaration of main in section B 2 should be preceded by inclusion of the channel library header file include lt channel h gt User Manual User Manual Contents overview p iii The order of Appendices D and E in the listing should be reversed Appendix D describes bootstrap loaders and Appendix E the ISERVER protocol Ref TS 0703 User Manual p 23 In section 2 13 4 Environment vari ables the description of IBOARDSIZE should say Used when loading non configured programs instead of Used by iserver Ref TS 0635 User Manual p 77 Comment characters in the example should be not A Ref T9 1076 User Manual p 78 In section 6 5 5 Segment ordering the first paragraph states that there are four code segments There are in fact five and these are correctly listed in the succeeding paragraph User Manual p 79 process in the first example should be preceded by define User Manual p 119 In section 8 12 Debugging with
25. e a significantly longer time to execute than the J option Note the bootstrap phase of a program may use some of the Data and Freespace regions for its own purposes consequently the pattern may have some holes in it bs This option should always be used when debugging C programs with idebug 72 TDS 293 00 May 1991 12 It is necessary because the current C implementation uses a translator to produce C code as an intermediate step and idebug is not made fully aware of this This option instructs idebug to treat a C source code file as a C source code file when symbolically debugging it It also helps to reduce the confu sion idebug has in the presence of C header include files which pro duce object code e AP This option is a replacement for the A option when using some other ven dors boards It does not apply to INMOS hardware and you should contact your supplier to see whether it is applicable to your hardware Monitor page e The root processor boot link for configured programs is now checked by idebug to match that specified to configurer In breakpoint mode a warning is also issued before loading the network e Monitor page Link Information option now states when an edge has been mapped onto a link rather than stating that the link i not connected e Monitor page F command select source file remembers the previous file name or process number as applicable used with the option by use of the cursor u
26. ector informs idebug that the type of a T801 or T805 transputer is a T800 because of an inconsis tency in the internal definition This will cause idebug to generate a seri ous error when breakpoint debugging or a warning when post mortem de 72 TDS 293 00 May 1991 4 2 5 4 2 6 4 2 7 4 2 8 4 3 4 3 1 27 bugging Note that this is a different problem to that mentioned in section 4 1 bullet 2 Workaround Either use icconf to configure the program or debug in TA mode imakef Ref 19 0529 imakef does not specify the name for a efb file gener ated by icollect when generating a bxx file using the T option This is only a problem if you create multiple bxx bootables for different trans puter types from the same source in the same directory Workaround Rename the c b file after creating each bxx isim Ref TS 0608 D5214B D4214B Sun 3 Sun 4 hosted versions only isim incorrectly sets the terminal mode when in the iserver so that the RETURN key is mapped to NEWLINE Some routines in the hostio occam library expect a RETURN to terminate their input These will not terminate as expected Workaround When the program is expecting input a RETURN can be explicitly supplied on Sun systems by the key sequence CTRL V CTRL M iemit Ref TS 0626 iemit also uses the ITERM files to access the terminal If one is not present then it defaults to a teletype device iserver Ref TS 0535 The hel
27. ef C User Manual section 8 14 12 e Support for other languages Full support for occam has been added e Support for configurers This version of the debugger supports the following INMOS configurers occonf supplied with occam toolsets icconf Supplied with C toolsets Bugs Fixed This section describes the bugs found in idebug which have been fixed in this re lease e Ref TS 0605 Configuration edges were incorrectly converted into idebug style virtual communication links in breakpoint mode e Ref TS 1045 Network dump didn t always switch between processors correctly when producing a network dump file e Ref TS 1058 Multiple links between processors could cause idebug to hang in breakpoint mode e Ref TS 1114 An attempt to dereference an incomplete type within an In spect Modify expression is now trapped e Ref T9 1212 A right shift gt gt within an Inspect Modify expression is now performed correctly as a logical shift Documentation Omissions e C User Manual omits to state in chapter 15 that idebug checks variables for correct alignment when using INSPECT MODIFY e g an int must be word aligned e C User Manual section 15 8 3 was not explicit enough about the facilities for editing C INSPECT MODIFY expressions You may edit expressions by use of the cursor keys and other editing keys e C Reference Manual page 88 omits to state that debug message will only display the first 80 c
28. eft or long shift right over 2 WORDSIZE bits left the original value unchanged in the A and B registers It now clears both registers e Ref T9 1225 Long shift right propagating sign bit from most significant word e Ref TS 1226 Long division assumed a signed value input when should have been unsigned thus would do incorrect sign stripping of the dividend and sign extension of the result 72 TDS 293 00 May 1991 17 e Ref TS 1227 SETJOBREAK and CLRJOBREAK assumed individual flags for high low priority now does the same as a real T425 there is just one flag if set or cleared at high priority the setting is retained only whilst in high priority the low priority value is restored on return to low priority then propa gated back to high priority when next interrupted e Ref TS 1194 If a high priority process is waiting on an ALT and a low prior ity process tried to do an output to it the high priority process would disap pear and the low priority process continue Also a high priority process waiting on an ALT with a high priority process doing the output to it causes the ALT process to re awake but with a workspace value of MININT e Ref TS 0578 The use of the XM option now allows the simulator to remain in the root transputer awaiting more input 2 2 9 Changes to the EPROM program converter ieprom e New option R e OptionR causes ieprom to print out the absolute address of the code refer ence point It can be
29. f TS 0579 If the compiler runs out of disk space while compiling it just stops hangs on a PC Escaping with CTRL C leaves a file TO TMP on the disk No diagnostic is produced Running with the I option reports an error and terminates cleanly e Ref TS 0604 Some loops can be written which have no instructions that can allow a deschedule of the running process These loops would have no body and a simple boolean test They can occur either with a whileloop or a for loop with no step clause and no body For example while value 1 Workaround Add a redundant statement to act as a body For example e while value 1 a a 72 TDS 293 00 May 1991 26 Ref TS 0641 If the compiler cannot write part of a file then the user may not be informed of the fact For example if the directory full condition oc curs when creating the tco file then no message is given 4 2 2 4 2 3 4 2 4 Ref TS 0669 If the source code contains a typedef for a function proto type then the information generated for the debugger is incorrect The ef fect is that the use of this type cannot be relied on in debugger expressions Note that there is no problem with typedefs for function pointers C libraries Ref TS 0606 The channel communication fault tolerant functions ChanInChanFail ChanInTimeFail ChanOutChanFail ChanOut TimeFail and ChanReset may not be used with virtual links when breakpoint debu
30. g Large struct unions The output display of structs and unions is now paged when necessary in a similar manner to large arrays e Hex Constants The Hex constant syntax has been expanded to accept a character after the leading 0x component of a hex constant This provides a short hand mechanism for specifying transputer addresses in a similar manner to that provided in the monitor page The character adds INT MIN MOSTNEG INT to the hex constant using modulo arithmetic For example 0x 70 produces the constant value 0x80000070 on a 32 bit transputer and 0x8070 on a 16 bit transputer e De referencing an integer address constant indirect You may now dereference a constant expression which has type int or unsigned int in a C expression when using INSPECT or MODIFY Normally you may only dereference a pointer this addition can save you from having to change to the Monitor page to inspect memory locations For example 0x80000000 or 0x 0 would display the integer at memory location 0x80000000 on a 32 bit processor Hex Integer Print This has been changed to Hex Print it now displays the hex representation of floating types in addition to integral types when enabled o e Scope Resolution Operator This capability has been added to Inspect Modify for both C and C al though strictly speaking it is only defined in C 72 TDS 293 00 May 1991 14 This operator enables you to access a global identifier w
31. gging The debugger converts all external links described to the configurer into virtual links when breakpoint debugging in order to share links with the user application program Using these functions with virtual links will lead to undefined behaviour Workaround In order to use these functions when breakpoint debugging you must provide real physical link addresses This is best performed by declaring channels within the source code i e not passing them in from the configur er and initialising them with the appropriate link value defined in chan nel h Such placements must not conflict with any link placements de scribed to the configurer otherwise undefined behaviour will occur Zero length messages on channels If zero length messages are passed using channel library functions which take a length parameter the results are undefined This applies to data passed using the functions ChanIn ChanOut ChanInChanFail Cha nInTimeFail ChanOutChanFail and ChanOutTimeFail The be haviour is a direct result of the design used to implement message passing in the transputer icconf Ref TS 0587 The definition of the syntax of the configuration language allows the number of parameters in the interface to be zero This is incor rect An interface attribute must have at least one parameter To call a pro cess with no parameters the interface attribute should be omitted icollect Ref TS 0540 When using the T option the coll
32. gical shifts This allows correct working of some non ANSI conforming programs which assume that right shifts of signed values propagate the sign Enhancements The LF option has been removed from the compiler LF was an undocu mented option and has become obsolete Verbose output of assembler tidied up it now reports code and initialised data sizes Improved code generation for array accesses with multiple subscripts Improved code generation for some cases of conditional operation Improved code generation for some cases of and Bugs Fixed Incorrect handling of signed bitfields on T2 fixed Ref TS 0601 1169 If a function had no prototype and used float parame ters the workspace positions of all parameters beyond the first float were incorrectly calculated For example float f x y float x y return x y int main void float g g f 1 0 2 0 if g gt 2 9 amp amp g lt 3 1 return EXIT SUCCESS else 72 TDS 293 00 May 1991 printf S Failed f 1 0 2 0 f n g return EXIT_FAILURE This has now been fixed Ref TS 0669 1146 Assertion failure when attempting to generate debug information for typedefs of function types fixed Ref TS 0756 Assembler instruction break now correctly recognised in assembler inserts Ref TS 0761 0763 Removal of last basic block in a function under cer tain conditions by flowgraph optimisation fixed Ref
33. haracters of an individual message 72 TDS 293 00 May 1991 16 C Reference Manual pages 71 76 omits to state that the ChanInTime Fail and ChanOutTimeFail functions do not support virtual channels and cannot be used with the breakpoint debugger 2 2 7 Changes to the Makefile generator imakef Additions e New option NI The NI option means that files that are on ISEARCH are not put into the Makefile This means that all the system files are not present making it much easier to read Enhancements e imakef now puts a line reading IMAKEF CUT in the Makefile All lines above this will be untouched when the makefile is regen erated This allows the user to introduce his own macros without them get ting overwritten every time imakef is run 2 2 8 Changes to the T425 simulator isim Additions e New option N The N option has been added to tell the simulator to do no further option interpretation after that point in the command line The remainder of the command line is then passed to the simulated program as its command line Bugs Fixed e Ref T9 1048 A block move of zero bytes with invalid source or destina tion address was trapped by the simulator as being an illegal memory ac cess The simulator no longer checks the addresses if a zero sized object is being moved Block moves are used in the MOVE instruction as well as being implicitly used in channel communication instructions e Ref T9 1189 Long shift l
34. he British Standards Institute BSI This maintenance release has not yet received a validation certificate However INMOS claims that this version of the toolset passes all of the tests in the Plum Hall suite version 2 This release also passes level 2 01 the first release of the 1991 BSI validation suite Full validation againstthe 1991 suite is expected in August 1991 on the anni versary of the original validation 72 TDS 293 00 May 1991 72 TDS 293 00 May 1991 2 Changes from previous release This chapter describes the changes in this maintenance release from the ANSI C toolsets D4214A D5214A and D7214B Where appropriate INMOS reference numbers are given for bugs fixed in the for mat TS nnn 2 1 General additions to the product e A program called ispy is included in the D7214C This enables networks of transputers to be examined and reset cleanly Information for the user is included in Appendix B of this document e The source ofthe driver program is included in D7214C This was an omis sion in earlier versions of the product e The source of the user bootstrap is now found in the examples directory This was omitted from earlier versions of the product e The debugger better supports C IMS D4217A D5217A and D7217A o 2 2 Changes to tools and libraries 2 2 1 Changes to the ANSI C compiler icc Additions e New option P mapfile The compiler may be instructed via the P mapfile option to
35. he message is generated at runtime by the Microsoft C runtime system and cannot be trapped by the tool Workaround Work around by running the tool on a transputer e Ref TS 1180 In rare circumstances the following error message or vari ations of it with the tool name lt inmos library can be produced by some tools Fatal lt inmos library low level write failed 2 Such an error can occur for instance if the disk fills up during the writing of a file although the tool itself will normally notice this and report the error in more detail 4 2 Tools and libraries 4 2 1 icc e e Ref TS 0593 In the following fragment of C 72 TDS 293 00 May 1991 25 extern void p void pragma IMS nolink p extern void q void extern void p void pO the second declaration of a function here p after a nolink pragma loses the function s nolink status Workaround Add a second pragma IMS nolink p after the second declaration Ref T9 0543 The compiler does not detect as an error the use of enumer ation values that are too large for an inttype for the 16 bit processors For example the following code should be erroneous enum colour red 100000 e Ref TS 0517 The compiler produces a spurious warning incorrect num ber of parameters when a conversion specification in scanf or printf contains both an asterisk to denote a width of the field and an h to indicate e a short value is to be used e Re
36. hich has been hid den by a local identifier of the same name Its use is best illustrated by an example Consider the following program static int foo 42 void example void int foo 321 debug_stop program will stop here When executed the program will stop at debug_stop If you inspect oo the value 321 will be displayed If you inspect oo the value 42 will be displayed Error Messages e Changed error message Probe Go Processor number Invalid processor type has changed to ProbeGo Processor number Incorrect processor type Ref C User Manual page 310 e New error message You must specify a transputer type instead of a class Meaning The program you are trying to debug is for a transputer class ei ther TA or TB the debugger needs to know the actual processor type e g T425 You should retry using the debugger with the command line C option to specify the processor type Miscellaneous e C library include file errno h This header file defines errno via a define Unfortunately idebug does not know about 4 define values in order to inspect errno from with in idebug you should type IMS errno instead 72 TDS 293 00 May 1991 15 e C library parallel process support An incorrect debug record in the asynchronous process library ProcRun ProcRunLow and ProcRunHigh has been corrected Its effect was to disable backtracing from an asynchronous process R
37. lease It should be release 1 42 i or later One of the servers supplied should be renamed or copied onto the path 3 2 1 PC server For the PC version D7214C of this release the servers are found in ICTOOLS ISERVER and are isvrb04 exe Can be used with the B004 and B008 boards with no further change isvrb08 exe Supports the B008 board but only in conjunction with the de vice driver from theS708B product qv isvrnec exe Supports the B010 and B015 boards in NEC PCs If you have a non INMOS board then consult your supplier It is likely but not guar anteed that the B004 version may work depending on the board 3 2 2 Sun 3 Sun 4 servers For the Sun3 D5214B and Sun4 D4214B versions of the toolset three servers are supplied These support the IMS B011 B014 and B016 products and have the names B011_iserver B014_iserver and BO16 iserver respectively You should choose the appropriate server for your hardware 72 TDS 293 00 May 1991 This release has the following known bugs and problems INMOS reference num bers are given where appropriate 4 1 General Ref TS 0239 The iserver used with this toolset can handle a maximum packet length of 1024 bytes However the C Library has a maximum pack et length of 512 bytes This may lead to errors if the iserver should send a packet longer than 512 bytes to either an application or one of the tools in this toolset This would only occur in extreme situations such
38. lity from icollect the following table illustrates individual workarounds for the different processor types Processor Type Workaround for icollect T option T222 none idebug will happily think the processor is a T212 T400 debug in TB or TA mode and commit to T400 mode when debugged T801 debug in TA mode and commit to T801 mode when debugged e Ref TS 0555 The driver programs for the transputer hosted tools except idebug and idump monitor the error flag as the tool executes in order to catch any internal errors of the tool should they occur If your hardware is configured as a down system and consists of more than one transputer then the driver programs may be fooled into thinking the tool has set the error flag if the error flag on one of the extra processors is already set when the tool starts In order to overcome the problem you should run ispy a network check program or similar or boot a dummy program that uses all the transputer processors in the network Note that once cleared the error flag on a transputer will only become set again if you execute an erroneous program on the transputer or if you power off the transputers The state of the error e flag is undefined hence may be on when the power is turned on e Ref TS 0680 The following error message can be set by any of the PC hosted tools Runtime error R6000 stack overflow This is a general error message that can occur using ANY ofthe tools T
39. nces target has an fpu constant is passed half on the reg ister stack and half in workspace no other part of the calling routine re quires a literal pool fixed e Ref TS 1078 Fatal internal error tentative definition confu sion in handling of tentative definitions of static data fixed e Ref TS 1098 Assembler instruction opr now correctly recognised in as sembler inserts e Ref TS 1133 Inaccurate compile time constant evaluation for double precision subtract and divide operations fixed e Ref TS 1144 Spurious LINEMARK records in debug information re moved e Ref TS 1149 gt gt lt lt between two negative floats when compiled for TA gave an incorrect answer Fixed e Ref TS 1184 Code generation for passing 1oat parameters on register o stack improved no longer preevaluates them to a temporary if they are al ready addressable e Fatal internal error mcrep array 48 when code generating for compli cated subscript expressions fixed e g previously failed for short i a 0 s s2 2 2 20 Changes to the ANSI C Libraries Bugs Fixed e Ref TS 1147 Some maths routines gave incorrect results in TB mode sinh when compiled for TB gave erroneous answers for arguments the moddulus of which was in the range 1 0 to 710 475874 This is now corrected cosh when compiled for TB gave erroneous answers for arguments the e modulus of which was less than 710 475874 This is now cor rected
40. nd sysproc lib to reduce the size of the bootstraps and system processes Bugs Fixed Ref TS 0573 Entry offsets of greater than 32k on a PC hosted version of icollect are now handled correctly Ref TS 0565 The code for rom now is aligned on a 32 bit word boundary This is a change of specification both for the ieprom and the collector tools Ref TS 0650 The I option produces more meaningful information Ref TS 0721 The collector now tells the user the amount of memory used and complains if the memory size specified is too small Ref T9 0755 Wherever numbers are accepted by the collector both dec imal and hexadecimal forms are allowed The hexadecimal form is written with a preceding 4 symbol Thus 400 has the value 1024 decimal For compatibility with the early INMOS TDS systems the sign can also be replaced by a Ref TS 0839 Status is now returned correctly when Input file is of incor rect type Ref TS 1192 D7214 PC hosted version only Use of a trailing M in the memory size given to the M option was not recognised This is now fixed Ref T9 1193 D7214 PC hosted version only The collector used not to be able to find the system libraries when building a bootfile for a boot from rom system This is now fixed 72 TDS 293 00 May 1991 11 Ref TS 1199 D7214 PC hosted version only Use of the K option to create an rsc file for a T800 would mark it as for a T425 instead This is now fi
41. nter mblen returns zero Errors If the specified sequence does not correspond to a valid multibyte character mblen returns 1 Description mblen evaluates the number of bytes in a multibyte character The number of by tes read is limited by n 72 TDS 293 00 May 1991 43 mbstowcs Converts multibyte sequence to wchar_t sequence Synopsis include lt stdlib h gt size_t mbstowcs wchar_t pwcs const char s size_t n Arguments wchar_t pwc Pointer to the start ofthe array that receives the converted codes const char s Pointer to start of the array of multibyte characters to be converted size tn The maximum number of bytes to be read Results mbstowcs returns the number of array elements modified not including any termi nating zero codes Errors If an invalid multibyte character is encountered mbstowcs returns size t 1 Description mbstowcs converts a sequence of multibyte characters into a sequence of codes It acts like the mbtowc function but takes as input an array of characters and re turns an array of codes Not more than n codes are written into pwes If the initial and receiving objects overlap the behaviour is undefined No multibyte characters that follow a NULL character are examined or converted 72 TDS 293 00 May 1991 44 mbtowc Converts multibyte character to type wchar_t Synopsis include lt stdlib h gt int mbtowc wchar t pwc const char s size t n
42. ogether The ANSI C toolset and the occam toolset have some tools and libraries in common such as the linker librarian and debugger and the system library sysproc lib The installation procedures for each toolset create separate directory structures However if you are intending to mix languages it is important to know which version of the tools to use When choosing a tool a ways use the later version Tools are designed to be back wards compatible so that they will work with previous releases of the TCOFF tool sets A tool will not necessarily work in conjunction with tools from a later toolset especially if there is a later version of the tool in the later toolset Consult the documentation date on the Release Notes for each toolset to deter mine which is the later release If you wish to use both toolsets put the ater release on your search path before the earlier one If you decide to combine the tools into a common directory then for the tools and libraries which are in both toolsets al ways use the later one If you are mixing OCCam and C information is provided in both the ANSI C toolset manual and the occam toolset manual The ANSI C toolset manual describes how to call occam from a C program or from the C configuration language The occam toolset manual describes how to call C from an occam program 3 1 3 Installing the iserver Note that the server installation procedure described in section 2 1 of the Delivery Manual
43. on a separate disk There are 4 copies of ispy as follows ispy4s exe small model for B008 or B004 ispy4 exe large model for B008 or B004 ispy8 exe large model for B008 with S708 device driver ispynec exe large model for B015 for the NEC PC A help page is available by specifying the command line option Small model versions are faster but have only 64K for code data Large models have more space for big networks The ispy8 version requires the B008 device driver supplied with the IMS S708 software support package to be installed with a line in config sys similar to the following DEVICE C s708a s708driv sys A 200 N LINK1 D N The option N LINK1 is the link name and ispy8 is invoked as follows ispy8 L LINK1 Using these tools as follows ispy4s ispy4 generates output in the following format Using 200 ispy 2 33 Part rate Mb Bt Link0 Linkl Link2 Link3 1 O T800c 20 0 05 0 HOST sl 3 1 ise J 1 T2 17 0 88 1 oats 0 1 C004 3 T800c 17 0 88 1 0 2 4 1 TO 4 T414b 15 0 53 1 3 2 asd 5 T414b 15 0 48 1 4 2 6 1 6 T414b 15 0 49 1 5 2 ed 72 TDS 293 00 May 1991 40 B 1 1 Explanation of output The following diagram explains the meaning of each line ofthe ispy display The first line of the output shown in the previous section is used as an example O T800c 20 0 05 0 HOST Link 3 unconnected Link 2 connected to processor 3 link 1 Link 1 connected to processor 1 link 1
44. p key You may also edit this string and the program command line string J com mand via use of other cursor keys same as when editing a C expression see C User Manual section 15 8 3 e Monitor page Wdesc register used to display Invalid when there was not an active process This could be confused with an invalid Wdesc which is flagged by an asterisk i e not valid in the context of a user program It has been changed to display NotProcess instead INSPECT MODIFY Expressions e Automatic Expression Pickup When INSPECT or MODIFY is selected idebug will automatically capture the identifier which is underneath the cursor if any Modification of the captured expression is then permitted before applying the selected option In this release the automatic capture is more eager for simple struct union member expressions which contain the and gt opera tors only e This is best illustrated by example In the following expressions the cursor is positioned over baz when INSPECT MODIFY are selected 72 TDS 293 00 May 1991 13 Program text Expression captured baz baz baz ptr baz ptr baz ptr baz baz ptr baz ptr baz ptr gt ptr baz ptr gt ptr baz foo ptr baz foo ptr baz gt foo gt ptr baz gt foo gt ptr baz x ptr baz In addition for those captured expression which match the the program text the cursor may be positioned anywhere on the expression before selecting INSPECT MODIFY e Displayin
45. p page of the iserver supplied with the toolset incor rectly states occam 2 toolset host file server it should state INMOS tool set host file server Documentation errors Reference Manual Descriptions of the multibyte functions mblen mbtowc mbstowc wctomb and wcstombs are missing from Chapter 2 They are provided in Appendix C of this document 72 TDS 293 00 May 1991 28 Ref TS 0632 Reference Manual p 12 The note at the top of section 1 3 7 on the Mathematics library should read Note The following is true for all functions declared in math h On domain errors errno is set to EDOM 0 0 is returned On range errors errno is set to ERANGE HUGE VAL is returned for overflow errors HUGE VAL is returned for underflow errors Reference Manual p 15 section 1 3 11 Standard definitions In the ex ample a comment says that the value of offsetof is 2 for 16 bit ma chines This is incorrect it is 4 for both 16 bit and 32 bit machines Reference Manual p 18 Under Characteristics of file handling the li brary filename in the third bullet item should be stdio h not stdoio h Reference Manual p 46 assert example The assert line in the ex ample should read assert b 0 0 i e replace by and use floating point suffix to avoid cast Reference Manual p 86 ctime function description As with asctime care must be taken when using ctime in a concurrent environment
46. rectory contents lists A 1 1 Differences for D4214B and D5214B from D4214A and D5214A This section describes the differences in directory contents for the Sun 3 and Sun 4 versions of this maintenance release compared to the previous release Directories removed The following files and directories which were present in the first releases of the Sun 3 IMS D5214A and Sun 4 IMS D4214A ANSI C toolsets are not present in this maintenance release install install install iserver iserver libs centry lbb libs libc lbb libs libcred lbb setup source imakef imakef lnk source iserver b008cmd h tools idebug tools idebug btl tools idump tools idump btl tools iskip tools iskip btl Directories added The following files and directories have been added examples linkboot examples linkboot loader occ examples linkboot makefile tp examples linkboot userboot asm iserver b016 iserver iterms ansi itm source iserver acsilink c source iserver b0l6link c source iserver iserver lnk source iserver makefile b16 source iserver tosbuild bat source iserver traps h 72 TDS 293 00 May 1991 36 A 1 2 Differences for D7214C from D7214B This section describes the differences in directory contents for the PC version of this maintenance release compared to the previous release Directory structure The directory structure for this maintenance release differs slightly from the direc tory structure used in the previous D7214B release of the
47. t should be deleted e User Manual p 316 In section 16 2 1 Example of use the assumed IBOARDSIZE should be 100000 not 100K e Ref TS 1173 User Manual p 347 The documentation for ieprom does not state clearly enough the processor type to choose for all root transputer variants The following list states the ieprom transputer type to specify for IMS transputer types transputer type ieprom transputer type M212 T2 T212 T2 T222 T2 T2295 T2 T400 T4 T414 T4 T425 T4 T800 T8 T801 T8 T805 T8 e User Manual p 425 p 427 Theisim Ncommand creates a core dump file not a network core dump file e Ref TS 0703 User Manual p 443 In section A 4 4 Miscellaneous files the second sentence of the dmp description should read Created by idump for debugging code on the root transputer memory dump or by idebug for off line analysis of a program on a network net work dump e Ref T9 0587 User Manual p 465 In the interface definition the list of formal attributes should be represented as a list of one or more items formal attr y NOT zero or more fo formal attr y e e User Manual p 502 The declaration of main in section F4 should be pre ceded by inclusion of the channel library header file include lt channel h gt 72 TDS 293 00 May 1991 32 72 TDS 293 00 May 1991 33 Appendices 72 TDS 293 00 May 1991 72 TDS 293 00 May 1991 A Distribution kit A 1 Differences in di
48. ules which it specifically references they may be considered permanently fused 2 2 4 Changes to the configurer icconf Enhancements The following enhancements have been made to the configurer e Improved process startup The configurer adds some system processes to start up the user pro cesses The memory used by these system processes has been signifi cantly reduced giving a smaller overhead e System process space made available The configurer now supports the overlaying of system processes into any user process data areas that are large enough to accommodate the code and work space for the system processes This enhancement is available when configuring for boot from link or for boot from ROM e Support for collector pre patching The configurer now supports the ability of the latest collector to pre patch the initialisation data used by the system processes This means that the memory required by the system processes for their code and work space is even further reduced This occurs automatically in all cases when the technique can be applied i e when not interactively debugging This enhancement is available when configuring for boot from link or from boot from ROM e More workspace for configurer The working memory required by the configurer has been reduced so that e itis now possible to configure programs that are up to 3096 larger in terms of the number of processes and processors they contain 72 TDS 29
49. used in conjunction with the P produce memory map qualifier of icollect 2 2 10 Changes to the processor skipping program iskip e e New option RP This is a new command line option which is a replacement for the R option when using boards from some other vendors If you do not have an INMOS board contact your supplier to see whether it is applicable 2 2 11 Changes to the host file server iserver Enhancements e Two files have been merged ims b008cmd h and ims bcmd h have become ims bemd h e n the two files mentioned above a number of data structures were de clared namely B014_ O and B008_ 0 These structures have been re placed with one called MS O The old names will continue to work until the next major version of iserver is released 1 5 e Two new linkio modules have been provided b016link c and acsilink c e Bugs Fixed e Occasionally when iserver received an SpExit request the wrong exit code was being returned from the iserver This has been fixed 72 TDS 293 00 May 1991 18 e Certain linkio modules did not timeout correctly These modules have been fixed 2 2 12 Changes to other tools Cosmetic and trivial changes have been made to ilibr icvlink ilist icvemit iemit and idump Their operation is unaffected 2 3 NEC PC specific changes Due to compatibility problems with the NEC DOS key utility special support for the toolset debugger idebug and simulator isim on NEC systems has changed
50. xed e D7214 PC hosted version only The PC version of the collector used to fail when ordering of segments was requested of the configurer and the code segment was to be at the lowest address This has now been fixed Note that this problem only affected the versions running on the PC as a host the versions hosted on a transputer did not show it 2 2 6 Changes to the debugger idebug Command Line Options Four new command line options have been added to idebug J K GXX AP e J hexnumber The J option takes a hexadecimal digit sequence of up to 16 digits and rep licates it throughout the Data regions of a program Stack Static Heap and Vectorspace as appropriate when breakpoint debugging The digit se quence must be preceded by a hash character Note the bootstrap phase of a program may use some of the Data regions for its own purposes consequently the pattern may have some holes in it Sequences with an odd number of hexadecimal digits will have a assumed e hexadecimal prefix digit of O e g 5 will be treated as 05 idebug prog btl sr si b2 j AA will load the program for breakpoint debugging and initialise the Data re gions of the program to contain the byte pattern FAA e K hexnumber The K option is similar to the J option described above with the addition of initialising the Freespace region Note The Freespace region is typically much larger than the other Data regions and consequently this option can tak

Download Pdf Manuals

image

Related Search

Related Contents

Osram DST TWIST 8W/840 E27  ASSMANN Electronic AK-340401-001-S  電波法 認証ガイド - コスモス・コーポレイション  kdc-x993 kdc-hd942u kdc-x693 kdc  DTG para tipos de retorta FH3 o FH4 - Anderson  - Hanse Yachtcharter  Manual de Instalação do Gateway Ethernet EGX100 PowerLogic  A1207 / A1207C  Tricity Bendix BR593W User's Manual  ① ② ③ ④ ⑤ ⑥  

Copyright © All rights reserved.
Failed to retrieve file