diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-03-29 08:55:37 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-03-29 09:05:29 +0100 |
commit | 9723b63327960b2b03412caf3e3babe78c464b99 (patch) | |
tree | 67bcb4f1912efe50b7e26bfc1300defb51a9b257 | |
parent | openssl02: Fix includes (diff) | |
download | rtems-libbsd-9723b63327960b2b03412caf3e3babe78c464b99.tar.bz2 |
nfsclient: Fix for 64-bit targets
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.
-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; |