Branden> What the hell Mach64's have to do with locale handling is Branden> utterly beyond me. Here are the relevant hunks of code:
Branden> 58 #ifdef _LP64 Branden> 59 #if defined(__sparcv9) Branden> 60 #define _MACH64_NAME "sparcv9" Branden> 61 #define _MACH64_NAME_LEN (sizeof (_MACH64_NAME) - 1) Branden> 62 #else /* !defined(__sparcv9) */ Branden> 63 #error "Unknown architecture" Branden> 64 #endif /* defined(__sparcv9) */ Branden> 65 #endif /* _LP64 */ If you asked me, this has Dave Miller's name written all over it... ;-) The default shared objects on sparc boxes tend to be 32-bit objects, so the "sparcv9" postfix is needed to explicitly select the 64-bit shared objects. None of that is needed for ia64. Branden> Did the IA-64 toolchain in unstable recently change to Branden> define the _LP64 symbol? It appears to be a gcc-3.2 feature: gcc-2.96 defines __LP64__ and gcc-3.2 adds _LP64 on top of that. --david