some notes on interactions with 64-bit systems
authorKen Raeburn <raeburn@mit.edu>
Wed, 6 Dec 2000 01:41:41 +0000 (01:41 +0000)
committerKen Raeburn <raeburn@mit.edu>
Wed, 6 Dec 2000 01:41:41 +0000 (01:41 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@12876 dc483132-0cff-0310-8789-dd5450dbe970

src/util/et/ISSUES

index 740bc8762f3a76d368202b16e2e3cd86e390fc10..1bf9e1087823305f881ec4e7cb1f400fb8723cc3 100644 (file)
@@ -32,3 +32,18 @@ around), the error table is gone, even if the library is still in use.
 
 Workaround: None.
 \f
+64-bit support:
+
+Values are currently computed as 32-bit values, sign-extended to
+"long", and output with "L" suffixes.  Type errcode_t is "long".
+Kerberos uses a seperately chosen signed type of at least 32 bits for
+error codes.  The com_err library only look at the low 32 bits, so
+this is mostly just an issue for application code -- if anything
+truncates to 32 bits, and then widens without sign-extending, the
+value may not compare equal to the macro defined in the .h file.  This
+isn't anything unusual for signed constants, of course, just something
+to keep in mind....
+
+Workaround: Always use signed types of at least 32 bits for error
+codes.
+\f