Changeset 3becac2 in rtems


Ignore:
Timestamp:
Oct 2, 2012, 7:37:39 AM (7 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, master
Children:
c69ef3b
Parents:
86f6e8b
git-author:
Sebastian Huber <sebastian.huber@…> (10/02/12 07:37:39)
git-committer:
Sebastian Huber <sebastian.huber@…> (10/02/12 13:27:35)
Message:

nfsclient: 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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpukit/libfs/src/nfsclient/proto/nfs_prot.h

    r86f6e8b r3becac2  
    4949        NFSERR_STALE = 70,
    5050        NFSERR_WFLUSH = 99,
     51  _NFSSTAT = 0xffffffff
    5152};
    5253typedef enum nfsstat nfsstat;
     
    6263        NFBAD = 7,
    6364        NFFIFO = 8,
     65  _FTYPE = 0xffffffff
    6466};
    6567typedef enum ftype ftype;
Note: See TracChangeset for help on using the changeset viewer.