9.6.1rc1 + FreeBSD 8 + IA64 compile problem

Doug Barton dougb at dougbarton.us
Sun May 31 18:58:45 UTC 2009


Last night I imported 9.6.1rc1 to FreeBSD 8-current for inclusion in
the upcoming 8-release. (Side note, hopefully 9.6.1 will go to release
status first.) :)  It seems to be compiling fine on all of our
platforms except IA64 where I'm getting the following error building
lib/bind9

In file included from
/src/lib/bind/bind9/../../../contrib/bind9/lib/isc/include/isc/refcount.h:23,
                 from
/src/lib/bind/bind9/../../../contrib/bind9/lib/dns/include/dns/acl.h:39,
                 from
/src/lib/bind/bind9/../../../contrib/bind9/lib/bind9/check.c:38:
/src/lib/bind/bind9/../../../contrib/bind9/lib/isc/ia64/include/isc/atomic.h:38:
error: expected ',' or ';' before '{' token
/src/lib/bind/bind9/../../../contrib/bind9/lib/isc/ia64/include/isc/atomic.h:64:
error: expected ',' or ';' before '{' token
/src/lib/bind/bind9/../../../contrib/bind9/lib/isc/ia64/include/isc/atomic.h:83:
error: expected ',' or ';' before '{' token

That's related to the following construction in that file:

static inline isc_int32_t
isc_atomic_xadd(isc_int32_t *p, isc_int32_t val)
#ifdef __GNUC__
__attribute__ ((unused))
#endif
{

Line 38 is the last line with the { by itself. If I add a comma after
((unused)) I get a different error:

In file included from
/p/scratch/dougb/src/lib/bind/bind9/../../../contrib/bind9/lib/isc/include/isc/refcount.h:23,
                 from
/p/scratch/dougb/src/lib/bind/bind9/../../../contrib/bind9/lib/dns/include/dns/acl.h:39,
                 from
/p/scratch/dougb/src/lib/bind/bind9/../../../contrib/bind9/lib/bind9/check.c:38:
/p/scratch/dougb/src/lib/bind/bind9/../../../contrib/bind9/lib/isc/ia64/include/isc/atomic.h:38:
error: expected identifier or '(' before '{' token
/p/scratch/dougb/src/lib/bind/bind9/../../../contrib/bind9/lib/isc/ia64/include/isc/atomic.h:64:
error: expected identifier or '(' before '{' token
/p/scratch/dougb/src/lib/bind/bind9/../../../contrib/bind9/lib/isc/ia64/include/isc/atomic.h:83:
error: expected identifier or '(' before '{' token
*** Error code 1

I also tried various other combinations of removing the #ifdef,
running it all onto the same line, etc. I'm not really familiar with
this usage of __attribute__ so I'm at a bit of a loss.

Thanks,

Doug


More information about the freebsd-ia64 mailing list