* aesopt.h: On PalmOS, include FloatMgr.h to get endianness flag.
authorKen Raeburn <raeburn@mit.edu>
Wed, 13 Apr 2005 20:19:31 +0000 (20:19 +0000)
committerKen Raeburn <raeburn@mit.edu>
Wed, 13 Apr 2005 20:19:31 +0000 (20:19 +0000)
(ENC_UNROLL, DEC_UNROLL, ENC_ROUND, LAST_ENC_ROUND, DEC_ROUND, LAST_DEC_ROUND,
KEY_SCHED): If CONFIG_SMALL is defined, set to NONE or NO_TABLES as
appropriate.

(Latter change drops about 40K -- over 85% -- from AES code/table size in
shared libraries on x86/glibc/gcc.)

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17182 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/crypto/aes/ChangeLog
src/lib/crypto/aes/aesopt.h

index 047ab0baed380b543a9019cec8c03c812e4fac0f..2438b62f3eb4bc79110c4fdb6131c9aca0127b17 100644 (file)
@@ -1,5 +1,10 @@
 2005-04-13  Ken Raeburn  <raeburn@mit.edu>
 
+       * aesopt.h: On PalmOS, include FloatMgr.h to get endianness flag.
+       (ENC_UNROLL, DEC_UNROLL, ENC_ROUND, LAST_ENC_ROUND, DEC_ROUND,
+       LAST_DEC_ROUND, KEY_SCHED): If CONFIG_SMALL is defined, set to
+       NONE or NO_TABLES as appropriate.
+
        * aes_s2k.c (krb5int_aes_string_to_key): Widen bytes of iteration
        count before shifting.
 
index 0eebd46aef0b086c8f249a29a5ada72ad0baa4dc..1bb7529ed653eab20c94c707845036aa3cd2304d 100644 (file)
 #  endif
 #elif defined(_MSC_VER)
 #  include <stdlib.h>
+#elif defined(__m68k__) && defined(__palmos__)
+#  include <FloatMgr.h> /* defines BIG_ENDIAN */
 #elif defined(_MIPSEB)
 #  define PLATFORM_BYTE_ORDER AES_BIG_ENDIAN
 #elif defined(_MIPSEL)
     unrolling.  The following options allow partial or full loop unrolling 
     to be set independently for encryption and decryption
 */
-#if 1
+#if !defined(CONFIG_SMALL)
 #define ENC_UNROLL  FULL
 #elif 0
 #define ENC_UNROLL  PARTIAL
 #define ENC_UNROLL  NONE
 #endif
 
-#if 1
+#if !defined(CONFIG_SMALL)
 #define DEC_UNROLL  FULL
 #elif 0
 #define DEC_UNROLL  PARTIAL
     of tables used by this implementation.
 */
 
-#if 1   /* set tables for the normal encryption round */
+#if !defined(CONFIG_SMALL)   /* set tables for the normal encryption round */
 #define ENC_ROUND   FOUR_TABLES
 #elif 0
 #define ENC_ROUND   ONE_TABLE
 #define ENC_ROUND   NO_TABLES
 #endif
 
-#if 1       /* set tables for the last encryption round */
+#if !defined(CONFIG_SMALL)       /* set tables for the last encryption round */
 #define LAST_ENC_ROUND  FOUR_TABLES
 #elif 0
 #define LAST_ENC_ROUND  ONE_TABLE
 #define LAST_ENC_ROUND  NO_TABLES
 #endif
 
-#if 1   /* set tables for the normal decryption round */
+#if !defined(CONFIG_SMALL)   /* set tables for the normal decryption round */
 #define DEC_ROUND   FOUR_TABLES
 #elif 0
 #define DEC_ROUND   ONE_TABLE
 #define DEC_ROUND   NO_TABLES
 #endif
 
-#if 1       /* set tables for the last decryption round */
+#if !defined(CONFIG_SMALL)       /* set tables for the last decryption round */
 #define LAST_DEC_ROUND  FOUR_TABLES
 #elif 0
 #define LAST_DEC_ROUND  ONE_TABLE
     way that the round functions can.  Include or exclude the following 
     defines to set this requirement.
 */
-#if 1
+#if !defined(CONFIG_SMALL)
 #define KEY_SCHED   FOUR_TABLES
 #elif 0
 #define KEY_SCHED   ONE_TABLE