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