xdr_proc_t really is different on linux26_i386
authorSimon Wilkinson <sxw@your-file-system.com>
Tue, 2 Feb 2010 13:14:28 +0000 (13:14 +0000)
committerDerrick Brashear <shadow|account-1000005@unknown>
Tue, 2 Feb 2010 14:02:36 +0000 (06:02 -0800)
commit0d17a5a209ae80d880720fcd85b7555853605178
tree300290a3bbad8753be3714617a200130a83e09bb
parentcad1df43d89d829f36c9aa72e648bab827a2ea53
xdr_proc_t really is different on linux26_i386

i386 Linux uses a register based calling convention within the
kernel, but uses the stack for va_args based functions. This means
that the hack of prototyping xdrproc_t as a va_args function doesn't
work, as you end up with arguments being in the wrong place.

Restore the Linux only xdrproc_t prototype that
167e1aa21f5bbea1272b239dc6518a7bdbfc3ee6 removed, add a warning to
explain why its there, and modify xdr_free() so that it works
without error.

Change-Id: I789d387b01fcb892b187fe05f961f01c2c1f55e4
Reviewed-on: http://gerrit.openafs.org/1202
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/rx/xdr.c
src/rx/xdr.h