Hi everyone- Looking at using the new IBM clang-based compiler on AIX to compile the kernel extension. There are several major problems, some of which are that some of the declarations in the OpenAFS codebase don't match up with the AIX headers. Obviously we can't change those. So I am not entirely sure what the best approach would be. Here are some samples:
1: In file included from /home/build/openafs/src/external/heimdal/hcrypto/sha256.c:34: In file included from /home/build/openafs/src/crypto/hcrypto/kernel/config.h:30: In file included from /home/build/openafs/src/afs/sysincludes.h:276: ../sys/socketvar.h:158:57: error: array has incomplete element type 'struct free_sock_hash_bucket' extern struct free_sock_hash_bucket free_sock_hash_table[]; ^ 2: In file included from /home/build/openafs/src/external/heimdal/hcrypto/sha256.c:34: /home/build/openafs/src/crypto/hcrypto/kernel/config.h:91:21: error: static declaration of 'getpid' follows non-static declaration static_inline pid_t getpid(void) {return 1;}; ^ ../h/proc.h:1344:15: note: previous declaration is here extern pid_t getpid(void); ^ 3: In file included from /home/build/openafs/src/external/heimdal/hcrypto/sha256.c:34: /home/build/openafs/src/crypto/hcrypto/kernel/config.h:99:75: error: too few arguments to function call, expected 4, have 1 static_inline void _afscrypto_abort(void) {osi_Panic("hckernel aborting\n");} ~~~~~~~~~ ^ 4: In file included from /home/build/openafs/src/external/heimdal/hcrypto/sha256.c:34: /home/build/openafs/src/crypto/hcrypto/kernel/config.h:116:19: error: static declaration of 'gettimeofday' follows non-static declaration static_inline int gettimeofday(struct timeval *tp, void *tzp) ^ ../h/time.h:248:12: note: previous declaration is here extern int gettimeofday(struct timeval *__restrict__, void *__restrict__); ^ I'm more than happy to work through all of these, if someone would provide some guidance as to what the preferred solution might be, especially for the first one I listed. Thanks in advance! -Ben