diff options
-rw-r--r-- | rtemsbsd/nfsclient/nfs.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/rtemsbsd/nfsclient/nfs.c b/rtemsbsd/nfsclient/nfs.c index 53b0ff13..d6f43305 100644 --- a/rtemsbsd/nfsclient/nfs.c +++ b/rtemsbsd/nfsclient/nfs.c @@ -401,6 +401,13 @@ DirInfo dip; #define SERP_ATTR(node) ((node)->serporid.serporid_u.serporid.attributes) #define SERP_FILE(node) ((node)->serporid.serporid_u.serporid.file) +/* + * FIXME: The use of the serporid structure with several embedded unions to + * split up the specific NFS request/response structures is quite a hack. It + * breaks on 64-bit targets due to the presence of pointer members which affect + * the overall alignment. Use a packed serporidok structure to hopefully fix + * this issue. + */ typedef struct serporidok { fattr attributes; @@ -447,7 +454,7 @@ typedef struct serporidok { uint32_t count; } readdirarg; } arg_u; -} serporidok; +} RTEMS_PACKED serporidok; typedef struct serporid { nfsstat status; |