From 4b90751a2e7d6abef245a24def933e505273dbe0 Mon Sep 17 00:00:00 2001 From: Ken Raeburn Date: Wed, 6 Dec 2000 01:41:41 +0000 Subject: [PATCH] some notes on interactions with 64-bit systems git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@12876 dc483132-0cff-0310-8789-dd5450dbe970 --- src/util/et/ISSUES | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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. + -- 2.26.2