va_list q
Valentin Nechayev
netch at lucky.net
Wed Apr 21 22:01:37 PDT 2004
Hi,
I was notified that maintained port (net/pppd23) can't be built on amd64.
Failure message is:
cc -O -pipe -g -I../include -DHAVE_PATHS_H -D_BITYPES -c utils.c
utils.c: In function `vslprintf':
utils.c:253: error: invalid use of non-lvalue array
*** Error code 1
The code in question is:
int
vslprintf(buf, buflen, fmt, args)
[...]
#ifndef __powerpc__
> n = vslprintf(buf, buflen + 1, f, va_arg(args, va_list));
#else
/* On the powerpc, a va_list is an array of 1 structure */
n = vslprintf(buf, buflen + 1, f, va_arg(args, void *));
#endif
(I selected failed line with '>')
va_arg() uses translation to pointer to specified type; this translation
fails with message shown above. (Translation is used AFAIS on all platforms,
but only amd64 causes error.) I have no freebsd/amd64 box now. Can anybody
say how can it be fixed, and whether shown powerpc hack is applicable
to amd64 if it's last-resort solution?
-netch-
More information about the freebsd-amd64
mailing list