home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / unix / cray / 330 < prev    next >
Encoding:
Internet Message Format  |  1992-12-21  |  1.7 KB

  1. Path: sparky!uunet!mcsun!sun4nl!cwi.nl!dik
  2. From: dik@cwi.nl (Dik T. Winter)
  3. Newsgroups: comp.unix.cray
  4. Subject: Re: Storage of Fortran character strings on Cray
  5. Message-ID: <8410@charon.cwi.nl>
  6. Date: 19 Dec 92 01:11:40 GMT
  7. References: <MRL.92Dec16094950@sun4.uai.com> <1992Dec17.164818.2198@craycos.com>
  8. Sender: news@cwi.nl
  9. Organization: CWI, Amsterdam
  10. Lines: 24
  11.  
  12. In article <1992Dec17.164818.2198@craycos.com> jrbd@craycos.com (James Davies) writes:
  13.  >Character variables are passed by descriptor.  The descriptor contains
  14.  >the address of the first word, the starting offset in that word,
  15.  >and the length of the variable in bytes, all packed into a 64-bit word.
  16.  >The format of the descriptors varies by model, but the Cray-2 and 3 have 
  17.  >the starting bit offset in the upper 6 bits of the word, the length in the
  18.  >next 26 bits, and the word address in the lower 32 bits.  C character pointers
  19.  >have the same format, except that the length field isn't used.
  20.  > 
  21. Right.  Which makes me wonder.  Could you publish a list of standard Unix
  22. programs that were broken and revealed such by this particular character
  23. pointer implementation?  (Like /bin/sh which is really awful.)  It ought
  24. to be more common knowledge that:
  25. 1.  type1 pointers have not necessarily the same format as type2 pointers,
  26. and:
  27. 2.  the low order bit(s) of a word aligned pointer can not be freely used as
  28.     a marker.
  29. (On the other hand, one of the Cray C compilers had a bug where in some
  30. cases the upper bits of a char pointer were cleared when it was passed as
  31. a parameter, so apparently Cray did not know this all at that time
  32. either :-).)
  33. -- 
  34. dik t. winter, cwi, kruislaan 413, 1098 sj  amsterdam, nederland
  35. home: bovenover 215, 1025 jn  amsterdam, nederland; e-mail: dik@cwi.nl
  36.