From: Ken Raeburn Date: Wed, 6 Dec 2000 01:41:41 +0000 (+0000) Subject: some notes on interactions with 64-bit systems X-Git-Tag: krb5-1.3-alpha1~1746 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=4b90751a2e7d6abef245a24def933e505273dbe0;p=krb5.git some notes on interactions with 64-bit systems git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@12876 dc483132-0cff-0310-8789-dd5450dbe970 --- diff --git a/src/util/et/ISSUES b/src/util/et/ISSUES index 740bc8762..1bf9e1087 100644 --- a/src/util/et/ISSUES +++ b/src/util/et/ISSUES @@ -32,3 +32,18 @@ around), the error table is gone, even if the library is still in use. Workaround: None. +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. +