diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-04-23 14:42:58 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-06-06 13:57:43 +0200 |
commit | 8250503f218be1a3fa434e905631b1636cf6d033 (patch) | |
tree | b23dfdca86e25ad19ff70a4799b8f7a09389a82d /cpukit/librpc/include/rpc/svc.h | |
parent | network/bootp: PR2031: Add and use header file (diff) | |
download | rtems-8250503f218be1a3fa434e905631b1636cf6d033.tar.bz2 |
librpc: PR2066: Fix for short enums
The XDR library has a problem on architectures with short enums like the
default ARM EABI. Short enums means that the size of the enum type is
variable and the smallest integer type to hold all enum values will be
selected. For many enums this is char. The XDR library uses int32_t
for enum_t. There are several evil casts from an enum type to enum_t
which leads to invalid memory accesses on short enum architectures. A
workaround is to add appropriate dummy enum values.
Diffstat (limited to '')
-rw-r--r-- | cpukit/librpc/include/rpc/svc.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/cpukit/librpc/include/rpc/svc.h b/cpukit/librpc/include/rpc/svc.h index 969d2c5dd6..0ef3b8c28e 100644 --- a/cpukit/librpc/include/rpc/svc.h +++ b/cpukit/librpc/include/rpc/svc.h @@ -72,7 +72,8 @@ enum xprt_stat { XPRT_DIED, XPRT_MOREREQS, - XPRT_IDLE + XPRT_IDLE, + _XPRT_STAT = 0xffffffff }; struct rpc_msg; |