[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
egcs bug?
# developers-ja :-)
NFS mount で df の表示がおかしくなる件ですが、OpenBSDのように
こうすれば直るみたいです。
これって strtod() と同じかな? -O1 なら発現しないし。
(誰か、どこが ANSI-C 的にいけなかったのかおしえてくれるとうれしい:-)
*** sys/nfs/xdr_subs.h Thu Feb 12 05:26:04 1998
--- ./xdr_subs.h Mon Feb 8 21:50:11 1999
***************
*** 97,106 ****
--- 97,112 ----
((struct nfsv3_time *)(t))->nfsv3_nsec = htonl((f)->tv_nsec); \
}
+ #if 0
#define fxdr_hyper(f, t) { \
((int32_t *)(t))[_QUAD_HIGHWORD] = ntohl(((int32_t *)(f))[0]); \
((int32_t *)(t))[_QUAD_LOWWORD] = ntohl(((int32_t *)(f))[1]); \
}
+ #else
+ #define fxdr_hyper(f, t) \
+ *(t) = ((((u_quad_t)ntohl(((u_int32_t *)(f))[0])) << 32) | \
+ (u_quad_t)(ntohl(((u_int32_t *)(f))[1])))
+ #endif
#define txdr_hyper(f, t) { \
((int32_t *)(t))[0] = htonl(((int32_t *)(f))[_QUAD_HIGHWORD]); \
((int32_t *)(t))[1] = htonl(((int32_t *)(f))[_QUAD_LOWWORD]); \
# きっと txdr_hyper も直さなきゃいけない。